From bc01e03710e3ae0e52c8c65002f06dd69e5d5eac Mon Sep 17 00:00:00 2001 From: Gurcharan Singh <72580717+gsingh935@users.noreply.github.com> Date: Fri, 20 Jun 2025 07:37:56 +0100 Subject: [PATCH 001/381] Update service name for port-forward of Airflow GUI (#51945) Update the port-forward command to reflect the new airflow api server replacing the airflow web server --- chart/docs/quick-start.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/docs/quick-start.rst b/chart/docs/quick-start.rst index 49f71bc8d2868..9045bd9a4661b 100644 --- a/chart/docs/quick-start.rst +++ b/chart/docs/quick-start.rst @@ -82,7 +82,7 @@ Airflow is working. .. code-block:: bash - kubectl port-forward svc/$RELEASE_NAME-webserver 8080:8080 --namespace $NAMESPACE + kubectl port-forward svc/$RELEASE_NAME-api-server 8080:8080 --namespace $NAMESPACE Extending Airflow Image ----------------------- From b38e89605da34fa67bbe7698264ba15dd6f3cbbb Mon Sep 17 00:00:00 2001 From: Yeonguk Choo Date: Fri, 20 Jun 2025 15:43:23 +0900 Subject: [PATCH 002/381] i18n: Move translations to `ui/public` and enable dynamic loading to reduce bundle size (#51735) * Feat(i18n): Move translation files to public, use i18next-http-backend * Adopted i18next-http-backend * Fix(i18n): Update locales directory path to public for translation files * Fix(i18n): Update static file path for translation locales * Fix(i18n): Update translation config file path * Fix(i18n): Update ESLint configuration to include jsonc-parser * Fix(i18n): Update ESLint file patterns and add 'components' to namespaces * Fix(i18n): Initialize i18n(en) in DagCard tests * chore: enforce consistent array type syntax per @typescript-eslint rule * Revert "chore: enforce consistent array type syntax per @typescript-eslint rule" This reverts commit d218738c4e5cba091eae1f1161367116836c23ff. * Fix(i18n): Ignore i18n locale files in ESLint TypeScript rules * Fix(tests): Remove unused imports and clean up test setup * Apply pre-commit formatting to openapi-gen/ files as per #51755 * Fix(eslint): Update i18n and TypeScript rules configuration * Apply ESLint and i18nRule * Mov Arabic and French translations to public * Fix: Update translation file paths to public directory * Moved i18n doc and completeness checker script from public to dev/i18n * fix(i18n): i18n policy document translation completeness check command --- .github/CODEOWNERS | 16 +- .github/boring-cyborg.yml | 20 +-- .pre-commit-config.yaml | 8 +- .../src/airflow/api_fastapi/core_api/app.py | 7 + airflow-core/src/airflow/ui/.prettierignore | 2 +- airflow-core/src/airflow/ui/package.json | 2 + airflow-core/src/airflow/ui/pnpm-lock.yaml | 45 +++++ .../airflow/ui/{src => public}/i18n/README.md | 12 +- .../i18n/locales/ar/admin.json | 132 +++++++-------- .../i18n/locales/ar/assets.json | 0 .../i18n/locales/ar/browse.json | 8 +- .../i18n/locales/ar/common.json | 0 .../ui/public/i18n/locales/ar/components.json | 131 +++++++++++++++ .../{src => public}/i18n/locales/ar/dag.json | 0 .../{src => public}/i18n/locales/ar/dags.json | 18 +- .../i18n/locales/ar/dashboard.json | 0 .../{src => public}/i18n/locales/de/README.md | 0 .../i18n/locales/de/admin.json | 0 .../i18n/locales/de/assets.json | 0 .../i18n/locales/de/browse.json | 0 .../i18n/locales/de/common.json | 0 .../i18n/locales/de/components.json | 0 .../{src => public}/i18n/locales/de/dag.json | 0 .../{src => public}/i18n/locales/de/dags.json | 0 .../i18n/locales/de/dashboard.json | 0 .../i18n/locales/en/admin.json | 0 .../i18n/locales/en/assets.json | 0 .../i18n/locales/en/browse.json | 0 .../i18n/locales/en/common.json | 0 .../i18n/locales/en/components.json | 0 .../{src => public}/i18n/locales/en/dag.json | 0 .../{src => public}/i18n/locales/en/dags.json | 0 .../i18n/locales/en/dashboard.json | 0 .../i18n/locales/fr/admin.json | 26 +-- .../i18n/locales/fr/assets.json | 0 .../i18n/locales/fr/browse.json | 8 +- .../i18n/locales/fr/common.json | 0 .../i18n/locales/fr/components.json | 0 .../{src => public}/i18n/locales/fr/dag.json | 0 .../{src => public}/i18n/locales/fr/dags.json | 0 .../i18n/locales/fr/dashboard.json | 0 .../i18n/locales/he/admin.json | 0 .../i18n/locales/he/assets.json | 0 .../i18n/locales/he/browse.json | 0 .../i18n/locales/he/common.json | 0 .../i18n/locales/he/components.json | 0 .../{src => public}/i18n/locales/he/dag.json | 0 .../{src => public}/i18n/locales/he/dags.json | 0 .../i18n/locales/he/dashboard.json | 0 .../i18n/locales/ko/common.json | 0 .../i18n/locales/ko/dashboard.json | 0 .../i18n/locales/nl/common.json | 0 .../i18n/locales/nl/dashboard.json | 0 .../i18n/locales/pl/admin.json | 0 .../i18n/locales/pl/assets.json | 0 .../i18n/locales/pl/browse.json | 0 .../i18n/locales/pl/common.json | 0 .../i18n/locales/pl/components.json | 0 .../{src => public}/i18n/locales/pl/dag.json | 0 .../{src => public}/i18n/locales/pl/dags.json | 0 .../i18n/locales/pl/dashboard.json | 0 .../i18n/locales/zh-TW/admin.json | 0 .../i18n/locales/zh-TW/assets.json | 0 .../i18n/locales/zh-TW/browse.json | 0 .../i18n/locales/zh-TW/common.json | 0 .../i18n/locales/zh-TW/components.json | 0 .../i18n/locales/zh-TW/dag.json | 0 .../i18n/locales/zh-TW/dags.json | 0 .../i18n/locales/zh-TW/dashboard.json | 0 airflow-core/src/airflow/ui/rules/i18n.js | 13 +- .../src/airflow/ui/rules/typescript.js | 1 + .../src/airflow/ui/src/i18n/config.ts | 154 +----------------- .../ui/src/i18n/locales/ar/components.json | 131 --------------- .../ui/src/pages/DagsList/DagCard.test.tsx | 20 ++- airflow-core/src/airflow/ui/testsSetup.ts | 6 +- dev/README_RELEASE_AIRFLOW.md | 2 +- .../i18n/check_translations_completeness.py | 4 +- scripts/ci/pre_commit/boring_cyborg.py | 2 +- scripts/ci/pre_commit/check_i18n_json.py | 4 +- 79 files changed, 353 insertions(+), 419 deletions(-) rename airflow-core/src/airflow/ui/{src => public}/i18n/README.md (95%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/admin.json (54%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/browse.json (87%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/common.json (100%) create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/dags.json (88%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ar/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/README.md (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/admin.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/browse.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/de/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/admin.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/browse.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/en/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/admin.json (95%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/browse.json (86%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/fr/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/admin.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/browse.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/he/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ko/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/ko/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/nl/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/nl/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/admin.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/browse.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/pl/dashboard.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/admin.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/assets.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/browse.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/common.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/components.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/dag.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/dags.json (100%) rename airflow-core/src/airflow/ui/{src => public}/i18n/locales/zh-TW/dashboard.json (100%) delete mode 100644 airflow-core/src/airflow/ui/src/i18n/locales/ar/components.json rename {airflow-core/src/airflow/ui/src => dev}/i18n/check_translations_completeness.py (99%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index bb5815dac0b84..69f10c58301a7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,14 +37,14 @@ # Translation Owners (i18n) # Note: Non committer engaged translators are listed in comments prevent making file syntax invalid -# See: https://github.com/apache/airflow/blob/main/airflow-core/src/airflow/ui/src/i18n/README.md#43-engaged-translator -airflow-core/src/airflow/ui/src/i18n/locales/ar/ @shahar1 @hussein-awala # + @ahmadtfarhan -airflow-core/src/airflow/ui/src/i18n/locales/de/ @jscheffl # + @TJaniF @m1racoli -airflow-core/src/airflow/ui/src/i18n/locales/he/ @eladkal @shahar1 @romsharon98 # +@Dev-iL -airflow-core/src/airflow/ui/src/i18n/locales/nl/ @BasPH # + @DjVinnii -airflow-core/src/airflow/ui/src/i18n/locales/pl/ @potiuk @mobuchowski # + @kacpermuda -airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/ @Lee-W @jason810496 # + @RoyLee1224 @guan404ming -airflow-core/src/airflow/ui/src/i18n/locales/fr/ @pierrejeambrun @vincbeck +# See: https://github.com/apache/airflow/blob/main/airflow-core/src/airflow/ui/public/i18n/README.md#43-engaged-translator +airflow-core/src/airflow/ui/public/i18n/locales/ar/ @shahar1 @hussein-awala # + @ahmadtfarhan +airflow-core/src/airflow/ui/public/i18n/locales/de/ @jscheffl # + @TJaniF @m1racoli +airflow-core/src/airflow/ui/public/i18n/locales/he/ @eladkal @shahar1 @romsharon98 # +@Dev-iL +airflow-core/src/airflow/ui/public/i18n/locales/nl/ @BasPH # + @DjVinnii +airflow-core/src/airflow/ui/public/i18n/locales/pl/ @potiuk @mobuchowski # + @kacpermuda +airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/ @Lee-W @jason810496 # + @RoyLee1224 @guan404ming +airflow-core/src/airflow/ui/public/i18n/locales/fr/ @pierrejeambrun @vincbeck # Security/Permissions /airflow-core/src/airflow/security/permissions.py @vincbeck diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml index 02954efbed283..484cfb333d047 100644 --- a/.github/boring-cyborg.yml +++ b/.github/boring-cyborg.yml @@ -348,34 +348,34 @@ labelPRBasedOnFilePath: - airflow-core/src/airflow/ui/**/* area:translations: - - airflow-core/src/airflow/ui/src/i18n/**/* + - airflow-core/src/airflow/ui/public/i18n/**/* translation:default: - - airflow-core/src/airflow/ui/src/i18n/locales/en/* + - airflow-core/src/airflow/ui/public/i18n/locales/en/* translation:ar: - - airflow-core/src/airflow/ui/src/i18n/locales/ar/* + - airflow-core/src/airflow/ui/public/i18n/locales/ar/* translation:de: - - airflow-core/src/airflow/ui/src/i18n/locales/de/* + - airflow-core/src/airflow/ui/public/i18n/locales/de/* translation:fr: - - airflow-core/src/airflow/ui/src/i18n/locales/fr/* + - airflow-core/src/airflow/ui/public/i18n/locales/fr/* translation:he: - - airflow-core/src/airflow/ui/src/i18n/locales/he/* + - airflow-core/src/airflow/ui/public/i18n/locales/he/* translation:ko: - - airflow-core/src/airflow/ui/src/i18n/locales/ko/* + - airflow-core/src/airflow/ui/public/i18n/locales/ko/* translation:nl: - - airflow-core/src/airflow/ui/src/i18n/locales/nl/* + - airflow-core/src/airflow/ui/public/i18n/locales/nl/* translation:pl: - - airflow-core/src/airflow/ui/src/i18n/locales/pl/* + - airflow-core/src/airflow/ui/public/i18n/locales/pl/* translation:zh-TW: - - airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/* + - airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/* area:CLI: - airflow-core/src/airflow/cli/**/*.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a76b5a0771861..1bc591c116597 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -355,9 +355,7 @@ repos: ^.*/kinglear\.txt$| ^.*pnpm-lock\.yaml$| .*/dist/.*| - ^airflow-core/src/airflow/ui/src/i18n/locales/de/| - ^airflow-core/src/airflow/ui/src/i18n/locales/fr/| - ^airflow-core/src/airflow/ui/src/i18n/locales/pl/ + ^airflow-core/src/airflow/ui/public/i18n/locales/(?!en/).+/ args: - --ignore-words=docs/spelling_wordlist.txt - --skip=providers/.*/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md,*.svg @@ -637,7 +635,7 @@ repos: (?x) ^airflow-core/src/airflow/ui/src/i18n/config\.ts$| ^airflow-core/src/airflow/ui/openapi-gen/| - ^airflow-core/src/airflow/ui/src/i18n/locales/de/README\.md$| + ^airflow-core/src/airflow/ui/public/i18n/locales/de/README\.md$| ^airflow-core/src/airflow/cli/commands/local_commands/fastapi_api_command\.py$| ^airflow-core/src/airflow/config_templates/| ^airflow-core/src/airflow/models/baseoperator\.py$| @@ -1454,7 +1452,7 @@ repos: name: Check i18n files validity description: Check i18n files are valid json and have no TODOs language: python - files: ^airflow-core/src/airflow/ui/src/i18n/locales/.*\.json + files: ^airflow-core/src/airflow/ui/public/i18n/locales/.*\.json entry: ./scripts/ci/pre_commit/check_i18n_json.py additional_dependencies: ['rich>=12.4.4'] pass_filenames: false diff --git a/airflow-core/src/airflow/api_fastapi/core_api/app.py b/airflow-core/src/airflow/api_fastapi/core_api/app.py index d378e009bc0c9..253ef206e13a9 100644 --- a/airflow-core/src/airflow/api_fastapi/core_api/app.py +++ b/airflow-core/src/airflow/api_fastapi/core_api/app.py @@ -55,6 +55,13 @@ def init_views(app: FastAPI) -> None: templates = Jinja2Templates(directory=directory) + if dev_mode: + app.mount( + "/static/i18n/locales", + StaticFiles(directory=Path(AIRFLOW_PATH) / "airflow/ui/public/i18n/locales"), + name="dev_i18n_static", + ) + app.mount( "/static", StaticFiles( diff --git a/airflow-core/src/airflow/ui/.prettierignore b/airflow-core/src/airflow/ui/.prettierignore index f013813d71866..b90ad27ecef3d 100644 --- a/airflow-core/src/airflow/ui/.prettierignore +++ b/airflow-core/src/airflow/ui/.prettierignore @@ -5,5 +5,5 @@ dist/ *.yaml coverage/* .pnpm-store -src/i18n/locales/* +public/i18n/locales/* openapi-gen/ diff --git a/airflow-core/src/airflow/ui/package.json b/airflow-core/src/airflow/ui/package.json index 7c6871eb433c8..2429adc35a0c7 100644 --- a/airflow-core/src/airflow/ui/package.json +++ b/airflow-core/src/airflow/ui/package.json @@ -39,6 +39,7 @@ "html-to-image": "^1.11.13", "i18next": "^25.1.2", "i18next-browser-languagedetector": "^8.1.0", + "i18next-http-backend": "^3.0.2", "next-themes": "^0.3.0", "react": "^18.3.1", "react-chartjs-2": "^5.3.0", @@ -85,6 +86,7 @@ "eslint-plugin-unicorn": "^55.0.0", "globals": "^15.15.0", "happy-dom": "^17.4.6", + "jsonc-eslint-parser": "^2.4.0", "msw": "^2.7.5", "openapi-merge-cli": "^1.3.2", "prettier": "^3.5.3", diff --git a/airflow-core/src/airflow/ui/pnpm-lock.yaml b/airflow-core/src/airflow/ui/pnpm-lock.yaml index c7b0c7e6eebc2..04426f880c846 100644 --- a/airflow-core/src/airflow/ui/pnpm-lock.yaml +++ b/airflow-core/src/airflow/ui/pnpm-lock.yaml @@ -77,6 +77,9 @@ importers: i18next-browser-languagedetector: specifier: ^8.1.0 version: 8.1.0 + i18next-http-backend: + specifier: ^3.0.2 + version: 3.0.2 next-themes: specifier: ^0.3.0 version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -210,6 +213,9 @@ importers: happy-dom: specifier: ^17.4.6 version: 17.4.6 + jsonc-eslint-parser: + specifier: ^2.4.0 + version: 2.4.0 msw: specifier: ^2.7.5 version: 2.7.6(@types/node@22.15.14)(typescript@5.8.3) @@ -2072,6 +2078,9 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -2419,6 +2428,10 @@ packages: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -2742,6 +2755,9 @@ packages: i18next-browser-languagedetector@8.1.0: resolution: {integrity: sha512-mHZxNx1Lq09xt5kCauZ/4bsXOEA2pfpwSoU11/QTJB+pD94iONFwp+ohqi///PwiFvjFOxe1akYCdHyFo1ng5Q==} + i18next-http-backend@3.0.2: + resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==} + i18next@25.1.2: resolution: {integrity: sha512-SP63m8LzdjkrAjruH7SCI3ndPSgjt4/wX7ouUUOzCW/eY+HzlIo19IQSfYA9X3qRiRP1SYtaTsg/Oz/PGsfD8w==} peerDependencies: @@ -3013,6 +3029,10 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} @@ -7051,6 +7071,12 @@ snapshots: transitivePeerDependencies: - encoding + cross-fetch@4.0.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -7532,6 +7558,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 + espree@9.6.1: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 3.4.3 + esprima@4.0.1: {} esquery@1.6.0: @@ -7919,6 +7951,12 @@ snapshots: dependencies: '@babel/runtime': 7.26.10 + i18next-http-backend@3.0.2: + dependencies: + cross-fetch: 4.0.0 + transitivePeerDependencies: + - encoding + i18next@25.1.2(typescript@5.8.3): dependencies: '@babel/runtime': 7.26.10 @@ -8179,6 +8217,13 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.14.1 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.1 + jsonpointer@5.0.1: {} jsx-ast-utils@3.3.5: diff --git a/airflow-core/src/airflow/ui/src/i18n/README.md b/airflow-core/src/airflow/ui/public/i18n/README.md similarity index 95% rename from airflow-core/src/airflow/ui/src/i18n/README.md rename to airflow-core/src/airflow/ui/public/i18n/README.md index 190ba07fbfdf2..4fa50122cf7a4 100644 --- a/airflow-core/src/airflow/ui/src/i18n/README.md +++ b/airflow-core/src/airflow/ui/public/i18n/README.md @@ -28,7 +28,7 @@ This policy aims to avoid inconsistencies, maintenance issues, unclear ownership This policy applies to: -- Each supported locale included in `airflow-core/src/airflow/ui/src/i18n/locales`. +- Each supported locale included in `airflow-core/src/airflow/ui/public/i18n/locales`. - Contributors making changes in the default locale (English). - Contributors suggesting new locales to be added to the codebase. - Maintainers of supported locales in any role defined below. @@ -42,7 +42,7 @@ This policy applies to: **Internationalization (i18n)** - The process of designing a software application so that it can be adapted to various languages and regions without engineering changes (see also the [Wikipedia article](https://en.wikipedia.org/wiki/Internationalization_and_localization)). -**Supported locale** - An officially accepted locale in `airflow-core/src/airflow/ui/src/i18n/locales`. +**Supported locale** - An officially accepted locale in `airflow-core/src/airflow/ui/public/i18n/locales`. **Default locale** - English (`en`), the primary locale and fallback for all other locales. @@ -175,7 +175,7 @@ Translation conflicts MUST be resolved according to the procedures outlined in s The following steps outline the process for approving a new locale to be added to the supported locales: - Creating a PR for adding the suggested locale to the codebase ([see example](https://github.com/apache/airflow/pull/51258/files)), which includes: - - The locale files (translated according to the guidelines) in the `airflow-core/src/airflow/ui/src/i18n/locales/` directory, where `` is the code of the language according to ISO 639-1 standard (e.g., `fr` for French). Languages with regional variants should be handled in separate directories, where the name is suffixed with `-`, and `` is the variant that follows ISO 3166-1 or UN M.49 codes in lowercase (e.g., `zh-tw` for Taiwanese Mandarin). + - The locale files (translated according to the guidelines) in the `airflow-core/src/airflow/ui/public/i18n/locales/` directory, where `` is the code of the language according to ISO 639-1 standard (e.g., `fr` for French). Languages with regional variants should be handled in separate directories, where the name is suffixed with `-`, and `` is the variant that follows ISO 3166-1 or UN M.49 codes in lowercase (e.g., `zh-tw` for Taiwanese Mandarin). - Making the required modifications in `airflow-core/src/airflow/ui/src/i18n/config.ts` ([see example](https://github.com/apache/airflow/pull/51258/files#diff-bfb4d5fafd26d206fb4a545a41ba303f33d15a479d21e0a726fd743bdf9717ff)). - Changes to the `.github/CODEOWNERS` file to include the designated code owner(s) and translation owner(s) for the new locale, considering the following: - A code owner who is also a translation sponsor should be indicated in a comment as well. @@ -234,13 +234,13 @@ Language proficiency for translation owners can be demonstrated through any of t All files: ```bash -uv run ./check_translations_completeness.py +uv run dev/i18n/check_translations_completeness.py ``` Files for specific languages: ```bash -uv run ./check_translations_completeness.py --language +uv run dev/i18n/check_translations_completeness.py --language ``` Where `` is the code of the language you want to check, e.g., `en`, `fr`, `de`, etc. @@ -248,7 +248,7 @@ Where `` is the code of the language you want to check, e.g., `en Adding missing translations (with `TODO: translate` prefix): ```bash -uv run ./check_translations_completeness.py --language --add-missing +uv run dev/i18n/check_translations_completeness.py --language --add-missing ``` ## 9. Compliance & enforcement diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json similarity index 54% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json index ab5e6126974c1..b3396e6c75e14 100644 --- a/airflow-core/src/airflow/ui/src/i18n/locales/ar/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json @@ -1,74 +1,74 @@ { + "columns": { + "description": "الوصف", + "key": "المفتاح", + "name": "الاسم", + "value": "القيمة" + }, + "config": { "columns": { - "description": "الوصف", - "key": "المفتاح", - "name": "الاسم", - "value": "القيمة" + "section": "القسم" }, - "config": { - "columns": { - "section": "القسم" - }, - "title": "Airflow إعدادات" + "title": "Airflow إعدادات" + }, + "connections": { + "add": "إضافة موَّصل", + "columns": { + "connectionId": "معرِّف الموَّصل", + "connectionType": "نوع الموَّصل", + "host": "المضيف", + "port": "المنفذ" }, - "connections": { - "add": "إضافة موَّصل", - "columns": { - "connectionId": "معرِّف الموَّصل", - "connectionType": "نوع الموَّصل", - "host": "المضيف", - "port": "المنفذ" - }, - "connection_one": "موَّصل", - "connection_other": "موَّصلات", - "delete": { - "deleteConnection_one": "حذف موَّصل واحد", - "deleteConnection_other": "موَّصلات {{count}} حذف", - "firstConfirmMessage_one": ":أنت على وشك حذف الموَّصل التالي", - "firstConfirmMessage_other": ":أنت على وشك حذف الموَّصلات التالية", - "title": "حذف الموَّصل" - }, - "edit": "تعديل الموَّصل", - "form": { - "connectionIdRequired": "مطلوب معرِّف الموَّصل", - "connectionIdRequirement": "لا يمكن أن يحتوي معرِّف الموَّصل على مسافات فقط", - "connectionTypeRequired": "مطلوب نوع الموَّصل", - "extraFields": "حقول إضافية", - "extraFieldsJson": "JSON حقول إضافية بصيغة", - "helperText": "نوع الموَّصل مفقود؟ تأكد من تثبيت حزمة Airflow المناسبة.", - "selectConnectionType": "اختر نوع الموَّصل", - "standardFields": "حقول قياسية" - }, - "noRowMessage": "لا توجد موَّصلات متاحة", - "searchPlaceholder": "البحث عن موَّصلات", - "test": "اختبار الموَّصل", - "testDisabled": "اختبار الموَّصل معطل. تواصل مع المسؤول لتفعيله.", - "typeMeta": { - "error": "فشل في استرداد نوع الموَّصل", - "standardFields": { - "description": "الوصف", - "host": "المضيف", - "login": "معرف الدخول", - "password": "كلمة المرور", - "port": "المنفذ", - "url_schema": "المخطط" - } - } + "connection_one": "موَّصل", + "connection_other": "موَّصلات", + "delete": { + "deleteConnection_one": "حذف موَّصل واحد", + "deleteConnection_other": "موَّصلات {{count}} حذف", + "firstConfirmMessage_one": ":أنت على وشك حذف الموَّصل التالي", + "firstConfirmMessage_other": ":أنت على وشك حذف الموَّصلات التالية", + "title": "حذف الموَّصل" }, - "deleteActions": { - "button": "حذف", - "modal": { - "confirmButton": "نعم، حذف الموَّصلات", - "secondConfirmMessage": "هذا الإجراء دائم و لا يمكن التراجع عنه.", - "thirdConfirmMessage": "هل أنت متأكد أنك تريد المواصلة؟" - }, - "selected": "المحدد", - "tooltip": "حذف الموَّصلات المحددة" + "edit": "تعديل الموَّصل", + "form": { + "connectionIdRequired": "مطلوب معرِّف الموَّصل", + "connectionIdRequirement": "لا يمكن أن يحتوي معرِّف الموَّصل على مسافات فقط", + "connectionTypeRequired": "مطلوب نوع الموَّصل", + "extraFields": "حقول إضافية", + "extraFieldsJson": "JSON حقول إضافية بصيغة", + "helperText": "نوع الموَّصل مفقود؟ تأكد من تثبيت حزمة Airflow المناسبة.", + "selectConnectionType": "اختر نوع الموَّصل", + "standardFields": "حقول قياسية" }, - "formActions": { - "reset": "إعادة تعيين", - "save": "حفظ" + "noRowMessage": "لا توجد موَّصلات متاحة", + "searchPlaceholder": "البحث عن موَّصلات", + "test": "اختبار الموَّصل", + "testDisabled": "اختبار الموَّصل معطل. تواصل مع المسؤول لتفعيله.", + "typeMeta": { + "error": "فشل في استرداد نوع الموَّصل", + "standardFields": { + "description": "الوصف", + "host": "المضيف", + "login": "معرف الدخول", + "password": "كلمة المرور", + "port": "المنفذ", + "url_schema": "المخطط" + } + } + }, + "deleteActions": { + "button": "حذف", + "modal": { + "confirmButton": "نعم، حذف الموَّصلات", + "secondConfirmMessage": "هذا الإجراء دائم و لا يمكن التراجع عنه.", + "thirdConfirmMessage": "هل أنت متأكد أنك تريد المواصلة؟" }, + "selected": "المحدد", + "tooltip": "حذف الموَّصلات المحددة" + }, + "formActions": { + "reset": "إعادة تعيين", + "save": "حفظ" + }, "plugins": { "columns": { "source": "المصدر" @@ -80,7 +80,7 @@ "pools": { "add": "إضافة حصص", "deferredSlotsIncluded": "شمل الحصص المؤجلة", - "delete":{ + "delete": { "title": "حذف مجموعة", "warning": "هذا الإجراء سيؤدي إلى حذف المجموعة المحددة و من الممكن أن يؤثر على المهام الجارية." }, @@ -122,7 +122,7 @@ "title": "حذف المتغير", "tooltip": "حذف المتغيرات المحددة" }, - "edit": "تعديل المتغير", + "edit": "تعديل المتغير", "export": "تصدير", "exportTooltip": "تصدير المتغيرات المحددة", "form": { diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json similarity index 87% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json index ff6abf0b81777..775230d598cc5 100644 --- a/airflow-core/src/airflow/ui/src/i18n/locales/ar/browse.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json @@ -1,10 +1,10 @@ { - "auditLog":{ + "auditLog": { "actions": { "collapseAllExtra": "طي جميع الJSON الإضافية", "expandAllExtra": "توسيع جميع الJSON الإضافية" }, - "columns":{ + "columns": { "event": "اصل", "extra": "إضافي", "user": "مستخدم", @@ -12,8 +12,8 @@ }, "title": "سجل المراجعة" }, - "xcom":{ - "columns":{ + "xcom": { + "columns": { "dag": "Dag", "key": "مفتاح", "value": "قيمة" diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json new file mode 100644 index 0000000000000..7764a53c62edf --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json @@ -0,0 +1,131 @@ +{ + "backfill": { + "affected_one": "مهمة واحدة ستُشغّل.", + "affected_other": "{{count}} مهام ستُشغّل.", + "affectedNone": "لا توجد مهام تطابق المعايير المحددة.", + "backwards": "تشغيل رجعي", + "dateRange": "نطاق التاريخ", + "dateRangeFrom": "من", + "dateRangeTo": "إلى", + "errorStartDateBeforeEndDate": "يجب أن يكون تاريخ البدء قبل تاريخ الانتهاء", + "maxRuns": "الحد الأقصى للتشغيلات النشطة", + "reprocessBehavior": "اعادة معالجة السلوك", + "run": "تشغيل التعبئة الرجعية", + "selectDescription": "تشغيل هذا DAG لنطاق من التواريخ", + "selectLabel": "تعبئة رجعية", + "title": "تشغيل التعبئة الرجعية", + "toaster": { + "success": { + "description": "تم تشغيل مهام التعبئة الرجعية بنجاح.", + "title": "تم إنشاء التعبئة الرجعية" + } + }, + "tooltip": "التعبئة الرجعية تتطلب جدول زمني", + "unpause": "إلغاء إيقاف {{dag_display_name}} عند التشغيل", + "validation": { + "datesRequired": "يجب توفير بيانات كل من تاريخ بدء فترة وتاريخ الانتهاء.", + "startBeforeEnd": "بيانات فترة تاريخ البدء يجب ان تكون من او قبل تاريخ الانتهاء. " + } + }, + "banner": { + "backfillInProgress": "التعبئة الرجعية قيد التنفيذ", + "cancel": "إلغاء التعبئة الرجعية", + "pause": "إيقاف التعبئة الرجعية", + "unpause": "إلغاء إيقاف التعبئة الرجعية" + }, + "clipboard": { + "copy": "نسخ" + }, + "close": "إغلاق", + "configForm": { + "advancedOptions": "خيارات متقدمة", + "configJson": "تكوين JSON", + "invalidJson": "تنسيق JSON غير صالح: {{errorMessage}}" + }, + "dagWarnings": { + "error_one": "1 خطأ", + "errorAndWarning": "1 خطأ و{{warningText}}", + "warning_one": "1 تحذير", + "warning_other": "{{count}} تحذيرات" + }, + "durationChart": { + "duration": "المدة (بالثواني)", + "lastDagRun_one": "آخر تشغيل DAG", + "lastDagRun_other": "آخر {{count}} تشغيلات DAG", + "lastTaskInstance_one": "آخر مثيل مهمة", + "lastTaskInstance_other": "آخر {{count}} مثيلات المهام", + "queuedDuration": "مدة الانتظار في الطابور", + "runAfter": "تشغيل بعد", + "runDuration": "مدة التشغيل" + }, + "fileUpload": { + "files_other": "{{count}} ملفات" + }, + "flexibleForm": { + "placeholder": "اختر قيمة", + "placeholderArray": "أدخل كل سلسلة في سطر جديد", + "placeholderExamples": "ابدأ الكتابة لرؤية الخيارات", + "placeholderMulti": "اختر قيمة أو أكثر", + "validationErrorArrayNotArray": "القيمة يجب أن تكون مصفوفة.", + "validationErrorArrayNotNumbers": "جميع العناصر في المصفوفة يجب أن تكون أرقامًا.", + "validationErrorArrayNotObject": "جميع العناصر في المصفوفة يجب أن تكون كائنات.", + "validationErrorRequired": "هذا الحقل مطلوب" + }, + "graph": { + "directionDown": "من الأعلى إلى الأسفل", + "directionLeft": "من اليمين إلى اليسار", + "directionRight": "من اليسار إلى اليمين", + "directionUp": "من الأسفل إلى الأعلى", + "downloadImage": "تحميل صورة الرسم البياني", + "downloadImageError": "فشل تحميل صورة الرسم البياني.", + "downloadImageErrorTitle": "فشل التحميل", + "otherDagRuns": "+تشغيلات DAG أخرى", + "taskCount_one": "{{count}} مهمة", + "taskCount_other": "{{count}} مهام", + "taskGroup": "مجموعة المهام" + }, + "limitedList": "+{{count}} المزيد", + "logs": { + "file": "ملف", + "location": "سطر {{line}} في {{name}}" + }, + "reparseDag": "إعادة تحليل DAG", + "sortedAscending": "الترتيب تصاعدي", + "sortedDescending": "الترتيب تنازلي", + "sortedUnsorted": "غير مرتب", + "taskTries": "محاولات المهمة", + "toggleCardView": "عرض البطاقة", + "toggleTableView": "عرض الجدول", + "triggerDag": { + "button": "تشغيل", + "loading": "جارٍ تحميل معلومات DAG...", + "loadingFailed": "فشل تحميل معلومات DAG. يرجى المحاولة مرة أخرى.", + "runIdHelp": "اختياري - سيتم توليده تلقائيًا إذا لم يتم توفيره.", + "selectDescription": "تشغيل عملية واحدة من هذا DAG", + "selectLabel": "تشغيلة واحدة", + "title": "تشغيل DAG", + "toaster": { + "success": { + "description": "تم تشغيل عملية DAG بنجاح.", + "title": "تم تشغيل DAG" + } + }, + "unpause": "إلغاء إيقاف {{dagDisplayName}} عند التشغيل" + }, + "trimText": { + "details": "التفاصيل", + "empty": "فارغ", + "noContent": "لا توجد محتويات متاحة." + }, + "versionDetails": { + "bundleLink": "رابط الحزمة", + "bundleName": "اسم الحزمة", + "bundleVersion": "إصدار الحزمة", + "createdAt": "تاريخ الإنشاء", + "versionId": "معرف الإصدار" + }, + "versionSelect": { + "dagVersion": "إصدار DAG", + "versionCode": "v{{versionCode}}" + } +} diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json similarity index 88% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json index 20964aff8e539..e535ee03ec670 100644 --- a/airflow-core/src/airflow/ui/src/i18n/locales/ar/dags.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json @@ -52,18 +52,18 @@ "downstream": "المهام اللاحقة", "existingTasks": "مسح المهام الحالية", "future": "المستقبل", - "onlyFailed": "مسح المهام الفاشلة فقط", - "past": "الماضي", - "queueNew": "إضافة مهام جديدة للانتظار", - "upstream": "المهام السابقة" + "onlyFailed": "مسح المهام الفاشلة فقط", + "past": "الماضي", + "queueNew": "إضافة مهام جديدة للانتظار", + "upstream": "المهام السابقة" } }, "search": { - "advanced": "بحث متقدم", - "clear": " مسح", - "dags": "ابحث عن Dags", - "hotkey": "+K", - "tasks": "ابحث عن مهام" + "advanced": "بحث متقدم", + "clear": " مسح", + "dags": "ابحث عن Dags", + "hotkey": "+K", + "tasks": "ابحث عن مهام" }, "sort": { "displayName": { diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ar/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/README.md b/airflow-core/src/airflow/ui/public/i18n/locales/de/README.md similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/README.md rename to airflow-core/src/airflow/ui/public/i18n/locales/de/README.md diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/browse.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/browse.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/de/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/de/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/de/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/browse.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/browse.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/en/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/en/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/en/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json similarity index 95% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json index 3626a7a2f1904..15edd6d9aad58 100644 --- a/airflow-core/src/airflow/ui/src/i18n/locales/fr/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json @@ -1,19 +1,19 @@ { - "columns":{ + "columns": { "description": "Description", "key": "Clé", "name": "Nom", "value": "Valeur" }, - "config":{ - "columns":{ + "config": { + "columns": { "section": "Section" }, "title": "Configuration d'Airflow" }, - "connections":{ - "add":"Ajouter une Connexion", - "columns":{ + "connections": { + "add": "Ajouter une Connexion", + "columns": { "connectionId": "ID de la connexion", "connectionType": "Type de la connexion", "host": "Hôte", @@ -21,7 +21,7 @@ }, "connection_one": "Connexion", "connection_other": "Connexions", - "delete":{ + "delete": { "deleteConnection_one": "Supprimer 1 connexion", "deleteConnection_other": "Supprimer {{count}} connexions", "firstConfirmMessage_one": "Vous êtes sur le point de supprimer la connexion suivante :", @@ -29,7 +29,7 @@ "title": "Supprimer la Connexion" }, "edit": "Modifier la Connexion", - "form":{ + "form": { "connectionIdRequired": "L'ID de la connexion est requis", "connectionIdRequirement": "L'ID de la connexion ne peut pas contenir uniquement des espaces", "connectionTypeRequired": "Le type de la connexion est requis", @@ -55,9 +55,9 @@ } } }, - "deleteActions":{ + "deleteActions": { "button": "Supprimer", - "modal":{ + "modal": { "confirmButton": "Oui, Supprimer", "secondConfirmMessage": "Cette action est irréversible.", "thirdConfirmMessage": " Êtes-vous sûr de vouloir continuer ?" @@ -65,7 +65,7 @@ "selected": "Sélectionné", "tooltip": "Supprimer les connexions sélectionnées" }, - "formActions":{ + "formActions": { "reset": "Réinitialiser", "save": "Sauvegarder" }, @@ -80,7 +80,7 @@ "pools": { "add": "Ajouter un Pool", "deferredSlotsIncluded": "Slots Différés Inclus", - "delete":{ + "delete": { "title": "Supprimer le Pool", "warning": "Cela supprimera toutes les métadonnées liées au pool et peut affecter les tâches utilisant ce pool." }, @@ -122,7 +122,7 @@ "title": "Supprimer la Variable", "tooltip": "Supprimer les variables sélectionnées" }, - "edit": "Modifier la Variable", + "edit": "Modifier la Variable", "export": "Exporter", "exportTooltip": "Exporter les variables sélectionnées", "form": { diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/browse.json similarity index 86% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/browse.json index 7aad5959a653f..09b7d3de68768 100644 --- a/airflow-core/src/airflow/ui/src/i18n/locales/fr/browse.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/fr/browse.json @@ -1,10 +1,10 @@ { - "auditLog":{ + "auditLog": { "actions": { "collapseAllExtra": "Réduire tous les extra json", "expandAllExtra": "Ouvrir tous les extra json" }, - "columns":{ + "columns": { "event": "Événement", "extra": "Extra", "user": "Utilisateur", @@ -12,8 +12,8 @@ }, "title": "Journal d'Audit" }, - "xcom":{ - "columns":{ + "xcom": { + "columns": { "dag": "Dag", "key": "Clé", "value": "Valeur" diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/fr/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/fr/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/fr/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/browse.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/browse.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/he/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/he/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/he/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ko/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ko/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ko/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/ko/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/nl/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/nl/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/nl/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/nl/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/nl/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/nl/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/nl/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/nl/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/browse.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/browse.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/pl/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/pl/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/pl/dashboard.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/admin.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/assets.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/assets.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/assets.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/browse.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/browse.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/browse.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/common.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/components.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/components.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/components.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dag.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dag.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dag.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dags.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dags.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dags.json diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dashboard.json similarity index 100% rename from airflow-core/src/airflow/ui/src/i18n/locales/zh-TW/dashboard.json rename to airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/dashboard.json diff --git a/airflow-core/src/airflow/ui/rules/i18n.js b/airflow-core/src/airflow/ui/rules/i18n.js index f96e71b37b7d4..be2fbac79e7de 100644 --- a/airflow-core/src/airflow/ui/rules/i18n.js +++ b/airflow-core/src/airflow/ui/rules/i18n.js @@ -20,6 +20,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ +import jsoncParser from "jsonc-eslint-parser"; import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; @@ -50,7 +51,7 @@ const getKeys = (obj, prefix = "") => { }; // Path to locales directory -const localesDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../src/i18n/locales"); +const localesDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../public/i18n/locales"); // Default language (English) as reference const defaultLanguage = "en"; @@ -72,7 +73,7 @@ fs.readdirSync(defaultLanguageDir) }); export const i18nPlugin = { - files: ["**/i18n/locales/**/*.json"], + files: ["public/i18n/locales/**/*.json"], rules: { "check-translation-completeness": { /** @param {import('@typescript-eslint/utils').TSESLint.RuleContext<'missingKeys' | 'fileError', []>} context */ @@ -155,7 +156,13 @@ export const i18nPlugin = { /** @type {import("@typescript-eslint/utils/ts-eslint").FlatConfig.Config} */ export const i18nRules = { - files: ["**/i18n/locales/**/*.json"], + files: ["public/i18n/locales/**/*.json"], + languageOptions: { + parser: jsoncParser, + parserOptions: { + extraFileExtensions: [".json"], + }, + }, plugins: { [i18nNamespace]: i18nPlugin, }, diff --git a/airflow-core/src/airflow/ui/rules/typescript.js b/airflow-core/src/airflow/ui/rules/typescript.js index 2583b602e7264..ed05e15089799 100644 --- a/airflow-core/src/airflow/ui/rules/typescript.js +++ b/airflow-core/src/airflow/ui/rules/typescript.js @@ -38,6 +38,7 @@ export const typescriptNamespace = "@typescript-eslint"; * @see [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/rules/) */ export const typescriptRules = /** @type {const} @satisfies {FlatConfig.Config} */ ({ + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], languageOptions: { parser: typescriptParser, parserOptions: { diff --git a/airflow-core/src/airflow/ui/src/i18n/config.ts b/airflow-core/src/airflow/ui/src/i18n/config.ts index 41bb37f5e8ace..9754236f0fd8b 100644 --- a/airflow-core/src/airflow/ui/src/i18n/config.ts +++ b/airflow-core/src/airflow/ui/src/i18n/config.ts @@ -18,72 +18,9 @@ */ import i18n from "i18next"; import LanguageDetector from "i18next-browser-languagedetector"; +import Backend from "i18next-http-backend"; import { initReactI18next } from "react-i18next"; -import arAdmin from "./locales/ar/admin.json"; -import arAssets from "./locales/ar/assets.json"; -import arBrowse from "./locales/ar/browse.json"; -import arCommon from "./locales/ar/common.json"; -import arComponents from "./locales/ar/components.json"; -import arDag from "./locales/ar/dag.json"; -import arDags from "./locales/ar/dags.json"; -import arDashboard from "./locales/ar/dashboard.json"; -import deAdmin from "./locales/de/admin.json"; -import deAssets from "./locales/de/assets.json"; -import deBrowse from "./locales/de/browse.json"; -import deCommon from "./locales/de/common.json"; -import deComponents from "./locales/de/components.json"; -import deDag from "./locales/de/dag.json"; -import deDags from "./locales/de/dags.json"; -import deDashboard from "./locales/de/dashboard.json"; -import enAdmin from "./locales/en/admin.json"; -import enAssets from "./locales/en/assets.json"; -import enBrowse from "./locales/en/browse.json"; -import enCommon from "./locales/en/common.json"; -import enComponents from "./locales/en/components.json"; -import enDag from "./locales/en/dag.json"; -import enDags from "./locales/en/dags.json"; -import enDashboard from "./locales/en/dashboard.json"; -import frAdmin from "./locales/fr/admin.json"; -import frAssets from "./locales/fr/assets.json"; -import frBrowse from "./locales/fr/browse.json"; -import frCommon from "./locales/fr/common.json"; -import frComponents from "./locales/fr/components.json"; -import frDag from "./locales/fr/dag.json"; -import frDags from "./locales/fr/dags.json"; -import frDashboard from "./locales/fr/dashboard.json"; -import heAdmin from "./locales/he/admin.json"; -import heAsset from "./locales/he/assets.json"; -import heBrowse from "./locales/he/browse.json"; -import heCommon from "./locales/he/common.json"; -import heComponents from "./locales/he/components.json"; -import heDag from "./locales/he/dag.json"; -import heDags from "./locales/he/dags.json"; -import heDashboard from "./locales/he/dashboard.json"; -import koCommon from "./locales/ko/common.json"; -import koDashboard from "./locales/ko/dashboard.json"; -import nlCommon from "./locales/nl/common.json"; -import nlDashboard from "./locales/nl/dashboard.json"; -import plAdmin from "./locales/pl/admin.json"; -import plAssets from "./locales/pl/assets.json"; -import plBrowse from "./locales/pl/browse.json"; -import plCommon from "./locales/pl/common.json"; -import plComponents from "./locales/pl/components.json"; -import plDag from "./locales/pl/dag.json"; -import plDags from "./locales/pl/dags.json"; -import plDashboard from "./locales/pl/dashboard.json"; -import zhTWAdmin from "./locales/zh-TW/admin.json"; -import zhTWAssets from "./locales/zh-TW/assets.json"; -import zhTWBrowse from "./locales/zh-TW/browse.json"; -import zhTWCommon from "./locales/zh-TW/common.json"; -import zhTWComponents from "./locales/zh-TW/components.json"; -import zhTWDag from "./locales/zh-TW/dag.json"; -import zhTWDags from "./locales/zh-TW/dags.json"; -import zhTWDashboard from "./locales/zh-TW/dashboard.json"; - -// TODO: Dynamically load translation files -// import Backend from 'i18next-http-backend'; - export const supportedLanguages = [ { code: "ar", flag: "🇸🇦", name: "العربية" }, { code: "de", flag: "🇩🇪", name: "Deutsch" }, @@ -97,94 +34,16 @@ export const supportedLanguages = [ ] as const; export const defaultLanguage = "en"; -export const namespaces = ["common", "dashboard", "dags", "admin", "browse", "assets"] as const; - -const resources = { - ar: { - admin: arAdmin, - assets: arAssets, - browse: arBrowse, - common: arCommon, - components: arComponents, - dag: arDag, - dags: arDags, - dashboard: arDashboard, - }, - de: { - admin: deAdmin, - assets: deAssets, - browse: deBrowse, - common: deCommon, - components: deComponents, - dag: deDag, - dags: deDags, - dashboard: deDashboard, - }, - en: { - admin: enAdmin, - assets: enAssets, - browse: enBrowse, - common: enCommon, - components: enComponents, - dag: enDag, - dags: enDags, - dashboard: enDashboard, - }, - fr: { - admin: frAdmin, - assets: frAssets, - browse: frBrowse, - common: frCommon, - components: frComponents, - dag: frDag, - dags: frDags, - dashboard: frDashboard, - }, - he: { - admin: heAdmin, - assets: heAsset, - browse: heBrowse, - common: heCommon, - components: heComponents, - dag: heDag, - dags: heDags, - dashboard: heDashboard, - }, - ko: { - common: koCommon, - dashboard: koDashboard, - }, - nl: { - common: nlCommon, - dashboard: nlDashboard, - }, - pl: { - admin: plAdmin, - assets: plAssets, - browse: plBrowse, - common: plCommon, - components: plComponents, - dag: plDag, - dags: plDags, - dashboard: plDashboard, - }, - "zh-TW": { - admin: zhTWAdmin, - assets: zhTWAssets, - browse: zhTWBrowse, - common: zhTWCommon, - components: zhTWComponents, - dag: zhTWDag, - dags: zhTWDags, - dashboard: zhTWDashboard, - }, -}; +export const namespaces = ["common", "dashboard", "dags", "admin", "browse", "assets", "components"] as const; void i18n - // .use(Backend) // TODO: Dynamically load translation files + .use(Backend) .use(LanguageDetector) .use(initReactI18next) .init({ + backend: { + loadPath: "/static/i18n/locales/{{lng}}/{{ns}}.json", + }, defaultNS: "common", detection: { caches: ["localStorage"], @@ -198,7 +57,6 @@ void i18n react: { useSuspense: false, }, - resources, supportedLngs: supportedLanguages.map((lang) => lang.code), }); diff --git a/airflow-core/src/airflow/ui/src/i18n/locales/ar/components.json b/airflow-core/src/airflow/ui/src/i18n/locales/ar/components.json deleted file mode 100644 index b5b9c1b43b372..0000000000000 --- a/airflow-core/src/airflow/ui/src/i18n/locales/ar/components.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "backfill": { - "affected_one": "مهمة واحدة ستُشغّل.", - "affected_other": "{{count}} مهام ستُشغّل.", - "affectedNone": "لا توجد مهام تطابق المعايير المحددة.", - "backwards": "تشغيل رجعي", - "dateRange": "نطاق التاريخ", - "dateRangeFrom": "من", - "dateRangeTo": "إلى", - "errorStartDateBeforeEndDate": "يجب أن يكون تاريخ البدء قبل تاريخ الانتهاء", - "maxRuns": "الحد الأقصى للتشغيلات النشطة", - "reprocessBehavior": "اعادة معالجة السلوك", - "run": "تشغيل التعبئة الرجعية", - "selectDescription": "تشغيل هذا DAG لنطاق من التواريخ", - "selectLabel": "تعبئة رجعية", - "title": "تشغيل التعبئة الرجعية", - "toaster": { - "success": { - "description": "تم تشغيل مهام التعبئة الرجعية بنجاح.", - "title": "تم إنشاء التعبئة الرجعية" - } - }, - "tooltip": "التعبئة الرجعية تتطلب جدول زمني", - "unpause": "إلغاء إيقاف {{dag_display_name}} عند التشغيل", - "validation": { - "datesRequired": "يجب توفير بيانات كل من تاريخ بدء فترة وتاريخ الانتهاء.", - "startBeforeEnd": "بيانات فترة تاريخ البدء يجب ان تكون من او قبل تاريخ الانتهاء. " - } - }, - "banner": { - "backfillInProgress": "التعبئة الرجعية قيد التنفيذ", - "cancel": "إلغاء التعبئة الرجعية", - "pause": "إيقاف التعبئة الرجعية", - "unpause": "إلغاء إيقاف التعبئة الرجعية" - }, - "clipboard": { - "copy": "نسخ" - }, - "close": "إغلاق", - "configForm": { - "advancedOptions": "خيارات متقدمة", - "configJson": "تكوين JSON", - "invalidJson": "تنسيق JSON غير صالح: {{errorMessage}}" - }, - "dagWarnings": { - "error_one": "1 خطأ", - "errorAndWarning": "1 خطأ و{{warningText}}", - "warning_one": "1 تحذير", - "warning_other": "{{count}} تحذيرات" - }, - "durationChart": { - "duration": "المدة (بالثواني)", - "lastDagRun_one": "آخر تشغيل DAG", - "lastDagRun_other": "آخر {{count}} تشغيلات DAG", - "lastTaskInstance_one": "آخر مثيل مهمة", - "lastTaskInstance_other": "آخر {{count}} مثيلات المهام", - "queuedDuration": "مدة الانتظار في الطابور", - "runAfter": "تشغيل بعد", - "runDuration": "مدة التشغيل" - }, - "fileUpload": { - "files_other": "{{count}} ملفات" - }, - "flexibleForm": { - "placeholder": "اختر قيمة", - "placeholderArray": "أدخل كل سلسلة في سطر جديد", - "placeholderExamples": "ابدأ الكتابة لرؤية الخيارات", - "placeholderMulti": "اختر قيمة أو أكثر", - "validationErrorArrayNotArray": "القيمة يجب أن تكون مصفوفة.", - "validationErrorArrayNotNumbers": "جميع العناصر في المصفوفة يجب أن تكون أرقامًا.", - "validationErrorArrayNotObject": "جميع العناصر في المصفوفة يجب أن تكون كائنات.", - "validationErrorRequired": "هذا الحقل مطلوب" - }, - "graph": { - "directionDown": "من الأعلى إلى الأسفل", - "directionLeft": "من اليمين إلى اليسار", - "directionRight": "من اليسار إلى اليمين", - "directionUp": "من الأسفل إلى الأعلى", - "downloadImage": "تحميل صورة الرسم البياني", - "downloadImageError": "فشل تحميل صورة الرسم البياني.", - "downloadImageErrorTitle": "فشل التحميل", - "otherDagRuns": "+تشغيلات DAG أخرى", - "taskCount_one": "{{count}} مهمة", - "taskCount_other": "{{count}} مهام", - "taskGroup": "مجموعة المهام" - }, - "limitedList": "+{{count}} المزيد", - "logs": { - "file": "ملف", - "location": "سطر {{line}} في {{name}}" - }, - "reparseDag": "إعادة تحليل DAG", - "sortedAscending": "الترتيب تصاعدي", - "sortedDescending": "الترتيب تنازلي", - "sortedUnsorted": "غير مرتب", - "taskTries": "محاولات المهمة", - "toggleCardView": "عرض البطاقة", - "toggleTableView": "عرض الجدول", - "triggerDag": { - "button": "تشغيل", - "loading": "جارٍ تحميل معلومات DAG...", - "loadingFailed": "فشل تحميل معلومات DAG. يرجى المحاولة مرة أخرى.", - "runIdHelp": "اختياري - سيتم توليده تلقائيًا إذا لم يتم توفيره.", - "selectDescription": "تشغيل عملية واحدة من هذا DAG", - "selectLabel": "تشغيلة واحدة", - "title": "تشغيل DAG", - "toaster": { - "success": { - "description": "تم تشغيل عملية DAG بنجاح.", - "title": "تم تشغيل DAG" - } - }, - "unpause": "إلغاء إيقاف {{dagDisplayName}} عند التشغيل" - }, - "trimText": { - "details": "التفاصيل", - "empty": "فارغ", - "noContent": "لا توجد محتويات متاحة." - }, - "versionDetails": { - "bundleLink": "رابط الحزمة", - "bundleName": "اسم الحزمة", - "bundleVersion": "إصدار الحزمة", - "createdAt": "تاريخ الإنشاء", - "versionId": "معرف الإصدار" - }, - "versionSelect": { - "dagVersion": "إصدار DAG", - "versionCode": "v{{versionCode}}" - } -} diff --git a/airflow-core/src/airflow/ui/src/pages/DagsList/DagCard.test.tsx b/airflow-core/src/airflow/ui/src/pages/DagsList/DagCard.test.tsx index d95e4466be5cf..c5ed905568f95 100644 --- a/airflow-core/src/airflow/ui/src/pages/DagsList/DagCard.test.tsx +++ b/airflow-core/src/airflow/ui/src/pages/DagsList/DagCard.test.tsx @@ -19,8 +19,9 @@ * under the License. */ import { render, screen } from "@testing-library/react"; +import i18n from "i18next"; import type { DagTagResponse, DAGWithLatestDagRunsResponse } from "openapi-gen/requests/types.gen"; -import { afterEach, describe, it, vi, expect } from "vitest"; +import { afterEach, describe, it, vi, expect, beforeAll } from "vitest"; import { Wrapper } from "src/utils/Wrapper"; @@ -58,6 +59,23 @@ const mockDag = { timetable_summary: "", } satisfies DAGWithLatestDagRunsResponse; +beforeAll(async () => { + await i18n.init({ + defaultNS: "components", + fallbackLng: "en", + interpolation: { escapeValue: false }, + lng: "en", + ns: ["components"], + resources: { + en: { + components: { + limitedList: "+{{count}} more", + }, + }, + }, + }); +}); + afterEach(() => { vi.restoreAllMocks(); }); diff --git a/airflow-core/src/airflow/ui/testsSetup.ts b/airflow-core/src/airflow/ui/testsSetup.ts index 676ffc3d82e0d..09dbe7bce31e3 100644 --- a/airflow-core/src/airflow/ui/testsSetup.ts +++ b/airflow-core/src/airflow/ui/testsSetup.ts @@ -16,19 +16,15 @@ * specific language governing permissions and limitations * under the License. */ -import * as matchers from "@testing-library/jest-dom/matchers"; import "@testing-library/jest-dom/vitest"; import type { HttpHandler } from "msw"; import { setupServer, type SetupServerApi } from "msw/node"; -import { beforeEach, expect, beforeAll, afterAll } from "vitest"; +import { beforeEach, beforeAll, afterAll } from "vitest"; import { handlers } from "src/mocks/handlers"; let server: SetupServerApi; -// extends vitest matchers with react-testing-library's ones -expect.extend(matchers); - beforeAll(() => { server = setupServer(...(handlers as Array)); server.listen({ onUnhandledRequest: "bypass" }); diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md index 0b5b538fcc188..268fdb1d1ada7 100644 --- a/dev/README_RELEASE_AIRFLOW.md +++ b/dev/README_RELEASE_AIRFLOW.md @@ -75,7 +75,7 @@ The first step of a release is to work out what is being included. This differs ## Validating completeness of i18n locale files -At this point you should validate the completeness of the i18n locale files - follow the instructions in section 8.1 of the [internationalization (i18n) policy](../airflow-core/src/airflow/ui/src/i18n/README.md) for doing so. +At this point you should validate the completeness of the i18n locale files - follow the instructions in section 8.1 of the [internationalization (i18n) policy](../airflow-core/src/airflow/ui/public/i18n/README.md) for doing so. If there are any incomplete locales, copy the names of the incomplete locales and send out a reminder to the code owners to ensure completion of the translation by a due date of your choice before cutting the release candidate (RC). The reminder should be sent via dev@airflow.apache.org mailing list, preferably with an accompanying GitHub issue for tracking purposes. diff --git a/airflow-core/src/airflow/ui/src/i18n/check_translations_completeness.py b/dev/i18n/check_translations_completeness.py similarity index 99% rename from airflow-core/src/airflow/ui/src/i18n/check_translations_completeness.py rename to dev/i18n/check_translations_completeness.py index d001091f606da..35d0583b53160 100755 --- a/airflow-core/src/airflow/ui/src/i18n/check_translations_completeness.py +++ b/dev/i18n/check_translations_completeness.py @@ -40,7 +40,9 @@ click.rich_click.MAX_WIDTH = 120 click.rich_click.USE_RICH_MARKUP = True -LOCALES_DIR = Path(__file__).parent / "locales" +LOCALES_DIR = ( + Path(__file__).parents[2] / "airflow-core" / "src" / "airflow" / "ui" / "public" / "i18n" / "locales" +) class LocaleSummary(NamedTuple): diff --git a/scripts/ci/pre_commit/boring_cyborg.py b/scripts/ci/pre_commit/boring_cyborg.py index 22d82d736cb9f..95fb1f057c032 100755 --- a/scripts/ci/pre_commit/boring_cyborg.py +++ b/scripts/ci/pre_commit/boring_cyborg.py @@ -63,7 +63,7 @@ # Check for missing translations EXCEPTIONS = ["en"] -for p in repo_root.glob("airflow-core/src/airflow/ui/src/i18n/locales/*"): +for p in repo_root.glob("airflow-core/src/airflow/ui/public/i18n/locales/*"): if p.is_dir(): lang_id = p.name expected_key = f"translation:{lang_id}" diff --git a/scripts/ci/pre_commit/check_i18n_json.py b/scripts/ci/pre_commit/check_i18n_json.py index 9c4f1af4a77d3..31051092e4edb 100755 --- a/scripts/ci/pre_commit/check_i18n_json.py +++ b/scripts/ci/pre_commit/check_i18n_json.py @@ -17,7 +17,7 @@ # under the License. """ -Pre-commit script to check that all .json files in airflow-core/src/airflow/ui/src/i18n/locales/ +Pre-commit script to check that all .json files in airflow-core/src/airflow/ui/public/i18n/locales/ are valid JSON and do not contain any 'TODO:' entries. """ @@ -32,7 +32,7 @@ sys.path.insert(0, COMMON_PRECOMMIT_PATH.as_posix()) # make sure common_precommit_utils is imported from common_precommit_utils import AIRFLOW_ROOT_PATH, console -LOCALES_DIR = AIRFLOW_ROOT_PATH / "airflow-core" / "src" / "airflow" / "ui" / "src" / "i18n" / "locales" +LOCALES_DIR = AIRFLOW_ROOT_PATH / "airflow-core" / "src" / "airflow" / "ui" / "public" / "i18n" / "locales" def main(): From 35500290d4f3afb16228ea4021ee57a5deacbfd1 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Fri, 20 Jun 2025 12:15:13 +0530 Subject: [PATCH 003/381] Adding basic manual testing instructions for go-sdk (#51912) * Adding basic manual testing instructions for go-sdk * update stopping celery queues --- go-sdk/README.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/go-sdk/README.md b/go-sdk/README.md index a3f55246fa0b6..0b208d64855d7 100644 --- a/go-sdk/README.md +++ b/go-sdk/README.md @@ -32,6 +32,59 @@ The Task API however does not provide a means to get the `ExecuteTaskWorkload` t Since Go is a compiled language (putting aside projects such as [YAEGI](https://github.com/traefik/yaegi) that allow go to be interpreted) all tasks must be a) compiled in to the binary, and b) "registered" inside the worker process in order to be executed. +## Quick Testing Setup + +The Go SDK currently works with Airflow's Celery Executor setup. Here's how to get started: + +### Prerequisites + +- Go 1.21 or later +- Docker and Docker Compose (for Breeze) +- Redis (for Celery broker) + +### Step 1: Start Airflow with Celery Executor + +Start Breeze with Celery executor: + +```bash +breeze start-airflow --backend postgres --executor CeleryExecutor --load-example-dags +``` + +This will start: + +- Airflow API Server on `http://localhost:28080` +- Celery workers (we will not utilise this) +- Redis broker on `localhost:26379` +- Loads the example DAGs + +### Step 2: Stop the Celery Worker + +We want to run the go workers instead of running the Celery ones. So in `breeze`, press CTRL+C to +stop the Celery workers. + +### Step 3: Run the Go SDK Worker + +From the `go-sdk` directory, run the example worker: + +```bash +go run ./example/main.go run \ + --broker-address=localhost:26379 \ + --queues default \ + --execution-api-url http://localhost:28080/execution +``` + +**Parameters explained:** + +- `--broker-address=localhost:26379`: Redis broker address (default Celery broker) +- `--queues default`: Queue name where Celery enqueues tasks +- `--execution-api-url http://localhost:28080/execution`: Airflow's Task Execution API endpoint + +### Step 4: Submit a Test Task + +You can submit tasks through the Airflow UI for dag_id: `tutorial_dag`. The Go worker will pick up tasks from the Celery queue and execute them using the Task Execution Interface. + +Observe the logs in the terminal where you run the test task. + ## Current state This SDK currently will: From db896a73393f8b404914936771aa9503a8dda927 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Fri, 20 Jun 2025 15:40:12 +0530 Subject: [PATCH 004/381] Small update to go mod tidy hook (#51951) --- .pre-commit-config.yaml | 2 +- contributing-docs/08_static_code_checks.rst | 2 +- dev/breeze/doc/images/output_static-checks.svg | 2 +- dev/breeze/doc/images/output_static-checks.txt | 2 +- dev/breeze/src/airflow_breeze/pre_commit_ids.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1bc591c116597..995e255cf363d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1277,7 +1277,7 @@ repos: types: [go] pass_filenames: false language: docker_image - - id: go-tidy + - id: go-mod-tidy name: Run go mod tidy entry: bash -c "cd go-sdk && go mod tidy" files: ^go-sdk/ diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index a36bb02573e69..d1b8a7aa4ee62 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -294,7 +294,7 @@ require Breeze Docker image to be built locally. +-----------------------------------------------------------+--------------------------------------------------------+---------+ | go-mockery | Generate mocks for go | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ -| go-tidy | Run go mod tidy | | +| go-mod-tidy | Run go mod tidy | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ | gofmt | Format go code | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ diff --git a/dev/breeze/doc/images/output_static-checks.svg b/dev/breeze/doc/images/output_static-checks.svg index 7af46cdafc132..beaf498a9e529 100644 --- a/dev/breeze/doc/images/output_static-checks.svg +++ b/dev/breeze/doc/images/output_static-checks.svg @@ -369,7 +369,7 @@ generate-airflow-diagrams | generate-airflowctl-datamodels |                      generate-airflowctl-help-images | generate-openapi-spec |                         generate-openapi-spec-fab | generate-pypi-readme | generate-tasksdk-datamodels |  -generate-volumes-for-sources | go-mockery | go-tidy | gofmt | identity |          +generate-volumes-for-sources | go-mockery | go-mod-tidy | gofmt | identity |      insert-license | kubeconform | lint-chart-schema | lint-dockerfile |              lint-helm-chart | lint-json-schema | lint-markdown | mixed-line-ending |          mypy-airflow-core | mypy-airflow-ctl | mypy-dev | mypy-devel-common |             diff --git a/dev/breeze/doc/images/output_static-checks.txt b/dev/breeze/doc/images/output_static-checks.txt index 7e1564761d64a..a62f2b66d5aa2 100644 --- a/dev/breeze/doc/images/output_static-checks.txt +++ b/dev/breeze/doc/images/output_static-checks.txt @@ -1 +1 @@ -0965787dd63858d380d63a34b5afdc76 +f31561bb0408a8cab278aad420d260b3 diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py b/dev/breeze/src/airflow_breeze/pre_commit_ids.py index 7db2b08ffd228..de0227170d7fd 100644 --- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py +++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py @@ -110,7 +110,7 @@ "generate-tasksdk-datamodels", "generate-volumes-for-sources", "go-mockery", - "go-tidy", + "go-mod-tidy", "gofmt", "identity", "insert-license", From 2d6d594ee897df5f11dc74cbf0b64e84db45009a Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Fri, 20 Jun 2025 16:36:47 +0530 Subject: [PATCH 005/381] Fix connection recovery from uri when host has protocol (#51953) --- airflow-core/src/airflow/models/connection.py | 19 +++++++++++++----- .../tests/unit/models/test_connection.py | 17 ++++++++++++++++ .../src/airflow/sdk/definitions/connection.py | 20 ++++++++++++++----- 3 files changed, 46 insertions(+), 10 deletions(-) diff --git a/airflow-core/src/airflow/models/connection.py b/airflow-core/src/airflow/models/connection.py index 02df02ddac2ca..a3ff23bbdea07 100644 --- a/airflow-core/src/airflow/models/connection.py +++ b/airflow-core/src/airflow/models/connection.py @@ -266,11 +266,20 @@ def get_uri(self) -> str: if self.host and "://" in self.host: protocol, host = self.host.split("://", 1) + # If the protocol in host matches the connection type, don't add it again + if protocol == self.conn_type: + host_to_use = self.host + protocol_to_add = None + else: + # Different protocol, add it to the URI + host_to_use = host + protocol_to_add = protocol else: - protocol, host = None, self.host + host_to_use = self.host + protocol_to_add = None - if protocol: - uri += f"{protocol}://" + if protocol_to_add: + uri += f"{protocol_to_add}://" authority_block = "" if self.login is not None: @@ -285,8 +294,8 @@ def get_uri(self) -> str: uri += authority_block host_block = "" - if host: - host_block += quote(host, safe="") + if host_to_use: + host_block += quote(host_to_use, safe="") if self.port: if host_block == "" and authority_block == "": diff --git a/airflow-core/tests/unit/models/test_connection.py b/airflow-core/tests/unit/models/test_connection.py index 653869785e4b6..97d7b3acec786 100644 --- a/airflow-core/tests/unit/models/test_connection.py +++ b/airflow-core/tests/unit/models/test_connection.py @@ -255,6 +255,23 @@ def test_get_uri(self, connection, expected_uri): def test_sanitize_conn_id(self, connection, expected_conn_id): assert connection.conn_id == expected_conn_id + @pytest.mark.parametrize( + "conn_type, host", + [ + # same protocol to type + ("http", "http://host"), + # different protocol to type + ("https", "http://host"), + ], + ) + def test_connection_uri_recovery(self, conn_type, host): + original = Connection(conn_id="test", conn_type=conn_type, host=host) + uri = original.get_uri() + + recovered = Connection(uri=uri) + assert recovered.conn_type == original.conn_type + assert recovered.host == original.host + def test_extra_dejson(self): extra = ( '{"trust_env": false, "verify": false, "stream": true, "headers":' diff --git a/task-sdk/src/airflow/sdk/definitions/connection.py b/task-sdk/src/airflow/sdk/definitions/connection.py index c66b264dce098..89344cf967d3b 100644 --- a/task-sdk/src/airflow/sdk/definitions/connection.py +++ b/task-sdk/src/airflow/sdk/definitions/connection.py @@ -74,10 +74,20 @@ def get_uri(self) -> str: if self.host and "://" in self.host: protocol, host = self.host.split("://", 1) + # If the protocol in host matches the connection type, don't add it again + if protocol == self.conn_type: + host_to_use = self.host + protocol_to_add = None + else: + # Different protocol, add it to the URI + host_to_use = host + protocol_to_add = protocol else: - protocol, host = None, self.host or "" - if protocol: - uri += f"{protocol}://" + host_to_use = self.host # type: ignore[assignment] + protocol_to_add = None + + if protocol_to_add: + uri += f"{protocol_to_add}://" authority_block = "" if self.login is not None: @@ -89,8 +99,8 @@ def get_uri(self) -> str: uri += authority_block host_block = "" - if host != "": - host_block += quote(host, safe="") + if host_to_use: + host_block += quote(host_to_use, safe="") if self.port: if host_block == "" and authority_block == "": host_block += f"@:{self.port}" From 067b3e8ae849d646f84f1a9cea1bcc41f5ab2dce Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Fri, 20 Jun 2025 16:37:20 +0530 Subject: [PATCH 006/381] Converting int account IDs to str in DBT Cloud connections (#51957) --- providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py | 6 +++--- .../dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py | 2 +- .../dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py index 1a11662019b46..acf622b8812b4 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py @@ -156,7 +156,7 @@ def setup_class(self): account_id_conn = Connection( conn_id=ACCOUNT_ID_CONN, conn_type=DbtCloudHook.conn_type, - login=DEFAULT_ACCOUNT_ID, + login=str(DEFAULT_ACCOUNT_ID), password=TOKEN, ) @@ -171,7 +171,7 @@ def setup_class(self): host_conn = Connection( conn_id=SINGLE_TENANT_CONN, conn_type=DbtCloudHook.conn_type, - login=DEFAULT_ACCOUNT_ID, + login=str(DEFAULT_ACCOUNT_ID), password=TOKEN, host=SINGLE_TENANT_DOMAIN, ) @@ -180,7 +180,7 @@ def setup_class(self): proxy_conn = Connection( conn_id=PROXY_CONN, conn_type=DbtCloudHook.conn_type, - login=DEFAULT_ACCOUNT_ID, + login=str(DEFAULT_ACCOUNT_ID), password=TOKEN, host=SINGLE_TENANT_DOMAIN, extra=EXTRA_PROXIES, diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py index 616423d5ba984..13ed5208030a2 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py @@ -102,7 +102,7 @@ def setup_module(): conn_account_id = Connection( conn_id=ACCOUNT_ID_CONN, conn_type=DbtCloudHook.conn_type, - login=DEFAULT_ACCOUNT_ID, + login=str(DEFAULT_ACCOUNT_ID), password=TOKEN, ) diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py index b0cd0a4ede30f..14dd82b1eacec 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py @@ -56,7 +56,9 @@ def setup_class(self): ) # Connection - conn = Connection(conn_id="dbt", conn_type=DbtCloudHook.conn_type, login=ACCOUNT_ID, password=TOKEN) + conn = Connection( + conn_id="dbt", conn_type=DbtCloudHook.conn_type, login=str(ACCOUNT_ID), password=TOKEN + ) db.merge_conn(conn) From 9cd74b027ba38a912a7f55091ee75610186dfdf8 Mon Sep 17 00:00:00 2001 From: Dov Benyomin Sohacheski Date: Fri, 20 Jun 2025 15:10:16 +0300 Subject: [PATCH 007/381] Use merged to render airflow.cfg and include computed defaults (#51828) --- chart/templates/configmaps/configmap.yaml | 4 ++-- .../tests/helm_tests/airflow_aux/test_configmap.py | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/chart/templates/configmaps/configmap.yaml b/chart/templates/configmaps/configmap.yaml index e904e7e579fff..49240f442cb21 100644 --- a/chart/templates/configmaps/configmap.yaml +++ b/chart/templates/configmaps/configmap.yaml @@ -38,10 +38,10 @@ metadata: {{- end }} {{- $Global := . }} data: + {{- $config := deepCopy .Values.config | merge (dict "core" dict) }} {{/*- Set a default for core.execution_api_server_url pointing to the api-server service if it's not set -*/}} {{- if semverCompare ">=3.0.0" .Values.airflowVersion -}} {{- $basePath := "" -}} - {{- $config := merge .Values.config ( dict "core" dict )}} {{- if not (hasKey $config.core "execution_api_server_url") -}} {{- if (and $config.api $config.api.base_url) -}} {{- with urlParse $config.api.base_url }}{{ $basePath = (trimSuffix "/" .path) }}{{ end }} @@ -51,7 +51,7 @@ data: {{- end -}} # These are system-specified config overrides. airflow.cfg: |- - {{- range $section, $settings := .Values.config }} + {{- range $section, $settings := $config }} [{{ $section }}] {{- range $key, $val := $settings }} {{ $key }} = {{ tpl ($val | toString) $Global }} diff --git a/helm-tests/tests/helm_tests/airflow_aux/test_configmap.py b/helm-tests/tests/helm_tests/airflow_aux/test_configmap.py index e1bad9e3a72c7..e5fde40acb642 100644 --- a/helm-tests/tests/helm_tests/airflow_aux/test_configmap.py +++ b/helm-tests/tests/helm_tests/airflow_aux/test_configmap.py @@ -248,7 +248,7 @@ def test_standalone_dag_processor_explicit(self, airflow_version, enabled): "3.0.0", None, None, - "http://release-name-api-server:8080/execution", + "http://release-name-api-server:8080/execution/", ), ( "2.9.0", @@ -260,13 +260,13 @@ def test_standalone_dag_processor_explicit(self, airflow_version, enabled): "3.0.0", "http://example.com", None, - "http://release-name-api-server:8080/execution", + "http://release-name-api-server:8080/execution/", ), ( "3.0.0", "http://example.com/airflow", None, - "http://release-name-api-server:8080/airflow/execution", + "http://release-name-api-server:8080/airflow/execution/", ), ( "3.0.0", @@ -291,14 +291,13 @@ def test_execution_api_server_url( show_only=["templates/configmaps/configmap.yaml"], ) - # config is the jmespath search for the data["airflow.cfg"] in the configmap - config = jmespath.search('data.["airflow.cfg"]', configmap[0]) + config = jmespath.search('data."airflow.cfg"', configmap[0]) assert config is not None, "Configmap data for airflow.cfg should not be None" assert len(config) > 0, "Configmap data for airflow.cfg should not be empty" if expected_execution_url is not None: - assert f"\nexecution_api_server_url = {expected_execution_url}" in config[0] + assert f"\nexecution_api_server_url = {expected_execution_url}\n" in config else: - assert "execution_api_server_url" not in config[0], ( + assert "execution_api_server_url" not in config, ( "execution_api_server_url should not be set for Airflow 2.x versions" ) From e5670f1ab909133e53c1011f3fda1002dd6ef530 Mon Sep 17 00:00:00 2001 From: Elad Kalif <45845474+eladkal@users.noreply.github.com> Date: Fri, 20 Jun 2025 16:35:01 +0300 Subject: [PATCH 008/381] Bump apache-beam>=2.60.0 (#51961) --- providers/apache/beam/pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/providers/apache/beam/pyproject.toml b/providers/apache/beam/pyproject.toml index 7536b0949925c..7f9aafa85954d 100644 --- a/providers/apache/beam/pyproject.toml +++ b/providers/apache/beam/pyproject.toml @@ -58,9 +58,7 @@ requires-python = "~=3.9" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", - # Apache Beam > 2.53.0 and pyarrow > 14.0.1 fix https://nvd.nist.gov/vuln/detail/CVE-2023-47248. - 'apache-beam>=2.53.0; python_version < "3.12"', - 'apache-beam>=2.57.0; python_version >= "3.12"', + 'apache-beam>=2.60.0', "pyarrow>=14.0.1", "numpy>=1.26.0", From d8b58471f9812127ea1955c8163af3747f1cbe25 Mon Sep 17 00:00:00 2001 From: Elad Kalif <45845474+eladkal@users.noreply.github.com> Date: Fri, 20 Jun 2025 17:22:10 +0300 Subject: [PATCH 009/381] Prepare release for June 2025 2nd provider wave (#51894) --- providers/apache/beam/README.rst | 15 +++++++-------- providers/apache/beam/docs/changelog.rst | 13 +++++++++++++ providers/apache/beam/docs/index.rst | 15 +++++++-------- providers/apache/beam/provider.yaml | 3 ++- providers/apache/beam/pyproject.toml | 6 +++--- .../src/airflow/providers/apache/beam/__init__.py | 2 +- providers/common/messaging/README.rst | 6 +++--- providers/common/messaging/docs/changelog.rst | 11 +++++++++++ providers/common/messaging/docs/index.rst | 2 +- providers/common/messaging/provider.yaml | 3 ++- providers/common/messaging/pyproject.toml | 6 +++--- .../providers/common/messaging/__init__.py | 2 +- providers/fab/docs/changelog.rst | 7 +++++++ 13 files changed, 61 insertions(+), 30 deletions(-) diff --git a/providers/apache/beam/README.rst b/providers/apache/beam/README.rst index c23bfbb00cf1e..95a17247052b0 100644 --- a/providers/apache/beam/README.rst +++ b/providers/apache/beam/README.rst @@ -23,7 +23,7 @@ Package ``apache-airflow-providers-apache-beam`` -Release: ``6.1.0`` +Release: ``6.1.1`` `Apache Beam `__. @@ -36,7 +36,7 @@ This is a provider package for ``apache.beam`` provider. All classes for this pr are in ``airflow.providers.apache.beam`` python package. You can find package information and changelog for the provider -in the `documentation `_. +in the `documentation `_. Installation ------------ @@ -50,15 +50,14 @@ The package supports the following python versions: 3.9,3.10,3.11,3.12 Requirements ------------ -================== ====================================== +================== ================== PIP package Version required -================== ====================================== +================== ================== ``apache-airflow`` ``>=2.10.0`` -``apache-beam`` ``>=2.53.0; python_version < "3.12"`` -``apache-beam`` ``>=2.57.0; python_version >= "3.12"`` +``apache-beam`` ``>=2.60.0`` ``pyarrow`` ``>=14.0.1`` ``numpy`` ``>=1.26.0`` -================== ====================================== +================== ================== Cross provider package dependencies ----------------------------------- @@ -81,4 +80,4 @@ Dependent package ================================================================================================================== ================= The changelog for the provider package can be found in the -`changelog `_. +`changelog `_. diff --git a/providers/apache/beam/docs/changelog.rst b/providers/apache/beam/docs/changelog.rst index ce5d02db9ae1c..f753855499b76 100644 --- a/providers/apache/beam/docs/changelog.rst +++ b/providers/apache/beam/docs/changelog.rst @@ -26,6 +26,19 @@ Changelog --------- +6.1.1 +..... + +Misc +~~~~ + +* ``Bump apache-beam>=2.60.0 (#51961)`` +* ``Change the Link implementation in Google Provider to make it cleand and compatible with Airflow 3 (#51576)`` +* ``Bump apache-beam minimum version dependency to 2.60.0 (#51825)`` + +.. Below changes are excluded from the changelog. Move them to + appropriate section above if needed. Do not delete the lines(!): + 6.1.0 ..... diff --git a/providers/apache/beam/docs/index.rst b/providers/apache/beam/docs/index.rst index 115d1c0021c94..bb3f07d91f90b 100644 --- a/providers/apache/beam/docs/index.rst +++ b/providers/apache/beam/docs/index.rst @@ -75,7 +75,7 @@ apache-airflow-providers-apache-beam package `Apache Beam `__. -Release: 6.1.0 +Release: 6.1.1 Provider package ---------------- @@ -95,15 +95,14 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``. -================== ====================================== +================== ================== PIP package Version required -================== ====================================== +================== ================== ``apache-airflow`` ``>=2.10.0`` -``apache-beam`` ``>=2.53.0; python_version < "3.12"`` -``apache-beam`` ``>=2.57.0; python_version >= "3.12"`` +``apache-beam`` ``>=2.60.0`` ``pyarrow`` ``>=14.0.1`` ``numpy`` ``>=1.26.0`` -================== ====================================== +================== ================== Cross provider package dependencies ----------------------------------- @@ -131,5 +130,5 @@ Downloading official packages You can download officially released packages and verify their checksums and signatures from the `Official Apache Download site `_ -* `The apache-airflow-providers-apache-beam 6.1.0 sdist package `_ (`asc `__, `sha512 `__) -* `The apache-airflow-providers-apache-beam 6.1.0 wheel package `_ (`asc `__, `sha512 `__) +* `The apache-airflow-providers-apache-beam 6.1.1 sdist package `_ (`asc `__, `sha512 `__) +* `The apache-airflow-providers-apache-beam 6.1.1 wheel package `_ (`asc `__, `sha512 `__) diff --git a/providers/apache/beam/provider.yaml b/providers/apache/beam/provider.yaml index b5794fd205081..323c0b6318aaa 100644 --- a/providers/apache/beam/provider.yaml +++ b/providers/apache/beam/provider.yaml @@ -22,12 +22,13 @@ description: | `Apache Beam `__. state: ready -source-date-epoch: 1747131299 +source-date-epoch: 1750426671 # Note that those versions are maintained by release manager - do not update them manually # with the exception of case where other provider in sources has >= new provider version. # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have # to be done in the same PR versions: + - 6.1.1 - 6.1.0 - 6.0.4 - 6.0.3 diff --git a/providers/apache/beam/pyproject.toml b/providers/apache/beam/pyproject.toml index 7f9aafa85954d..0b28523ad0094 100644 --- a/providers/apache/beam/pyproject.toml +++ b/providers/apache/beam/pyproject.toml @@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi" [project] name = "apache-airflow-providers-apache-beam" -version = "6.1.0" +version = "6.1.1" description = "Provider package apache-airflow-providers-apache-beam for Apache Airflow" readme = "README.rst" authors = [ @@ -110,8 +110,8 @@ apache-airflow-providers-common-sql = {workspace = true} apache-airflow-providers-standard = {workspace = true} [project.urls] -"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-apache-beam/6.1.0" -"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-apache-beam/6.1.0/changelog.html" +"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-apache-beam/6.1.1" +"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-apache-beam/6.1.1/changelog.html" "Bug Tracker" = "https://github.com/apache/airflow/issues" "Source Code" = "https://github.com/apache/airflow" "Slack Chat" = "https://s.apache.org/airflow-slack" diff --git a/providers/apache/beam/src/airflow/providers/apache/beam/__init__.py b/providers/apache/beam/src/airflow/providers/apache/beam/__init__.py index 5eeaa3fe45e14..91fc6db5869fe 100644 --- a/providers/apache/beam/src/airflow/providers/apache/beam/__init__.py +++ b/providers/apache/beam/src/airflow/providers/apache/beam/__init__.py @@ -29,7 +29,7 @@ __all__ = ["__version__"] -__version__ = "6.1.0" +__version__ = "6.1.1" if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse( "2.10.0" diff --git a/providers/common/messaging/README.rst b/providers/common/messaging/README.rst index de9411533ccb5..0a1b1d8941b09 100644 --- a/providers/common/messaging/README.rst +++ b/providers/common/messaging/README.rst @@ -23,7 +23,7 @@ Package ``apache-airflow-providers-common-messaging`` -Release: ``1.0.2`` +Release: ``1.0.3`` ``Common Messaging Provider`` @@ -36,7 +36,7 @@ This is a provider package for ``common.messaging`` provider. All classes for th are in ``airflow.providers.common.messaging`` python package. You can find package information and changelog for the provider -in the `documentation `_. +in the `documentation `_. Installation ------------ @@ -57,4 +57,4 @@ PIP package Version required ================== ================== The changelog for the provider package can be found in the -`changelog `_. +`changelog `_. diff --git a/providers/common/messaging/docs/changelog.rst b/providers/common/messaging/docs/changelog.rst index 6cb569e7dd39d..233c544429665 100644 --- a/providers/common/messaging/docs/changelog.rst +++ b/providers/common/messaging/docs/changelog.rst @@ -25,6 +25,17 @@ Changelog --------- +1.0.3 +..... + +Bug Fixes +~~~~~~~~~ + +* ``Move MESSAGE_QUEUE_PROVIDERS array to where it belongs - to msq_queue (#51774)`` + +.. Below changes are excluded from the changelog. Move them to + appropriate section above if needed. Do not delete the lines(!): + 1.0.2 ..... diff --git a/providers/common/messaging/docs/index.rst b/providers/common/messaging/docs/index.rst index 33b367fb0af8e..e67c4da27846c 100644 --- a/providers/common/messaging/docs/index.rst +++ b/providers/common/messaging/docs/index.rst @@ -77,7 +77,7 @@ apache-airflow-providers-common-messaging package ``Common Messaging Provider`` -Release: 1.0.2 +Release: 1.0.3 Provider package ---------------- diff --git a/providers/common/messaging/provider.yaml b/providers/common/messaging/provider.yaml index d1dd15769f7a3..acae2b2ed5544 100644 --- a/providers/common/messaging/provider.yaml +++ b/providers/common/messaging/provider.yaml @@ -22,12 +22,13 @@ description: | ``Common Messaging Provider`` state: ready -source-date-epoch: 1747132189 +source-date-epoch: 1750263693 # Note that those versions are maintained by release manager - do not update them manually # with the exception of case where other provider in sources has >= new provider version. # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have # to be done in the same PR versions: + - 1.0.3 - 1.0.2 - 1.0.1 - 1.0.0 diff --git a/providers/common/messaging/pyproject.toml b/providers/common/messaging/pyproject.toml index afe0f6a33bef8..dd7dd73c5cd66 100644 --- a/providers/common/messaging/pyproject.toml +++ b/providers/common/messaging/pyproject.toml @@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi" [project] name = "apache-airflow-providers-common-messaging" -version = "1.0.2" +version = "1.0.3" description = "Provider package apache-airflow-providers-common-messaging for Apache Airflow" readme = "README.rst" authors = [ @@ -109,8 +109,8 @@ apache-airflow-providers-common-sql = {workspace = true} apache-airflow-providers-standard = {workspace = true} [project.urls] -"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-common-messaging/1.0.2" -"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-common-messaging/1.0.2/changelog.html" +"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-common-messaging/1.0.3" +"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-common-messaging/1.0.3/changelog.html" "Bug Tracker" = "https://github.com/apache/airflow/issues" "Source Code" = "https://github.com/apache/airflow" "Slack Chat" = "https://s.apache.org/airflow-slack" diff --git a/providers/common/messaging/src/airflow/providers/common/messaging/__init__.py b/providers/common/messaging/src/airflow/providers/common/messaging/__init__.py index 77637c20fbc07..15ac47c5a2ac6 100644 --- a/providers/common/messaging/src/airflow/providers/common/messaging/__init__.py +++ b/providers/common/messaging/src/airflow/providers/common/messaging/__init__.py @@ -29,7 +29,7 @@ __all__ = ["__version__"] -__version__ = "1.0.2" +__version__ = "1.0.3" if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse( "3.0.1" diff --git a/providers/fab/docs/changelog.rst b/providers/fab/docs/changelog.rst index 44f5f5757b50e..12242cd1af942 100644 --- a/providers/fab/docs/changelog.rst +++ b/providers/fab/docs/changelog.rst @@ -28,6 +28,7 @@ Bug Fixes * ``Fix: allow users with specific DAG permissions to access DAGs when no pecific DAG is requested (#51462)`` * ``Fix fab asset compilation hashing script (#51446)`` +* ``Fix default setting for hash algorithm for FAB password hash (#51858)`` Misc ~~~~ @@ -35,8 +36,14 @@ Misc * ``Add back security api in FAB auth manager (#51578)`` * ``Bump @babel/eslint-parser from 7.27.1 to 7.27.5 in /providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates group across 1 directory (#51375)`` +Doc-only +~~~~~~~~ + +* ``Fix docstring in 'FabAuthManager' (#51892)`` + .. Below changes are excluded from the changelog. Move them to appropriate section above if needed. Do not delete the lines(!): + * ``Prepare release for June 2025 provider wave (#51724)`` 2.2.0 ..... From aabd67d021d280f90344a5d757fb84b7f87a0708 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Fri, 20 Jun 2025 20:28:23 +0200 Subject: [PATCH 010/381] Inline check_files.py dependencies and update documentation (#51973) The "check_files.py" had some dependencies (rich/rich_click) and it was failing when they were not present in the venv. This PR updates the docs on how to run it with `uv run` and adds inline dependencies so that `uv` can automatically run the script with the right dependencies. --- dev/README_RELEASE_AIRFLOW.md | 2 +- dev/README_RELEASE_PROVIDERS.md | 2 +- dev/check_files.py | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md index 268fdb1d1ada7..a5b9266fe76aa 100644 --- a/dev/README_RELEASE_AIRFLOW.md +++ b/dev/README_RELEASE_AIRFLOW.md @@ -663,7 +663,7 @@ Optionally you can use `check_files.py` script to verify that all expected files present in SVN. This script may help also with verifying installation of the packages. ```shell script -python check_files.py airflow -v ${VERSION} -p {PATH_TO_SVN} +uv run check_files.py airflow -v ${VERSION} -p {PATH_TO_SVN} ``` ## Licence check diff --git a/dev/README_RELEASE_PROVIDERS.md b/dev/README_RELEASE_PROVIDERS.md index bd5afb26ad3c5..f0a45a560af28 100644 --- a/dev/README_RELEASE_PROVIDERS.md +++ b/dev/README_RELEASE_PROVIDERS.md @@ -758,7 +758,7 @@ may help with verifying installation of the packages. ```shell script # Copy the list of packages (pypi urls) into `packages.txt` then run: -python check_files.py providers -p {PATH_TO_SVN} +uv run check_files.py providers -p {PATH_TO_SVN} ``` After the above script completes you can build `Dockerfile.pmc` to trigger an installation of each provider diff --git a/dev/check_files.py b/dev/check_files.py index 042546a19eb3b..91861422d29e0 100644 --- a/dev/check_files.py +++ b/dev/check_files.py @@ -14,6 +14,13 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "rich", +# "rich-click", +# ] +# /// from __future__ import annotations import itertools From 548bd41290148f2d3b4c44d2267b6f9d8434411e Mon Sep 17 00:00:00 2001 From: Yeonguk Choo Date: Sat, 21 Jun 2025 04:06:09 +0900 Subject: [PATCH 011/381] UI(i18n): Korean translations (#51974) --- .../ui/public/i18n/locales/ko/admin.json | 161 ++++++++++++++ .../ui/public/i18n/locales/ko/assets.json | 29 +++ .../ui/public/i18n/locales/ko/browse.json | 23 ++ .../ui/public/i18n/locales/ko/common.json | 209 +++++++++++++++++- .../ui/public/i18n/locales/ko/components.json | 131 +++++++++++ .../ui/public/i18n/locales/ko/dag.json | 110 +++++++++ .../ui/public/i18n/locales/ko/dags.json | 87 ++++++++ .../ui/public/i18n/locales/ko/dashboard.json | 6 +- 8 files changed, 747 insertions(+), 9 deletions(-) create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/assets.json create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/browse.json create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/components.json create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/dag.json create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ko/dags.json diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json new file mode 100644 index 0000000000000..ee6c8a89c03ef --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json @@ -0,0 +1,161 @@ +{ + "columns": { + "description": "설명", + "key": "키", + "name": "이름", + "value": "값" + }, + "config": { + "columns": { + "section": "섹션" + }, + "title": "Airflow 구성" + }, + "connections": { + "add": "연결 추가", + "columns": { + "connectionId": "연결 ID", + "connectionType": "연결 유형", + "host": "호스트", + "port": "포트" + }, + "connection_one": "연결", + "connection_other": "연결들", + "delete": { + "deleteConnection_one": "연결 1개 삭제", + "deleteConnection_other": "연결 {{count}}개 삭제", + "firstConfirmMessage_one": "다음 연결을 삭제하려고 합니다:", + "firstConfirmMessage_other": "다음 연결들을 삭제하려고 합니다:", + "title": "연결 삭제" + }, + "edit": "연결 편집", + "form": { + "connectionIdRequired": "연결 ID는 필수 항목입니다", + "connectionIdRequirement": "연결 ID는 공백만으로 구성될 수 없습니다", + "connectionTypeRequired": "연결 유형은 필수 항목입니다", + "extraFields": "추가 필드", + "extraFieldsJson": "추가 필드 JSON", + "helperText": "연결 유형이 보이지 않나요? 해당 Airflow Provider 패키지가 설치되어 있는지 확인하세요.", + "selectConnectionType": "연결 유형 선택", + "standardFields": "기본 필드" + }, + "noRowMessage": "연결을 찾을 수 없습니다.", + "searchPlaceholder": "연결 검색", + "test": "연결 테스트", + "testDisabled": "연결 테스트 기능이 비활성화되어 있습니다. 관리자에게 활성화를 요청하세요.", + "typeMeta": { + "error": "연결 유형 메타 정보를 가져오지 못했습니다", + "standardFields": { + "description": "설명", + "host": "호스트", + "login": "로그인", + "password": "비밀번호", + "port": "포트", + "url_schema": "스키마" + } + } + }, + "deleteActions": { + "button": "삭제", + "modal": { + "confirmButton": "네, 삭제합니다", + "secondConfirmMessage": "이 작업은 영구적으로 삭제되며 되돌릴 수 없습니다.", + "thirdConfirmMessage": "정말로 계속하시겠습니까?" + }, + "selected": "선택됨", + "tooltip": "선택된 연결들 삭제" + }, + "formActions": { + "reset": "초기화", + "save": "저장" + }, + "plugins": { + "columns": { + "source": "소스" + }, + "importError_one": "플러그인 가져오기 오류", + "importError_other": "플러그인 가져오기 오류들", + "searchPlaceholder": "파일로 검색" + }, + "pools": { + "add": "풀 추가", + "deferredSlotsIncluded": "연기된 슬롯 포함됨", + "delete": { + "title": "풀 삭제", + "warning": "이 작업은 풀과 관련된 모든 메타데이터를 제거하며, 해당 풀을 사용하는 태스크에 영향을 줄 수 있습니다." + }, + "edit": "풀 편집", + "form": { + "checkbox": "열린 풀 슬롯 게산시 연기된 작업 포함", + "description": "설명", + "includeDeferred": "연기됨 포함", + "nameMaxLength": "이름은 최대 256자까지 입력할 수 있습니다", + "nameRequired": "이름은 필수입니다", + "slots": "슬롯" + }, + "noPoolsFound": "풀을 찾을 수 없습니다", + "pool_one": "풀", + "pool_other": "풀", + "searchPlaceholder": "풀 검색", + "sort": { + "asc": "이름 (A-Z)", + "desc": "이름 (Z-A)", + "placeholder": "정렬 기준" + } + }, + "providers": { + "columns": { + "packageName": "패키지 이름", + "version": "버전" + } + }, + "variables": { + "add": "변수 추가", + "columns": { + "isEncrypted": "암호화됨 여부" + }, + "delete": { + "deleteVariable_one": "변수 1개 삭제", + "deleteVariable_other": "변수 {{count}}개 삭제", + "firstConfirmMessage_one": "다음 변수를 삭제하려고 합니다:", + "firstConfirmMessage_other": "다음 변수들을 삭제하려고 합니다:", + "title": "변수 삭제", + "tooltip": "선택된 변수들 삭제" + }, + "edit": "변수 편집", + "export": "내보내기", + "exportTooltip": "선택된 변수들 내보내기", + "form": { + "invalidJson": "유효하지 않은 JSON입니다", + "keyMaxLength": "키는 최대 250자까지 입력할 수 있습니다", + "keyRequired": "키는 필수입니다", + "valueRequired": "값은 필수입니다" + }, + "import": { + "button": "가져오기", + "conflictResolution": "변수 충돌 해결 방법 선택", + "errorParsingJsonFile": "JSON 파일 구문 분석 오류: 변수들이 포함된 JSON 파일을 업로드하세요 (예: {\"key\": \"value\", ...}).", + "options": { + "fail": { + "description": "기존 변수가 존재하는 경우 가져오기를 실패합니다.", + "title": "실패" + }, + "overwrite": { + "description": "충돌 시 해당 변수를 덮어씁니다.", + "title": "덮어쓰기" + }, + "skip": { + "description": "이미 존재하는 변수는 가져오기를 건너뜁니다.", + "title": "건너뛰기" + } + }, + "title": "변수 가져오기", + "upload": "JSON 파일 업로드", + "uploadPlaceholder": "변수를 포함한 JSON 파일 업로드 (e.g., {\"key\": \"value\", ...})" + }, + "noRowsMessage": "변수를 찾을 수 없습니다", + "searchPlaceholder": "키 검색", + "variable_one": "변수", + "variable_other": "변수들" + } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/assets.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/assets.json new file mode 100644 index 0000000000000..629cae2480498 --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/assets.json @@ -0,0 +1,29 @@ +{ + "consumingDags": "사용 중인 Dags", + "createEvent": { + "button": "이벤트 생성", + "manual": { + "description": "에셋 이벤트를 수동으로 생성", + "extra": "에셋 이벤트 추가 정보", + "label": "수동 생성" + }, + "materialize": { + "description": "이 에셋의 상위 Dag을 트리거합니다", + "descriptionWithDag": "이 에셋의 상위 Dag을 트리거합니다: {{dagName}}", + "label": "구체화", + "unpauseDag": "트리거 시 {{dagName}}의 일시중지를 해제합니다" + }, + "success": { + "manualDescription": "에셋 이벤트가 성공적으로 수동 생성되었습니다.", + "manualTitle": "에셋 이벤트 생성 완료", + "materializeDescription": "상위 Dag {{dagId}}가 성공적으로 트리거되었습니다.", + "materializeTitle": "에셋 구체화 중" + }, + "title": "{{name}}에 대한 에셋 이벤트 생성" + }, + "group": "그룹", + "lastAssetEvent": "마지막 에셋 이벤트", + "name": "이름", + "producingTasks": "생성하는 태스크", + "searchPlaceholder": "에셋 검색" +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/browse.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/browse.json new file mode 100644 index 0000000000000..ee5f1b9d1e405 --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/browse.json @@ -0,0 +1,23 @@ +{ + "auditLog": { + "actions": { + "collapseAllExtra": "모든 추가 JSON 접기", + "expandAllExtra": "모든 추가 JSON 펼치기" + }, + "columns": { + "event": "이벤트", + "extra": "추가 정보", + "user": "사용자", + "when": "시점" + }, + "title": "감사 로그" + }, + "xcom": { + "columns": { + "dag": "Dag", + "key": "키", + "value": "값" + }, + "title": "XCom" + } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json index dc4217be1eb34..b8b120f578dfa 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json @@ -3,50 +3,149 @@ "Config": "설정", "Connections": "연결들", "Plugins": "플러그인들", - "Pools": "Pools", + "Pools": "풀들", "Providers": "제공자들", "Variables": "변수들" }, "assetEvent_one": "에셋 이벤트", "assetEvent_other": "에셋 이벤트들", + "asset_one": "에셋", + "asset_other": "에셋들", + "backfill_one": "백필", + "backfill_other": "백필들", "browse": { "auditLog": "감사 로그", "xcoms": "XComs" }, + "createdAssetEvent_one": "생성된 에셋 이벤트", + "createdAssetEvent_other": "생성된 에셋 이벤트들", + "dagDetails": { + "catchup": "캐치업", + "concurrency": "동시 샐행 수", + "dagRunTimeout": "Dag 실행 제한 시간", + "defaultArgs": "기본 인자", + "description": "설명", + "documentation": "Dag 문서", + "fileLocation": "파일 위치", + "hasTaskConcurrencyLimits": "태스크 동시성 제한 존재 여부", + "lastExpired": "마지막 만료 시점", + "lastParsed": "마지막 파싱 시점", + "latestDagVersion": "최신 Dag 버전", + "latestRun": "최근 실행", + "maxActiveRuns": "최대 활성 실행 수", + "maxActiveTasks": "최대 활성 태스크 수", + "maxConsecutiveFailedDagRuns": "연속 실패한 Dag 실행 최대 횟수", + "nextRun": "다음 실행", + "owner": "소유자", + "params": "매개변수", + "schedule": "스케줄", + "tags": "태그" + }, + "dagId": "Dag ID", + "dagRun": { + "conf": "구성", + "dagVersions": "Dag 버전", + "dataIntervalEnd": "데이터 구간 종료", + "dataIntervalStart": "데이터 구간 시작", + "lastSchedulingDecision": "마지막 스케줄링 결정", + "queuedAt": "대기열에 추가된 시간", + "runAfter": "다음 실행", + "runType": "실행 유형", + "sourceAssetEvent": "소스 에셋 이벤트", + "triggeredBy": "실행 주체" + }, "dagRun_one": "Dag 실행", "dagRun_other": "Dag 실행들", + "dagWarnings": "Dag 경고/오류", + "dag_one": "Dag", + "dag_other": "Dags", "defaultToGraphView": "그래프 뷰 기본 보기", "defaultToGridView": "그리드 뷰 기본 보기", + "direction": "방향", "docs": { "documentation": "문서", "githubRepo": "GitHub 저장소", "restApiReference": "REST API 참조" }, - "duration": "지속 시간", + "duration": "기간", + "endDate": "종료일", + "error": { + "back": "뒤로", + "defaultMessage": "예기치 않은 오류가 발생했습니다.", + "home": "홈", + "notFound": "페이지를 찾을 수 없습니다.", + "title": "오류" + }, + "expression": { + "all": "모두", + "and": "그리고", + "any": "모든", + "or": "또는" + }, + "logicalDate": "논리적 날짜", "logout": "로그아웃", + "logoutConfirmation": "애플리케이션에서 로그아웃하시겠습니까?", + "mapIndex": "맵 인덱스", + "modal": { + "cancel": "취소", + "confirm": "확인", + "delete": { + "button": "삭제", + "confirmation": "{{resourceName}}을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다." + } + }, "nav": { "admin": "관리자", "assets": "에셋", "browse": "탐색", + "dags": "Dags", "docs": "문서", "home": "홈", - "plugins": "플러그인" + "plugins": "플러그인", + "security": "보안" }, "noItemsFound": "{{modelName}} 을(를) 찾을 수 없음", + "note": { + "add": "메모 추가", + "dagRun": "Dag 실행 메모", + "label": "메모", + "placeholder": "메모 추가...", + "taskInstance": "작업 인스턴스 메모" + }, "pools": { "deferred": "연기됨", "open": "열림", - "pools_one": "pool", - "pools_other": "pools", + "pools_one": "풀", + "pools_other": "풀", "queued": "대기 중", "running": "실행 중", "scheduled": "예약됨" }, + "runId": "실행 ID", + "runTypes": { + "asset_triggered": "에셋 트리거", + "backfill": "백필", + "manual": "수동", + "scheduled": "예정됨" + }, + "seconds": "{{count}}초", + "security": { + "actions": "작업", + "permissions": "권한", + "resources": "리소스", + "roles": "역할", + "users": "사용자" + }, "selectLanguage": "언어 선택", + "sourceAssetEvent_one": "소스 에셋 이벤트", + "sourceAssetEvent_other": "소스 에셋 이벤트", + "startDate": "시작일", + "state": "상태", "states": { "deferred": "연기됨", "failed": "실패", "no_status": "상태 없음", + "none": "상태 없음", "queued": "대기 중", "removed": "제거됨", "restarting": "다시 시작 중", @@ -60,8 +159,57 @@ }, "switchToDarkMode": "다크 모드로 전환", "switchToLightMode": "라이트 모드로 전환", + "table": { + "completedAt": "완료 시간", + "createdAt": "생성 시간", + "filterByTag": "태그로 Dag 필터링", + "filterColumns": "테이블 열 필터링", + "filterReset_one": "필터 초기화", + "filterReset_other": "필터 초기화", + "from": "시작", + "maxActiveRuns": "최대 활성 실행 수", + "noTagsFound": "태그를 찾을 수 없습니다.", + "tagMode": { + "all": "모두", + "any": "모든" + }, + "tagPlaceholder": "태그로 필터링", + "to": "종료" + }, + "task": { + "documentation": "작업 문서", + "lastInstance": "마지막 인스턴스", + "operator": "연산자", + "triggerRule": "트리거 규칙" + }, + "taskId": "작업 ID", + "taskInstance": { + "dagVersion": "Dag 버전", + "executor": "실행기", + "executorConfig": "실행기 구성", + "hostname": "호스트 이름", + "maxTries": "최대 시도 횟수", + "pid": "PID", + "pool": "풀", + "poolSlots": "풀 슬롯", + "priorityWeight": "우선순위 가중치", + "queue": "큐", + "queuedWhen": "대기열에 추가된 시간", + "scheduledWhen": "예정된 시간", + "triggerer": { + "assigned": "할당된 트리거", + "class": "트리거 클래스", + "createdAt": "트리거 생성 시간", + "id": "트리거 ID", + "latestHeartbeat": "최신 트리거 상태", + "title": "트리거 정보" + }, + "unixname": "유닉스 이름" + }, "taskInstance_one": "작업 인스턴스", "taskInstance_other": "작업 인스턴스들", + "task_one": "작업", + "task_other": "작업들", "timeRange": { "last12Hours": "지난 12 시간", "last24Hours": "지난 24 시간", @@ -69,6 +217,55 @@ "pastWeek": "지난 주" }, "timezone": "시간대", + "timezoneModal": { + "current-timezone": "현재 시간:", + "placeholder": "시간대 선택", + "title": "시간대 선택", + "utc": "UTC (협정 세계시)" + }, + "toaster": { + "bulkDelete": { + "error": "대량 삭제 {{resourceName}} 요청 실패", + "success": { + "description": "{{count}}개 {{resourceName}}이(가) 성공적으로 삭제되었습니다. 키: {{keys}}", + "title": "대량 삭제 {{resourceName}} 요청 제출됨" + } + }, + "create": { + "error": "생성 {{resourceName}} 요청 실패", + "success": { + "description": "{{resourceName}}이(가) 성공적으로 생성되었습니다.", + "title": "생성 {{resourceName}} 요청 제출됨" + } + }, + "delete": { + "error": "삭제 {{resourceName}} 요청 실패", + "success": { + "description": "{{resourceName}}이(가) 성공적으로 삭제되었습니다.", + "title": "삭제 {{resourceName}} 요청 제출됨" + } + }, + "import": { + "error": "가져오기 {{resourceName}} 요청 실패", + "success": { + "description": "{{count}}개 {{resourceName}}이(가) 성공적으로 가져와졌습니다.", + "title": "가져오기 {{resourceName}} 요청 제출됨" + } + }, + "update": { + "error": "업데이트 {{resourceName}} 요청 실패", + "success": { + "description": "{{resourceName}}이(가) 성공적으로 업데이트되었습니다.", + "title": "업데이트 {{resourceName}} 요청 제출됨" + } + } + }, "triggered": "트리거됨", - "user": "사용자" + "tryNumber": "시도 횟수", + "user": "사용자", + "wrap": { + "tooltip": "{{hotkey}}를 눌러 텍스트 줄바꿈 토글", + "unwrap": "줄바꿈 해제", + "wrap": "줄바꿈" + } } diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/components.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/components.json new file mode 100644 index 0000000000000..79c1b7a1ccecd --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/components.json @@ -0,0 +1,131 @@ +{ + "backfill": { + "affected_one": "1개의 실행이 트리거됩니다.", + "affected_other": "{{count}}개의 실행이 트리거됩니다.", + "affectedNone": "선택한 조건과 일치하는 실행이 없습니다.", + "backwards": "거꾸로 실행", + "dateRange": "날짜 범위", + "dateRangeFrom": "시작", + "dateRangeTo": "종료", + "errorStartDateBeforeEndDate": "시작일은 종료일보다 빨라야 합니다.", + "maxRuns": "최대 활성 실행 수", + "reprocessBehavior": "재처리 동작", + "run": "백필 실행", + "selectDescription": "이 Dag을(를) 특정 날짜 범위에 대해 실행합니다.", + "selectLabel": "백필", + "title": "백필 실행", + "toaster": { + "success": { + "description": "백필 작업이 성공적으로 트리거되었습니다.", + "title": "백필 생성됨" + } + }, + "tooltip": "백필에는 일정이 필요합니다.", + "unpause": "트리거 시 {{dag_display_name}} 일시 중지 해제", + "validation": { + "datesRequired": "데이터 구간 시작일과 종료일이 모두 제공되어야 합니다.", + "startBeforeEnd": "데이터 구간 시작일은 데이터 구간 종료일보다 작거나 같아야 합니다." + } + }, + "banner": { + "backfillInProgress": "백필 진행 중", + "cancel": "백필 취소", + "pause": "백필 일시 중지", + "unpause": "백필 일시 중지 해제" + }, + "clipboard": { + "copy": "복사" + }, + "close": "닫기", + "configForm": { + "advancedOptions": "고급 옵션", + "configJson": "구성 JSON", + "invalidJson": "잘못된 JSON 형식: {{errorMessage}}" + }, + "dagWarnings": { + "error_one": "오류 1개", + "errorAndWarning": "오류 1개 및 {{warningText}}", + "warning_one": "경고 1개", + "warning_other": "경고 {{count}}개" + }, + "durationChart": { + "duration": "기간 (초)", + "lastDagRun_one": "마지막 Dag 실행", + "lastDagRun_other": "마지막 {{count}}개 Dag 실행", + "lastTaskInstance_one": "마지막 작업 인스턴스", + "lastTaskInstance_other": "마지막 {{count}}개 작업 인스턴스", + "queuedDuration": "대기열 대기 시간", + "runAfter": "실행 후", + "runDuration": "실행 기간" + }, + "fileUpload": { + "files_other": "{{count}}개 파일" + }, + "flexibleForm": { + "placeholder": "값 선택", + "placeholderArray": "각 문자열을 새 줄에 입력하세요.", + "placeholderExamples": "입력하여 옵션 보기", + "placeholderMulti": "하나 또는 여러 값 선택", + "validationErrorArrayNotArray": "값은 배열이어야 합니다.", + "validationErrorArrayNotNumbers": "배열의 모든 요소는 숫자여야 합니다.", + "validationErrorArrayNotObject": "배열의 모든 요소는 객체여야 합니다.", + "validationErrorRequired": "이 필드는 필수입니다." + }, + "graph": { + "directionDown": "위에서 아래로", + "directionLeft": "오른쪽에서 왼쪽으로", + "directionRight": "왼쪽에서 오른쪽으로", + "directionUp": "아래에서 위로", + "downloadImage": "그래프 이미지 다운로드", + "downloadImageError": "그래프 이미지를 다운로드하지 못했습니다.", + "downloadImageErrorTitle": "다운로드 실패", + "otherDagRuns": "+다른 Dag 실행", + "taskCount_one": "{{count}}개 작업", + "taskCount_other": "{{count}}개 작업", + "taskGroup": "작업 그룹" + }, + "limitedList": "+{{count}}개 더 보기", + "logs": { + "file": "파일", + "location": "{{name}}의 {{line}}번째 줄" + }, + "reparseDag": "Dag 재구문 분석", + "sortedAscending": "오름차순 정렬됨", + "sortedDescending": "내림차순 정렬됨", + "sortedUnsorted": "정렬되지 않음", + "taskTries": "작업 시도 횟수", + "toggleCardView": "카드 보기 표시", + "toggleTableView": "테이블 보기 표시", + "triggerDag": { + "button": "트리거", + "loading": "DAG 정보 로드 중...", + "loadingFailed": "DAG 정보를 로드하지 못했습니다. 다시 시도해주세요.", + "runIdHelp": "선택 사항 - 제공되지 않으면 생성됩니다.", + "selectDescription": "이 Dag을(를) 단일 실행 트리거", + "selectLabel": "단일 실행", + "title": "Dag 트리거", + "toaster": { + "success": { + "description": "Dag 실행이 성공적으로 트리거되었습니다.", + "title": "Dag 실행 트리거됨" + } + }, + "unpause": "트리거 시 {{dagDisplayName}} 일시 중지 해제" + }, + "trimText": { + "details": "세부 정보", + "empty": "비어 있음", + "noContent": "내용 없음." + }, + "versionDetails": { + "bundleLink": "번들 링크", + "bundleName": "번들 이름", + "bundleVersion": "번들 버전", + "createdAt": "생성 시간", + "versionId": "버전 ID" + }, + "versionSelect": { + "dagVersion": "Dag 버전", + "versionCode": "v{{versionCode}}" + } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dag.json new file mode 100644 index 0000000000000..a8a295e88720d --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dag.json @@ -0,0 +1,110 @@ +{ + "allRuns": "모든 실행", + "blockingDeps": { + "dependency": "종속성", + "reason": "이유", + "title": "작업 스케줄링을 막는 종속성" + }, + "code": { + "bundleUrl": "번들 URL", + "noCode": "코드를 찾을 수 없습니다.", + "parsedAt": "구문 분석 시간:" + }, + "extraLinks": "추가 링크", + "grid": { + "buttons": { + "resetToLatest": "최신 버전으로 재설정", + "toggleGroup": "그룹 토글" + } + }, + "header": { + "buttons": { + "dagDocs": "Dag 문서" + } + }, + "logs": { + "noTryNumber": "시도 횟수 없음", + "viewInExternal": "{{name}}에서 로그 보기 (시도 {{attempt}})" + }, + "overview": { + "buttons": { + "failedRun_one": "실패한 실행", + "failedRun_other": "실패한 실행", + "failedTask_one": "실패한 작업", + "failedTask_other": "실패한 작업", + "failedTaskInstance_one": "실패한 작업 인스턴스", + "failedTaskInstance_other": "실패한 작업 인스턴스" + }, + "charts": { + "assetEvent_one": "생성된 에셋 이벤트", + "assetEvent_other": "생성된 에셋 이벤트" + }, + "failedLogs": { + "title": "최근 실패한 작업 로그", + "viewFullLogs": "전체 로그 보기" + } + }, + "panel": { + "buttons": { + "options": "옵션", + "showGraph": "그래프 보기", + "showGrid": "그리드 보기" + }, + "dagRuns": { + "label": "Dag 실행 수" + }, + "dependencies": { + "label": "종속성", + "options": { + "allDagDependencies": "모든 Dag 종속성", + "externalConditions": "외부 조건", + "onlyTasks": "작업만" + }, + "placeholder": "종속성" + }, + "graphDirection": { + "label": "그래프 방향" + } + }, + "paramsFailed": "매개변수 로드 실패", + "parse": { + "toaster": { + "error": { + "description": "Dag 구문 분석 요청에 실패했습니다. 처리되지 않은 보류 중인 구문 분석 요청이 있을 수 있습니다.", + "title": "Dag 재구문 분석 실패" + }, + "success": { + "description": "Dag이(가) 곧 재구문 분석될 예정입니다.", + "title": "재구문 분석 요청이 성공적으로 제출되었습니다." + } + } + }, + "tabs": { + "assetEvents": "에셋 이벤트", + "auditLog": "감사 로그", + "backfills": "백필", + "code": "코드", + "details": "세부 정보", + "logs": "로그", + "mappedTaskInstances_one": "작업 인스턴스 [{{count}}]", + "mappedTaskInstances_other": "작업 인스턴스 [{{count}}]", + "overview": "개요", + "renderedTemplates": "렌더링된 템플릿", + "runs": "실행", + "taskInstances": "작업 인스턴스", + "tasks": "작업", + "xcom": "XCom" + }, + "taskGroups": { + "collapseAll": "모든 작업 그룹 접기", + "expandAll": "모든 작업 그룹 확장" + }, + "taskLogs": { + "allLogLevels": "모든 로그 레벨", + "allSources": "모든 소스", + "fullscreen": { + "button": "전체 화면", + "tooltip": "전체 화면을 보려면 {{hotkey}}를 누르세요." + } + } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dags.json new file mode 100644 index 0000000000000..665294e4a01de --- /dev/null +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dags.json @@ -0,0 +1,87 @@ +{ + "assetSchedule": "{{total}}개 에셋 중 {{count}}개 업데이트됨", + "dagActions": { + "delete": { + "button": "Dag 삭제", + "warning": "실행 및 작업를 포함하여 Dag과(와) 관련된 모든 메타데이터가 제거됩니다." + } + }, + "filters": { + "allRunTypes": "모든 실행 유형", + "allStates": "모든 상태", + "paused": { + "active": "활성", + "all": "모두", + "paused": "일시 중지됨" + } + }, + "ownerLink": "{{owner}}의 소유자 링크", + "runAndTaskActions": { + "affectedTasks": { + "noItemsFound": "작업를 찾을 수 없습니다.", + "title": "영향을 받는 작업: {{count}}" + }, + "clear": { + "button": "{{type}} 지우기", + "buttonTooltip": "Shift+C를 눌러 지우기", + "error": "{{type}}을(를) 지우지 못했습니다.", + "title": "{{type}} 지우기" + }, + "delete": { + "button": "{{type}} 삭제", + "dialog": { + "resourceName": "{{type}} {{id}}", + "title": "{{type}} 삭제", + "warning": "{{type}}과(와) 관련된 모든 메타데이터가 제거됩니다." + }, + "error": "{{type}} 삭제 오류", + "success": { + "description": "{{type}} 삭제 요청이 성공했습니다.", + "title": "{{type}} 삭제 완료" + } + }, + "markAs": { + "button": "{{type}}을(를) ...으로 표시", + "buttonTooltip": { + "failed": "Shift+F를 눌러 실패로 표시", + "success": "Shift+S를 눌러 성공으로 표시" + }, + "title": "{{type}}을(를) {{state}}으로 표시" + }, + "options": { + "downstream": "다운스트림", + "existingTasks": "기존 작업 지우기", + "future": "미래", + "onlyFailed": "실패한 작업만 지우기", + "past": "과거", + "queueNew": "새 작업 대기열에 추가", + "upstream": "업스트림" + } + }, + "search": { + "advanced": "고급 검색", + "clear": "검색 지우기", + "dags": "Dag 검색", + "hotkey": "+K", + "tasks": "작업 검색" + }, + "sort": { + "displayName": { + "asc": "표시 이름으로 정렬 (A-Z)", + "desc": "표시 이름으로 정렬 (Z-A)" + }, + "lastRunStartDate": { + "asc": "최신 실행 시작 날짜로 정렬 (이전-최신)", + "desc": "최신 실행 시작 날짜로 정렬 (최신-이전)" + }, + "lastRunState": { + "asc": "최신 실행 상태로 정렬 (A-Z)", + "desc": "최신 실행 상태로 정렬 (Z-A)" + }, + "nextDagRun": { + "asc": "다음 Dag 실행으로 정렬 (이전-최신)", + "desc": "다음 Dag 실행으로 정렬 (최신-이전)" + }, + "placeholder": "정렬 기준" + } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json index c8f200c8eafbe..84e3529ca5cbb 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/dashboard.json @@ -18,9 +18,9 @@ "searchByFile": "파일로 검색", "timestamp": "타임스탬프" }, - "managePools": "Pools 관리", - "noAssetEvents": "자산 이벤트를 찾을 수 없습니다.", - "poolSlots": "Pool 슬롯", + "managePools": "풀 관리", + "noAssetEvents": "에셋 이벤트를 찾을 수 없습니다.", + "poolSlots": "풀 슬롯", "sortBy": { "newestFirst": "최신순", "oldestFirst": "오래된 순" From de894ecf4de89c7307276cde8e861e7a9e2dc28d Mon Sep 17 00:00:00 2001 From: Nitochkin <62333822+Crowiant@users.noreply.github.com> Date: Fri, 20 Jun 2025 22:23:38 +0200 Subject: [PATCH 012/381] Add new operator for Vertex AI (#51965) Co-authored-by: Anton Nitochkin --- .../google/docs/operators/cloud/vertex_ai.rst | 12 +++ .../cloud/hooks/vertex_ai/generative_model.py | 30 ++++++++ .../operators/vertex_ai/generative_model.py | 73 ++++++++++++++++++- .../example_vertex_ai_generative_model.py | 12 +++ .../vertex_ai/test_generative_model.py | 29 ++++++++ 5 files changed, 155 insertions(+), 1 deletion(-) diff --git a/providers/google/docs/operators/cloud/vertex_ai.rst b/providers/google/docs/operators/cloud/vertex_ai.rst index f870623bee046..646cb4fee51a0 100644 --- a/providers/google/docs/operators/cloud/vertex_ai.rst +++ b/providers/google/docs/operators/cloud/vertex_ai.rst @@ -741,6 +741,18 @@ To update cluster you can use :start-after: [START how_to_cloud_vertex_ai_update_ray_cluster_operator] :end-before: [END how_to_cloud_vertex_ai_update_ray_cluster_operator] +Interacting with experiment run +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To delete experiment run you can use +:class:`~airflow.providers.google.cloud.operators.vertex_ai.generative_model.DeleteExperimentRunOperator`. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_generative_model.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_delete_experiment_run_operator] + :end-before: [END how_to_cloud_vertex_ai_delete_experiment_run_operator] + Reference ^^^^^^^^^ diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py index d6d5a6cbadc20..f31e131b0a205 100644 --- a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +++ b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py @@ -24,6 +24,7 @@ from typing import TYPE_CHECKING import vertexai +from google.cloud import aiplatform from vertexai.generative_models import GenerativeModel from vertexai.language_models import TextEmbeddingModel from vertexai.preview.caching import CachedContent @@ -359,3 +360,32 @@ def generate_from_cached_content( ) return response.text + + +class ExperimentRunHook(GoogleBaseHook): + """Use the Vertex AI SDK for Python to create and manage your experiment runs.""" + + @GoogleBaseHook.fallback_to_default_project_id + def delete_experiment_run( + self, + experiment_run_name: str, + experiment_name: str, + location: str, + project_id: str = PROVIDE_PROJECT_ID, + delete_backing_tensorboard_run: bool = False, + ) -> None: + """ + Delete experiment run from the experiment. + + :param project_id: Required. The ID of the Google Cloud project that the service belongs to. + :param location: Required. The ID of the Google Cloud location that the service belongs to. + :param experiment_name: Required. The name of the evaluation experiment. + :param experiment_run_name: Required. The specific run name or ID for this experiment. + :param delete_backing_tensorboard_run: Whether to delete the backing Vertex AI TensorBoard run + that stores time series metrics for this run. + """ + self.log.info("Next experiment run will be deleted: %s", experiment_run_name) + experiment_run = aiplatform.ExperimentRun( + run_name=experiment_run_name, experiment=experiment_name, project=project_id, location=location + ) + experiment_run.delete(delete_backing_tensorboard_run=delete_backing_tensorboard_run) diff --git a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py index ec8d7749cd0a7..bf7ffa5475c7f 100644 --- a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +++ b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py @@ -22,7 +22,13 @@ from collections.abc import Sequence from typing import TYPE_CHECKING -from airflow.providers.google.cloud.hooks.vertex_ai.generative_model import GenerativeModelHook +from google.api_core import exceptions + +from airflow.exceptions import AirflowException +from airflow.providers.google.cloud.hooks.vertex_ai.generative_model import ( + ExperimentRunHook, + GenerativeModelHook, +) from airflow.providers.google.cloud.operators.cloud_base import GoogleCloudBaseOperator if TYPE_CHECKING: @@ -580,3 +586,68 @@ def execute(self, context: Context): self.log.info("Cached Content Response: %s", cached_content_text) return cached_content_text + + +class DeleteExperimentRunOperator(GoogleCloudBaseOperator): + """ + Use the Rapid Evaluation API to evaluate a model. + + :param project_id: Required. The ID of the Google Cloud project that the service belongs to. + :param location: Required. The ID of the Google Cloud location that the service belongs to. + :param experiment_name: Required. The name of the evaluation experiment. + :param experiment_run_name: Required. The specific run name or ID for this experiment. + :param gcp_conn_id: The connection ID to use connecting to Google Cloud. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials, or chained list of accounts required to get the access_token + of the last account in the list, which will be impersonated in the request. + If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. + If set as a sequence, the identities from the list must grant + Service Account Token Creator IAM role to the directly preceding identity, with first + account from the list granting this role to the originating account (templated). + """ + + template_fields = ( + "location", + "project_id", + "impersonation_chain", + "experiment_name", + "experiment_run_name", + ) + + def __init__( + self, + *, + project_id: str, + location: str, + experiment_name: str, + experiment_run_name: str, + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.project_id = project_id + self.location = location + self.experiment_name = experiment_name + self.experiment_run_name = experiment_run_name + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> None: + self.hook = ExperimentRunHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + + try: + self.hook.delete_experiment_run( + project_id=self.project_id, + location=self.location, + experiment_name=self.experiment_name, + experiment_run_name=self.experiment_run_name, + ) + except exceptions.NotFound: + raise AirflowException(f"Experiment Run with name {self.experiment_run_name} not found") + + self.log.info("Deleted experiment run: %s", self.experiment_run_name) diff --git a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_generative_model.py b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_generative_model.py index eb453b2d8544d..413c1f08ec0cd 100644 --- a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_generative_model.py +++ b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_generative_model.py @@ -33,6 +33,7 @@ from airflow.providers.google.cloud.operators.vertex_ai.generative_model import ( CountTokensOperator, CreateCachedContentOperator, + DeleteExperimentRunOperator, GenerateFromCachedContentOperator, GenerativeModelGenerateContentOperator, RunEvaluationOperator, @@ -238,6 +239,16 @@ def get_actual_models() -> dict[str, str]: ) # [END how_to_cloud_vertex_ai_run_evaluation_operator] + # [START how_to_cloud_vertex_ai_delete_experiment_run_operator] + delete_experiment_run = DeleteExperimentRunOperator( + task_id="delete_experiment_run_task", + project_id=PROJECT_ID, + location=REGION, + experiment_name=EXPERIMENT_NAME, + experiment_run_name=EXPERIMENT_RUN_NAME, + ) + # [END how_to_cloud_vertex_ai_delete_experiment_run_operator] + # [START how_to_cloud_vertex_ai_create_cached_content_operator] create_cached_content_task = CreateCachedContentOperator( task_id="create_cached_content_task", @@ -264,6 +275,7 @@ def get_actual_models() -> dict[str, str]: # [END how_to_cloud_vertex_ai_generate_from_cached_content_operator] create_cached_content_task >> generate_from_cached_content_task + run_evaluation_task >> delete_experiment_run from tests_common.test_utils.watcher import watcher diff --git a/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_generative_model.py b/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_generative_model.py index 2683936e7f57e..fbd8fde9c0db3 100644 --- a/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_generative_model.py +++ b/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_generative_model.py @@ -30,6 +30,7 @@ from airflow.providers.google.cloud.operators.vertex_ai.generative_model import ( CountTokensOperator, CreateCachedContentOperator, + DeleteExperimentRunOperator, GenerateFromCachedContentOperator, GenerativeModelGenerateContentOperator, RunEvaluationOperator, @@ -355,3 +356,31 @@ def test_execute(self, mock_hook): generation_config=None, safety_settings=None, ) + + +class TestVertexAIDeleteExperimentRunOperator: + @mock.patch(VERTEX_AI_PATH.format("generative_model.ExperimentRunHook")) + def test_execute(self, mock_hook): + test_experiment_name = "test_experiment_name" + test_experiment_run_name = "test_experiment_run_name" + + op = DeleteExperimentRunOperator( + task_id=TASK_ID, + project_id=GCP_PROJECT, + location=GCP_LOCATION, + experiment_name=test_experiment_name, + experiment_run_name=test_experiment_run_name, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + op.execute(context={"ti": mock.MagicMock()}) + mock_hook.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + mock_hook.return_value.delete_experiment_run.assert_called_once_with( + project_id=GCP_PROJECT, + location=GCP_LOCATION, + experiment_name=test_experiment_name, + experiment_run_name=test_experiment_run_name, + ) From 66ebdc246e5abd74d31eedc9f8de2fe5ce3828de Mon Sep 17 00:00:00 2001 From: Shahar Epstein <60007259+shahar1@users.noreply.github.com> Date: Sat, 21 Jun 2025 00:08:54 +0300 Subject: [PATCH 013/381] Create missing locale directory when using `--add-missing` in i18n completeness tool (#51976) --- dev/i18n/check_translations_completeness.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev/i18n/check_translations_completeness.py b/dev/i18n/check_translations_completeness.py index 35d0583b53160..bdfa7cc99f24e 100755 --- a/dev/i18n/check_translations_completeness.py +++ b/dev/i18n/check_translations_completeness.py @@ -377,6 +377,9 @@ def count_todos(obj): help="Add missing translations for the selected language, prefixed with 'TODO: translate:'.", ) def cli(language: str | None = None, add_missing: bool = False): + if add_missing: + locale_path = LOCALES_DIR / language + locale_path.mkdir(exist_ok=True) locale_files = get_locale_files() console = Console(force_terminal=True, color_system="auto") print_locale_file_table(locale_files, console, language) From d1974d0ebdc0d8c0f45323d47b02919ccde19a40 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Sat, 21 Jun 2025 05:45:52 +0530 Subject: [PATCH 014/381] Adding a more realistic case for test_connection_uri_recovery (#51963) --- airflow-core/tests/unit/models/test_connection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/tests/unit/models/test_connection.py b/airflow-core/tests/unit/models/test_connection.py index 97d7b3acec786..62c9377e2b637 100644 --- a/airflow-core/tests/unit/models/test_connection.py +++ b/airflow-core/tests/unit/models/test_connection.py @@ -261,7 +261,7 @@ def test_sanitize_conn_id(self, connection, expected_conn_id): # same protocol to type ("http", "http://host"), # different protocol to type - ("https", "http://host"), + ("spark", "k8s://100.68.0.1:443"), ], ) def test_connection_uri_recovery(self, conn_type, host): From 9c8678363a3fffbb87721307f2f15650fc06e2c4 Mon Sep 17 00:00:00 2001 From: Wei Lee Date: Sat, 21 Jun 2025 14:46:24 +0800 Subject: [PATCH 015/381] fix(dev): guard missing --language if --add-missing is used in dev/i18n/check_translations_completeness.py (#51981) --- dev/i18n/check_translations_completeness.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev/i18n/check_translations_completeness.py b/dev/i18n/check_translations_completeness.py index bdfa7cc99f24e..9202ca0012880 100755 --- a/dev/i18n/check_translations_completeness.py +++ b/dev/i18n/check_translations_completeness.py @@ -378,6 +378,8 @@ def count_todos(obj): ) def cli(language: str | None = None, add_missing: bool = False): if add_missing: + if not language: + raise ValueError("--language is required when passing --add_missing") locale_path = LOCALES_DIR / language locale_path.mkdir(exist_ok=True) locale_files = get_locale_files() From e5cfae14aefde03102bff41d518272ce954e3296 Mon Sep 17 00:00:00 2001 From: nica <140262534+nzdable@users.noreply.github.com> Date: Sat, 21 Jun 2025 16:03:09 +0800 Subject: [PATCH 016/381] fix: add space to goto instances in contributors quick start (#51985) * fix: add space to goto instances in contributors quick start * fix: add space to goto instances in contributors quick start --- contributing-docs/03_contributors_quick_start.rst | 6 +++--- .../quick-start-ide/contributors_quick_start_codespaces.rst | 2 +- .../quick-start-ide/contributors_quick_start_gitpod.rst | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contributing-docs/03_contributors_quick_start.rst b/contributing-docs/03_contributors_quick_start.rst index a5d4e1858ecab..c10d4d80ab63c 100644 --- a/contributing-docs/03_contributors_quick_start.rst +++ b/contributing-docs/03_contributors_quick_start.rst @@ -199,7 +199,7 @@ like system, this command will install all necessary dependencies that should be Forking and cloning Project --------------------------- -1. Goto |airflow_github| and fork the project +1. Go to |airflow_github| and fork the project .. |airflow_github| raw:: html @@ -212,7 +212,7 @@ Forking and cloning Project alt="Forking Apache Airflow project"> -2. Goto your github account's fork of Airflow click on ``Code`` you will find the link to your repo +2. Go to your github account's fork of Airflow click on ``Code`` you will find the link to your repo .. raw:: html @@ -768,7 +768,7 @@ Raising Pull Request
Goto fork and select branches + alt="Go to fork and select branches">
2. Click on ``New pull request`` button on branch from which you want to raise a pull request diff --git a/contributing-docs/quick-start-ide/contributors_quick_start_codespaces.rst b/contributing-docs/quick-start-ide/contributors_quick_start_codespaces.rst index b6b91e7c13d7e..b8bb5432da1e1 100644 --- a/contributing-docs/quick-start-ide/contributors_quick_start_codespaces.rst +++ b/contributing-docs/quick-start-ide/contributors_quick_start_codespaces.rst @@ -19,7 +19,7 @@ Setup and develop using GitHub Codespaces ######################################### -1. Goto |airflow_github| and fork the project. +1. Go to |airflow_github| and fork the project. .. |airflow_github| raw:: html diff --git a/contributing-docs/quick-start-ide/contributors_quick_start_gitpod.rst b/contributing-docs/quick-start-ide/contributors_quick_start_gitpod.rst index 66da407e5e583..7ba156fbee99c 100644 --- a/contributing-docs/quick-start-ide/contributors_quick_start_gitpod.rst +++ b/contributing-docs/quick-start-ide/contributors_quick_start_gitpod.rst @@ -20,7 +20,7 @@ Connect your project to Gitpod ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Goto |airflow_github| and fork the project. +1. Go to |airflow_github| and fork the project. .. |airflow_github| raw:: html @@ -33,7 +33,7 @@ Connect your project to Gitpod alt="Forking Apache Airflow project"> -2. Goto your github account's fork of airflow, click on ``Code``, and copy the clone link. +2. Go to your github account's fork of airflow, click on ``Code``, and copy the clone link. .. raw:: html @@ -42,7 +42,7 @@ Connect your project to Gitpod alt="Cloning github fork of Apache airflow"> -3. Add goto https://gitpod.io/# as shown. +3. Add go to https://gitpod.io/# as shown. .. raw:: html From fdd9fc1c536cc8e08cf40174081467a739859237 Mon Sep 17 00:00:00 2001 From: Kyle Nathan Naranjo <63973445+teslakoile@users.noreply.github.com> Date: Sat, 21 Jun 2025 16:10:07 +0800 Subject: [PATCH 017/381] docs: update vertex AI generative model documentation (#51983) * docs: update vertex AI generative model documentation * chore: add multimodal to spelling wordlist --------- Co-authored-by: tm-kyle-naranjo --- docs/spelling_wordlist.txt | 1 + .../google/cloud/operators/vertex_ai/generative_model.py | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index f54012138bcd8..192f79e1397a9 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -1154,6 +1154,7 @@ mssql mTLS mtls muldelete +multimodal Multinamespace mutex mv diff --git a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py index bf7ffa5475c7f..365efed44ff84 100644 --- a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +++ b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py @@ -44,7 +44,7 @@ class TextEmbeddingModelGetEmbeddingsOperator(GoogleCloudBaseOperator): :param location: Required. The ID of the Google Cloud location that the service belongs to (templated). :param prompt: Required. Inputs or queries that a user or a program gives - to the Vertex AI PaLM API, in order to elicit a specific response (templated). + to the Vertex AI Generative Model API, in order to elicit a specific response (templated). :param pretrained_model: Required. Model, optimized for performing text embeddings. :param gcp_conn_id: The connection ID to use connecting to Google Cloud. :param impersonation_chain: Optional service account to impersonate using short-term @@ -112,10 +112,9 @@ class GenerativeModelGenerateContentOperator(GoogleCloudBaseOperator): :param safety_settings: Optional. Per request settings for blocking unsafe content. :param tools: Optional. A list of tools available to the model during evaluation, such as a data store. :param system_instruction: Optional. An instruction given to the model to guide its behavior. - :param pretrained_model: Required. Model, - supporting prompts with text-only input, including natural language - tasks, multi-turn text and code chat, and code generation. It can - output text and code. + :param pretrained_model: Required. The name of the model to use for content generation, + which can be a text-only or multimodal model. For example, `gemini-pro` or + `gemini-pro-vision`. :param gcp_conn_id: The connection ID to use connecting to Google Cloud. :param impersonation_chain: Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token From de6d59742341f4663dee02643ee01da8e5d86ff6 Mon Sep 17 00:00:00 2001 From: Domadelfin <63452391+Domadelfin@users.noreply.github.com> Date: Sat, 21 Jun 2025 17:04:29 +0800 Subject: [PATCH 018/381] Add comma (#51990) --- dev/breeze/doc/02_customizing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/breeze/doc/02_customizing.rst b/dev/breeze/doc/02_customizing.rst index 9acccbd8f3d03..315c749e11e58 100644 --- a/dev/breeze/doc/02_customizing.rst +++ b/dev/breeze/doc/02_customizing.rst @@ -158,7 +158,7 @@ By default Breeze starts only Airflow container without any integration enabled. that is selected). You can start the additional integrations by passing ``--integration`` flag with appropriate integration name when starting Breeze. You can specify several ``--integration`` flags to start more than one integration at a time. -Finally you can specify ``--integration all-testable`` to start all testable integrations and +Finally, you can specify ``--integration all-testable`` to start all testable integrations and ``--integration all`` to enable all integrations. Once integration is started, it will continue to run until the environment is stopped with From 98d10bd4e40c4c6f07b4b898f3aa22089106dc2f Mon Sep 17 00:00:00 2001 From: Alex Neal Albinda Date: Sat, 21 Jun 2025 17:10:21 +0800 Subject: [PATCH 019/381] refactor: remove dag.py params typechecking (#51987) --- airflow-core/src/airflow/models/dag.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/airflow-core/src/airflow/models/dag.py b/airflow-core/src/airflow/models/dag.py index 80263b45ef8d2..cc63f5776ffd6 100644 --- a/airflow-core/src/airflow/models/dag.py +++ b/airflow-core/src/airflow/models/dag.py @@ -1589,9 +1589,6 @@ def create_dagrun( # todo: AIP-78 add verification that if run type is backfill then we have a backfill id - if TYPE_CHECKING: - # TODO: Task-SDK: remove this assert - assert self.params # create a copy of params before validating copied_params = copy.deepcopy(self.params) if conf: From 01093ed36e676f5bd06e2a755474253b90d966aa Mon Sep 17 00:00:00 2001 From: Kyle Nathan Naranjo <63973445+teslakoile@users.noreply.github.com> Date: Sat, 21 Jun 2025 17:11:09 +0800 Subject: [PATCH 020/381] docs: clarify remote logging configuration for Azure Blob Storage (#51988) --- .../microsoft/azure/docs/logging/index.rst | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/providers/microsoft/azure/docs/logging/index.rst b/providers/microsoft/azure/docs/logging/index.rst index ca2149ab28f00..16ed9b5c7fd07 100644 --- a/providers/microsoft/azure/docs/logging/index.rst +++ b/providers/microsoft/azure/docs/logging/index.rst @@ -37,14 +37,29 @@ example: # location. If remote_logging is set to true, see UPDATING.md for additional # configuration requirements. remote_logging = True - remote_base_log_folder = wasb-base-folder/path/to/logs + remote_base_log_folder = wasb://path/to/logs [azure_remote_logging] remote_wasb_log_container = my-container -#. Install the provider package with ``pip install apache-airflow-providers-microsoft-azure`` +.. note:: + If you are using environment variables, the equivalent configuration is: + + .. code-block:: bash + + export AIRFLOW__LOGGING__REMOTE_LOGGING=True + export AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID= + export AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER=wasb://path/to/logs + export AIRFLOW__AZURE_REMOTE_LOGGING__REMOTE_WASB_LOG_CONTAINER= + + The ``remote_base_log_folder`` must be prefixed with ``wasb://`` for Airflow to use the correct log handler. An incorrect format can cause a misleading ``ResourceNotFoundError``, even if the container exists. + +Setup Steps: +'''''''''''''' + +#. Install the provider package with ``pip install apache-airflow-providers-microsoft-azure``. #. Ensure :ref:`connection ` is already setup with read and write access to Azure Blob Storage in the ``remote_wasb_log_container`` container and path ``remote_base_log_folder``. -#. Setup the above configuration values. Please note that the ``remote_base_log_folder`` should start with ``wasb`` to select the correct handler as shown above and the container should already exist. +#. Setup the above configuration values. Please note that the container should already exist. #. Restart the Airflow webserver and scheduler, and trigger (or wait for) a new task execution. #. Verify that logs are showing up for newly executed tasks in the container at the specified base path you have defined. #. Verify that the Azure Blob Storage viewer is working in the UI. Pull up a newly executed task, and verify that you see something like: @@ -52,9 +67,7 @@ example: .. code-block:: none *** Found remote logs: - *** * https://my-container.blob.core.windows.net/wasb-base-folder/path/to/logs/dag_id=tutorial_dag/run_id=manual__2023-07-22T22:22:25.891267+00:00/task_id=load/attempt=1.log - [2023-07-23, 03:52:47] {taskinstance.py:1144} INFO - Dependencies all met for dep_context=non-requeueable deps ti= - [2023-07-23, 03:52:47] {taskinstance.py:1144} INFO - Dependencies all met for dep_context=requeueable deps ti= - [2023-07-23, 03:52:47] {taskinstance.py:1346} INFO - Starting attempt 1 of 3 + *** * https://my-container.blob.core.windows.net/path/to/logs/dag_id=tutorial_dag/run_id=manual.../task_id=load/attempt=1.log + [2023-07-23, 03:52:47] {taskinstance.py:1144} INFO - Dependencies all met... **Note** that the path to the remote log file is listed in the second line. From 9dff03b6a1e793ab1bc63bf231e511c2dc45a0da Mon Sep 17 00:00:00 2001 From: Rafa Date: Sat, 21 Jun 2025 17:12:12 +0800 Subject: [PATCH 021/381] docs: Format consistency for variables/directories/flags in `unit_tests.rst` (#51986) * docs: Format consistency for variables/directories/flags in `unit_tests.rst` - Added missing backticks (``example``) to variables/flags/directories for improved readability and format consistency - Updated an incomplete paragraph * docs: Breakline adjustments for formatting fix in `unit_tests.rst` * docs: Fix whitespaces in `unit_tests.st` --- contributing-docs/testing/unit_tests.rst | 55 ++++++++++++------------ 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/contributing-docs/testing/unit_tests.rst b/contributing-docs/testing/unit_tests.rst index 2e8cb8b8c16cb..698096f702990 100644 --- a/contributing-docs/testing/unit_tests.rst +++ b/contributing-docs/testing/unit_tests.rst @@ -353,7 +353,7 @@ For the whole test suite you can run: breeze testing core-tests --skip-db-tests -For selected test types (example - the tests will run for Providers/API/CLI code only: +For selected test types (example - the tests will run for ``Providers/API/CLI`` code only: .. code-block:: bash @@ -386,7 +386,7 @@ There are some tricky test cases that require special handling. Here are some of Parameterized tests stability ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The parameterized tests require stable order of parameters if they are run via xdist - because the parameterized +The parameterized tests require stable order of parameters if they are run via ``xdist`` - because the parameterized tests are distributed among multiple processes and handled separately. In some cases the parameterized tests have undefined / random order (or parameters are not hashable - for example set of enums). In such cases the xdist execution of the tests will fail and you will get an error mentioning "Known Limitations of xdist". @@ -415,7 +415,7 @@ do that: @pytest.mark.parametrize("status", sorted(ALL_STATES)) def test_method(): ... -Similarly if your parameters are defined as result of utcnow() or other dynamic method - you should +Similarly if your parameters are defined as result of ``utcnow()`` or other dynamic method - you should avoid that, or assign unique IDs for those parametrized tests. Instead of this: .. code-block:: python @@ -521,7 +521,7 @@ the test is marked as DB test: def test_from_json(self, input, request_class): ... -Instead - this will not break collection. The TaskInstance is not initialized when the module is parsed, +Instead - this will not break collection. The ``TaskInstance`` is not initialized when the module is parsed, it will only be initialized when the test gets executed because we moved initialization of it from top level / parametrize to inside the test: @@ -576,7 +576,7 @@ top level / parametrize to inside the test: Sometimes it is difficult to rewrite the tests, so you might add conditional handling and mock out some database-bound methods or objects to avoid hitting the database during test collection. The code below -will hit the Database while parsing the tests, because this is what Variable.setdefault does when +will hit the Database while parsing the tests, because this is what ``Variable.setdefault`` does when parametrize specification is being parsed - even if test is marked as DB test. @@ -617,7 +617,7 @@ parametrize specification is being parsed - even if test is marked as DB test. def test_rendered_task_detail_env_secret(patch_app, admin_client, request, env, expected): ... -You can make the code conditional and mock out the Variable to avoid hitting the database. +You can make the code conditional and mock out the ``Variable`` to avoid hitting the database. .. code-block:: python @@ -724,8 +724,8 @@ this in two clicks. 1. Add Breeze as an "External Tool": - a. From the settings menu, navigate to Tools > External Tools - b. Click the little plus symbol to open the "Create Tool" popup and fill it out: + a. From the settings menu, navigate to ``Tools > External Tools`` + b. Click the little plus symbol to open the ``Create Tool`` popup and fill it out: .. image:: images/pycharm/pycharm_create_tool.png :align: center @@ -733,20 +733,20 @@ this in two clicks. 2. Add the tool to the context menu: - a. From the settings menu, navigate to Appearance & Behavior > Menus & Toolbars > Project View Popup Menu - b. Click on the list of entries where you would like it to be added. Right above or below "Project View Popup Menu Run Group" may be a good choice, you can drag and drop this list to rearrange the placement later as desired. + a. From the settings menu, navigate to ``Appearance & Behavior > Menus & Toolbars > Project View Popup Menu`` + b. Click on the list of entries where you would like it to be added. Right above or below ``Project View Popup Menu Run Group`` may be a good choice, you can drag and drop this list to rearrange the placement later as desired. c. Click the little plus at the top of the popup window - d. Find your "External Tool" in the new "Choose Actions to Add" popup and click OK. If you followed the image above, it will be at External Tools > External Tools > Breeze + d. Find your ``External Tool`` in the new ``Choose Actions to Add`` popup and click OK. If you followed the image above, it will be at ``External Tools > External Tools > Breeze`` **Note:** That only adds the option to that one menu. If you would like to add it to the context menu when right-clicking on a tab at the top of the editor, for example, follow the steps above again -and place it in the "Editor Tab Popup Menu" +and place it in the ``Editor Tab Popup Menu`` .. image:: images/pycharm/pycharm_add_to_context.png :align: center :alt: Installing Python extension -3. To run tests in Breeze, right click on the file or directory in the Project View and click Breeze. +3. To run tests in Breeze, right click on the file or directory in the ``Project View`` and click Breeze. Running Unit Tests from Visual Studio Code @@ -864,8 +864,8 @@ Once you enter the container, you might run regular pytest commands. For example Running Tests using Breeze from the Host ........................................ -If you wish to only run tests and not to drop into the shell, apply the -``tests`` command. You can add extra targets and pytest flags after the ``tests`` command. Note that +If you wish to only run tests and not to drop into the shell, apply the ``tests`` command. +You can add extra targets and pytest flags after the ``tests`` command. Note that often you want to run the tests with a clean/reset db, so usually you want to add ``--db-reset`` flag to breeze command. The Breeze image usually will have all the dependencies needed and it will ask you to rebuild the image if it is needed and some new dependencies should be installed. @@ -931,17 +931,16 @@ Running full Airflow unit test suite in parallel ................................................ If you run ``breeze testing core-tests --run-in-parallel`` or -``breeze testing providers-tests --run-in-parallel`` tests run in parallel -on your development machine - maxing out the number of parallel runs at the number of cores you -have available in your Docker engine. +``breeze testing providers-tests --run-in-parallel``, tests are executed in parallel +on your development machine, using as many cores as are available to the Docker engine. -In case you do not have enough memory available to your Docker (8 GB), the ``Integration``. ``Provider`` -and ``Core`` test type are executed sequentially with cleaning the docker setup in-between. This -allows to print +If your Docker environment has limited memory (less than 8 GB), then ``Integration``, ``Provider``, +and ``Core`` tests are run sequentially, with the Docker setup cleaned between test runs +to minimize memory usage. -This allows for massive speedup in full test execution. On 8 CPU machine with 16 cores and 64 GB memory -and fast SSD disk, the whole suite of tests completes in about 5 minutes (!). Same suite of tests takes -more than 30 minutes on the same machine when tests are run sequentially. +This approach allows for a massive speedup in full test execution. On a machine with 8 CPUs +(16 cores), 64 GB of RAM, and a fast SSD, the full suite of tests can complete in about +5 minutes (!) — compared to more than 30 minutes when run sequentially. .. note:: @@ -952,7 +951,7 @@ more than 30 minutes on the same machine when tests are run sequentially. in the ``Docker for Mac`` documentation on how to do it. You can also limit the parallelism by specifying the maximum number of parallel jobs via -MAX_PARALLEL_TEST_JOBS variable. If you set it to "1", all the test types will be run sequentially. +``MAX_PARALLEL_TEST_JOBS`` variable. If you set it to "1", all the test types will be run sequentially. .. code-block:: bash @@ -1254,7 +1253,7 @@ running the tests from there, after manually downgrading the dependencies: cd airflow-core uv sync --resolution lowest-direct -or run --force-lowest-dependencies switch directly from the breeze command line: +or run ``--force-lowest-dependencies`` switch directly from the breeze command line: .. code-block:: bash @@ -1298,7 +1297,7 @@ manually downgrading dependencies for the provider and running the tests after t uv sync --resolution lowest-direct -or run --force-lowest-dependencies switch directly from the breeze command line: +or run ``--force-lowest-dependencies`` switch directly from the breeze command line: .. code-block:: bash @@ -1421,7 +1420,7 @@ Enable masking secrets in tests ............................... By default masking secrets in test disabled because it might have side effects -into the other tests which intends to check logging/stdout/stderr values +into the other tests which intends to check ``logging/stdout/stderr`` values If you need to test masking secrets in test cases you have to apply ``pytest.mark.enable_redact`` to the specific test case, class or module. From e883909919a29aa3670c578612d1015b87842a7d Mon Sep 17 00:00:00 2001 From: pendoks <89318896+Whiskine@users.noreply.github.com> Date: Sat, 21 Jun 2025 17:58:40 +0800 Subject: [PATCH 022/381] docs: fix grammar, spelling, and spacing in README (#51980) * docs: fix grammar, spelling, and spacing in README This commit corrects minor grammatical errors, fixes spelling mistakes, and adjusts inconsistent spacing in the README file. These changes aim to improve clarity and maintain a professional tone. No content or meaning was altered. * docs: address review comments in README Applied the suggested changes from the code review. * docs: ran pre-commit, fixed airflow spelling * docs: fix formatting issue --- docs/README.md | 111 ++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/docs/README.md b/docs/README.md index 9012cb4e8ef71..4aced88a18dbd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -38,44 +38,44 @@ # Documentation configuration This directory used to contain all the documentation files for the project. The documentation has -been split to separate folders - the documentation is now in the folders in sub-projects that they +been split into separate folders - the documentation is now in the folders in sub-projects that they are referring to. -If you look for the documentation it is stored as follows: +If you look for the documentation, it is stored as follows: Documentation in separate distributions: * `airflow-core/docs` - documentation for Airflow Core * `providers/**/docs` - documentation for Providers -* `chart/docs` - documentation for Helm Chart +* `chart/docs` - documentation for the Helm Chart * `task-sdk/docs` - documentation for Task SDK (new format not yet published) * `airflow-ctl/docs` - documentation for Airflow CLI (future) -Documentation for general overview and summaries not connected with any specific distribution: +Documentation for a general overview and summaries not connected with any specific distribution: * `docker-stack-docs` - documentation for Docker Stack' -* `providers-summary-docs` - documentation for provider summary page +* `providers-summary-docs` - documentation for the provider summary page # Architecture of documentation for Airflow -Building documentation for Airflow is optimized for speed and for convenience workflows of the release +Building documentation for Airflow is optimized for speed and for the convenience workflows of the release managers and committers who publish and fix the documentation - that's why it's a little complex, as we have -multiple repositories and multiple sources of the documentation involved. +multiple repositories and multiple sources of documentation involved. -There are few repositories under `apache` organization which are used to build the documentation for Airflow: +There are a few repositories under `apache` organization that are used to build the documentation for Airflow: * `apache-airflow` - the repository with the code and the documentation sources for Airflow distributions, - provider distributions, providers summary and docker summary: [apache-airflow](https://github.com/apache/airflow) - from here we publish the documentation to S3 bucket where the documentation is hosted. + provider distributions, providers' summary, and docker summary: [apache-airflow](https://github.com/apache/airflow). + From here, we publish the documentation to an S3 bucket where the documentation is hosted. * `airflow-site` - the repository with the website theme and content where we keep sources of the website - structure, navigation, theme for the website [airflow-site](https://github.com/apache/airflow). From here - we publish the website to the ASF servers so they are publish as the [official website](https://airflow.apache.org) + structure, navigation, and theme for the website [airflow-site](https://github.com/apache/airflow-site). From here, + we publish the website to the ASF servers so they are published as the [official website](https://airflow.apache.org) * `airflow-site-archive` - here we keep the archived historical versions of the generated documentation of all the documentation packages that we keep on S3. This repository is automatically synchronized from - the S3 buckets and is only used in case we need to perform a bulk update of historical documentation. Here only - generated `html`, `css`, `js` and `images` files are kept, no sources of the documentation are kept here. + the S3 buckets and is only used in case we need to perform a bulk update of historical documentation. Here, only + generated `html`, `css`, `js`, and `images` files are kept; no sources of the documentation are kept here. -We have two S3 buckets where we can publish the documentation generated from `apache-airflow` repository: +We have two S3 buckets where we can publish the documentation generated from the `apache-airflow` repository: * `s3://live-docs-airflow-apache-org/docs/` - live, [official documentation](https://airflow.apache.org/docs/) * `s3://staging-docs-airflow-apache-org/docs/` - staging documentation [official documentation](https://staging-airflow.apache.org/docs/) TODO: make it work @@ -93,14 +93,14 @@ differences are: * The staging bucket is `s3://staging-docs-airflow-apache-org/docs/` * The staging website is `https://airflow.staged.apache.org/docs/` -* The staging site is deployed by merging PR or pushing `staging` branch in the `airflow-site` repository - rather than main. The `staging` branch should be periodically rebased to the `main` branch, but while - some changes are developed in `staging` it can diverge from `main` branch. -* Merging into `staging` branch of `airflow-site` repository or pushing `staging` branch +* The staging site is deployed by merging PR or pushing the `staging` branch in the `airflow-site` repository + rather than `main`. The `staging` branch should be periodically rebased to the `main` branch, but while + some changes are developed in `staging`, it can diverge from the `main` branch. +* Merging into the `staging` branch of the `airflow-site` repository or pushing the `staging` branch will automatically trigger the build of the website and publish it to the `publish-staging` branch and effectively to the staging site. -Documentation of pre-release versions of Airflow distributions should be published to the staging s3 +Documentation of pre-release versions of Airflow distributions should be published to the staging S3 bucket so that we can test the documentation before we publish it to the `live` bucket. # Typical workflows @@ -111,7 +111,7 @@ There are a few typical workflows that we support: The release manager publishes the documentation using GitHub Actions workflow [Publish Docs to S3](https://github.com/apache/airflow/actions/workflows/publish-docs-to-s3.yml). -The same workflow can be used to publish Airflow, Helm chart and providers documentation. +The same workflow can be used to publish Airflow, Helm chart, and providers' documentation. This workflow is used twice: @@ -120,7 +120,7 @@ This workflow is used twice: * when final releases of distributions are prepared - the documentation should be published to the `live` bucket and the `live` website should be built and published. -When release manager publishes the documentation they choose `auto` destination by default - depending on the +When the release manager publishes the documentation, they choose `auto` destination by default - depending on the tag they use - `staging` will be used to publish from pre-release tag and `live` will be used ot publish from the release tag. @@ -134,7 +134,7 @@ and the list of documentation packages to be published. Usually it is: * Helm chart: `helm-chart` * Providers: `provider_id1 provider_id2` or `all providers` if all providers should be published. -Optionally - specifically if we run `all-providers` and release manager wants to exclude some providers, +Optionally - specifically if we run `all-providers` and the release manager wants to exclude some providers, they can specify documentation packages to exclude. Leaving "no-docs-excluded" will publish all packages specified to be published without exclusions. @@ -144,17 +144,17 @@ Example screenshot of the workflow triggered from the GitHub UI: ![Publishing airflow or providers](images/publish_airflow.png) Note that this just publishes the documentation but does not update the "site" with version numbers or -stable links to providers and airflow - if you release a new documentation version it will be available -with direct URL (say https://apache.airflow.org/docs/apache-airflow/3.0.1/) but the main site will still -point to previous version of the documentation as `stable` and the version drop-downs will not be updated. +stable links to providers and airflow - if you release a new documentation version, it will be available +with direct URL (say https://apache.airflow.org/docs/apache-airflow/3.0.1/), but the main site will still +point to the previous version of the documentation as `stable` and the version drop-downs will not be updated. In order to do it, you need to run the [Build docs](https://github.com/apache/airflow-site/actions/workflows/build.yml) workflow in `airflow-site` repository. For `live` site you should run the workflow in `main` branch. For `staging` site it should be staging branch. This will build the website and publish it to the `publish` branch of `airflow-site` repository (for `live` -site) or `publish-staging` branch, (for `staging` site). The workflow will also update the website with -including refreshing of the version numbers in the drop-downs and stable links. +site) or `publish-staging` branch (for `staging` site). The workflow will also update the website, +including refreshing the version numbers in the drop-downs and stable links. The `staging` documentation is produced automatically with `staging` watermark added. @@ -164,7 +164,7 @@ This workflow also invalidates cache in Fastly that Apache Software Foundation u so you should always run it after you modify the documentation for the website. Other than that Fastly is configured with 3600 seconds TTL - which means that changes will propagate to the website in ~1 hour. -Shortly after the workflow succeeds and documentation is published, in live bucket, the `airflow-site-archive` +Shortly after the workflow succeeds and documentation is published, in the live bucket, the [airflow-site-archive](https://github.com/apache/airflow-site-archive) repository is automatically synchronized with the live S3 bucket. TODO: IMPLEMENT THIS, FOR NOW IT HAS TO BE MANUALLY SYNCHRONIZED VIA [Sync s3 to GitHub](https://github.com/apache/airflow-site-archive/actions/workflows/s3-to-github.yml) workflow in `airflow-site-archive` repository. The `airflow-site-archive` essentially keeps the history of @@ -182,9 +182,9 @@ manually in the main branch of `airflow-site` repository. The workflow builds th `publish` branch of `airflow-site` repository, which in turn gets picked up by the ASF servers and is published as the official website. This includes any changes to `.htaccess` of the website. -Such a main build also publishes latest "sphinx-airflow-theme" package to GitHub so that the next build +Such a main build also publishes the latest "sphinx-airflow-theme" package to GitHub so that the next build of documentation can automatically pick it up from there. This means that if you want to make changes to -`javascript` or `css` that are part of the theme, you need to do it in `ariflow-site` repository and +`javascript` or `css` that are part of the theme, you need to do it in `airflow-site` repository and merge it to `main` branch in order to be able to run the documentation build in `apache-airflow` repository and pick up the latest version of the theme. @@ -193,34 +193,33 @@ The version of sphinx theme is fixed in both repositories: * https://github.com/apache/airflow-site/blob/main/sphinx_airflow_theme/sphinx_airflow_theme/__init__.py#L21 * https://github.com/apache/airflow/blob/main/devel-common/pyproject.toml#L77 in "docs" section -In case of bigger changes to the theme, we -can first iterate on the website and merge a new theme version, and only after that we can switch to the new -version of the theme. +In case of bigger changes to the theme, we can first iterate on the website and merge a new theme version, +and only after that can we switch to the new version of the theme. # Fixing historical documentation -Sometimes we need to update historical documentation (modify generated `html`) - for example when we find +Sometimes we need to update historical documentation (modify generated `html`) - for example, when we find bad links or when we change some of the structure in the documentation. This can be done via the `airflow-site-archive` repository. The workflow is as follows: 1. Get the latest version of the documentation from S3 to `airflow-site-archive` repository using - `Sync s3 to GitHub` workflow. This will download the latest version of the documentation from S3 to - `airflow-site-archive` repository (this should be normally not needed, if automated synchronization works). + `Sync S3 to GitHub` workflow. This will download the latest version of the documentation from S3 to + `airflow-site-archive` repository (this should normally not be needed, if automated synchronization works). 2. Make the changes to the documentation in `airflow-site-archive` repository. This can be done using any - text editors, scripts etc. Those files are generated as `html` files and are not meant to be regenerated, + text editor, script, etc. Those files are generated as `html` files and are not meant to be regenerated, they should be modified as `html` files in-place 3. Commit the changes to `airflow-site-archive` repository and push them to `some` branch of the repository. 4. Run `Sync GitHub to S3` workflow in `airflow-site-archive` repository. This will upload the modified - documentation to S3 bucket. -5. You can choose, whether to sync the changes to `live` or `staging` bucket. The default is `live`. -6. By default the workflow will synchronize all documentation modified in single - last commit pushed to + documentation to the S3 bucket. +5. You can choose whether to sync the changes to `live` or `staging` bucket. The default is `live`. +6. By default, the workflow will synchronize all documentation modified in a single last commit pushed to the branch you specified. You can also specify "full_sync" to synchronize all files in the repository. 7. In case you specify "full_sync", you can also synchronize `all` docs or only selected documentation packages (for example `apache-airflow` or `docker-stack` or `amazon` or `helm-chart`) - you can specify more than one package separated by spaces. 8. After you synchronize the changes to S3, the Sync `S3 to GitHub` workflow will be triggered - automatically and the changes will be synchronized to `airflow-site-archive` `main` branch - so there + automatically, and the changes will be synchronized to `airflow-site-archive` `main` branch - so there is no need to merge your changes to `main` branch of `airflow-site-archive` repository. You can safely delete the branch you created in step 3. @@ -229,22 +228,22 @@ bad links or when we change some of the structure in the documentation. This can ## Manually publishing documentation directly to S3 -The regular publishing workflows involve running Github Actions workflow and they cover majority of cases, -however sometimes some manual updates and cherry-picks are needed, when we discover problems with the -publishing and doc building code - for example when we find that we need to fix extensions to sphinx. +The regular publishing workflows involve running a GitHub Actions workflow, and they cover the majority of cases. +However, sometimes, some manual updates and cherry-picks are needed, when we discover problems with the +publishing and doc building code - for example, when we find that we need to fix extensions to sphinx. -In such case, release manager or a committer can build and publish documentation locally - providing that +In such a case, the release manager or a committer can build and publish documentation locally - providing that they configure AWS credentials to be able to upload files to S3. You can ask in the #internal-airflow-ci-cd channel on Airflow Slack to get your AWS credentials configured. You can checkout locally a version of airflow repo that you need and apply any cherry-picks you need before running publishing. -This is done using breeze. You also need to have aws CLI installed and configured credentials to be able +This is done using breeze. You also need to have AWS CLI installed and configured credentials to be able to upload files to S3. You can get credentials from one of the admins of Airflow's AWS account. The region to set for AWS is `us-east-2`. -Note that it is advise to add `--dry-run` if you just want to see what would happen. Also you can use +Note that it is advised to add `--dry-run` if you just want to see what would happen. Also, you can use the `s3://staging-docs-airflow-apache-org/docs/` bucket to test the publishing using staging site. ```bash @@ -258,18 +257,18 @@ breeze release-management publish-docs-to-s3 --source-dir-path /tmp/airflow-site ## Manually publishing documentation via `apache-airflow-site-archive` repo -If you do not have S3 credentials and want to be careful about publishing the documentation you can also +If you do not have S3 credentials and want to be careful about publishing the documentation, you can also use publishing via `apache-airflow-site-archive` repository. This is a little more complex, but it allows you to publish documentation without having S3 credentials. The process is as follows: 1. Run `Sync s3 to GitHub` workflow in `apache-airflow-site-archive` repository. This will download the - latest version of the documentation from S3 to `airflow-site-archive` repository (this should be normally - not needed, if automated synchronization works). -2. Checkout `apache-airflow-site-archive` repository and create a branch for your changes. -3. Build documentation locally in `apache-airflow` repo with any cherry-picks and modifications you need and - publish the docs to the checked out `airflow-site-archive` branch + latest version of the documentation from S3 to `airflow-site-archive` repository (this should normally not + be needed, if automated synchronization works). +2. Checkout the `apache-airflow-site-archive` repository and create a branch for your changes. +3. Build documentation locally in `apache-airflow` repo with any cherry-picks and modifications you need, and + publish the docs to the checked out `airflow-site-archive` branch. ```bash breeze build-docs "" "" --docs-only @@ -279,8 +278,8 @@ breeze release-management publish-docs --override-versioned --airflow-site-direc 4. Commit the changes to `apache-airflow-site-archive` repository and push them to `some` branch of the repository. 5. Run `Sync GitHub to S3` workflow in `apache-airflow-site-archive` repository. This will upload the modified - documentation to S3 bucket. You can choose, whether to sync the changes to `live` or `staging` bucket. - The default is `live`. You can also specify which folders to sync - by default all modified folders are synced. + documentation to S3 bucket. You can choose whether to sync the changes to `live` or `staging` bucket. + The default is `live`. You can also specify which folders to sync - by default, all modified folders are synced. 6. After you synchronize the changes to S3, the Sync `S3 to GitHub` workflow will be triggered automatically and the changes will be synchronized to `airflow-site-archive` `main` branch - so there is no need to merge your changes to `main` branch of `airflow-site-archive` repository. You can safely From 32e1f2e3af302231188c774dfb08f26ecd142505 Mon Sep 17 00:00:00 2001 From: Satish Chinthanippu Date: Sat, 21 Jun 2025 03:06:11 -0700 Subject: [PATCH 023/381] Add BteqOperator for Executing Teradata BTEQ Scripts in Airflow (#51807) * Add BteqOperator for Executing Teradata BTEQ Scripts in Airflow (#58) BTEQ (Basic Teradata Query) is a command-line utility provided by Teradata for interacting with Teradata databases. The BteqOperator is designed to provide flexible and robust execution of Teradata SQL Statements and BTEQ script/SQL file using the BTEQ command-line utility within Airflow DAGs * system test failure fixed * unit tests issues fixed * unit tests issues fixed * As per airflow recommendation, removed usage of Caplog * airflow workflow issue fixed * Documentation is improved --------- Co-authored-by: Satish Ch --- docs/spelling_wordlist.txt | 1 + providers/teradata/docs/operators/bteq.rst | 264 +++++++++++++ providers/teradata/provider.yaml | 9 + providers/teradata/pyproject.toml | 4 + .../providers/teradata/get_provider_info.py | 7 +- .../airflow/providers/teradata/hooks/bteq.py | 325 ++++++++++++++++ .../airflow/providers/teradata/hooks/ttu.py | 93 +++++ .../providers/teradata/operators/bteq.py | 284 ++++++++++++++ .../providers/teradata/utils/bteq_util.py | 182 +++++++++ .../teradata/utils/encryption_utils.py | 75 ++++ .../tests/system/teradata/example_bteq.py | 272 +++++++++++++ .../system/teradata/example_remote_bteq.py | 272 +++++++++++++ .../teradata/tests/system/teradata/script | 15 + .../tests/system/teradata/script.bteq | 15 + .../teradata/tests/system/teradata/script.sql | 29 ++ .../tests/system/teradata/script_utf16.bteq | Bin 0 -> 980 bytes .../tests/unit/teradata/hooks/test_bteq.py | 364 ++++++++++++++++++ .../tests/unit/teradata/hooks/test_ttu.py | 136 +++++++ .../unit/teradata/operators/test_bteq.py | 288 ++++++++++++++ .../unit/teradata/utils/test_bteq_util.py | 187 +++++++++ .../teradata/utils/test_encryption_utils.py | 108 ++++++ 21 files changed, 2928 insertions(+), 2 deletions(-) create mode 100644 providers/teradata/docs/operators/bteq.rst create mode 100644 providers/teradata/src/airflow/providers/teradata/hooks/bteq.py create mode 100644 providers/teradata/src/airflow/providers/teradata/hooks/ttu.py create mode 100644 providers/teradata/src/airflow/providers/teradata/operators/bteq.py create mode 100644 providers/teradata/src/airflow/providers/teradata/utils/bteq_util.py create mode 100644 providers/teradata/src/airflow/providers/teradata/utils/encryption_utils.py create mode 100644 providers/teradata/tests/system/teradata/example_bteq.py create mode 100644 providers/teradata/tests/system/teradata/example_remote_bteq.py create mode 100644 providers/teradata/tests/system/teradata/script create mode 100644 providers/teradata/tests/system/teradata/script.bteq create mode 100644 providers/teradata/tests/system/teradata/script.sql create mode 100644 providers/teradata/tests/system/teradata/script_utf16.bteq create mode 100644 providers/teradata/tests/unit/teradata/hooks/test_bteq.py create mode 100644 providers/teradata/tests/unit/teradata/hooks/test_ttu.py create mode 100644 providers/teradata/tests/unit/teradata/operators/test_bteq.py create mode 100644 providers/teradata/tests/unit/teradata/utils/test_bteq_util.py create mode 100644 providers/teradata/tests/unit/teradata/utils/test_encryption_utils.py diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index 192f79e1397a9..36cdf13b293fa 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -215,6 +215,7 @@ botocore BounceX Bq bq +bteq bugfix bugfixes buildType diff --git a/providers/teradata/docs/operators/bteq.rst b/providers/teradata/docs/operators/bteq.rst new file mode 100644 index 0000000000000..2424aa9855e1f --- /dev/null +++ b/providers/teradata/docs/operators/bteq.rst @@ -0,0 +1,264 @@ + .. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + .. http://www.apache.org/licenses/LICENSE-2.0 + + .. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _howto/operator:BteqOperator: + +BteqOperator +============ + +The :class:`~airflow.providers.teradata.operators.bteq.BteqOperator` enables execution of SQL statements or BTEQ (Basic Teradata Query) scripts using the Teradata BTEQ utility, which can be installed either locally or accessed remotely via SSH. + +This is useful for executing administrative operations, batch queries, or ETL tasks in Teradata environments using the Teradata BTEQ utility. + +.. note:: + + This operator requires the Teradata Tools and Utilities (TTU) including the ``bteq`` binary to be installed + and accessible via the system's ``PATH`` (either locally or on the remote SSH host). + +Use the ``BteqOperator`` when you want to: + +- Run parameterized or templated SQL/BTEQ scripts +- Connect securely to Teradata with Airflow connections +- Execute queries via SSH on remote systems with BTEQ installed + +Prerequisite +------------ + +Make sure your Teradata Airflow connection is defined with the required fields: + +- ``host`` +- ``login`` +- ``password`` +- Optional: ``database``, etc. + +You can define a remote host with a separate SSH connection using the ``ssh_conn_id``. + +.. note:: + + For improved security, it is **highly recommended** to use + **private key-based SSH authentication** (SSH key pairs) instead of username/password + for the SSH connection. + + This avoids password exposure, enables seamless automated execution, and enhances security. + + See the Airflow SSH Connection documentation for details on configuring SSH keys: + https://airflow.apache.org/docs/apache-airflow/stable/howto/connection/ssh.html + + +To execute arbitrary SQL or BTEQ commands in a Teradata database, use the +:class:`~airflow.providers.teradata.operators.bteq.BteqOperator`. + +Common Database Operations with BteqOperator when BTEQ is installed on local machine +------------------------------------------------------------------------------------- + +Creating a Teradata database table +---------------------------------- + +You can use the BteqOperator to create tables in a Teradata database. The following example demonstrates how to create a simple employee table: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_create_table] + :end-before: [END bteq_operator_howto_guide_create_table] + +The BTEQ script within this operator handles the table creation, including defining columns, data types, and constraints. + + +Inserting data into a Teradata database table +--------------------------------------------- + +The following example demonstrates how to populate the ``my_employees`` table with sample employee records: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_populate_table] + :end-before: [END bteq_operator_howto_guide_populate_table] + +This BTEQ script inserts multiple rows into the table in a single operation, making it efficient for batch data loading. + + +Exporting data from a Teradata database table to a file +------------------------------------------------------- + +The BteqOperator makes it straightforward to export query results to a file. This capability is valuable for data extraction, backups, and transferring data between systems. The following example demonstrates how to query the employee table and export the results: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_export_data_to_a_file] + :end-before: [END bteq_operator_howto_guide_export_data_to_a_file] + +The BTEQ script above handles the data export with options for formatting, file location specification, and error handling during the export process. + + +Fetching and processing records from your Teradata database +----------------------------------------------------------- + +You can use BteqOperator to query and retrieve data from your Teradata tables. The following example demonstrates +how to fetch specific records from the employee table with filtering and formatting: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_get_it_employees] + :end-before: [END bteq_operator_howto_guide_get_it_employees] + +Executing a BTEQ script with the BteqOperator +--------------------------------------------- + +You can use BteqOperator to execute a BTEQ script directly. This is useful for running complex queries or scripts that require multiple SQL statements or specific BTEQ commands. + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_bteq_file_input] + :end-before: [END bteq_operator_howto_guide_bteq_file_input] + + +Common Database Operations with BteqOperator when BTEQ is installed on remote machine +------------------------------------------------------------------------------------- + +Make sure SSH connection is defined with the required fields to connect to remote machine: + +- ``remote_host`` +- ``username`` +- ``password`` +- Optional: ``key_file``, ``private_key``, ``conn_timeout``, etc. + +Creating a Teradata database table +---------------------------------- + +You can use the BteqOperator to create tables in a Teradata database. The following example demonstrates how to create a simple employee table: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_remote_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_create_table] + :end-before: [END bteq_operator_howto_guide_create_table] + +The BTEQ script within this operator handles the table creation, including defining columns, data types, and constraints. + + +Inserting data into a Teradata database table +--------------------------------------------- + +The following example demonstrates how to populate the ``my_employees`` table with sample employee records: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_remote_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_populate_table] + :end-before: [END bteq_operator_howto_guide_populate_table] + +This BTEQ script inserts multiple rows into the table in a single operation, making it efficient for batch data loading. + + +Exporting data from a Teradata database table to a file +------------------------------------------------------- + +The BteqOperator makes it straightforward to export query results to a file. This capability is valuable for data extraction, backups, and transferring data between systems. The following example demonstrates how to query the employee table and export the results: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_remote_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_export_data_to_a_file] + :end-before: [END bteq_operator_howto_guide_export_data_to_a_file] + +The BTEQ script above handles the data export with options for formatting, file location specification, and error handling during the export process. + + +Fetching and processing records from your Teradata database +----------------------------------------------------------- + +You can use BteqOperator to query and retrieve data from your Teradata tables. The following example demonstrates +how to fetch specific records from the employee table with filtering and formatting: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_remote_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_get_it_employees] + :end-before: [END bteq_operator_howto_guide_get_it_employees] + +This example shows how to: +- Execute a SELECT query with WHERE clause filtering +- Format the output for better readability +- Process the result set within the BTEQ script +- Handle empty result sets appropriately + +Executing a BTEQ script with the BteqOperator when BTEQ script file is on remote machine +---------------------------------------------------------------------------------------- + +You can use BteqOperator to execute a BTEQ script directly when file is on remote machine. + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_remote_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_bteq_file_input] + :end-before: [END bteq_operator_howto_guide_bteq_file_input] + + +Using Conditional Logic with BteqOperator +----------------------------------------- + +The BteqOperator supports executing conditional logic within your BTEQ scripts. This powerful feature lets you create dynamic, decision-based workflows that respond to data conditions or processing results: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_conditional_logic] + :end-before: [END bteq_operator_howto_guide_conditional_logic] + +Conditional execution enables more intelligent data pipelines that can adapt to different scenarios without requiring separate DAG branches. + + +Error Handling in BTEQ Scripts +------------------------------ + +The BteqOperator allows you to implement comprehensive error handling within your BTEQ scripts: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_error_handling] + :end-before: [END bteq_operator_howto_guide_error_handling] + +This approach lets you catch and respond to errors at the BTEQ script level, providing more granular control over error conditions and enabling appropriate recovery actions. + + +Dropping a Teradata Database Table +---------------------------------- + +When your workflow completes or requires cleanup, you can use the BteqOperator to drop database objects. The following example demonstrates how to drop the ``my_employees`` table: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :dedent: 4 + :start-after: [START bteq_operator_howto_guide_drop_table] + :end-before: [END bteq_operator_howto_guide_drop_table] + + +The complete Teradata Operator DAG +---------------------------------- + +When we put everything together, our DAG should look like this: + +.. exampleinclude:: /../../teradata/tests/system/teradata/example_bteq.py + :language: python + :start-after: [START bteq_operator_howto_guide] + :end-before: [END bteq_operator_howto_guide] diff --git a/providers/teradata/provider.yaml b/providers/teradata/provider.yaml index 153e825ccd7ab..01563d9d0dee3 100644 --- a/providers/teradata/provider.yaml +++ b/providers/teradata/provider.yaml @@ -57,11 +57,20 @@ operators: python-modules: - airflow.providers.teradata.operators.teradata - airflow.providers.teradata.operators.teradata_compute_cluster + - integration-name: Bteq + python-modules: + - airflow.providers.teradata.operators.bteq hooks: - integration-name: Teradata python-modules: - airflow.providers.teradata.hooks.teradata + - integration-name: Ttu + python-modules: + - airflow.providers.teradata.hooks.ttu + - integration-name: Bteq + python-modules: + - airflow.providers.teradata.hooks.bteq transfers: - source-integration-name: Teradata diff --git a/providers/teradata/pyproject.toml b/providers/teradata/pyproject.toml index d2dbb359b3090..3866c56d0a64a 100644 --- a/providers/teradata/pyproject.toml +++ b/providers/teradata/pyproject.toml @@ -72,6 +72,9 @@ dependencies = [ "amazon" = [ "apache-airflow-providers-amazon", ] +"ssh" = [ + "apache-airflow-providers-ssh" +] [dependency-groups] dev = [ @@ -81,6 +84,7 @@ dev = [ "apache-airflow-providers-amazon", "apache-airflow-providers-common-sql", "apache-airflow-providers-microsoft-azure", + "apache-airflow-providers-ssh", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/teradata/src/airflow/providers/teradata/get_provider_info.py b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py index 7780d600f0531..f9b935fa551ff 100644 --- a/providers/teradata/src/airflow/providers/teradata/get_provider_info.py +++ b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py @@ -45,10 +45,13 @@ def get_provider_info(): "airflow.providers.teradata.operators.teradata", "airflow.providers.teradata.operators.teradata_compute_cluster", ], - } + }, + {"integration-name": "Bteq", "python-modules": ["airflow.providers.teradata.operators.bteq"]}, ], "hooks": [ - {"integration-name": "Teradata", "python-modules": ["airflow.providers.teradata.hooks.teradata"]} + {"integration-name": "Teradata", "python-modules": ["airflow.providers.teradata.hooks.teradata"]}, + {"integration-name": "Ttu", "python-modules": ["airflow.providers.teradata.hooks.ttu"]}, + {"integration-name": "Bteq", "python-modules": ["airflow.providers.teradata.hooks.bteq"]}, ], "transfers": [ { diff --git a/providers/teradata/src/airflow/providers/teradata/hooks/bteq.py b/providers/teradata/src/airflow/providers/teradata/hooks/bteq.py new file mode 100644 index 0000000000000..89aac594ddb18 --- /dev/null +++ b/providers/teradata/src/airflow/providers/teradata/hooks/bteq.py @@ -0,0 +1,325 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from __future__ import annotations + +import os +import socket +import subprocess +import tempfile +from contextlib import contextmanager + +from paramiko import SSHException + +from airflow.exceptions import AirflowException +from airflow.providers.ssh.hooks.ssh import SSHHook +from airflow.providers.teradata.hooks.ttu import TtuHook +from airflow.providers.teradata.utils.bteq_util import ( + prepare_bteq_command_for_local_execution, + prepare_bteq_command_for_remote_execution, + transfer_file_sftp, + verify_bteq_installed, + verify_bteq_installed_remote, +) +from airflow.providers.teradata.utils.encryption_utils import ( + decrypt_remote_file_to_string, + generate_encrypted_file_with_openssl, + generate_random_password, +) + + +class BteqHook(TtuHook): + """ + Hook for executing BTEQ (Basic Teradata Query) scripts. + + This hook provides functionality to execute BTEQ scripts either locally or remotely via SSH. + It extends the `TtuHook` and integrates with Airflow's SSHHook for remote execution. + + The BTEQ scripts are used to interact with Teradata databases, allowing users to perform + operations such as querying, data manipulation, and administrative tasks. + + Features: + - Supports both local and remote execution of BTEQ scripts. + - Handles connection details, script preparation, and execution. + - Provides robust error handling and logging for debugging. + - Allows configuration of session parameters like output width and encoding. + + .. seealso:: + - :ref:`hook API connection ` + + :param bteq_script: The BTEQ script to be executed. This can be a string containing the BTEQ commands. + :param remote_working_dir: Temporary directory location on the remote host (via SSH) where the BTEQ script will be transferred and executed. Defaults to `/tmp` if not specified. This is only applicable when `ssh_conn_id` is provided. + :param bteq_script_encoding: Character encoding for the BTEQ script file. Defaults to ASCII if not specified. + :param timeout: Timeout (in seconds) for executing the BTEQ command. Default is 600 seconds (10 minutes). + :param timeout_rc: Return code to use if the BTEQ execution fails due to a timeout. To allow DAG execution to continue after a timeout, include this value in `bteq_quit_rc`. If not specified, a timeout will raise an exception and stop the DAG. + :param bteq_session_encoding: Character encoding for the BTEQ session. Defaults to UTF-8 if not specified. + :param bteq_quit_rc: Accepts a single integer, list, or tuple of return codes. Specifies which BTEQ return codes should be treated as successful, allowing subsequent tasks to continue execution. + """ + + def __init__(self, teradata_conn_id: str, ssh_conn_id: str | None = None, *args, **kwargs): + super().__init__(teradata_conn_id, *args, **kwargs) + self.ssh_conn_id = ssh_conn_id + self.ssh_hook = SSHHook(ssh_conn_id=ssh_conn_id) if ssh_conn_id else None + + def execute_bteq_script( + self, + bteq_script: str, + remote_working_dir: str | None, + bteq_script_encoding: str | None, + timeout: int, + timeout_rc: int | None, + bteq_session_encoding: str | None, + bteq_quit_rc: int | list[int] | tuple[int, ...] | None, + temp_file_read_encoding: str | None, + ) -> int | None: + """Execute the BTEQ script either in local machine or on remote host based on ssh_conn_id.""" + # Remote execution + if self.ssh_hook: + # Write script to local temp file + # Encrypt the file locally + return self.execute_bteq_script_at_remote( + bteq_script, + remote_working_dir, + bteq_script_encoding, + timeout, + timeout_rc, + bteq_session_encoding, + bteq_quit_rc, + temp_file_read_encoding, + ) + return self.execute_bteq_script_at_local( + bteq_script, + bteq_script_encoding, + timeout, + timeout_rc, + bteq_quit_rc, + bteq_session_encoding, + temp_file_read_encoding, + ) + + def execute_bteq_script_at_remote( + self, + bteq_script: str, + remote_working_dir: str | None, + bteq_script_encoding: str | None, + timeout: int, + timeout_rc: int | None, + bteq_session_encoding: str | None, + bteq_quit_rc: int | list[int] | tuple[int, ...] | None, + temp_file_read_encoding: str | None, + ) -> int | None: + with ( + self.preferred_temp_directory() as tmp_dir, + ): + file_path = os.path.join(tmp_dir, "bteq_script.txt") + with open(file_path, "w", encoding=str(temp_file_read_encoding or "UTF-8")) as f: + f.write(bteq_script) + return self._transfer_to_and_execute_bteq_on_remote( + file_path, + remote_working_dir, + bteq_script_encoding, + timeout, + timeout_rc, + bteq_quit_rc, + bteq_session_encoding, + tmp_dir, + ) + + def _transfer_to_and_execute_bteq_on_remote( + self, + file_path: str, + remote_working_dir: str | None, + bteq_script_encoding: str | None, + timeout: int, + timeout_rc: int | None, + bteq_quit_rc: int | list[int] | tuple[int, ...] | None, + bteq_session_encoding: str | None, + tmp_dir: str, + ) -> int | None: + encrypted_file_path = None + remote_encrypted_path = None + try: + if self.ssh_hook and self.ssh_hook.get_conn(): + with self.ssh_hook.get_conn() as ssh_client: + if ssh_client is None: + raise AirflowException("Failed to establish SSH connection. `ssh_client` is None.") + verify_bteq_installed_remote(ssh_client) + password = generate_random_password() # Encryption/Decryption password + encrypted_file_path = os.path.join(tmp_dir, "bteq_script.enc") + generate_encrypted_file_with_openssl(file_path, password, encrypted_file_path) + remote_encrypted_path = os.path.join(remote_working_dir or "", "bteq_script.enc") + + transfer_file_sftp(ssh_client, encrypted_file_path, remote_encrypted_path) + + bteq_command_str = prepare_bteq_command_for_remote_execution( + timeout=timeout, + bteq_script_encoding=bteq_script_encoding or "", + bteq_session_encoding=bteq_session_encoding or "", + timeout_rc=timeout_rc or -1, + ) + + exit_status, stdout, stderr = decrypt_remote_file_to_string( + ssh_client, + remote_encrypted_path, + password, + bteq_command_str, + ) + + failure_message = None + password = None # Clear sensitive data + + if "Failure" in stderr or "Error" in stderr: + failure_message = stderr + # Raising an exception if there is any failure in bteq and also user wants to fail the + # task otherwise just log the error message as warning to not fail the task. + if ( + failure_message + and exit_status != 0 + and exit_status + not in ( + bteq_quit_rc + if isinstance(bteq_quit_rc, (list, tuple)) + else [bteq_quit_rc if bteq_quit_rc is not None else 0] + ) + ): + raise AirflowException(f"BTEQ task failed with error: {failure_message}") + if failure_message: + self.log.warning(failure_message) + return exit_status + else: + raise AirflowException("SSH connection is not established. `ssh_hook` is None or invalid.") + except (OSError, socket.gaierror): + raise AirflowException( + "SSH connection timed out. Please check the network or server availability." + ) + except SSHException as e: + raise AirflowException(f"An unexpected error occurred during SSH connection: {str(e)}") + except AirflowException as e: + raise e + except Exception as e: + raise AirflowException( + f"An unexpected error occurred while executing BTEQ script on remote machine: {str(e)}" + ) + finally: + # Remove the local script file + if encrypted_file_path and os.path.exists(encrypted_file_path): + os.remove(encrypted_file_path) + # Cleanup: Delete the remote temporary file + if encrypted_file_path: + cleanup_en_command = f"rm -f {remote_encrypted_path}" + if self.ssh_hook and self.ssh_hook.get_conn(): + with self.ssh_hook.get_conn() as ssh_client: + if ssh_client is None: + raise AirflowException( + "Failed to establish SSH connection. `ssh_client` is None." + ) + ssh_client.exec_command(cleanup_en_command) + + def execute_bteq_script_at_local( + self, + bteq_script: str, + bteq_script_encoding: str | None, + timeout: int, + timeout_rc: int | None, + bteq_quit_rc: int | list[int] | tuple[int, ...] | None, + bteq_session_encoding: str | None, + temp_file_read_encoding: str | None, + ) -> int | None: + verify_bteq_installed() + bteq_command_str = prepare_bteq_command_for_local_execution( + self.get_conn(), + timeout=timeout, + bteq_script_encoding=bteq_script_encoding or "", + bteq_session_encoding=bteq_session_encoding or "", + timeout_rc=timeout_rc or -1, + ) + process = subprocess.Popen( + bteq_command_str, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + shell=True, + preexec_fn=os.setsid, + ) + encode_bteq_script = bteq_script.encode(str(temp_file_read_encoding or "UTF-8")) + stdout_data, _ = process.communicate(input=encode_bteq_script) + try: + # https://docs.python.org/3.10/library/subprocess.html#subprocess.Popen.wait timeout is in seconds + process.wait(timeout=timeout + 60) # Adding 1 minute extra for BTEQ script timeout + except subprocess.TimeoutExpired: + self.on_kill() + raise AirflowException(f"BTEQ command timed out after {timeout} seconds.") + conn = self.get_conn() + conn["sp"] = process # For `on_kill` support + failure_message = None + if stdout_data is None: + raise AirflowException("Process stdout is None. Unable to read BTEQ output.") + decoded_line = "" + for line in stdout_data.splitlines(): + try: + decoded_line = line.decode("UTF-8").strip() + except UnicodeDecodeError: + self.log.warning("Failed to decode line: %s", line) + if "Failure" in decoded_line or "Error" in decoded_line: + failure_message = decoded_line + # Raising an exception if there is any failure in bteq and also user wants to fail the + # task otherwise just log the error message as warning to not fail the task. + if ( + failure_message + and process.returncode != 0 + and process.returncode + not in ( + bteq_quit_rc + if isinstance(bteq_quit_rc, (list, tuple)) + else [bteq_quit_rc if bteq_quit_rc is not None else 0] + ) + ): + raise AirflowException(f"BTEQ task failed with error: {failure_message}") + if failure_message: + self.log.warning(failure_message) + + return process.returncode + + def on_kill(self): + """Terminate the subprocess if running.""" + conn = self.get_conn() + process = conn.get("sp") + if process: + try: + process.terminate() + process.wait(timeout=5) + except subprocess.TimeoutExpired: + self.log.warning("Subprocess did not terminate in time. Forcing kill...") + process.kill() + except Exception as e: + self.log.error("Failed to terminate subprocess: %s", str(e)) + + def get_airflow_home_dir(self) -> str: + """Get the AIRFLOW_HOME directory.""" + return os.environ.get("AIRFLOW_HOME", "~/airflow") + + @contextmanager + def preferred_temp_directory(self, prefix="bteq_"): + try: + temp_dir = tempfile.gettempdir() + if not os.path.isdir(temp_dir) or not os.access(temp_dir, os.W_OK): + raise OSError("OS temp dir not usable") + except Exception: + temp_dir = self.get_airflow_home_dir() + + with tempfile.TemporaryDirectory(dir=temp_dir, prefix=prefix) as tmp: + yield tmp diff --git a/providers/teradata/src/airflow/providers/teradata/hooks/ttu.py b/providers/teradata/src/airflow/providers/teradata/hooks/ttu.py new file mode 100644 index 0000000000000..958bd76796e73 --- /dev/null +++ b/providers/teradata/src/airflow/providers/teradata/hooks/ttu.py @@ -0,0 +1,93 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import subprocess +from abc import ABC +from typing import Any + +from airflow.exceptions import AirflowException +from airflow.hooks.base import BaseHook + + +class TtuHook(BaseHook, ABC): + """ + Abstract base hook for integrating Teradata Tools and Utilities (TTU) in Airflow. + + This hook provides common connection handling, resource management, and lifecycle + support for TTU based operations such as BTEQ, TLOAD, and TPT. + + It should not be used directly. Instead, it must be subclassed by concrete hooks + like `BteqHook`, `TloadHook`, or `TddlHook` that implement the actual TTU command logic. + + Core Features: + - Establishes a reusable Teradata connection configuration. + - Provides context management for safe resource cleanup. + - Manages subprocess termination (e.g., for long-running TTU jobs). + + Requirements: + - TTU command-line tools must be installed and accessible via PATH. + - A valid Airflow connection with Teradata credentials must be configured. + """ + + def __init__(self, teradata_conn_id: str = "teradata_default", *args, **kwargs) -> None: + super().__init__() + self.teradata_conn_id = teradata_conn_id + self.conn: dict[str, Any] | None = None + + def __enter__(self): + return self + + def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: + if self.conn is not None: + self.close_conn() + + def get_conn(self) -> dict[str, Any]: + """ + Set up and return a Teradata connection dictionary. + + This dictionary includes connection credentials and a subprocess placeholder. + Ensures connection is created only once per hook instance. + + :return: Dictionary with connection details. + """ + if not self.conn: + connection = self.get_connection(self.teradata_conn_id) + if not connection.login or not connection.password or not connection.host: + raise AirflowException("Missing required connection parameters: login, password, or host.") + + self.conn = dict( + login=connection.login, + password=connection.password, + host=connection.host, + database=connection.schema, + sp=None, # Subprocess placeholder + ) + return self.conn + + def close_conn(self): + """Terminate any active TTU subprocess and clear the connection.""" + if self.conn: + if self.conn.get("sp") and self.conn["sp"].poll() is None: + self.conn["sp"].terminate() + try: + self.conn["sp"].wait(timeout=5) + except subprocess.TimeoutExpired: + self.log.warning("Subprocess did not terminate in time. Forcing kill...") + self.conn["sp"].kill() + self.conn = None diff --git a/providers/teradata/src/airflow/providers/teradata/operators/bteq.py b/providers/teradata/src/airflow/providers/teradata/operators/bteq.py new file mode 100644 index 0000000000000..22779be9bfb33 --- /dev/null +++ b/providers/teradata/src/airflow/providers/teradata/operators/bteq.py @@ -0,0 +1,284 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +from typing import TYPE_CHECKING, Literal + +from airflow.providers.teradata.utils.bteq_util import ( + is_valid_encoding, + is_valid_file, + is_valid_remote_bteq_script_file, + prepare_bteq_script_for_local_execution, + prepare_bteq_script_for_remote_execution, + read_file, +) + +if TYPE_CHECKING: + from paramiko import SSHClient + + try: + from airflow.sdk.definitions.context import Context + except ImportError: + from airflow.utils.context import Context + +from airflow.models import BaseOperator +from airflow.providers.ssh.hooks.ssh import SSHHook +from airflow.providers.teradata.hooks.bteq import BteqHook +from airflow.providers.teradata.hooks.teradata import TeradataHook + + +def contains_template(parameter_value): + # Check if the parameter contains Jinja templating syntax + return "{{" in parameter_value and "}}" in parameter_value + + +class BteqOperator(BaseOperator): + """ + Teradata Operator to execute SQL Statements or BTEQ (Basic Teradata Query) scripts using Teradata BTEQ utility. + + This supports execution of BTEQ scripts either locally or remotely via SSH. + + The BTEQ scripts are used to interact with Teradata databases, allowing users to perform + operations such as querying, data manipulation, and administrative tasks. + + Features: + - Supports both local and remote execution of BTEQ scripts. + - Handles connection details, script preparation, and execution. + - Provides robust error handling and logging for debugging. + - Allows configuration of session parameters like session and BTEQ I/O encoding. + + .. seealso:: + For more information on how to use this operator, take a look at the guide: + :ref:`howto/operator:BteqOperator` + + :param sql: SQL statement(s) to be executed using BTEQ. (templated) + :param file_path: Optional path to an existing SQL or BTEQ script file. If provided, this file will be used instead of the `sql` content. This path represents remote file path when executing remotely via SSH, or local file path when executing locally. + :param teradata_conn_id: Reference to a specific Teradata connection. + :param ssh_conn_id: Optional SSH connection ID for remote execution. Used only when executing scripts remotely. + :param remote_working_dir: Temporary directory location on the remote host (via SSH) where the BTEQ script will be transferred and executed. Defaults to `/tmp` if not specified. This is only applicable when `ssh_conn_id` is provided. + :param bteq_session_encoding: Character set encoding for the BTEQ session. Defaults to ASCII if not specified. + :param bteq_script_encoding: Character encoding for the BTEQ script file. Defaults to ASCII if not specified. + :param bteq_quit_rc: Accepts a single integer, list, or tuple of return codes. Specifies which BTEQ return codes should be treated as successful, allowing subsequent tasks to continue execution. + :param timeout: Timeout (in seconds) for executing the BTEQ command. Default is 600 seconds (10 minutes). + :param timeout_rc: Return code to use if the BTEQ execution fails due to a timeout. To allow DAG execution to continue after a timeout, include this value in `bteq_quit_rc`. If not specified, a timeout will raise an exception and stop the DAG. + """ + + template_fields = "sql" + ui_color = "#ff976d" + + def __init__( + self, + *, + sql: str | None = None, + file_path: str | None = None, + teradata_conn_id: str = TeradataHook.default_conn_name, + ssh_conn_id: str | None = None, + remote_working_dir: str | None = None, + bteq_session_encoding: str | None = None, + bteq_script_encoding: str | None = None, + bteq_quit_rc: int | list[int] | tuple[int, ...] | None = None, + timeout: int | Literal[600] = 600, # Default to 10 minutes + timeout_rc: int | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.sql = sql + self.file_path = file_path + self.teradata_conn_id = teradata_conn_id + self.ssh_conn_id = ssh_conn_id + self.remote_working_dir = remote_working_dir + self.timeout = timeout + self.timeout_rc = timeout_rc + self.bteq_session_encoding = bteq_session_encoding + self.bteq_script_encoding = bteq_script_encoding + self.bteq_quit_rc = bteq_quit_rc + self._hook: BteqHook | None = None + self._ssh_hook: SSHHook | None = None + self.temp_file_read_encoding = "UTF-8" + + def execute(self, context: Context) -> int | None: + """Execute BTEQ code using the BteqHook.""" + if not self.sql and not self.file_path: + raise ValueError( + "BteqOperator requires either the 'sql' or 'file_path' parameter. Both are missing." + ) + self._hook = BteqHook(teradata_conn_id=self.teradata_conn_id, ssh_conn_id=self.ssh_conn_id) + self._ssh_hook = SSHHook(ssh_conn_id=self.ssh_conn_id) if self.ssh_conn_id else None + + # Validate and set BTEQ session and script encoding + if not self.bteq_session_encoding or self.bteq_session_encoding == "ASCII": + self.bteq_session_encoding = "" + if self.bteq_script_encoding == "UTF8": + self.temp_file_read_encoding = "UTF-8" + elif self.bteq_script_encoding == "UTF16": + self.temp_file_read_encoding = "UTF-16" + self.bteq_script_encoding = "" + elif self.bteq_session_encoding == "UTF8" and ( + not self.bteq_script_encoding or self.bteq_script_encoding == "ASCII" + ): + self.bteq_script_encoding = "UTF8" + elif self.bteq_session_encoding == "UTF16": + if not self.bteq_script_encoding or self.bteq_script_encoding == "ASCII": + self.bteq_script_encoding = "UTF8" + # for file reading in python. Mapping BTEQ encoding to Python encoding + if self.bteq_script_encoding == "UTF8": + self.temp_file_read_encoding = "UTF-8" + elif self.bteq_script_encoding == "UTF16": + self.temp_file_read_encoding = "UTF-16" + + if not self.remote_working_dir: + self.remote_working_dir = "/tmp" + # Handling execution on local: + if not self._ssh_hook: + if self.sql: + bteq_script = prepare_bteq_script_for_local_execution( + sql=self.sql, + ) + return self._hook.execute_bteq_script( + bteq_script, + self.remote_working_dir, + self.bteq_script_encoding, + self.timeout, + self.timeout_rc, + self.bteq_session_encoding, + self.bteq_quit_rc, + self.temp_file_read_encoding, + ) + if self.file_path: + if not is_valid_file(self.file_path): + raise ValueError( + f"The provided file path '{self.file_path}' is invalid or does not exist." + ) + try: + is_valid_encoding(self.file_path, self.temp_file_read_encoding or "UTF-8") + except UnicodeDecodeError as e: + errmsg = f"The provided file '{self.file_path}' encoding is different from BTEQ I/O encoding i.e.'UTF-8'." + if self.bteq_script_encoding: + errmsg = f"The provided file '{self.file_path}' encoding is different from the specified BTEQ I/O encoding '{self.bteq_script_encoding}'." + raise ValueError(errmsg) from e + return self._handle_local_bteq_file( + file_path=self.file_path, + context=context, + ) + # Execution on Remote machine + elif self._ssh_hook: + # When sql statement is provided as input through sql parameter, Preparing the bteq script + if self.sql: + bteq_script = prepare_bteq_script_for_remote_execution( + conn=self._hook.get_conn(), + sql=self.sql, + ) + return self._hook.execute_bteq_script( + bteq_script, + self.remote_working_dir, + self.bteq_script_encoding, + self.timeout, + self.timeout_rc, + self.bteq_session_encoding, + self.bteq_quit_rc, + self.temp_file_read_encoding, + ) + if self.file_path: + with self._ssh_hook.get_conn() as ssh_client: + # When .sql or .bteq remote file path is provided as input through file_path parameter, executing on remote machine + if self.file_path and is_valid_remote_bteq_script_file(ssh_client, self.file_path): + return self._handle_remote_bteq_file( + ssh_client=self._ssh_hook.get_conn(), + file_path=self.file_path, + context=context, + ) + raise ValueError( + f"The provided remote file path '{self.file_path}' is invalid or file does not exist on remote machine at given path." + ) + else: + raise ValueError( + "BteqOperator requires either the 'sql' or 'file_path' parameter. Both are missing." + ) + return None + + def _handle_remote_bteq_file( + self, + ssh_client: SSHClient, + file_path: str | None, + context: Context, + ) -> int | None: + if file_path: + with ssh_client: + sftp = ssh_client.open_sftp() + try: + with sftp.open(file_path, "r") as remote_file: + original_content = remote_file.read().decode(self.temp_file_read_encoding or "UTF-8") + finally: + sftp.close() + rendered_content = original_content + if contains_template(original_content): + rendered_content = self.render_template(original_content, context) + if self._hook: + bteq_script = prepare_bteq_script_for_remote_execution( + conn=self._hook.get_conn(), + sql=rendered_content, + ) + return self._hook.execute_bteq_script_at_remote( + bteq_script, + self.remote_working_dir, + self.bteq_script_encoding, + self.timeout, + self.timeout_rc, + self.bteq_session_encoding, + self.bteq_quit_rc, + self.temp_file_read_encoding, + ) + return None + raise ValueError( + "Please provide a valid file path for the BTEQ script to be executed on the remote machine." + ) + + def _handle_local_bteq_file( + self, + file_path: str, + context: Context, + ) -> int | None: + if file_path and is_valid_file(file_path): + file_content = read_file(file_path, encoding=str(self.temp_file_read_encoding or "UTF-8")) + # Manually render using operator's context + rendered_content = file_content + if contains_template(file_content): + rendered_content = self.render_template(file_content, context) + bteq_script = prepare_bteq_script_for_local_execution( + sql=rendered_content, + ) + if self._hook: + result = self._hook.execute_bteq_script( + bteq_script, + self.remote_working_dir, + self.bteq_script_encoding, + self.timeout, + self.timeout_rc, + self.bteq_session_encoding, + self.bteq_quit_rc, + self.temp_file_read_encoding, + ) + return result + return None + + def on_kill(self) -> None: + """Handle task termination by invoking the on_kill method of BteqHook.""" + if self._hook: + self._hook.on_kill() + else: + self.log.warning("BteqHook was not initialized. Nothing to terminate.") diff --git a/providers/teradata/src/airflow/providers/teradata/utils/bteq_util.py b/providers/teradata/src/airflow/providers/teradata/utils/bteq_util.py new file mode 100644 index 0000000000000..0741ebb20090c --- /dev/null +++ b/providers/teradata/src/airflow/providers/teradata/utils/bteq_util.py @@ -0,0 +1,182 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import os +import shutil +import stat +from typing import TYPE_CHECKING, Any + +if TYPE_CHECKING: + from paramiko import SSHClient + +from airflow.exceptions import AirflowException + + +def verify_bteq_installed(): + """Verify if BTEQ is installed and available in the system's PATH.""" + if shutil.which("bteq") is None: + raise AirflowException("BTEQ is not installed or not available in the system's PATH.") + + +def verify_bteq_installed_remote(ssh_client: SSHClient): + """Verify if BTEQ is installed on the remote machine.""" + stdin, stdout, stderr = ssh_client.exec_command("which bteq") + exit_status = stdout.channel.recv_exit_status() + output = stdout.read().strip() + error = stderr.read().strip() + + if exit_status != 0 or not output: + raise AirflowException( + f"BTEQ is not installed or not available in PATH. stderr: {error.decode() if error else 'N/A'}" + ) + + +def transfer_file_sftp(ssh_client, local_path, remote_path): + sftp = ssh_client.open_sftp() + sftp.put(local_path, remote_path) + sftp.close() + + +# We can not pass host details with bteq command when executing on remote machine. Instead, we will prepare .logon in bteq script itself to avoid risk of +# exposing sensitive information +def prepare_bteq_script_for_remote_execution(conn: dict[str, Any], sql: str) -> str: + """Build a BTEQ script with necessary connection and session commands.""" + script_lines = [] + host = conn["host"] + login = conn["login"] + password = conn["password"] + script_lines.append(f" .LOGON {host}/{login},{password}") + return _prepare_bteq_script(script_lines, sql) + + +def prepare_bteq_script_for_local_execution( + sql: str, +) -> str: + """Build a BTEQ script with necessary connection and session commands.""" + script_lines: list[str] = [] + return _prepare_bteq_script(script_lines, sql) + + +def _prepare_bteq_script(script_lines: list[str], sql: str) -> str: + script_lines.append(sql.strip()) + script_lines.append(".EXIT") + return "\n".join(script_lines) + + +def _prepare_bteq_command( + timeout: int, + bteq_script_encoding: str, + bteq_session_encoding: str, + timeout_rc: int, +) -> list[str]: + bteq_core_cmd = ["bteq"] + if bteq_session_encoding: + bteq_core_cmd.append(f" -e {bteq_script_encoding}") + bteq_core_cmd.append(f" -c {bteq_session_encoding}") + bteq_core_cmd.append('"') + bteq_core_cmd.append(f".SET EXITONDELAY ON MAXREQTIME {timeout}") + if timeout_rc is not None and timeout_rc >= 0: + bteq_core_cmd.append(f" RC {timeout_rc}") + bteq_core_cmd.append(";") + # Airflow doesn't display the script of BTEQ in UI but only in log so WIDTH is 500 enough + bteq_core_cmd.append(" .SET WIDTH 500;") + return bteq_core_cmd + + +def prepare_bteq_command_for_remote_execution( + timeout: int, + bteq_script_encoding: str, + bteq_session_encoding: str, + timeout_rc: int, +) -> str: + """Prepare the BTEQ command with necessary parameters.""" + bteq_core_cmd = _prepare_bteq_command(timeout, bteq_script_encoding, bteq_session_encoding, timeout_rc) + bteq_core_cmd.append('"') + return " ".join(bteq_core_cmd) + + +def prepare_bteq_command_for_local_execution( + conn: dict[str, Any], + timeout: int, + bteq_script_encoding: str, + bteq_session_encoding: str, + timeout_rc: int, +) -> str: + """Prepare the BTEQ command with necessary parameters.""" + bteq_core_cmd = _prepare_bteq_command(timeout, bteq_script_encoding, bteq_session_encoding, timeout_rc) + host = conn["host"] + login = conn["login"] + password = conn["password"] + bteq_core_cmd.append(f" .LOGON {host}/{login},{password}") + bteq_core_cmd.append('"') + bteq_command_str = " ".join(bteq_core_cmd) + return bteq_command_str + + +def is_valid_file(file_path: str) -> bool: + return os.path.isfile(file_path) + + +def is_valid_encoding(file_path: str, encoding: str = "UTF-8") -> bool: + """ + Check if the file can be read with the specified encoding. + + :param file_path: Path to the file to be checked. + :param encoding: Encoding to use for reading the file. + :return: True if the file can be read with the specified encoding, False otherwise. + """ + with open(file_path, encoding=encoding) as f: + f.read() + return True + + +def read_file(file_path: str, encoding: str = "UTF-8") -> str: + """ + Read the content of a file with the specified encoding. + + :param file_path: Path to the file to be read. + :param encoding: Encoding to use for reading the file. + :return: Content of the file as a string. + """ + if not os.path.isfile(file_path): + raise FileNotFoundError(f"The file {file_path} does not exist.") + + with open(file_path, encoding=encoding) as f: + return f.read() + + +def is_valid_remote_bteq_script_file(ssh_client: SSHClient, remote_file_path: str, logger=None) -> bool: + """Check if the given remote file path is a valid BTEQ script file.""" + if remote_file_path: + sftp_client = ssh_client.open_sftp() + try: + # Get file metadata + file_stat = sftp_client.stat(remote_file_path) + if file_stat.st_mode: + is_regular_file = stat.S_ISREG(file_stat.st_mode) + return is_regular_file + return False + except FileNotFoundError: + if logger: + logger.error("File does not exist on remote at : %s", remote_file_path) + return False + finally: + sftp_client.close() + else: + return False diff --git a/providers/teradata/src/airflow/providers/teradata/utils/encryption_utils.py b/providers/teradata/src/airflow/providers/teradata/utils/encryption_utils.py new file mode 100644 index 0000000000000..57ed4b9855810 --- /dev/null +++ b/providers/teradata/src/airflow/providers/teradata/utils/encryption_utils.py @@ -0,0 +1,75 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import secrets +import string +import subprocess + + +def generate_random_password(length=12): + # Define the character set: letters, digits, and special characters + characters = string.ascii_letters + string.digits + string.punctuation + # Generate a random password + password = "".join(secrets.choice(characters) for _ in range(length)) + return password + + +def generate_encrypted_file_with_openssl(file_path: str, password: str, out_file: str): + # Write plaintext temporarily to file + + # Run openssl enc with AES-256-CBC, pbkdf2, salt + cmd = [ + "openssl", + "enc", + "-aes-256-cbc", + "-salt", + "-pbkdf2", + "-pass", + f"pass:{password}", + "-in", + file_path, + "-out", + out_file, + ] + subprocess.run(cmd, check=True) + + +def decrypt_remote_file_to_string(ssh_client, remote_enc_file, password, bteq_command_str): + # Run openssl decrypt command on remote machine + quoted_password = shell_quote_single(password) + + decrypt_cmd = ( + f"openssl enc -d -aes-256-cbc -salt -pbkdf2 -pass pass:{quoted_password} -in {remote_enc_file} | " + + bteq_command_str + ) + # Clear password to prevent lingering sensitive data + password = None + quoted_password = None + stdin, stdout, stderr = ssh_client.exec_command(decrypt_cmd) + # Wait for command to finish + exit_status = stdout.channel.recv_exit_status() + output = stdout.read().decode() + err = stderr.read().decode() + return exit_status, output, err + + +def shell_quote_single(s): + # Escape single quotes in s, then wrap in single quotes + # In shell, to include a single quote inside single quotes, close, add '\'' and reopen + return "'" + s.replace("'", "'\\''") + "'" diff --git a/providers/teradata/tests/system/teradata/example_bteq.py b/providers/teradata/tests/system/teradata/example_bteq.py new file mode 100644 index 0000000000000..a77f81bc697dc --- /dev/null +++ b/providers/teradata/tests/system/teradata/example_bteq.py @@ -0,0 +1,272 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +""" +Example Airflow DAG to show usage of BteqOperator. + +This DAG assumes Airflow Connection with connection id `TTU_DEFAULT` already exists in locally. It +shows how to use Teradata BTEQ commands with BteqOperator as tasks in +airflow dags using BteqeOperator. +""" + +from __future__ import annotations + +import datetime +import os + +import pytest + +from airflow import DAG + +try: + from airflow.providers.teradata.operators.bteq import BteqOperator +except ImportError: + pytest.skip("TERADATA provider not available", allow_module_level=True) + +# [START bteq_operator_howto_guide] + + +ENV_ID = os.environ.get("SYSTEM_TESTS_ENV_ID") +DAG_ID = "example_bteq" +CONN_ID = "teradata_default" +SSH_CONN_ID = "ssh_default" + +host = os.environ.get("host", "localhost") +username = os.environ.get("username", "temp") +password = os.environ.get("password", "temp") +params = { + "host": host, + "username": username, + "password": password, + "DATABASE_NAME": "airflow", + "TABLE_NAME": "my_employees", + "DB_TABLE_NAME": "airflow.my_employees", +} +with DAG( + dag_id=DAG_ID, + start_date=datetime.datetime(2020, 2, 2), + schedule="@once", + catchup=False, + default_args={"teradata_conn_id": CONN_ID, "params": params}, +) as dag: + # [START bteq_operator_howto_guide_create_table] + create_table = BteqOperator( + task_id="create_table", + sql=r""" + CREATE SET TABLE {{params.DB_TABLE_NAME}} ( + emp_id INT, + emp_name VARCHAR(100), + dept VARCHAR(50) + ) PRIMARY INDEX (emp_id); + """, + bteq_quit_rc=[0, 4], + timeout=20, + bteq_session_encoding="UTF8", + bteq_script_encoding="UTF8", + params=params, + ) + # [END bteq_operator_howto_guide_create_table] + # [START bteq_operator_howto_guide_populate_table] + populate_table = BteqOperator( + task_id="populate_table", + sql=r""" + INSERT INTO {{params.DB_TABLE_NAME}} VALUES (1, 'John Doe', 'IT'); + INSERT INTO {{params.DB_TABLE_NAME}} VALUES (2, 'Jane Smith', 'HR'); + """, + params=params, + bteq_session_encoding="UTF8", + bteq_quit_rc=0, + ) + # [END bteq_operator_howto_guide_populate_table] + + # [START bteq_operator_howto_guide_export_data_to_a_file] + export_to_a_file = BteqOperator( + task_id="export_to_a_file", + sql=r""" + .EXPORT FILE = employees_output.txt; + SELECT * FROM {{params.DB_TABLE_NAME}}; + .EXPORT RESET; + """, + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_export_data_to_a_file] + + # [START bteq_operator_howto_guide_get_it_employees] + get_it_employees = BteqOperator( + task_id="get_it_employees", + sql=r""" + SELECT * FROM {{params.DB_TABLE_NAME}} WHERE dept = 'IT'; + """, + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_get_it_employees] + + # [START bteq_operator_howto_guide_conditional_logic] + cond_logic = BteqOperator( + task_id="cond_logic", + sql=r""" + .IF ERRORCODE <> 0 THEN .GOTO handle_error; + + SELECT COUNT(*) FROM {{params.DB_TABLE_NAME}}; + + .LABEL handle_error; + """, + bteq_script_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_conditional_logic] + + # [START bteq_operator_howto_guide_error_handling] + error_handling = BteqOperator( + task_id="error_handling", + sql=r""" + DROP TABLE my_temp; + .IF ERRORCODE = 3807 THEN .GOTO table_not_found; + SELECT 'Table dropped successfully.'; + .GOTO end; + + .LABEL table_not_found; + SELECT 'Table not found - continuing execution'; + .LABEL end; + .LOGOFF; + .QUIT 0; + """, + bteq_script_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_error_handling] + + # [START bteq_operator_howto_guide_drop_table] + drop_table = BteqOperator( + task_id="drop_table", + sql=r""" + DROP TABLE {{params.DB_TABLE_NAME}}; + .IF ERRORCODE = 3807 THEN .GOTO end; + + .LABEL end; + .LOGOFF; + .QUIT 0; + """, + bteq_script_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_drop_table] + # [START bteq_operator_howto_guide_bteq_file_input] + execute_bteq_file = BteqOperator( + task_id="execute_bteq_file", + file_path="providers/teradata/tests/system/teradata/script.bteq", + params=params, + ) + # [END bteq_operator_howto_guide_bteq_file_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_input] + execute_bteq_utf8_file = BteqOperator( + task_id="execute_bteq_utf8_file", + file_path="providers/teradata/tests/system/teradata/script.bteq", + params=params, + bteq_script_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_ascii_input] + execute_bteq_utf8_session_ascii_file = BteqOperator( + task_id="execute_bteq_utf8_session_ascii_file", + file_path="providers/teradata/tests/system/teradata/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_ascii_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_utf8_input] + execute_bteq_utf8_session_utf8_file = BteqOperator( + task_id="execute_bteq_utf8_session_utf8_file", + file_path="providers/teradata/tests/system/teradata/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_utf16_input] + execute_bteq_utf8_session_utf16_file = BteqOperator( + task_id="execute_bteq_utf8_session_utf16_file", + file_path="providers/teradata/tests/system/teradata/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_input] + execute_bteq_utf16_file = BteqOperator( + task_id="execute_bteq_utf16_file", + file_path="providers/teradata/tests/system/teradata/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_input] + execute_bteq_utf16_session_ascii_file = BteqOperator( + task_id="execute_bteq_utf16_session_ascii_file", + file_path="providers/teradata/tests/system/teradata/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + execute_bteq_utf16_session_utf8_file = BteqOperator( + task_id="execute_bteq_utf16_session_utf8_file", + file_path="providers/teradata/tests/system/teradata/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + execute_bteq_utf16_session_utf16_file = BteqOperator( + task_id="execute_bteq_utf16_session_utf16_file", + file_path="providers/teradata/tests/system/teradata/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + ( + create_table + >> populate_table + >> export_to_a_file + >> get_it_employees + >> cond_logic + >> error_handling + >> drop_table + >> execute_bteq_file + >> execute_bteq_utf8_file + >> execute_bteq_utf8_session_ascii_file + >> execute_bteq_utf8_session_utf8_file + >> execute_bteq_utf8_session_utf16_file + >> execute_bteq_utf16_file + >> execute_bteq_utf16_session_ascii_file + >> execute_bteq_utf16_session_utf8_file + >> execute_bteq_utf16_session_utf16_file + ) + + # [END bteq_operator_howto_guide] + + from tests_common.test_utils.watcher import watcher + + # This test needs watcher in order to properly mark success/failure + # when "tearDown" task with trigger rule is part of the DAG + list(dag.tasks) >> watcher() + +from tests_common.test_utils.system_tests import get_test_run # noqa: E402 + +# Needed to run the example DAG with pytest (see: tests/system/README.md#run_via_pytest) +test_run = get_test_run(dag) diff --git a/providers/teradata/tests/system/teradata/example_remote_bteq.py b/providers/teradata/tests/system/teradata/example_remote_bteq.py new file mode 100644 index 0000000000000..76bedff0b950f --- /dev/null +++ b/providers/teradata/tests/system/teradata/example_remote_bteq.py @@ -0,0 +1,272 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +""" +Example Airflow DAG to show usage of BteqOperator. + +This DAG assumes Airflow Connection with connection id `TTU_DEFAULT` already exists in locally. It +shows how to use Teradata BTEQ commands with BteqOperator as tasks in +airflow dags using BteqeOperator. +""" + +from __future__ import annotations + +import datetime +import os + +import pytest + +from airflow import DAG + +try: + from airflow.providers.teradata.operators.bteq import BteqOperator +except ImportError: + pytest.skip("TERADATA provider not available", allow_module_level=True) + +# [START bteq_operator_howto_guide] + + +ENV_ID = os.environ.get("SYSTEM_TESTS_ENV_ID") +DAG_ID = "example_remote_bteq" +CONN_ID = "teradata_default" +SSH_CONN_ID = "ssh_default" + +host = os.environ.get("host", "localhost") +username = os.environ.get("username", "temp") +password = os.environ.get("password", "temp") +params = { + "host": host, + "username": username, + "password": password, + "DATABASE_NAME": "airflow", + "TABLE_NAME": "my_employees", + "DB_TABLE_NAME": "airflow.my_employees", +} +with DAG( + dag_id=DAG_ID, + start_date=datetime.datetime(2020, 2, 2), + schedule="@once", + catchup=False, + default_args={"teradata_conn_id": CONN_ID, "params": params, "ssh_conn_id": SSH_CONN_ID}, +) as dag: + # [START bteq_operator_howto_guide_create_table] + create_table = BteqOperator( + task_id="create_table", + sql=r""" + CREATE SET TABLE {{params.DB_TABLE_NAME}} ( + emp_id INT, + emp_name VARCHAR(100), + dept VARCHAR(50) + ) PRIMARY INDEX (emp_id); + """, + bteq_quit_rc=[0, 4], + timeout=20, + bteq_session_encoding="UTF8", + bteq_script_encoding="UTF8", + params=params, + ) + # [END bteq_operator_howto_guide_create_table] + # [START bteq_operator_howto_guide_populate_table] + populate_table = BteqOperator( + task_id="populate_table", + sql=r""" + INSERT INTO {{params.DB_TABLE_NAME}} VALUES (1, 'John Doe', 'IT'); + INSERT INTO {{params.DB_TABLE_NAME}} VALUES (2, 'Jane Smith', 'HR'); + """, + params=params, + bteq_session_encoding="UTF8", + bteq_quit_rc=0, + ) + # [END bteq_operator_howto_guide_populate_table] + + # [START bteq_operator_howto_guide_export_data_to_a_file] + export_to_a_file = BteqOperator( + task_id="export_to_a_file", + sql=r""" + .EXPORT FILE = employees_output.txt; + SELECT * FROM {{params.DB_TABLE_NAME}}; + .EXPORT RESET; + """, + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_export_data_to_a_file] + + # [START bteq_operator_howto_guide_get_it_employees] + get_it_employees = BteqOperator( + task_id="get_it_employees", + sql=r""" + SELECT * FROM {{params.DB_TABLE_NAME}} WHERE dept = 'IT'; + """, + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_get_it_employees] + + # [START bteq_operator_howto_guide_conditional_logic] + cond_logic = BteqOperator( + task_id="cond_logic", + sql=r""" + .IF ERRORCODE <> 0 THEN .GOTO handle_error; + + SELECT COUNT(*) FROM {{params.DB_TABLE_NAME}}; + + .LABEL handle_error; + """, + bteq_script_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_conditional_logic] + + # [START bteq_operator_howto_guide_error_handling] + error_handling = BteqOperator( + task_id="error_handling", + sql=r""" + DROP TABLE my_temp; + .IF ERRORCODE = 3807 THEN .GOTO table_not_found; + SELECT 'Table dropped successfully.'; + .GOTO end; + + .LABEL table_not_found; + SELECT 'Table not found - continuing execution'; + .LABEL end; + .LOGOFF; + .QUIT 0; + """, + bteq_script_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_error_handling] + + # [START bteq_operator_howto_guide_drop_table] + drop_table = BteqOperator( + task_id="drop_table", + sql=r""" + DROP TABLE {{params.DB_TABLE_NAME}}; + .IF ERRORCODE = 3807 THEN .GOTO end; + + .LABEL end; + .LOGOFF; + .QUIT 0; + """, + bteq_script_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_drop_table] + # [START bteq_operator_howto_guide_bteq_file_input] + execute_bteq_file = BteqOperator( + task_id="execute_bteq_file", + file_path="/home/devtools/satish/airflow/script.bteq", + params=params, + ) + # [END bteq_operator_howto_guide_bteq_file_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_input] + execute_bteq_utf8_file = BteqOperator( + task_id="execute_bteq_utf8_file", + file_path="/home/devtools/satish/airflow/script.bteq", + params=params, + bteq_script_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_ascii_input] + execute_bteq_utf8_session_ascii_file = BteqOperator( + task_id="execute_bteq_utf8_session_ascii_file", + file_path="/home/devtools/satish/airflow/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_ascii_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_utf8_input] + execute_bteq_utf8_session_utf8_file = BteqOperator( + task_id="execute_bteq_utf8_session_utf8_file", + file_path="/home/devtools/satish/airflow/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf8_session_utf16_input] + execute_bteq_utf8_session_utf16_file = BteqOperator( + task_id="execute_bteq_utf8_session_utf16_file", + file_path="/home/devtools/satish/airflow/script.bteq", + params=params, + bteq_script_encoding="UTF8", + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf8_session_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_input] + execute_bteq_utf16_file = BteqOperator( + task_id="execute_bteq_utf16_file", + file_path="/home/devtools/satish/airflow/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_input] + execute_bteq_utf16_session_ascii_file = BteqOperator( + task_id="execute_bteq_utf16_session_ascii_file", + file_path="/home/devtools/satish/airflow/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="ASCII", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + execute_bteq_utf16_session_utf8_file = BteqOperator( + task_id="execute_bteq_utf16_session_utf8_file", + file_path="/home/devtools/satish/airflow/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="UTF8", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + # [START bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + execute_bteq_utf16_session_utf16_file = BteqOperator( + task_id="execute_bteq_utf16_session_utf16_file", + file_path="/home/devtools/satish/airflow/script_utf16.bteq", + params=params, + bteq_script_encoding="UTF16", + bteq_session_encoding="UTF16", + ) + # [END bteq_operator_howto_guide_bteq_file_utf16_session_utf8_input] + ( + create_table + >> populate_table + >> export_to_a_file + >> get_it_employees + >> cond_logic + >> error_handling + >> drop_table + >> execute_bteq_file + >> execute_bteq_utf8_file + >> execute_bteq_utf8_session_ascii_file + >> execute_bteq_utf8_session_utf8_file + >> execute_bteq_utf8_session_utf16_file + >> execute_bteq_utf16_file + >> execute_bteq_utf16_session_ascii_file + >> execute_bteq_utf16_session_utf8_file + >> execute_bteq_utf16_session_utf16_file + ) + + # [END bteq_operator_howto_guide] + + from tests_common.test_utils.watcher import watcher + + # This test needs watcher in order to properly mark success/failure + # when "tearDown" task with trigger rule is part of the DAG + list(dag.tasks) >> watcher() + +from tests_common.test_utils.system_tests import get_test_run # noqa: E402 + +# Needed to run the example DAG with pytest (see: tests/system/README.md#run_via_pytest) +test_run = get_test_run(dag) diff --git a/providers/teradata/tests/system/teradata/script b/providers/teradata/tests/system/teradata/script new file mode 100644 index 0000000000000..346e647b1aeae --- /dev/null +++ b/providers/teradata/tests/system/teradata/script @@ -0,0 +1,15 @@ +.LOGON {{params.host}}/{{params.username}},{{params.password}} +.IF ERRORCODE <> 0 THEN .QUIT 8 +.SET WIDTH 500 +.SET SESSION CHARSET 'ASCII' +DATABASE {{params.DATABASE_NAME}}; +CREATE SET TABLE {{params.TABLE_NAME}} ( + emp_id INT, + emp_name VARCHAR(100), + dept VARCHAR(50) + ) PRIMARY INDEX (emp_id); +INSERT INTO {{params.TABLE_NAME}} VALUES (1, 'John Doe', 'IT'); +INSERT INTO {{params.TABLE_NAME}} VALUES (2, 'Jane Smith', 'HR'); +DROP TABLE {{params.TABLE_NAME}}; +.LOGOFF +.quit 0 diff --git a/providers/teradata/tests/system/teradata/script.bteq b/providers/teradata/tests/system/teradata/script.bteq new file mode 100644 index 0000000000000..346e647b1aeae --- /dev/null +++ b/providers/teradata/tests/system/teradata/script.bteq @@ -0,0 +1,15 @@ +.LOGON {{params.host}}/{{params.username}},{{params.password}} +.IF ERRORCODE <> 0 THEN .QUIT 8 +.SET WIDTH 500 +.SET SESSION CHARSET 'ASCII' +DATABASE {{params.DATABASE_NAME}}; +CREATE SET TABLE {{params.TABLE_NAME}} ( + emp_id INT, + emp_name VARCHAR(100), + dept VARCHAR(50) + ) PRIMARY INDEX (emp_id); +INSERT INTO {{params.TABLE_NAME}} VALUES (1, 'John Doe', 'IT'); +INSERT INTO {{params.TABLE_NAME}} VALUES (2, 'Jane Smith', 'HR'); +DROP TABLE {{params.TABLE_NAME}}; +.LOGOFF +.quit 0 diff --git a/providers/teradata/tests/system/teradata/script.sql b/providers/teradata/tests/system/teradata/script.sql new file mode 100644 index 0000000000000..84d93c5fe9aea --- /dev/null +++ b/providers/teradata/tests/system/teradata/script.sql @@ -0,0 +1,29 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +DATABASE {{params.DATABASE_NAME}}; +CREATE SET TABLE {{params.TABLE_NAME}} ( + emp_id INT, + emp_name VARCHAR(100), + dept VARCHAR(50) + ) PRIMARY INDEX (emp_id); +INSERT INTO {{params.TABLE_NAME}} VALUES (1, 'John Doe', 'IT'); +INSERT INTO {{params.TABLE_NAME}} VALUES (2, 'Jane Smith', 'HR'); +SELECT * FROM {{params.TABLE_NAME}}; +DROP TABLE {{params.TABLE_NAME}}; diff --git a/providers/teradata/tests/system/teradata/script_utf16.bteq b/providers/teradata/tests/system/teradata/script_utf16.bteq new file mode 100644 index 0000000000000000000000000000000000000000..34d329deb91b007542852df992eb67bd09df78c4 GIT binary patch literal 980 zcmcJOO;5r=5Qg6~zhZBN#2}cMm}pFpf?$v;#jg_~p$Qxm1c?XZUss=5S`euR4`#CM z?#|3R?|kg%M_C<3I%jp|^oGnd)SUIGg~}Rh%Kt_0$bOD~i8jIh$$KQ;ZZF5qP#4H6 zcyo=sT><>In#66WheWJ8-;lG@iB9=eSbep)F@9xT>js}b`y-iujK)rP+=kxL=@75V zme#Cdq@Ctj2eC%9%sb!|6T6KBc!r$&tTTUaY<4U2(`Ep}nl6cCwK@i+PK1U>GK4JF z3b%tM4|Sv6#&ary=u%1O&P)SMsHB5)7q)vj`m8HXxA3s)uJSIb>T6Wm@*2^}8NJ@M zwu+X%;g_(v0 empty string) + 600, # timeout default + None, # timeout_rc + "", # bteq_session_encoding + None, # bteq_quit_rc + "UTF-8", + ) + assert result == expected_result + + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.execute_bteq_script") + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.__init__", return_value=None) + def test_execute_sql_local(self, mock_hook_init, mock_execute_script): + sql = "SELECT * FROM test_table;" + expected_result = 0 + mock_execute_script.return_value = expected_result + context = {} + + op = BteqOperator( + task_id="test_local_sql", + sql=sql, + teradata_conn_id="td_conn", + ) + op._hook = mock.Mock() + op._hook.execute_bteq_script = mock_execute_script + + result = op.execute(context) + + mock_hook_init.assert_called_once_with(teradata_conn_id="td_conn", ssh_conn_id=None) + mock_execute_script.assert_called_once() + assert result == expected_result + + @mock.patch.object(BteqHook, "on_kill") + def test_on_kill(self, mock_on_kill): + task_id = "test_bteq_operator" + sql = "SELECT * FROM my_table;" + # Given + operator = BteqOperator( + task_id=task_id, + sql=sql, + ) + operator._hook = BteqHook(None) + + # When + operator.on_kill() + + # Then + mock_on_kill.assert_called_once() + + def test_on_kill_not_initialized(self): + task_id = "test_bteq_operator" + sql = "SELECT * FROM my_table;" + # Given + operator = BteqOperator( + task_id=task_id, + sql=sql, + ) + operator._hook = None + + # When/Then (no exception should be raised) + operator.on_kill() + + def test_template_fields(self): + # Verify template fields are defined correctly + print(BteqOperator.template_fields) + assert BteqOperator.template_fields == "sql" + + def test_execute_raises_if_no_sql_or_file(self): + op = BteqOperator(task_id="fail_case", teradata_conn_id="td_conn") + with pytest.raises(ValueError, match="requires either the 'sql' or 'file_path' parameter"): + op.execute({}) + + @mock.patch("airflow.providers.teradata.operators.bteq.is_valid_file", return_value=False) + def test_invalid_file_path(self, mock_is_valid_file): + op = BteqOperator( + task_id="fail_invalid_file", + file_path="/invalid/path.sql", + teradata_conn_id="td_conn", + ) + with pytest.raises(ValueError, match="is invalid or does not exist"): + op.execute({}) + + @mock.patch("airflow.providers.teradata.operators.bteq.is_valid_file", return_value=True) + @mock.patch( + "airflow.providers.teradata.operators.bteq.is_valid_encoding", + side_effect=UnicodeDecodeError("utf8", b"", 0, 1, "error"), + ) + def test_file_encoding_error(self, mock_encoding, mock_valid_file): + op = BteqOperator( + task_id="encoding_fail", + file_path="/tmp/test.sql", + bteq_script_encoding="UTF-8", + teradata_conn_id="td_conn", + ) + with pytest.raises(ValueError, match="encoding is different from BTEQ I/O encoding"): + op.execute({}) + + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.execute_bteq_script") + @mock.patch("airflow.providers.teradata.operators.bteq.is_valid_file", return_value=True) + @mock.patch("airflow.providers.teradata.operators.bteq.is_valid_encoding") + @mock.patch("airflow.providers.teradata.operators.bteq.read_file") + def test_execute_local_file( + self, + mock_read_file, + mock_valid_encoding, + mock_valid_file, + mock_execute_bteq_script, + ): + mock_execute_bteq_script.return_value = 0 + sql_content = "SELECT * FROM table_name;" + mock_read_file.return_value = sql_content + + with tempfile.NamedTemporaryFile("w+", suffix=".sql", delete=False) as tmp_file: + tmp_file.write(sql_content) + tmp_file_path = tmp_file.name + + op = BteqOperator( + task_id="test_bteq_local_file", + file_path=tmp_file_path, + teradata_conn_id="teradata_default", + ) + + result = op.execute(context={}) + + assert result == 0 + mock_execute_bteq_script.assert_called_once() + + def test_on_kill_calls_hook(self): + op = BteqOperator(task_id="kill_test", teradata_conn_id="td_conn") + op._hook = mock.Mock() + op.on_kill() + op._hook.on_kill.assert_called_once() + + def test_on_kill_logs_if_no_hook(self): + op = BteqOperator(task_id="kill_no_hook", teradata_conn_id="td_conn") + op._hook = None + + with mock.patch.object(op.log, "warning") as mock_log_info: + op.on_kill() + mock_log_info.assert_called_once_with("BteqHook was not initialized. Nothing to terminate.") + + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.execute_bteq_script") + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.get_conn") + @mock.patch("airflow.providers.teradata.operators.bteq.SSHHook") + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.__init__", return_value=None) + def test_remote_execution_with_sql( + self, + mock_bteq_hook_init, + mock_ssh_hook_class, + mock_get_conn, + mock_execute_bteq_script, + ): + mock_execute_bteq_script.return_value = 0 + mock_ssh_hook_instance = mock.Mock() + mock_ssh_hook_class.return_value = mock_ssh_hook_instance + + op = BteqOperator( + task_id="test_remote_sql", + sql="SELECT * FROM customers;", + ssh_conn_id="ssh_default", + teradata_conn_id="teradata_default", + ) + + result = op.execute(context={}) + + mock_bteq_hook_init.assert_called_once_with( + teradata_conn_id="teradata_default", ssh_conn_id="ssh_default" + ) + mock_execute_bteq_script.assert_called_once() + assert result == 0 + + @mock.patch("airflow.models.BaseOperator.render_template") + def test_render_template_in_sql(self, mock_render): + op = BteqOperator(task_id="render_test", sql="SELECT * FROM {{ params.table }};") + mock_render.return_value = "SELECT * FROM my_table;" + rendered_sql = op.render_template("sql", op.sql, context={"params": {"table": "my_table"}}) + assert rendered_sql == "SELECT * FROM my_table;" + + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.execute_bteq_script", return_value=99) + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.__init__", return_value=None) + def test_bteq_timeout_with_custom_rc(self, mock_hook_init, mock_exec): + op = BteqOperator( + task_id="timeout_case", + sql="SELECT 1", + teradata_conn_id="td_conn", + timeout=30, + timeout_rc=99, + bteq_quit_rc=[99], + ) + result = op.execute({}) + assert result == 99 + mock_exec.assert_called_once() + + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.execute_bteq_script", return_value=42) + @mock.patch("airflow.providers.teradata.operators.bteq.BteqHook.__init__", return_value=None) + def test_bteq_return_code_not_in_quit_rc(self, mock_hook_init, mock_exec): + op = BteqOperator( + task_id="rc_not_allowed", sql="SELECT 1", teradata_conn_id="td_conn", bteq_quit_rc=[0, 1] + ) + result = op.execute({}) + assert result == 42 # still returns, but caller can fail on RC if desired + + +if __name__ == "__main__": + unittest.main() diff --git a/providers/teradata/tests/unit/teradata/utils/test_bteq_util.py b/providers/teradata/tests/unit/teradata/utils/test_bteq_util.py new file mode 100644 index 0000000000000..f0ee54aaa6804 --- /dev/null +++ b/providers/teradata/tests/unit/teradata/utils/test_bteq_util.py @@ -0,0 +1,187 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import os +import stat +import unittest +from unittest.mock import MagicMock, patch + +import pytest + +from airflow.exceptions import AirflowException +from airflow.providers.teradata.utils.bteq_util import ( + is_valid_encoding, + is_valid_file, + is_valid_remote_bteq_script_file, + prepare_bteq_script_for_local_execution, + prepare_bteq_script_for_remote_execution, + read_file, + transfer_file_sftp, + verify_bteq_installed, + verify_bteq_installed_remote, +) + + +class TestBteqUtils: + @patch("shutil.which") + def test_verify_bteq_installed_success(self, mock_which): + mock_which.return_value = "/usr/bin/bteq" + # Should not raise + verify_bteq_installed() + mock_which.assert_called_with("bteq") + + @patch("shutil.which") + def test_verify_bteq_installed_fail(self, mock_which): + mock_which.return_value = None + with pytest.raises(AirflowException): + verify_bteq_installed() + + def test_prepare_bteq_script_for_remote_execution(self): + conn = {"host": "myhost", "login": "user", "password": "pass"} + sql = "SELECT * FROM DUAL;" + script = prepare_bteq_script_for_remote_execution(conn, sql) + assert ".LOGON myhost/user,pass" in script + assert "SELECT * FROM DUAL;" in script + assert ".EXIT" in script + + def test_prepare_bteq_script_for_local_execution(self): + sql = "SELECT 1;" + script = prepare_bteq_script_for_local_execution(sql) + assert "SELECT 1;" in script + assert ".EXIT" in script + + @patch("paramiko.SSHClient.exec_command") + def test_verify_bteq_installed_remote_success(self, mock_exec): + mock_stdin = MagicMock() + mock_stdout = MagicMock() + mock_stderr = MagicMock() + mock_stdout.channel.recv_exit_status.return_value = 0 + mock_stdout.read.return_value = b"/usr/bin/bteq" + mock_stderr.read.return_value = b"" + mock_exec.return_value = (mock_stdin, mock_stdout, mock_stderr) + + ssh_client = MagicMock() + ssh_client.exec_command = mock_exec + + # Should not raise + verify_bteq_installed_remote(ssh_client) + + @patch("paramiko.SSHClient.exec_command") + def test_verify_bteq_installed_remote_fail(self, mock_exec): + mock_stdin = MagicMock() + mock_stdout = MagicMock() + mock_stderr = MagicMock() + mock_stdout.channel.recv_exit_status.return_value = 1 + mock_stdout.read.return_value = b"" + mock_stderr.read.return_value = b"command not found" + mock_exec.return_value = (mock_stdin, mock_stdout, mock_stderr) + + ssh_client = MagicMock() + ssh_client.exec_command = mock_exec + + with pytest.raises(AirflowException): + verify_bteq_installed_remote(ssh_client) + + @patch("paramiko.SSHClient.open_sftp") + def test_transfer_file_sftp(self, mock_open_sftp): + mock_sftp = MagicMock() + mock_open_sftp.return_value = mock_sftp + + ssh_client = MagicMock() + ssh_client.open_sftp = mock_open_sftp + + transfer_file_sftp(ssh_client, "local_file.txt", "remote_file.txt") + + mock_open_sftp.assert_called_once() + mock_sftp.put.assert_called_once_with("local_file.txt", "remote_file.txt") + mock_sftp.close.assert_called_once() + + def test_is_valid_file(self): + # create temp file + with open("temp_test_file.txt", "w") as f: + f.write("hello") + + assert is_valid_file("temp_test_file.txt") is True + assert is_valid_file("non_existent_file.txt") is False + + os.remove("temp_test_file.txt") + + def test_is_valid_encoding(self): + # Write a file with UTF-8 encoding + with open("temp_utf8_file.txt", "w", encoding="utf-8") as f: + f.write("hello world") + + # Should return True + assert is_valid_encoding("temp_utf8_file.txt", encoding="utf-8") is True + + # Cleanup + os.remove("temp_utf8_file.txt") + + def test_read_file_success(self): + content = "Sample content" + with open("temp_read_file.txt", "w") as f: + f.write(content) + + read_content = read_file("temp_read_file.txt") + assert read_content == content + os.remove("temp_read_file.txt") + + def test_read_file_file_not_found(self): + with pytest.raises(FileNotFoundError): + read_file("non_existent_file.txt") + + @patch("paramiko.SSHClient.open_sftp") + def test_is_valid_remote_bteq_script_file_exists(self, mock_open_sftp): + mock_sftp = MagicMock() + mock_open_sftp.return_value = mock_sftp + + # Mock stat to return a regular file mode + mock_stat = MagicMock() + mock_stat.st_mode = stat.S_IFREG + mock_sftp.stat.return_value = mock_stat + + ssh_client = MagicMock() + ssh_client.open_sftp = mock_open_sftp + + result = is_valid_remote_bteq_script_file(ssh_client, "/remote/path/to/file") + assert result is True + mock_sftp.close.assert_called_once() + + @patch("paramiko.SSHClient.open_sftp") + def test_is_valid_remote_bteq_script_file_not_exists(self, mock_open_sftp): + mock_sftp = MagicMock() + mock_open_sftp.return_value = mock_sftp + + # Raise FileNotFoundError for stat + mock_sftp.stat.side_effect = FileNotFoundError + + ssh_client = MagicMock() + ssh_client.open_sftp = mock_open_sftp + + result = is_valid_remote_bteq_script_file(ssh_client, "/remote/path/to/file") + assert result is False + mock_sftp.close.assert_called_once() + + def test_is_valid_remote_bteq_script_file_none_path(self): + ssh_client = MagicMock() + result = is_valid_remote_bteq_script_file(ssh_client, None) + assert result is False + + +if __name__ == "__main__": + unittest.main() diff --git a/providers/teradata/tests/unit/teradata/utils/test_encryption_utils.py b/providers/teradata/tests/unit/teradata/utils/test_encryption_utils.py new file mode 100644 index 0000000000000..ba688182ae6a9 --- /dev/null +++ b/providers/teradata/tests/unit/teradata/utils/test_encryption_utils.py @@ -0,0 +1,108 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import string +import unittest +from unittest.mock import MagicMock, patch + +from airflow.providers.teradata.utils.encryption_utils import ( + decrypt_remote_file_to_string, + generate_encrypted_file_with_openssl, + generate_random_password, + shell_quote_single, +) + + +class TestEncryptionUtils: + def test_generate_random_password_length(self): + pwd = generate_random_password(16) + assert len(pwd) == 16 + # Check characters are in allowed set + allowed_chars = string.ascii_letters + string.digits + string.punctuation + assert (all(c in allowed_chars for c in pwd)) is True + + @patch("subprocess.run") + def test_generate_encrypted_file_with_openssl_calls_subprocess(self, mock_run): + file_path = "/tmp/plain.txt" + password = "testpass" + out_file = "/tmp/encrypted.enc" + + generate_encrypted_file_with_openssl(file_path, password, out_file) + + mock_run.assert_called_once_with( + [ + "openssl", + "enc", + "-aes-256-cbc", + "-salt", + "-pbkdf2", + "-pass", + f"pass:{password}", + "-in", + file_path, + "-out", + out_file, + ], + check=True, + ) + + def test_shell_quote_single_simple(self): + s = "simple" + quoted = shell_quote_single(s) + assert quoted == "'simple'" + + def test_shell_quote_single_with_single_quote(self): + s = "O'Reilly" + quoted = shell_quote_single(s) + assert quoted == "'O'\\''Reilly'" + + def test_decrypt_remote_file_to_string(self): + password = "mysecret" + remote_enc_file = "/remote/encrypted.enc" + bteq_command_str = "bteq -c UTF-8" + + ssh_client = MagicMock() + mock_stdin = MagicMock() + mock_stdout = MagicMock() + mock_stderr = MagicMock() + + # Setup mock outputs and exit code + mock_stdout.channel.recv_exit_status.return_value = 0 + mock_stdout.read.return_value = b"decrypted output" + mock_stderr.read.return_value = b"" + + ssh_client.exec_command.return_value = (mock_stdin, mock_stdout, mock_stderr) + + exit_status, output, err = decrypt_remote_file_to_string( + ssh_client, remote_enc_file, password, bteq_command_str + ) + + quoted_password = shell_quote_single(password) + expected_cmd = ( + f"openssl enc -d -aes-256-cbc -salt -pbkdf2 -pass pass:{quoted_password} -in {remote_enc_file} | " + + bteq_command_str + ) + + ssh_client.exec_command.assert_called_once_with(expected_cmd) + assert exit_status == 0 + assert output == "decrypted output" + assert err == "" + + +if __name__ == "__main__": + unittest.main() From e7c35aff298f5b83f69f5949bdf96619cee7c31c Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 21 Jun 2025 15:07:49 +0200 Subject: [PATCH 024/381] Update diagrams generated in our code: (#51996) The diagram generation was slightly broken after we moved the docs to devel-common. This PR fixes it by adding proper paths to common diagramming .png files but also add inline pyproject.toml definitions so that the diagram generating scripts can be run as "standalone" scripts with `uv run`. Also multi-team diagram was simplified following recent AIP-67 proposal. --- ...m_auth_manager_airflow_architecture.md5sum | 2 +- ...gram_auth_manager_airflow_architecture.png | Bin 54220 -> 50671 bytes ...agram_auth_manager_airflow_architecture.py | 15 +++++- .../diagram_basic_airflow_architecture.md5sum | 2 +- .../diagram_basic_airflow_architecture.png | Bin 117106 -> 116548 bytes .../img/diagram_basic_airflow_architecture.py | 17 +++++-- ..._dag_processor_airflow_architecture.md5sum | 2 +- ...ram_dag_processor_airflow_architecture.png | Bin 238002 -> 240630 bytes ...gram_dag_processor_airflow_architecture.py | 18 +++++-- ...am_distributed_airflow_architecture.md5sum | 2 +- ...agram_distributed_airflow_architecture.png | Bin 192331 -> 174855 bytes ...iagram_distributed_airflow_architecture.py | 18 +++++-- ...ram_multi_team_airflow_architecture.md5sum | 2 +- ...iagram_multi_team_airflow_architecture.png | Bin 630129 -> 578476 bytes ...diagram_multi_team_airflow_architecture.py | 48 +++++++----------- .../docs/img/diagram_task_lifecycle.md5sum | 2 +- .../docs/img/diagram_task_lifecycle.png | Bin 529144 -> 604573 bytes .../docs/img/diagram_task_lifecycle.py | 28 +++++++--- 18 files changed, 101 insertions(+), 55 deletions(-) diff --git a/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.md5sum b/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.md5sum index ac3e24d8483b8..d108e6b94b972 100644 --- a/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.md5sum +++ b/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.md5sum @@ -1 +1 @@ -5b82cba489898a46dcfe5f458eeee33b +cdcfa104c489e0e679894e344084c061 diff --git a/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.png b/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.png index 35f3f418f2df4fb59023b7c29dd2921a73ba511c..2a677c0dc9b2439d831b5d4ee9a83f37e28b00d9 100644 GIT binary patch literal 50671 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 DkpDOP literal 54220 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 X1oLMaESgFF!F_271@U501ONXI0&UKa diff --git a/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.py b/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.py index 453d17267c8c6..b38c633cfde86 100644 --- a/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.py +++ b/airflow-core/docs/img/diagram_auth_manager_airflow_architecture.py @@ -14,6 +14,13 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "rich>=12.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -25,7 +32,13 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -PYTHON_MULTIPROCESS_LOGO = MY_DIR.parents[1] / "diagrams" / "python_multiprocess_logo.png" +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" console = Console(width=400, color_system="standard") diff --git a/airflow-core/docs/img/diagram_basic_airflow_architecture.md5sum b/airflow-core/docs/img/diagram_basic_airflow_architecture.md5sum index 810a76ed84d78..c0165abb926c3 100644 --- a/airflow-core/docs/img/diagram_basic_airflow_architecture.md5sum +++ b/airflow-core/docs/img/diagram_basic_airflow_architecture.md5sum @@ -1 +1 @@ -cc2aca72cb388d28842e539f599d373c +02bb21a66db61c0ea72aae788d1cd7da diff --git a/airflow-core/docs/img/diagram_basic_airflow_architecture.png b/airflow-core/docs/img/diagram_basic_airflow_architecture.png index 94a0590419f331c8deab0833016a47574fed7e22..b027745363ca0fc198cc200f256bcde2a29ba39b 100644 GIT binary patch literal 116548 zcmeFZi91yP`#(;-O0rc-sgRH)BwN-=vWK!~t?XHgu?1jW#6!ehFuKf0wSgV14e= zCAm+#HxaPSI5ff~4BY1i+o;{BWdE0_%Q>s;GLSvkhwvgvR}sUI`nD(_LjcA$y}bF+gg+gYX;byh(r+|lYR+uIc>aB`V9wo7Yf9&p3^hRmZm2%T8&sG$qB@CB|*EZrt2@c^={4FQB@suJ{Ux zFg6HLWeo3=YyKK>jVZkUg-3bvC~_N-9efC0f-9#LniPo^CabS$5|HiSz17Hby#Mel z=13qofRS|D;Hoz@bUoE0VlXvI=(BNfyeQwOb`net`#Gpn-~Nl99W&#bWT5@T>9b6e!tR|) ziZn=Wm&G6rSpYT06_N4^WIeNb_FsSA#u%7+O7F=aZpN(m@`x0sjG+~7BXH69m6+(o?WG{hWtt4I zw3CIcumIOTYG^zTp*gfD>57_|nUCozIh}Lz>o9X2Lu;ohi9nM4^mJ`I=;O}iGD)zI zBev&_eg{Q4cNimXDHm{DWU3x+^))eEqyD9(E!8*8J*F2#HegRyS3X+~Q6 zlbXgn!}L>2nZ_s3eHk3+<(nT?^7^~m=-4XPPs7ok(mGy~7{k)chNp}2@f>qavZ>cb zm2}tqk_Ptg#KT9+n+itzrdRn(+!V)uOZAtU>gwTwhrFN#qbe49O1gSb)3u4u<=E>W zRDRPf4OA&0#o>r1BH~+=uu`Hy8qm+B{XUw?j~~z}e86+;5SLCiFo(wl{NaEV2WW#I ze7iD%flmSWpWR})Ss9NGK(rcz$p-4aC?nHnsXN^xC0oV5eubY!k!MZ znZZw8FvF!7E3m2)($Srb-f&8qaq%7WqPdwKtTrDAO*^3(@f82 z_*khD&^aw>s?Npv$5qZVnHS#Ap@0y_Mw8{IH;ju}&l-<#aN>$M%yjii?;Gm@p1QV0 zCndqJ@r?26rY6b`#>J<^#+vf-@^=3i9*#8?8Q0M@Gc&M!%GmFX{CJ0x3&)WVIE$3s zIq*5H6ff=KywZ8J?`;u-p)F9E1TIKcRCH4Jf;ir!zlr6i<1poDMa6$*iJQE z4tBL6>xk-fOZ^;v)so(mY)hOeV~*1YYHJa-R|6frC)Sz|9i{) zcEVNYRmM$BSN?`sg&St9!Z7{jr^#1VsZx-mNR{oET<|mt|G{#;YrVBjy>)(TBX@0E zZw5#{|5_++?(9)+$Xl9ZoXPV9q6Ew|f1*3e3au=Lo+xeJ%#ED3DJ;FW#w9E;hd@a{ zXJ}CV>rPvC=&H^RCEhY+1_YalO})m?UT-AxPdO9^tzUo3$&iE${44JsR?hLQrlwf8 zcn(dJeDLk2u9mh|?eeT*h78EOp~)TCVApyRCTW?@R@EpE*k6&J=s?qD{!{?+F(+t)8 z9!)yw^Tv-&b59BHx+dVSe?#_ntCj?4l;-EpwMJx-SKVKIwtHcspz+&;tmU9!CJF?f z&<1$v)YUt_!Y8sn%3Wy8lSG?-=bxTq6UGS_;>@jt2M_b3mSwy_PR^dvp+x&L46E#; z_iKBO=h48`c??yWKCaUppd8@ zIem98HYF)BkNFzcq<>k+R-EY40+-?g@HRfdX*@G2<&KE1%Y%ojc8LowF@<#W)5d$Z zORi+k1gohT;}(Kr^0==mJ*hf11`eTT$5z;8fkVkz#=I9!92^DGQf-Rm@A0TO$1g1@JF{1FuUb1y1vb?D*VtCETM-WuR4sLwON<#mE_)mRAuk=s%$sAET1w8+`Yvoz%U+O z;;%~?0ILud*7riE;q*-DiM1tPIu+eQtfNb@eXTHr;ROq21>448Tb_wK>AzHwID@4+tbi>fLWrl_nZ@F&u# z<9`m?U|}f(DRJ3F)ADWy{dFdn)YxsuI6mJG_PrZ?60VO+fiI1XBD1ka-9j=}X6wi7 z%{0q$hC$wO#x5aF59P+DOHv#eTMr6|Q>vo=EZ#}L96g&b7Xb#Gcx+s#H$GcdwXU0b zab2eA`^&~XW2q7ya(aLNkzuLHIPi4+`R*Gws|EN5JFDtfKs(X`xCbg%MvN{7s1>HP z(9NX!xWY(fHUZcquLUjcurVt0RN*xx_FLxc6PCuoM&ulKJ?%_r0$h3KJIdisgg1yV z+}ve0BG3x?RjI32*+N>$25nzb#LZLXx9%`};US38EBV0u>E=R(UVY_?7084Q0$_fZ#3@xu}eSvf7@li=E;GZ2L#J3ujq7HDstWKw1fQ$tZ zF<`MMJOacYwo03F#+PUBO>wQn|A~=Nd7$iOWxUr~rZ;XAh2LBCB=omm`Qd%Fys@&_ z(i$D73NL+JEExff4?cHwZ?4R+)_-$)qhXYDT~V81-A2MOz-7Jg$#1n#e_C8>nSQ6N zaTSJI8IwA)z`^xwfv2NZ`6~DUOw9@{!F)}fO6)L)tNb~tlXg`KC090P#9ytZB$+ut zTJ}%Uzxb+A-gzjxJFgI`JsJC^>hmj%XH;`$UOCB>_02Kl(xb!tn&QmVtzjuzfH_dF zLl4cKnSRgXRY|ES-PNF8ea&m;i#Ea1OsO!a0P`BkuN0OFH>El~iIqB(fsI~#m6Brf zX0+|7zZjWrs9<^!8pIg>XDH+^0?2XSxHZS=-5@8CecHSnE{-{xYNFnAunidQ{h${| zL+!n2XfHrLF$N(RYLX_uO0T_q#R? zMXc9x+Y~OZc?)zF1+wxi^BW_*N>>f^lq#^)j!bk6xn&%nL?xF~0uDt@15)fBjC^2s zy3M}28T^MsA=X_!l@=E9G=EpyVN48I>?S%M8UgjX2}yD0)RfzWr>HZHalP#E`8jMF zSAaJIkCp1_jw9xQ^b-NbxTPLpfGQz6geH#Z6{`w+X?NHs>a{ih_SipQf1}Sl$?uR% z>4ZgOUO6%A-}(O5^(%TjJ&hR`bh|D2eOFHsr?F}x6hf0V^fhz_r!m}Bkn){h$(%@7 z@NsNp%2z0dAHebEV(cqkW038^DqicXf`ZYt*sO|Y0Uf#RJ`YAf&Bk1Jgfi7<5U-<) z;IHn5G#>=Nt=B`_&uk@j8ZF(90FDF6*OhqJV+&;_x+g6mZuv^#j1cp|2$wT4$^Y_s zD6J-Y#Va61m@Q3`Fc^L%;6qq=;?Y_n%d)sYh;>oIq4;sX^+<4gTZzFI<4#*mG}gf< zP>x2Yg(T<5_Mz6jA!(@JPEH!Y;^}ej4-TJYWC`-R-j(e>G2%lnw%PoMx@0mW*EbZ_tRKU7*M@J^PLfbg0FGo&@ zWdm-)fcx``By|?&>D4Z0gdsz+YU#hIvd$HibFT|7$y?gdc?l+EGdmknRYv2WI6G_9 zF3Q&t1FERKeK|FM5Vad|((WCx8?D5n<6UK?iv^o$?bTaMTZ|1Mtz!nG<=jp5#&b1? zKioI48cN{OgDsDL$V?8i97fM>NXz~cVyWA~mp6vqdUe$D#rT%Uqs5SQEEY>>Jpu%E zwKijuy;TIY`5OmSkvERT<7GX@>xR~_B&Rl?jhV}mxVTh9@<1pwMP(ygl~`5WBHfIy z4h3V(%1}!R7B-OHswPSOvaC}!QKJl;&Xomg4#KL zfjj#72@?gXZ8^~{gBzsqATg0C-(tRRdQM2^g@uZ0$3?pn(=Cvy_958yoiS~`(82g) z56DWaKEX73n_DCNCB*m^+7$^L9?82Cz9LW2AkT=~Q@TD+1rL-9ch{zh6St*8g>vZx z!g7bE{)9A_gQd*ot1aNj8Z6T)tKjt=0M0J(-fH$(xp&FcmnBMh{1(Wk#>RyM(|uR? zx`nu=MMY`jZ-Vw0SZ?XYt8RpckbeX$Z&!r{cv&{80HI@rek@S|gMp20ug*r`V$_pM z?$;QTix&B~nv=R7?bDW}NmKr)?%TXaQ6z zOg1bX6$9ez?myK^zMo_W{Y8oe@2)(Sg^`tY88u*ViHHdV?l&Ulu*RSP_hbTfW#?$^ zno+kk;NW8{P)Rq51z&5Tw!L!MMbE3Kc=VNAz-fWa|xrp#TBWONZsH53Mvfwevh zN%+Z4=QDfF_JLN`k)j+6{1dSWe7^`$cI5xM+@<87Igx ztJ?wv5Qs8iGn^@!nu*Pdj``KFi$axktfJ9I49?4cpS0}It=)QrXgLhc#j)@hDUk$& z<`(&r5}}IZ`=({jQtvM$nwpIsmfjH&D(um5TM1z&pki)9Y0~#;SEyCm#%A0wU_wp2 zHsK)A*ch6WYZnqUaI_qhMJ4~kP)7cP{8L8Z<>vL9%P9DYx1a07_ULAFm*JgM-K0eL z0Kc+#mJ5KEsGFI=Ar*uHEM?B%pV;bEy%}wkEszue>OtX-R=mCDzD31Qy$L_K*#%&+ zSnO@YifR8k)T>ZKhMsrOYGERMWyiMIPY-W}kk>b_GE7aR@fTJGKmW7uDx=BAixB~Y(^sk9AXVt;LC(u&>??0} zPrH+Iaf2JHh*o>RNNF>LE7K+pl#FjMPE&c2C2^9Wo#%gg6X?XEI9dHp^zcc0-P`sHn;&>w3#^ljG;uF?QZ687*BeDtxNiBDXmGP{OiS1roON z6#I-zt$;p@3?uf90aI&?yv!UBi*&{bYrok2ToXH1y>o2)&eZ#&> zQW6?}Av?hr!$WrGhQ==cRQ1;#`5|*S^)ZbLQSBE6U^sWmQbvNJ3Vol1a`s!AyH;P1 zH6-p}zyYu9Xf&f`OlyE)N96mo5o^rTj1I0rq)I1ZGjz(GW~hsEe(cZNw|UzwGFm|* zH@KoSQ+y;#=2?QW|LGu|LyUaIw~m15t2R_PzTuai9vVFju!E?l>Z-b)XJi?MFauMx z+qAx!StWG=qZzF_EbyvKbozxDB(q_xlH5o0a{Da*Y zyTmeYxQvVaTeAQ&UG5?Fs7t!VPkI%?-stK{dJg27kaIV8Yv0ql$4jFgMHP76`r>jF z8?8j0nu}n)-2PHip^x{&rS?INo6)9Dv+K!9ko)NhBiA@au0_wS@s~r_`yjMGElb@A z-I&&;sf^9h0v{NUgk2`a=B*}=q*c71j@C`miCmTV?ImuX0MGum3`(EBBHC%SfURbD!_x4@z3`7 z8Q>nk{m~0Llwwg(ndy^1Dtq7ING6LY^`9_ z;2usE1I&E643trD?8eC*Y+1Bs6}QlqZuy*;SlcP9?B@cLz|XDIu7~_SKLw&wPhIi> zJcHhu8OTbDh<~60+JxDAH7=7v=$*)}_nI*?c2}8ZtN!Md4Xvyki*3;&`V{hxNe6w; z;jY1A!Dp~UDXvCkv!>Idve4@X)gLVe-utaR*Kb#dnJZ1XBZm0&tzb+f0?Z(jf;;(( z0%qiAS|&X@cJ8T|j&9i7wR%SPcXXswG|G4@ zs&aH~i9Uc7zHA=`^q&C{uKP^B%#hQLxzdQ7rZIDMy)OVS}%;V--u^OnDjFQdDIxL8c

4#8owyBx1R&uQ4IcM2-I!GHKp;CRK4)X|(`hV{NXc^xhL4yle?etQ;X}I?xdn^EV zEDIC)8PFD+?JLz62b)U_N3d=><71O+BiF5U({>@t44NHpv4|FYD^tEZ6;ASNhPk zo6Ah(@5Xxm7gkSR=2P&+*W4Ycq_w8RkZ;(kC za9~g-G)AJ2S)#WGei!NQN3SC5ya@r;L`>Tix zCPv*73YZiqbY#u%z6*Y~W%+l&N?xZ*NJRYhk&BuL_^8;ZXIm<4ir^TBvI%vv3p--l zSuhGyV&My(R1MzzU0?qOVML#G*%7cm!U`LJYDHD|)`I%4(SsxGl#f748;rqJz{Gg6 z2dUl*dZ{;Uc|e)aRoT2L?FG7q3QbcbbwN|beFv(f`W)hebesn>gQ^e;OtYB(v`r$B zCCP7qCx8$MEf#RUCH$3B2a1!u@KT}jTvLHH^V1PA$X(lp5SwM@pP_%C&G?>=X?7V9 zf3(ERzzofc4A@oIUZM(69hD%4UWkLD5WGq8ayvm;u^HcBO`4(q1ik#z%_;>pBcZ+N zpk>4@tJYURbHIPCeJ2;9u#34gn-#Anv*T}OQy1%Mv2!3;Z4ss(L2HJW zC@ZjKBl?DzB9R5t&w?RVs^GW5nI}1w93$d~DXP@aEwoH41Y`H+`P`9$w*U-LfgvJD zGg6o7hp1zRz@`fko)4X3Vn5ax^G->o$cO-jIj)VwuII{1mfbD|XDDE4zZyY%{XF?7!5zqvR_Jad6D7QbU;WqL)d$x;QjXq_}c@%qiOc zNkp35yB@U2?L8mgV*HzAQxkt*XcX!0qJ56~?@@5rEXZg)8EUaMqTBQBlBsdPj7nX_v1lnL3LYP;1NHH$5K4K42}`D{{%`}vH;5*of4osVL0 zC}f3@1k2tXP$BAqvvX;yYsEu^S{R`eIj# zu6cEhh{V(l(pU*Q>#Q4_uGBiq|`0|h7iS8M0ugXY~q@5wlnecB~)b4QwFbGa`E4CC+4Gy6u{ zKNA43_Nw0-!vZ(QpVz;2BF*{|#OQaG=`Fr>#3S2UY75`tjCqwEL|>})HVBUhSgFj1 zuFSR0!O+v}L24_L+C?czQED6M!rhR7S;b`@ z@?;s(Q=^gs59_%07Lmq~ypBeuWXOTc2LJ?=Zqi9kmD{65M&6s`7ASOM`zOoFcj7=V zBQHyY_%~9{aWkbqIj%C^FElTSn5_+{mFPF5OS_8HxUSXG49IYPKuUAKNmcaFtGQXX zgXvQ5ehscUDc#zJ(Qaf21x$PgKB%$@CAJmB76fR7?wcRI&_q{%m!!_;UB2KK+5CjV zQ+#a>m8+Mb0{)%`dy*|OJmX!BxXj6J2iQggpX}%z3NErD%-f1$ez;ez{l?xZc+?-y z`&bA8+#{{qb{j^Xj92fH_RG=Lvvsl3%{lzkPRv8m%=~j;=mOv`>Tug1{kK#Dm~(Cf zXXehW!^m`LUuWn3Oo&;TISEGH!2)_a)%;%LTNX*CW~uN>Vv5Ukg-S@j7~z4KROq-n zvDY{3t3U`gHa0eXr3^z0)6&)^enx`8t)LE=v0nG&q^0vfW(G2-Q%n)J>Tp=a=Vjv8 zqiopoW-ur$?5LgIFLK%Ti?N=TmbPzOuU%>}AGw?cntMa>48qRLC5eMUK~QMV#+2_) zBrGR|+`3*6vXx)#`Lww}0_NehY9G3sx=u}@*B0s%Yq(maT%4@LiWsz@kN4 ztg=)RWe_Au zChg6+V5l;TcsSZ(!Ss&CgUnlxyzTq?p3C?S9|wECe`I6WQS)+kuJA!8n3~|xOeIy& zat5bfmw6!DITh(i80XHQ8P*-<7eaple1h%N)x}=sA|rQN=J49s^B;Z(`(DowXg%Mw zRz2NP{UWpOw7KoWu%|VSe|oNicSIQr4D?$-t)y64MNPSqhb0uYwF&;+vQv?nh6Znt zFQA?#xsKdwyBOcw-_m6-HuImod&@I-X9(@a7r{J9tvBG!d4gCq?kQ*zOt!E*#C(0z znXymI+UIZY#B1>ZiQ_n7d$sl1qoX#=%DRA>G|MJ%P|b-GnNSHQb@b)PD9m^vw{x>w zccOc1{nnB;>ImO#`x|Dw(_8@bkBX#c2?G-|9$EDLe*xIt!O&X?w0r=6Km^@4S4l!! zZDaKa3v12dm2oMALXUPk0X<|IcIKeVEw`J-!k2xFYL@{NHyXm3oqMebA=rde1`<17?kTZm?RR@ zxk=os3KNkE`s4n#heb`vt3M%d*P#|oB4#dzY=t)cTdPm}Yy_4B5t_kaZznPieuCyQ zY{|1S;N8yt>@OxpVcI-Wb}6H3pkUH0mdC2Ed^QTQ0<=tiS#K2tEH)DhtHOk;K!0ND*1ejIUZ0dp1+9}++*T~I z$uagz6ElRqc&IqjJbyD+T;)GZVVGE8QKhF2?#cQ<`RW*?+_DA=9&B;+(LkmYq~QAx z4Ivh4d(VP468noEqWqPDhCyl>Rgh4-4yAq$B7FDJC$HY`Z&b5_$4{7@=7@>3kexG~ zDUw~-)pNUZ0cy;6gW~LWx{isNv7Eh#n8plC0*%7O7huzv)csP=mdw9b5FI}kM4pfj zT0m5lIU`d{(ebkcUfgs0do*g>DMQpjupBu{c;I@#EP|%ozKw7)N(U%Zx z7Dgw@CSX&pY4yd2&3z}AjnSe&dG!{gMC8$TGA3d^~S z#K{G1C2H^GB5^(9Z#U&EDzIm|QX%CyCz?!;IkWxV&`0OXcszojLN z7~J%h_OwcJ?6(xvx2Sw_eN~bt?&NVxyV$je?+1tr4V+AQ< zsOnarTnAX*sjV@Z)&Spy-qNEV=#Gn0U*z-0wwEw^oo}c51D1Y(>CT2q3(wzC%9JnP z?P0K9!yG=RUUeP)PmZ*&)`}-mBWEXeaVOSAHDLD1XW=IIai|R#UH`l_BuEKT^CVYI zHK4*u&MUV)LFKJ6rPM)Sdo_ey?Y)#L75tK)B5Kr?oJ;HDfHNQc4DBS;Er0C~dFP~` zc1yPsiJunkW@d@YHK``6k&jk(W}B>63IY%cC|i(0D{Z`LsTo7l3fpOyAuf!nrP}(V zRW0lfX2yV!lU#Q6d#laX#7k+m6Q=E{uWeF)_GQ$)9rw=qs*bV^1tu;1jNq~()F{9( z%X_qW5GGZCzSY;VFjDUv_4xdmQ*mQ! zk8?6dCcw*%yaHQ6iz4K7-{Q2@GBWC%Z%tLNx8?yB`#0x~RE?4h1AoX1|LN9)i(B6ddv|D3M=r?F z5j3VZcXq-Rnzch!?RkN`0~w?Kd=*{&D%x8#b8JVfom-%z%IBWos}kyHMB z3@aEA!2Lj%wk<>dLO<+5x-k5I>Qx6L{fT8%f#b=fENS0~0#EC{^h7dv_s0?LGGGu4 zUd9k{mj!b3f8tGhYk-j2b8WMq7b&6$<{8Ay9%5$StV5f_WS!$@<)ON^Zt=A* zvFw`Xsb6&w`DDqd(>M<+tzl(7obfH2K|{J#D%{Ohj+T8339hm=D=oXVe>*~^*=-?d zHW=I1r{IxADP ziw{{HR@}+c#_se=cI$cvhqmqx7GoJ{U%ytB`y8jTur9uFb3)}sr}}!?M>ZahU1^X% zCUo$+-7o<~d(!cW$%RE{64vdpC&=b^&a{LuF<|s0+4x&>T6VwW}3H`2I?bt11Jh#~W&c5;ivge;WKfWHVE4u@w`5JXuSz z139g!Ubj&h&H<_3vu0HPjN(C|(~~}&0Z9KrSWdG|60d6Xh?q!|&8sPMsRkUTYD$d4^~j9ra@*F{&dDGg;)yRx1({>g*s13CP85B zC*S^YN{gQ%MG!(j$rFu|R|Lqvu zuJsp<(o4_jl|l%6AFXo}BVmwqVi*;yxR}*Hc$}`EK8jV?4IWIF7K)MAaQ*6W1hh|^ z%RTQdUvu*xCfd2u#BwfF1 z31Tc#$je;ROHB+e0UB4u4R8HiXNL+$n(aNk^pH%Agzeptg2JyU&Gy?w?}c_ajKtzt zZ&keEo>7cbCJo(*q za~ZgmbAC2JPGUqJLk|OSf`%3tuaOY~*RT0@y^O-HFggL_7RPO!957kR@NI_zGKWAP zg!%sb#p1GF0qgc=6lRjG^G7O#k5bbGzmq>#oqJLKpqaQ^|0H-rt8+-I;TQ})= z>XxfO8fu5{$WGh;epFoj(q8M>{qJ4-1{LqaEF^kfE`d>T#(Aqs7q<`#Yy$en6_={p z8LKq2ev5lkPHE_!_sHNkjASesOI?n6d*}jyFp2@EK^Ayf$$3(Kld|C<-+BF6w$F!vP%C{BYd|dsX1npqatmJ(OLR0AvrT z_^+V0^Yrf8L9+=axuRk2Ruo^@Z>0p^8Bf@XIGtAbW@cp&Bd0Au`NZIPIYp{(?f|2w z7vw)z=tke2MLtl=Ro&!19%PwW8Se)}g=#SR55Wj7(9rn<)F>bqNuR_x4a`aqU5rA5 z8)m}hR1r(M@-%prK7oE21?eZhImxuIA^6v`0>*XlXFi$pjO)_R8RhzH z;No7>@=8|i@`N?E+bGnTw%cvgADa=;U9ju^a0-6Pf2O#8>+}R{ebMmUtx4z#KvFBNQ@T2r+`zPrU-dyWHs3unWIuUe-`sA?LTc{Y zdRPEpkpnR|7)E20QS!8sgwG${wfb>yysHZlhGq`$uNqsYpAlsGsl-P~;wBRHtMug- zPLs3UAhWv=DaVdg*Ma7Z9+jp2WMi$Y2E)-_OP-^7dl`pm9rFsl-iZViN#(w*G;#X6 zOon;tY*XNKQt)AKU5G((>D4RHX-n^GC1TFz?B4GFI6spQ>LTiEV-ZH`6A*kEh@j{- z@)!x9r@IhZ7t8Jrs)f_>*lc0Z2#+pDmUCY&ooD|heDRlOsopx&yu8fpO?cUz=#o7N zFVBkcv)?U;mCg=W$-fl33HtER|3>nLZw`gJsJN&ozUY`8iy>2=CSz3=m5N&l*YM&f zs_zpaR~dn5)9Zs{BM8ZPby{AfCPxc?Qlx}YOir&15yWYrg@%;Jo_3uNI zg;rgz#GV#nKh%meeQ7UD9tyuwZoQ-ycHd%#+paP9ZsD$y?Qo!dyU2nSE@6iALGEID z!x#ROwdmG5!?%s#s}iWBUlzr%QT)}JoBFRFBUd)7j3Cy!x?=IpPA`|X7S6D;dL5p? zP2||`|ATwIe(#>hsh4>#Cy`_qkC~*;Gjty*cCF2-WErWZzCkm8f&Z_N51y+(e*9RC z`^32k&v&MIz4GVU+;ETXK!NJ$0|i=P$~h)2cApK=&{fBG`ujj`IaegA%D_GN2_ z$B)Mpw=Di)xI~GWu<%9niG~@%oHg<4hswk}!1ISMbZQ-9K1L{>8j`mhDdM}nFg_8E z?;utoF1lrnZH;OAa5VVb`nD|F$gjce^uw>M%_OLD`+TK_NDdx7B70x(gF{2XrDx8} zrz1u`u%8EVwQI%xu0AhBwbe@aH8=y-Lu+(T*@=z9`#|jt~DZoq~QLodUx4{MUI*rz@`N zF7d=qv9CLzU+?(M`cls_m45UA1?KDq3a#%(R()RB{5?@HM7G`Nv}I{Xn&0e%JWP=dqPWNbj98AL#cJ#<$@gLo4|50yo~RW}X`frTyBQ?O4p?8xIoo zBX7M`Fk+(~Y8i^&{N{PBkdQYSUteI#{Njlora_`I>Ts!Uum(usRM}o_Pp8bQEG=Jt zvH!e%tBRa6aH~fHR1ceub3VN21=>;5D@9WKg%SLsRe5O^GCMrcAQ+bgszcq#+fX;9*U}LCSnScwrfZd1!0P$Mj-$Qo1pCqC7sZjG+u;Gn_2H!O$+(m6zpE zD4G~!9`DC!?qb)@d@fL{IdhNka|ltk=%-cCaP=BP3mt9C`p)pv5)$q1C)=hU484b+ zx@gM;`$4PG)B@RN!R*}G2<994+>Zjl1nU=y=yvXx6_2OY1UiFwx;ot5nHj%rGJguK zXD-lr==nWk^a}HfrJrG*Pequg{r=3dU>6inHW3+@4Piz%`5yS4@x}Ic?#8mu%42!1 zu%B+Jb7bXFsXKG>aId|w#({}RQ1I8M=-4*4n4DkLc^c0wETXV9f>hw)6js`4MELQC zsFMtf*(U&`!p@J%-1i~d2K@ABmm!q;Td}{VloSE3D#uz->#wk4D17mab&!LLBazcZdPn`H60m}*5 zJ@3)i_j@P7VlwLz)7GR0F}o76IHB0MR|%MBI3Fdb_bZ+4WnNw&Y3&qA;yWHm=HCDW zp0RGIu0M+VzjpyV-3MVhe`j$i^1oVyC0YY)Z>SbMnyeMMSZr}xv~vonmTAGxtWm~u zGSTC6c8jNN z*fnulU_5H(^cl8Dk`bwte`g~N?g{Z|@R*7G6><7yKYY)yGymqzH>+JQVZ;O%7a>OE z)z<^Nq;4}YrKG0K*kkI*E>8^geS2%u?~BF#m6E|KK7WBIaq!3O)68d>-K_T`{csm` zDB#HklM@%$y~*OyKdZyyo&R*to@g8tJ%g4FPs?Ck7|Hg@|M*I|t#R+&NW(pL)HNOV zCdp1uKGx3Wi0WmhGo@%Q{$N(pt&=uNcLvA-!BUTu5|k#9u+U9Gp?~nXFF^Vmd>^~) zUh?h##!FQi2^16hon?A@dTSg|k{grtWy3`BCLp{s$0j`g`ExJqRHoV9-d;&%rF!lh z0zL3KF3!#K;IFwKOLY82w1d8{+6yg9_}V94_SvX}o33m$ElqX$(m(5hpUaOPoiT&Q zs>kbU-A#4o1&;ZNdH&Fn^Mq)({z zyF6_8pn3Il3FnrB9{nrI&g_pg9{Fr-z3gkHX;Ff-@<}Kr>*|J4)xNLt!I%G|M1SXh zlz6hvtaFC)_#IDyL^%gL<-M}$x`6hOd^tvh6n~1T*8M;kxy={BHZS8a{IMWOLVeTw`RkI#A~+vb>OSSnUoYGTRQp zK*{Y*oHGrk6Gry(b3dv*?F*+X-4`THE}V_z((xjOaJ;?s;b%CFT0{6r(;8IHfy6Oz zZWcUVI-ANJIE9vC<4 z6fG!e?ruINC;M&HPwaXfmuK_Qrd52xXD)-Bg&>EbA~|GEQ5Khk;DTF6zSF>n=d$J| zHdU#o;RMsuXU|@O5tWsk`d>rm{gI_uqhFQi<{HmVLrP6; z?fsCZ*Jhv;qrakz-8MXC*hHgU-;0M5iNeA+M6NfVP#pN@2WA&0cmKn=GiTZVVY+xR z?HhF9MBWuYYgsu%0i5Tk<-;Eo5AEJ2LsQ280>SNHEa*ieoL@E0wgt_#huMS9!8$*m zbyxe;E3-Gs3q9vGdZ|Go>jzyjTOszf$M-g-mmE)F1|Dawy!cfe#v0eE@cNp9U4VqV z_e|uen4CXY`t#54P9El$w_FDhW}?=e2RpK}ydQZyVIR3=_!EG!k1SuDx|i`}67HaU zzsT?pLpcaOfRe3fS?8sShhy!Yzmm`4WZ z057XC^r^@TAFBcs4-Da{@AsgX2?{)K8yNG&C$yEc#nbn4Qobl@6Xu!de!F3CmwCE% zQ1wiyyW!6o2~(39jiA!5H}>nQCvQkMde;u_CDtt!2*(;3?Cod%dhs($3i+W5N#R^q z@Ooqy#{5V_!w0=F)p#_bzkx;Ux8-irqIzqv*j&Mj?b{T1e7yaN^g6`MR&Z<^3-6n>)A5T*efI5M4Yx)$nuQ-o){bBjOnpT zqF&=l=IJj4>rbOj)F2)WDJzZ4h>Sh57(5iI%-PegsuGWWuP+5ZlV<0ai1Iy-)Xoau z*?9Uv#z(Kt@87@s3<}`iD%0@RU{B{ie+7H&8Ikcf{ZQs&+Zmw=n73^kbzW_v0JRNQ z)VsbGicU5tk9boHx;ip1OEe?Twb6>78Nd7CwN!w3cFI_Xvh=wjAn9MfR%*hii{Qc! zbTXsR_+DE35w}}pHVkJ!>%D8hDR}9O*u5Y2H)GF&3xto!@#go51;^ve?cni=@IQz3 zPa#(?pZzB`nuK^h-e8kNDpR35(-T`xP}U_R3#QV3yiyja;$|J-N;96sc&}@;cp9)_ zD!srbTsU<6l!G_w2A?LTe*DcQ`H=8t@dkS&XGJt48)j^9etB`mp-c3{!^f^qlMlEW zblJ4q+d}n)%=E4+KL6JI=+RkbR%WB#*#_OSnsD!vg=eilHJoK#FowKR9cd8>6)PMy z{b=3(2xgEB@`|iR7RkNM)~NNY56aYiT4C)Plx5*l(Q6(>MSuc9aii9pT zRe7K^(iR2%%+62_tYjXq#;>kN)^9KFFk5LLPR)|RBj62BMW7(lneq3D5tJr`{4RX` z9%J{pCCYLtBcsa}aWyM9@WhCR*4Wm9PNvc&-L7q1XfM|dt=rv*^B!Ushdp@ zXu=84lFbWxHzr9Kc2J9&crwHiQ8w`>*d57id`1G=CPr@Gj;r8#3Few03(g2fQ8V@hK?W4G?>nmb5tOc3|%ymkhqE}9N?8L-; z(;F{*H~*GvO%eVp>~pA~T}>{b;ephQ=ozc&9M(?Zh`m$mX$_&(*W*~Nz1zhiuEkgF zeUPiRrhEPP8arfrBRf+*-W^Twc2|{cOE^Vso&ZyxRValyIh9Lj%natE)-H1{(W6-$_8@{`&1FxcpzoEitoe#5#Lm zz-OX}dK;Y=BPzvSa6CH)_qNUA6eY$8YKG%K<-Zg}*yOvoUs#>F?upoZ=8)}Q`1bYL zReQhe!YY(`nR`;y=!=guMSe{B)**b|Wz_tia6w(fdDq>|&hAes7atcCy!f51SRyW= zxiC?2Y*i2@>>8kT|7KfK@@9XW+G3{$>lxR>qW}7)M3pQ8t?R$c@uVcDQ%#A`{<^QW{vYB*IqIsyvCKTe#5-i5xC(w^Z&?t>!_-_ zFI<@JI!JeS3IdW!BT~}RA<`i&-Ccr!G>CL}cL+!$b?B7tJjAyTyuW+z7@uSCm%8^} zGoCruGoQ6UdME3KnOmn4bcGs~2s&KHjv7}0j$t#BIDxfZ`(%5BUx-+B&cTHr{P<`X zcqn;b)$bYdlTRrdYy+xe&xQSo+!$g7pPK|8N+|ZW2bZKj>`Zt>efHR*lniN2B?+vfbiA$q{&xSE4wN z)U#!_meZ)Xxi+4lsKU_vF;`=$H=T=UOz0JUtEwt&2Xn3mqe)uMOU2wi==rxri8yx}%88m)8x`^9uEfyS}*RMP4Bbwz1NkRkRy`2?oY7CR|3nnD25Rewgw~pzRC&W$PK1L{r#P z95$gohv9HgivPYrF#)?4xDFq8rDe=kg}%xWy)Q`#<-feBF0Egp*@G|b(Ry~<+DvNk1L5MXNff-lgmJ#AqS{}*pVr_B) zCo?hFk;1))VnQ$WM_AO^7A%ahOpNpgX{2vFFL6Z8l|!awo*md`@P3hX_2P+z#bqJ-|M7_avqzdgu;22c?T}$$u1MO7TC$tH z8TV!zx7*7V*GY559Ivwp%0;ul%y3yk8g#(65HTYSvG;bVo@Ed(F+mOY7Ai1Pbb>K= zk?3#+GafO{ixTyIOm*?O|4eVaJr`~x(Tz;kZEk+a@bRFmGWL*`Rf8)x^~v%D@&9+3 z`4`?Z^k))tj9F+lMS%^>L3?v0|u7;*Q6R03@^x>-P+|6j8!$gRaj-{1~HTsTzEgEFW9r^9} zxNJ?3lTu2cuYT*D-pi*XP>FeNl4^@@gOLh~(4@4gSpqwEE+iPgWQzwS%!@bFImZ#C zlw!}h3CeT=TP4p3GB0V7^I3jSF(Z{rh+3pRUKdE6is-Gi`N53{M{mf%5C$k|F7?Lb{}Rb zvu$c~?NDYj7SuAFRl#C%%m>>INTD8+vo2~;t85_kIA?B^DCm?Tq=fyY)J{(dwpY{>r|INWwzdS3FflV{CshQ z{VPbDR4w|Gck!-Bg zve9pY&o%<{1+8@$YkA-3jIKkh^0q__fTe7>@@w2Cg51Nh^-hU6rd`%iD+OpNz4K`^-Hbyn}JOj3%wT z>A#=NbVNI8HQ6sGA0D1jV5%AZ)`Ay))q?Kf>-s`R+#MxttY6=)IjAB!R91kW<^1MF zRHcIL?4c2>rq6pHrSdC_%j#51jRqb#BGC#v+L;Ssqk#b;m-Q&<&;NYz9~(J!XiVF6 zGHj)^zLjqvE?#5ekp}-7aT?JLHXFUj))w3~c`17t-{t#>@^Pyuew9 z^;lkKmfMl!&RE;0rPHuJ!;=JEpR~zed35`t8Vuh$y~*r-;hKxGgs!i4O2htJSJ-q^ z3-$h0ZE&mXZ*>eLsxvn|qnsl4Y`uPVy=w2`vso2&UOlze@eVz7`{2n&)79l!_KVR0 zeP?7y;-N2!>Gz+WLrsI;=R@`ps~#xSpg-^**dwZ^lf3A)wJfU);x06l2TZhSe)2-Yh;An zSFzv|3=1z&r^jpD?mfnqAl{{&nYRL@+O0p9oT**Qfd;;81+ zH__An+cTc)MyZTS*%P7*jlW*G&p8*7H}W#1#1~W31z#%I_NRQs(vhuaFMzyP#QLIH zE`2y(JA2ymA~r@WdUpJ0Ttb}R_1TET`R}*~4(PxMm@DW#_k7+CH2E+rcy5F5#>@{; zdj&VMGLvI(EzlRQhD~fdWRni^1Itvhn=@^?eyWHESt(1)^RVU~P&8p?&)0cm@3u|1 zyIOda79KRvx;8vhv$c+iU$#$mmKfkAN(;q&#s`^|h8w;}l5z*oi{VRh<2b0_1@ z6W#66oP&Ng;lrKDa4J89bav=--l&-b79(V)|yde z0lOcj=^8k2IN@H!j2=AQO>IjWj>xxT7BR#GT{aIeaK1E%YAB^6(nogSrGXm?lGRl$ z4_+4Coy@;lB%v8^GMC0fG0-jAs|w`ul8G={PTxU)w03uuTO1kDUh>49wLe-=FUG|I zfUg4N!S6SQZVm17|A8;TQ_}tBj3y*(wyC7MFqo_J`ttQJIPbkpr;c>so&)5)6i+_S zyp>LVG(93$jsYbCkzmdb@nItrw5kxNnAS({t5{oRkn^HEJ)3pO95Np$nhVy|i|Q)XiEB2)j4sjg6R~Rx8_T7md!G_`UBgS4;UgMJ zo%Zc%w30LOT)|Gm)YP?h_l$Udcs7YL2%`OFcaHczEdu*NFhoS&>Y;A(gU5@#Lq!{; zoz-Mu_*pZ6sXmC68Zfpk;q?Az*Y_(!J9al+D-u-o-k=wKE=~>`v?j7BKnEX}kbzZL z#I)F+39OYp>s?1qkvUg!L45&NsyeS$jTk`$TEx_YPeNdzukYLO2LvK~1fmk3NF)Rj zd?Gx=cQX`av;f}i;yhQqYB}}ZLQ0>WFuV5NolKv;n)>C-8-2pOjHqFcDww@Bx$uonL>HG5OOxAuI zd6&d_(&P2M&TY;`xY?VrqFyX-k0u`#i>cT!^>F+-+PE#weOit>#Z!P=V8!*bDi1cF z#VXF@7UPRz=38$Ie6%4e}=qhjEU}(X?mJ(rp4_&C>mALg@&g-l~q&+YZfujF^b8>gu;WErDTeN z)GuSW@2i!@)4(50CrLv?hawICXvYSi?}fGa?W5)mbQRTcxcT03ml1t6!hYxtPYP$jQVKnUtxhvgT8eiUMo+NYlPB zB2ZoENV#8+OWX9`##}{4)ERjwg=34w&846MdcRB-;aALQnbar$qLNk$b;_*(E@ktd zL{mhaU5J|ccI+XDb}Zfp-}CcrqtADt8P)~K4~G{V7S z{9A4&9HGnzjZlS{I6V>troahWSH;ZtC)QeV8|}-|(Vw5VG6M;$H-Pqx3uSk|L21{Q zI%JT29<|MF38JW2v+8vOskeq&L>vaSXh2I}>Yc$t|8PG2lI`KxszAIFnGT@;a|3Na z%itKcGO(b#r{arpbb-$%Zp_o(<%#@UfjV(@3_(%;TkOg1U+ZjGarffWmLeWnh04Ci z#wt^n?2X_?Q`wjLQ3t)DQWL%evz{CeYjzj7VNvBD4(X}}bg}EyltjF;QdZTC9P5#! zd!MmjBGEKg@-OAx$keI;p%b zXAiWz#3?;7T)R8_nBk*hGV1yict1f!ZEv#~5%SpdBfWV(*Ug>L`m;G3un~!F+Ae4~m&yn!Xv(`~go?qd9KzICm2;1*|nTDzJQ>N+Fmzt>B64!(} zvmjrb`D#FCpbRor<62+fPWCxdC-Rx5!pe47Auvbv$t&*X&dB3 zviXy84Zo@{C@F1{5_?z>d4N0nfg|Lj@6*O6^N9(XiU)9azWGqRb8A?cl%yq-2_dqx zv%z}v9k3U2*7cK|+L4Pu%y&7G1_+Yh+N~t`{n6B1G;k-|=^@a9^Vzfmk96>U`m>a&S|B>PX;mOW7fzU6=$tY{9!ZjF9 z37XHLDIkdGcMQZ4aP5T4)%9{l)|8Rd8~%|-1~f)At{0XYcJouE;?UT>t3qS7KWg5q zTsMzvm$y)5J^{HMT&Z$5`9!wMXPX)RKkfu6yZpmxOBW#}sGe&=j0@l*0SSHO<$zv9H9oU8UfXny7rJgagbHgwQo2fK#jE*?N_Y6)8-(&Hg+vw!T7 zMg-L+a|_I7n83np%0yGS9(>#=(~pY67Db__f&nP9+Jl_DCkFI^J-Mmo0&;phT=pW0 zj}k5tZRB0J_1ZPo^J)X)#T$H;EJCd7^q|3eU?{t|!&d4BU=1^I=&d}G6 z%9)Yk?6iX^fNW{pmmVmkf=c><(=Bmd#Xv0DcRO5lqz3YEp z6RvE{JVeCjvw)j*Gu8j{t^C9c;dU{!LvUzdnH-h`Hawci;e zpY-UO*zi9sfH6Q0!@$sU;Sjc5k^p2K4Anv7HWdbvPvSdC5#MK$)8wd~GRgafz6_`j zxg(j_FtZQ))z_Z$yq-KBe3vaJNbfEWork8WS;`9DN;#*`%*dQa_1R61S~@{;tH04W z?45(SNCdA8;`t9pWgOgV+lQdi5lhE3sDxzKsH*J_7o71GZTzRS(V)QtoT_!nB;Zq9MmeSF*T1Vbt9+PqKVwB3Ds~WPCmZ0t zyUKtXi}0xsenqKmqi81J?CZo9?Wou*?{9EFYXNk8K1=SQnF5sotaLPAKJ)$n$OHvk zIGm^!(F!F2yzyD$l-W>VyMf@cYZf$@L(|-FW~(j*gviG8UiYi-u0LE!`;n*`nMgP@ zCm;~vG2``8;URDi4HZmLm36gXMyt1#0w5?uqNzV71Q%!J=vyItsI(6L8|U;!?W;n& zimc9s*+}VaWpyx2SRW}b@Nh{z%%@H4qV8%U`|R~f07_(N$DbHc@$0O&Khl_&3s!RBtJW95-4Y9B`E#aG1u zsopAQ4!m=k_6!K zp)F5Uu_-WZL3e`?Z*9Tx!@b_Se9a~wvFXut^xAA#LJqy~*-DdpJzP+n0kHx@4?rM@ zvSV%wpN5L$HdFDuAl)8@hv|u?h=L9wKAYM%x0Dry83iaHquXDJO|QC62Ag!n3Y?>1 z1t#gkpu>F+;L z#1W_Z^!&xAjamB0(mf>Zr5l$&RCxL>DSLXx1d<~qaJrLEmje>$f!HZ*7O-%pmmuzSZa>oEQjgKW;F64JOK0qxdCc9Ay4+6P`EY4dCN|0!s z^MBF%T|h;5u1yL`Tc|`lRo(P=&d!*&O&5HgHv|2$?`4l&U+amhdyDcdxKgrIRoOqt zb7mg}5#BcEVyS3o1b55C%(e5AV1$N+y%qN)gG;$)|Hq@QKI^kW6^u#je|)U3AX?nk zMu8X<#Kg`jVJeBRc6;tOU}~w64tCk^>Gt_b)|;;g3uD`I_z^g_jl|mifJEwjP0`ue znMOvlOGkpfvvjiHSTXgNnu?n^c!vka@j)#xh5|jC$-68C8W05@PlfekX;Bl2wzf73 z28MWh+kkCEgLZ$+&z2lG6PXwnL4AD{KZ%eS!|RG{lxn0@@5{}kg7WfyB@b_DTYXV+ zaewYF*Y^2)BqSvE*S}Sg-!q&mD4sTPl@_r?fBKYNS4ZFlxs;N0Yna@7-Pj1|gF45k znJ+z%kdUZ89j{D#(~&dSEecwHy*3K$>tD~oXB{gx5c5fzGIDunAO%Eiu0l)2nw+}A zj!1`%XNu)fp-N&9vIqlr{Q6}by`6LG;RD$zSa z&UAOlnx=Kj0hf~lisvKd-p;4JZQ&*AO0o6+05M;B4+RI1vl$c};zo;#t&V%Tg077& zNVM1pVBTnH5m9)UQ*gBYqk*^|v1x}#rM|4Z1(&CnJ-Q$1FSw8DvbjT!i1=MFD7=he zHM~pHc^)gpU}2yR$EW0g2kus2DA8+&jS*|b0aS4?zRCa0*{&x|lD|IS<$ILtwNs1= zKf<9!gu|Fe3{{skkeyLBEVnh>4Sdct*}EinTN@AIzUp*`TI9Goc-7#D(`GNG=s*s@ zinfSF&i2TMBwc@0B@sju9-qnfX7~GFgxt6Lapqj9Dq32hfA^->@3E6i?t`P;9v6MG zl#Z5cX8^?xK5&3F=&|HuP_r$h)fs{V+`D%E;=yhCo(u7Z{iBHM`ohUJ6&o*}yZg;- ztp|U2ctonT8t`YWXMk+MaVDMU+nTw5Z-1}RZB68KyF1M;7g9Vb_2-yiB2hF6f>z%m z6B+xj-GT|W13hhG7EzPO)iShO{!TqQ`t?M8MmmX2VLY zisQ!ZlivZ@hUW#D^X}71vqUj&f6n3x)HiPqXJ^5=;wC_=RWNCbLoex6O3z zyZ8jbz!58$H%GHtX~3|+J1!$S)vlR5M(l!j>FfQg{Ie@cfzWQ5=(R(kqYf*dds09+ zw3&#nqOBd~9wQw5J5-kKz8@SK?Xs^z38*6bqR1yp=A+3(&|m;i=&mCd8ZXu)8X*zH zV^qxODOAmm6STGdIg>hUMm9PkEfGK*fP{4{5SCrU^5u)8ioU+zQmYAwl5nPEKD5AD z9QhZOlQP=v{Urf!LQ=LhSR+lp9f@(t1G!({1GQ6bAT-53gU^|p8`J;w`-A9vsP;3b z?1??J{N7KIvVDF}UO&=V>Us~`AN}c-$J-eOAPPD=KXy|K3oo?6*i4R%`8M0OV-k+0 z!NSPCd*4Ieo*5vMspWf*jJ=ZPunq%b_jr~GNZC8BA|8#~4cgmgvH;w%YrAj-gsiSa z0){X!>{l!ER<^yv{7YkNSBKd2kV~U(udBB<<{jr(OA`CZiC%poy`ih0S8tc^NRC?S z5&EmExwCwHAXWxtAA`nXaqcc}_bTqz@vn_H-_@J-CKb1d8>xVnyw9BTrKRMB8;^-S zFE@Q)V2*qm$e=&#s;Vb|n5egElX5lUdvV35MUwIvAoXC;Gd(DzdV67f0cdtxS@PiC z3m-bzwq9<0p(K2d0oeDT|6BaGOBUBvfNVU5sPp!AD<_E4S zNNVa`9$|yl)(fDv3R&VYaQ;_Ycc)%*G{8X3mC9#V$6H` zAy`I-EjP&-aem;f1-O7tU)MyoPXEsYMsM1^p_rGO;I^_V<1jr&?Y7DJ7*bK8Og1X& z#}2NeX67E>ZVD@K4(#;R@0Q7#IgTT;2kR9K4@nIqzE7|n?io*d1TJ&+Ld%9nrro+L z#MrTws9f!AxV)n-DC2Sc=Xmz6=(t_vwRuGW`K>NAObco5y-o^MFHNA@ItvSCj+AVLZCzm#B+-v2s1K0#zt1YW z&CN|fH1B77b+?>Sd+A94L&Wnnq2Ff)#^%Fsf@5+rvVA`0sbtrOMg#}1+m*R|!ddu@ z%>S!&hDy&13Q8n_7v#N9F&*s&+7g-h9@JrPEKseOsxdC^XT7K%ZB2>NQmGpyv9AZ1fi3%Ff#nHem%U<8GS4-$yYjP=lX85&Z-!NDo(=^b3o z|0rUCso;E=ciKt|FS_%zP8K4>?~hr(OEQpN-kH4D`;cUmYFtoST1yG}vdJPTEjdeg z-XBdI)gbD13|t1RI2@jmLQ?Oe1hW#ym?5d45Oojf9Tf{f_u(!bwpy;TAw|L_34FCT zEkqs@9@>*l8v+XhT3wYT=O=(d11~S{%C2_x{xFDUHw`ZyRprHq#8lu}>}f}L!N73m zj+8L&!2x5G!R`a zJMu$qEvB!m{LiIq++6Z|$X4gczIDBcxVg`c-LPrjiXVLC``MX3keif`Q2?d4c(9b5pC{fi^fVcV*~%@%}bF1DzrGk{l3x zzY+IraZymid-qO$;m~3zdG=!6cHtZXp8sVF9J;7F{Q^j=(S=+NzIf<~p`PE$bFS6$ zKZdtI+}qq;9QYVc<0q|OwL{3iUPap^0Z?v($Vg9nGfx`pd4P$rlc%AgjEHzBX64R6 z1wz4RfblcW)YgJ#MdEV-1y&CWQ&3P)L0Mc}-2LqnWkWicpBc5bwsyA3Mu;Izh{CrH zKc3xlcBgH16~^~xf0gHw>*L@MXLlxHd*~yu(b*v;hVk9qC26@Iy}}^|`7y^&csALE z#Nk4gya<~Oyov8QTk&2Hu=$Rgp1P{*jf_zGAizYDag)IuU(_#WXJ^BDTpjf|!^2>ZfAc?jfWQ|O6@y4{Cmf_CQYl`NL;(mhbi82_!~4}%%bbbg#}(CK z%fZ$4dG+YY5@hIj`0BB@e<+bgG#a)|QcvzD^az7L ze)C8?ELJ4S`syKrDM+%iM1m(9v{^x4DcPAqq%MxWwEIdH+!_RGJ9DO9D*SPaCy_pN>vzVBiGJ2A^9>{?6GOJ4H8RC6Y=!RTG$2~uzIA@!h zTrOYDCN~mei{3FYL{i28z2E-biA)*?b7zE)_Y%8XGfyEaYj@twnM#8V>4)vn{tD96 z`d( zGvwQFs&dn-7ur4^m@@iz)grkE% zoemj*MCkDw$yPi_`g)&rd*m^YrfWTJWxu!-!C zC_v!{;gb2wY>D_X$1|*EKqw`(w36=^fc~omGHr13fJ~WFQGh}#6A1%D$4GDFX<4L$ z37{QOX3Fllu$0R2t$f5uW_epzaMTYbcFyja^TK4WzvW!^9WW60rNbT0|MecPQXN*m z(T5U?%mdjj7bGR+_GOjlx1cwfkGB~$aCpjrmlYiv-XgAxJKXSL@s8jW7bHO|Ek3OOMkfy$kMV+#FzI8 zBm4Qmy8ZJ*<^nn*SQyUMOTk3%W9l}83(B6po`%IeCplD(mh&%vn%2GuKm6{7sfmn$ zY>P!62)WX5Q&RvAc_Zm2z`{CexaU)qEwB zTl%Ec{W#jOb_1~j0(??_J89Vp)S;x75C8=0ZVSSGTmCm@s^psxg7=bjof|puO<+gc z8G-D-AoKR7hM{u$$CY-!V4VC7%t^~!Tmd)gRR_QP=vF1KpzOq_bZ~~#IQL#&$gL^q8}j3L=HpjM2<(T z3~4V0gfU7-UoK)K+zE9NZ}?Y98NYG6@#tG>x`Ot=rj2V2V8bd;^dLOE=)u-wRdvR@0>t-fyWDw>D^ac@cI9(_*-PN>kgc1xj0CV4!qd zPpReaAjAAyE~os^A6@HnB)Dk;Akx+l=jz^3TlZ~LYHX5$@7NfQF24sKNBcQ0%o`^) zybLc(*lC-E(6u#H6m;}nyYglN%|}ZDn$jOH0fKl(qG=d^lWDOD@s|!TpkIXm3J9P` z2jJpuINk5m7Q@1PP*-uj=Bm?!uwt}5QqzqzH4R(cANI$)dES_9q=`;$UFGr7s3&h| zpg6u7jI8g5dpJdaVglLIiIE#QV3-APRuO~y)@k+Tpj*YvLnuL307`eL>LQ(qJsgCG zWFa6@cM(j8*a*V?%&GLArz>!FR-8ej#z_^$?56M`>C<1;&lvM8O1P#wW6HQQM`tP8 z)A16s>>ofALaZGWNFY8643Fh&u^a6efNp#;pS?x-Wu{DOs~ek^mm5UrbIT0SvrxVa z{{p;>!a^D-a|i>i4`qSCp86}w69X(Lt7pMHz2Ja+`LIq2<;N^WMUa0EY#dbq zpAn++oS>x(P~=;*wo!Fev7Wf6lImC`HOkCV-g%aJ@J3%wot2fr2UJDU z%9i=&ZE3qaAX>sENYGw-3$+aut zmi2r@Xpk_w=pP^WjiqA%v;xS+?(f#R*hXBu5YNBX!N2m5Ae25t$QidU{``$nk|!Hs z?MB|i>dG0MPJHLh2rBYM_OtXM6bD$!MKbt000!s7ewAT?Gu;76J_Li-wh_@}Ya~ed z+5-+?xP1U82h?aSM6<%eD!*qSdf&+vEYpEQf+k^31ot(llZXUKLY4`GnwkmRgjl&V zDZB)>j?=2#K>-8^7Dx4O$?4uu$YcroevI2a`T$)F>GNX9)iMP9E`VvuZkM>}-GQBK z^2=VRi9mCh*Z1jM3tp57u{cEj5{5N=^z%7|-YpGq21kRo0W5`+u`J?KQ3X7a{(;-d zF3@Ig+88=ED~Q@G(~I~6(8=asUUJ-Cn*`D`LYkpRRv6>9)4;Y@53BiP8)<85QXXh% z<_`q=HuTDi*a6uHW`dMoyq|- z!CENI3mkC_IUBNPD*v93DJv2TsOLDJEle?jH(g)RWicBF9hJ9St8$|Let_q zFnZ~|ZFGcX=Jp!E?TIAWgl2!}oiQYiCPDr0O>?9zI}001*m!mmEiPJ-;Km&6sQ{i@ zr++AxI|X3N3$_I$pyCzaL$x+XW$hHe#H`_ZQfaP$3JBIA>$q9(8We)>I&W(86RuGt zLlEcM3C(?Jgv?TUsgydYlw5yTLtVE0blxWpn+<52FaPieT;6Oy;Wt3p2X-yP0?*1Q zt|`I_Icr2z^APfpq!ITg^Z8C#;P*Ds>34NdNs!7`wm!yg>^AU8Dx+P{nY{|Sy4h!w z`-R2=W)|^29Xo2HQ&XQL!1x=k?)2(RWd#?m#ET!*v~bKK50Ir$Alw0Lez3pD)%?(Y z{t5663^c!Wf_k1{rQ8?5q}n&YYz4ULzCGBO*LbV_p%*&Yi2ED1hNd?2>Kd@p!M7<` zB0R!FC$={f0kMC{H3C!!V7Odo&z_d|L=G1a1H^@hU5lTy>oSz~*S&s#pvWs;x@rSo zl`gHJLQnFisD0>P-5RZgegB_okfHtEEB&|R{!^K-PP&Sr{vS}L{`bHYK4suPDHO0W zcRoddBO`WC<^1*Akf`BJ9Ehy8L?z zD9CfRfbxAFh)EBdv14&3lQ^XQ%zb`}>>S1ZoOgJMt_vEHB67;UuvdEA1l0^!E`l6X zpb|6jxJ~kpF>l!MwBgZdp+~6-q8vz>0JCvEg@auKEJz}FWzFX?H42LRoPP-L>AyQa zaQp;^Vezbn&AqVS{!^XZz>5rL%IE+0z0(GPG7Ob6GAvRdAhJ{euR}vU4&BlDRUNQ6 z;QA(#{{tPf%fK<})4UPux1TT_G3LX^vkZZ8$%4;~)_XD%WGMkx7Q89yKd1C~+7qj_ zsL9mIldGeEa5m>K2Fhj7qz|t5S9%}nPT>*Ku9wyW!|kf)>^a{hVJqO#xzm$QA|x~K znY%aU^7w+rK{7)*ZuHi68>Ik6rClO+AuKwhXskfFgP8<)n5D-P51_pXOmBx{g#9bp zyd1{+DQS6`2cGc88TG;pACurOkde&cG&qLJI3V1>jb!Cqtlfa~>Ub`*H*7iL0aU`K z;=toI_^JL>;fmi{eUlRZE$I7n_-?8XDnH4gPy$fnevozc>adx}?PfFicq5)G`TYY& z1Yr0fE*&*3wufu>$2?T(F;)Q>2N1PvB$kx88VZes0tyyygH8DqHzMp?X?Pm(fLI)S z|J;AdJyL;G!gM%DGlppSLnJsw57j zQ?$@h1}0<|@5+^v^>}bc2o8A;XbyQ4w?A6{%v=589lEEC8oc^s&#|y=Pd#B#JK)~b zdLMAIApF4rkR?Of_m6Z|6Q$oN7oK+X$X_xXLqi}QLAA)xGG8FWt*L1;^g?N+$8~vi zA8gk@=emTN&GhUIc^;;4pHoVwobLB-=ey9mXu5y0O!7zjjQ;pxI>AcsH`a{Dj2^B< zP-&u9>4&MJxtN*NoVe&rI8$3v%v6R+N}$#gjM$ttVeN#7utOj8ZHa-$acP+n-ft|9 zF8+&887tw)57k4|Z-3IZy_WMSyQ6Jlz_mxq2ibw%y4JnxCEX@`D||W?%sn~&_V|cw za9VvK3aA9140r97P|z{T?DL_gg^^@?(Lf*z-tg&Clj&sc1RHRl+zWkh!(w3?H@qb!?_wEP5)?92D zpj9lWz!Eby9G`|}g2_6CJHYPol7H=E?b~Ra_ePd+@;XXq+>j9+>sRFt#^Fq^~OM#g6@I z&^ZLMTq%-a-w(jFg)+?|M-ENb*~u5>8K*LV!Xf=$Ty*4e?Khq)&bq)aTxBi_>5N)k zxqkz^UlJ?n>3N1XUmSnjC$(4DjME@3IAR}gHc&l(AYBZYLA2-+8NNsIYs1Mo1zoQO z`HtNxW8Y0$!-^W4>c_oCl9vI=qmt};(iZsxDB0k3tL2;sDXPgMz4UPXkVx8;jV zVLFs(VbmHV1NMjuR^nlml+5i!Nk}|h6np6G<7~@j151goUoh%y zRt0J&Noi>56CcP^)#tX1Nh>?AD&9Mknwm$F;c^#r)K0~U&Uj6_14uoc&Ltr5{!ql z`3EuW8SV{LSthGdJXhD|iq`G8xm?)wI{;;u^*SEHYzH6hUt7}kF+6y{HQ?eo9` zPGnn6_Bi^rc(Wbyyt+iPyfMvkm*!sDQDo}c!~S~xI*rf03Ju5x8s|5G;H`gk3KeX7D?*gn4NTZ4DxhYY!VZ(^ znQLcKq4q_JklFt|1{zm|Vv$C@xpIFRwn#oSxo+1mt3E|kArQZ&A#De#I4`u%UR<|Q zTv6P!ysK2uk20uts6N&f;rf^bg+t5GrB8rCTUR)lS0O%k0Z|6ta#wrh`TbG+;_Q(N zz#U6*5;MP~aM@LjZ$3E=6JT9>q8qA2E4WALS68Bc98jAjfqIMP)l-lco}tZ@eVYC^ zp0K@n0{NVgeN);0rn&1i0D$h?W--pRdET0S20wv7#TcI*RQ%mJ3 zwbD%irc2}$#nHAoicccs%V2RiZhRualbgQ)N$_jpr?X{)iR`OW?Zv{1`5>WSAZU5* zNeBS{IxAWzVpZFTJk7wXsPqC6c7!R0Sb_?i^h4W8^`P zbSb5oWkF?w-@ZfuZ9x-6casH~4?@%e*GrhvF$gvdIxWW&f*ni;y}WQ#v={X7VGNqgwtGOp4RgQ(zY$+nohPufXA^7}2$mN)x%=`R|>h zVoGY0c~7REU@9>ny{)DK?xo2ljzVVSAQzMF*)f;|M1$UrZh2L|DFEw`?be|+43vfQwyxScc@uiK*!cEnBDnTS12sHi(u<*#PFk$MQcirz`L0|s7$_~qKVu)6Aheq zeCTm<^-pT8R#TiS6d#4`oNGNS>--xiIW%-RSqJKWv{$nPptz6fDe>Ken!25X1M#m9 zS3`Dut`?smyh^^D7ugycA0@Djg(a(t@D{i<1DTTlZr%F@i!m7uxM)%09`v42T&^$& zEMQf4cTJnA?*wYQ^HlV@cm9~^ApKm~-x2DY*?VBMQ3jf6OG|3ZE0>H&^?5 zAEch1Uodi?ZrJjMX?Abg^Jvh)7Sq$0RsVK=45FFgg5zDSzsJkPV#oBUKm2R24$api-UM~P&KcY#ZWrnV!sj^bio$VF8K9D`Zi6bcw*V%5_I-1~ zF=7=c*H`VC{qThfs~6a0g3hl`_v+q3YS2LUkE`oqZyqtvzgJ&*7p0>&eD@RqaBj zqUI((b-Y>{tuy*f9L&f-l9OY_5CQ%)4%Fh()E)~Co#}MJ>t{ki>7OnjA3dOUAe}{2E+mkwxMrOAB1^uS|VKB>K-Q4+h=NZom zOl^W)^R?c8T{2$(`frZ((4)t`vp4u(a_f~{1{Na*pXdEADJP7U^Th7T{u%GXTbB77 zwDL2rQvFG|aNTVc<4oP+nNki#PdM;$dhpd`jKkUsteb{~ndQFk=|Sm@jYyL~uE+`$ zLSg$a&2~TKkF#yD7a+<}i+INPv22OwY(~Quy}tW7#uh$jpu=l{)Xl-8>+(HY0TMtd z=1Etgjac5cJ=SJ2ylo@PrWzbkHQ&y$sTKIqY(}1gaPxDz*K7!4YCgz1!(}C%?DGsS zHPptMYS5BLYl1PvplEtx5;MM*8!vF#208BO4HEhed{aREDWMzWRm1?N4&Fw0#|w-X z`rK*Wb)5&V&(G4n=B*~b4cO-^AF2x%F;$`AL=$cRX$n4_xpv zeAnCihlD2>=;x)&$A7+F^?6jy7MI+>!3Qee<)7kZ+nE~Z=Y}*8ocTMKH9@)#_0&Cv#hLB$^Ji>5~kEc1z7p_LD_Vy`| zy5BZ#@66P5?pRoOh$PO}n^L#%jjt^-6LeCgeaTymvf%nh7w{=aD1AzFxMVi7N?u0U zWd{WXsr#vUz>0@L@t4_YuWM?t1uy=A#b(EaZtNF-bLF7Un-YSLA?`5fi!>YSFtOUW zGZ;;iI@=olH&Lh>m1bbMlt^~HVgndi`>u)&SaNh_Fghm>9Ru*T!1!I&kd95kmB|b# zbd)-qkoZ_Fc|V}^Y#7#H03ubgm-#vVH`u}*3+)fzFA4R3uMp}hLru#c9u>72zM2Hm zlo;BM^4Rw&(Q2%c9$|mQNEE1TpsnlE*n1=hj%*&yS>_HN-4gVC2{xKiU{T{0W)TUL zSaYVem@Y#MRZE!&nb(pkj!{4s=jqlb>c9F|T=IVnh99~d* zouY1Mh$NiX@bXzN^z>(X^-;>`NsJ`2d-6CEY>HBn&)2Tcnjje-R8A|YsDPILWDF;= z>&VH5=38xZIPJ{`ot}PK`s&KE$8T-eH?ti3gLs#R`?QEPEHV^kW&6{RR?7zCowr!2 zPVHLHIFXRrd7@`OJFlrXTg`M1aZ4Q6lUtNc9V(F~k z9Vh>F`(wuSAR*wF=qLCAoHt6h+v-|*cKY0jxhPixJT?}~b_iwiSyDR=kb8yD+-viC za-Roe7yV?4XY^ajx2}M73Tg%h5)&#;&KQ&1tL?&mirxdPRxg7Fb8h}SxYbnO`{fxnKr31xD|MaN0Ri}`Vkpbc3OS!wdZ`Ku;5p|OLJR%e7^ZBy| z8}$9i&(xTUS^NKp`pTfXx?szM5Zv9}9YSyk?(XjH?w162cXtTx65I*y?oM!bn8Wwx z%~Zh;ZUME=>E11?S9j|Jv=?CE7(!>Iu8f2Pbkxo#c}-1CA4b7X_IN4x_-)^owlmr3 z@E~P5XD;r&3??NYqYg|4H@gWT(j8kFr^eaUi(Y;{OOB2B{^Nup zbcb3e-22c{B`pS=w+c({A@iFxa3<6y zj>X?h*Zr68nj3#K?<3iQwg)*WL%VU6=xXb;Nk5Ejvj<#@hey4|T3SJYu=U6QA(Zm- zvH7TD?dIuUjH-6?8W8-=3A`J>ImbDPkhOL5%y(s%cKOfhwqUB)Ld$c+*g~urG^(>- zWd%uO&pRO3sjo^-~G)+sEJ@pcHx3k6-|Btw-0wy9tiQ$sTC2!zC}u3kz?v7 zCMs~fz=%&kx#0m3ou>pZU?&5nPpmtduO#QCGlz4;2y)N$-b(?%L!38uzK!$#<(ly0 zuG@9K6MR~Tnri>WYbsr?(;D^p^+|cf@p{aPnFm@EC& znV`Tjd;)Lnz_8_QB)LgR7`KQo-#+t zQdCp~E=tRWkDke6$;}O`YUNYnHZU8u@nGNazWv@{n8iO2v|7I(hX3F5vRbPO7u2u>nV?eEy1%#sDGkKy`z_giXhA9 zMDbCvh5@WQ6ob`ndj1J~bwc8ieaG1PI#!%MqJ71I${|!qGf9kyuyz+-u{m%u(Lf1ma zdLQ>GFIHM?HWo3R?j`lI6{^Wjujxv=TKHE%5|)Qiil9PF&=c-^Wv zpH8=2UD7i0Oq4GofXgY7bdZsf-Aln$kz)uK_M#}=>V9;BN9XImXw$0i9MGs1t zwJ(led#pf6SZNP|8HaXDc>RVjHNLP|6oaym`cMG}XG`bTJj!O6aU{(7ttP^*v-m=b z9!kB!lDS^FjM+&4Oq=5X&;0lbdt{FI?)h!3<0LvT!x`SmO*c}lDaQHt>VmTq_Gdjq^Tt3UVgdwUn%kkugGRadRk z;14Xdb$xmi2C%Khr_bltJG}QXtND=r1RyNC(x3n!JUprQ_}2DB!*dN+t^@1y-1Bg0 zzhr`h3(HSOmrI9rmf%PPD*G-{X+Q?9*Tu5873K6JiF(jzo?xDtua(>6jtHIR-?u7E zhCfuRAC1xf$UXodoX>z^_qgAfC~ev(y1v-DX?b;}qpt)8=Lw2@^}fTFP6Jme7SzUr z!-Zg91LyS$;?Bfl@E1w-p~K+Y_OF_M^y}Y(Qm3c3kM0rR9l!~s%nr~;VrT(RJ2MIj z635>ugOXQN6_9Aje(7Pk3LB=Pxl~YAl$B^9)D!u6751q+M~LW9Kcc&qPP;L1!~_+4 zYXEnPc=?!^jmxh&MI6PboorAH6%}8gp53oRoINQ?7S&?%KZ~#_Syz|(-4rg+YQga( zKRV7~nEF3yp}2OwfHAg%Gj>3&G?q%_00ZKz^P)*$+*Fzi>ut{bek9#IA zHq>M1MmFKY` zOGC^{o@1DlPr~Di@`2xVk_qyW12S+z?}+63Sq@D$sT`9T@a1~(BAamIX{DWz=-X{q z{DSWGkXerp+s~?>`pt~xew_QVsK9=C_ita573P^Zpoa!Z%4li4%oZr#kL2~%&}w?{ zzAvQp7N}>=ikWb1d#=7>;fD{?Gy3^9J8k(EynONg65{^QuDu8}9>A1U_zQ zc`4AZJ&Gk{5E`wwV7F7OvP7qo*?ZNXHMFYvL!c&l+1l4CBG-GcJmU1Ruzan}?ejA3 zR*{A!9{xAQqvc9!UT(I764x>FG`w)BuW+%RB0!!W8#IKKB$F|;eYs-+pprM8&$g=y znk+zx0;l-#dTYr{=o=8-0=Md68c#;h2;TmV=+nN?jju=8RBLZUSL#O9c=Z=@FkHib`%N`yV^IEwk8_9IPY}Ym`TQ}3Jh*W5gSZNTZ z5|${p>%5SU=!l0O5u!ExZNh#o*y;7*uzQPYJ!p6?Dp z&b2UX6pbCph2{!^*YJ>jH$c~$(CW=YPfbWr!MjMw{0f=85;?d-OhXfQm|~unM-m!# zg@S!VOw!{|+2cRBGtizdUsI=Uurd$wk_~`CFRB&a;z0QIBL>Fzlds69>?*&jE12Pt zVQPBX;`#!#>?$zdKtf8aRjWoZA|zuSQ-)&}r_`spiDv6`wj&8VH)mXkdpo&KTl&z@ zu#(2};t*xTk=gxKU`+jQ1&@*BZ-DW~>&zC2=99Fn()}N+XoUx9Itn$G=l3^K|#FBOXj{lVN`s48tFv?hN#Ea&)(=DNh!eU z(B$Uig!sLXNQOyWswv~yx0Dt%Q$?N6B;`^%?=|aIgsN@{7BIL={ig+nALh3gFu%+B zkb{x9!R+MZ|Dn&8{Y5et%T`PVg62ORHahIrT$sE$`jmINoY84<2+|$3O}TCBu%k7C zSFC%+RIQZ)0uf>Pk-&HCAL^LOCzDN#?2Rt;Lwahqq19!e)v+Hc=E2LI{m3kS7ef@N zhNE+1=ewL5cMf}lIv&o{)?cid`RUdI_>oo*KnzXk%@68|it*wS5@gKGQHSPsi{U82 zBj;|B&f?m|kPWwvgW3Ee93FL?m+E$)MP z^O)lH{#p(?!2c78CjlTDHQJiNO2AEK%SPmT_@wLcmG2QejrCVJgP&DZ;Mtnhej1G` zt2c%K-EcMafC)^s%xAW*i$zfBag$C1kl@u&C^Y(5T|Jv%+JH#?F@ve_XfcA_@n}I! z{6RpPI|CN@HTrhtFk{;*%&QLQM|yDg3N`AK z)4t1*bCSoFlnnKD$d;T2`0u1l*2=sQ{pyOU$`NA1>T{6ZQ!RP06+bub9FxYZj zYPQB?Xo?&>?KyQt-g4M+ZKX+$CN;;MXur-Jh%4 zSUgx1azWSQO3@meju4nZ>Uf6G>SJze5-Vd-N!2G_MS+1!3j!ott`oeuFz2C^J(zkw zwVM2KYUx}0dH8Q3DSZE=Y)`kR8v|+6RGx{`v=$pFHT6~u?1vw0nUK>+jh?QB8Fsq? zUI3K*79!H(L`392eGLo(xe|M1?4$1ENTOj}fduxr!$T+@+k22+u#FZOSzlZXl2mY1 z#qW}f`1rcaG2FVvxVj3KCL_4(BwNGvX_XeH{v&dVlm+6#iCGy8f=X`5X-ZOw>RpQn}Jy zk}2x7y|Q_~alX9N!JxydJN%9gJ)hWl{LL?~tk@vF<=7%_Hx)5&qd8e%aRtKFIY)!z zN=SI3qG2d3Y0ik7b{rm|f#Q;t=?Hjb83+g?LH`^kHGJ>M*Rw-GL*uu&NVRR47ZM)c zgL|}ea2yeG5feL=5fQQf;Eiri{Rx zZvwPg$Lq-pI!JJK>$}6C&XKe92zh(6hF(sQQ4DNHMsRFC2d|z!mTNX-jmmIxc%hj* zx!QEEv1dr$-;G&vG>GRHWdVT4Z73suc1zQS?07W)^z*#dk@q7I$^m6S#fsWGVD_^6 z+vDV?O~40*(dy4qiAzA+u>o=1uKet=VgI*@u0|XC$Gx;as&c#NNtfpbMc3 z6;K&X8BtV5|Y)>-A@=*qsBMB{Kh`2x_fL* zD>4TRHWnK-@V58sA}~fk9^SueJx0k`#bG_d6)0o@+z=MRbe1Mm?4w*@()3sw1xmY^ z(&gf!`P0p@?4Yd8!((xxv5D>HE<&iQ-2}VT7Jd5Y4G=@cOnlEJi!cuB2f+Fpa=zo8 zj~`%C{O0v?1i;Q6`1?skAP2U*IIhYi&(ifqX0r|W^+l+TN;Coro$enF@K>=y3RPyR zpB`STt+CDRl{4?A%JrIkUc?fTo@txD%UKClt*-&?-OE7<)0=Q@ZsPFpg zece;0+aa4HS-WWT!14r|?nh0v>%bovIWm@)!iPUSEm#%_wC2^@5uO1&K)*q!3qcVN z&JsJ_Md>$ZnP+`!4aZVh5$Ui?t5U?oGY zL}R8{5=~`L06|Y{v66oO9{P9*|B}<~f`I%< zC0#5!Xy}#QHtFB(_)T^x8co}}cogh5Sv;58(oY z;g@~f{dEt@|4iFBcVDA5_J2`!a77N0a*X>vwtDp^F1Mf+TmQ03Khv=f-4q7ZDdY<# z?l-N&yy_=wUIH=b!!v5O3I+{l36x9AZp6&QQZ+Gpqjxu+v$5KWhrAT zK;0CT9#lp0=|=&(-%eDOW{G`-!P*nO_4slS*DOJc%?d0v9bKW*AO;!vfU2$C3WNU- zq9M6(-_KoY$eZs3-r3OvooTxPT#L?91q3y{_&^jd=S?Zpp`0(ZYQ%rsy3R+eBq%N zk0xAtAdmk%G@ddOlpY8gQwO|4v)lI#HI28%o_I7JQ*(falXI22kQfTWzg(w141FXi zE*>Z*$r!59=?$Fb+Zo@Ms(eqdPwvSRv?cT*t?PLE_rHgKe}m-p5P}D!F!d z;bb|AayrNS!xb@U-Og)`wx08)-JFd%0LbK=4n8389o5Q!P}Hr$Wc_1RAh^(V{~QGG zUs3|(szLkt_v?H82bA*K^~V(2-riuO@9wC@*)FbF@u5QkG8sT?Q_pJ4(^m&@-7L0j z7+<8HAy9}qe;UiKUjDgo0_%~2Nj38gA`EWR=<@POBtj7BZ+9=7k6e|-Fh*g~39smj)R=w5*1}xs&Cwje3IaMQi)LZn z&4J!!;`67J%U(+WIFN`^bCBI_`lxk~!G*C|>wi#u_IK^4XXN55+0TI^ij8F>R<)s6 zCh2Iy6=%UH6?Oe*dngKm#-1#>rkHD1pB8-e&#`8wc<3{MPT`aLlnO1!#SRx*=+IDB zIlG#{!}&?g?c;^2{_`>-UQ++Vl2>-2vE{bVydJQ$CUXgI?;gH;Xh4^=>R^m=WL8|C z@nq7|TQg;F*(O`0)JWWpCH6TG_!%{%>-H^zmAyITv-0u;=PNX1qIKIpFII!_O~}ce z4_Ch?kGM=ag$K+@F$NZ$>VP<%PjSvzU4|#hYX34aRC%wKsyMAy>hPPf*{&DyK{u4t zkBaH)5(BOdY}2*HJasB#uCo#{XY}9z$dv5|95Q>cl?v9U2Vns=N8@9<-NW5Dcc{gb z-^_-0{9+P)FHq$YE(m*hkykn?&JGd@&ym7xesyhrvNT_21wuN7C1%H4dD}h{+vTBV z$aABkxc1X`Z zylNYi<;AzK#`ec=8tJO*I=aw$L3bA=w)7HgW_a5Vr@3W{tLs-~j%biriu z3j9GPBqA^PhhNKNRc(L1F?uq~zUT~o?}caI2y^4NT2D?wb2_MCH;ULgdnU}Yc}4(& zj=bueoMDh0{~go;Vrxq0nh)auM;p_Ygs$fscGSP6GDlHC4-IVJ*XyyqzP`)J_pCgL z8B=d=D~bueTmHDXI9gcTl_r}#J>T|73Ym0=1>XDEl!Vdkuh%W-XRW2TUiKv(u1^Q} zzCh*tj)&cX#Wqu8Mjq-_s)Ow{Z8ZrT5Xicm;Pwt8b`W~O30HyX6 zP6ZG*IViN+{w|{EH`GuyQJ|(&dleD}(SA5|%U?i6kh5uHJjvtwVU7P?BG{n!qdF=K z{&Or{$X_Gd2V=hcSBH<#7cItC>HBc97l>?6F4%+DAu~d`ofXbHPNzf8443tw6Nuh1-wuCd%&d_(5m?&j^tUC-U1PKBp0emE zl6>?}2YSxXQW%Vz{=d)dFGFZ+=)x!XvqUX4sM+855dIL%efe2`gR#43d$5O@Rnd6f z4LC_^3bv$`x4Q|;)(-KC8XJy(C11{!G;u6v*Fw@TlOJDN3Dl8xTu^KB)fLX>Y})PZ zTdfVTmc@IV9ZQpm(zztP6F)ryW1j-V$!p7L_Qs_Nn{J-+24ZcCf_YI&Fs zgP&gWhoGUNNwb5x$tRT*Eh>#CX4Ea#Zz;m&m3pR{ak6wh>8(8<-)PS!(kTm8(; zyd|q#Mnm%=yr>-Y?|zY4ShV><1-v(-+`%FVMa#rggbAsHrB09@h;F$5lk{Y1)4Jih z&;8WPq7n8(_B&E+_4z;qaI%K2WIaJ%X+3Y`MjQWb|E=4FtyL$0)vTAzOg=Z8KR&HNCdk@L)pjw6KW81iAy+4yEb43#Z3W@= zE08BF#pu|_CHneySZS|547?6AlNgJ%?3x4 zo|GDT-Is8_!vFn647lr^)+=x3#m^GXU|>XC_k;!J=3y`* z!2f7JW&jw*;=B(qoB&sLeqW}bq2vis5gzio7IFZ1r~%%lB3Zl3EtqgBV}4f_`D#EHFwJr#x)R{c$)j)xo4^-PvjWHp^H zKbWv~+nY8Pk28)e=s!Jx&hWV0jxd(lkv1#-#+TAZhn(yeCT~uO)Bg^CEH;=Fnz-T!JMw6{^~B4M z5Hf@e#4-iQRP^+uX2)!fjn+nE%kb8V84{{@7;Lt~eON-ax}W>W$?Gjsqf9h}0lSGqEZ}fI+mmgV6_gQQ6D^dz?b3hCEsg|96Z{$qR6KY(J+#) zfT;*=ZE(7z1Fg7^tq#)dqoCUDXHmPixT|J2RmT zUPs*sylkzB!miq|Ml=)Ad-|t`eFy6LoZL<490MmDRVK)|=wnlvE6o4=l$sAmyM^6v zTq|pw@PHlh^`kS-=l%<@$=YCYJfHm`03y&(>?5!^TpuquV!lE`!bZ?QfbZJ(fLR zA^%L_ioyde&0@7J{%@Hy`*WdaF#A<#%B$ATgIE8;C+dv1z|vT)2C6#gC@X-OKVGcA zj#f{pJ|dc9MmgiXD-$vbidyeS7NANT!X^IsN&Y%y$dZjt@5fBZX)seX-;EqO>1~nY_X4Y_6Cz;fh{j9Mv9mu*3#&?PLakQ>;k{rk~E6(BR z8YS;!vHDAs<$jE+>$Sko}8D8+qy3LDLj&>JiyE!{j5svM2` zc8;z9lkqD5%IK>&2c)KD=aLkx^(|;+Y;IF3c=*IuV%d#C**BNLYeId z@#)gR;fCiAB6E$``_AEdKIRcUOQ|)mPCNF7;}5%@&m$+NM(QF1<|_nVuLNbbVoS7% z#;VV|@8hBWeaidJJsKvu!+Z-S(@h(!`|d9~o z6DQ7t7g&$0sbKSIo(jhe9~0gL9!SqfprPV?J+}&C2&;E{PU|QwRy=%marl&7Z!vuw zJCx_~j6`zy)j)dD-q|*Bbc2ELhv>}1u+0EgR%&B{$#K&;-}Q>OP>rqmRwTKg*UvC#R~%;Or-pq& zNI0$`WH;ez(%|X~tRObhWJG!XT75{yihBw{Jd!Phrk|!Dg?2zouG|fKq zxRcWL_9Z~_oLI_ta|1j)5Hw(WO5@5N&BPTfme#e*n_*r}?s|-B#kQYcGCInyLt!Q( z9QCM}IS=C2SUvI%GV|PD%C+%2k#ldCDl~%{3!wR^=)STK8l^bfv9j8lK2A=B09v}Q@Y zH4HlVzQy+50@XBIi3LHs0BYP29oFLqN)@z((h(_>hbZy7VU3>0rr1l&Q^$Oz-+HFjMJ zhXo8So5|Mw!n*RrYMXbF>~qA?#^_doz@YtHh=KF*YOdr=XAqUT?szoN1aGzOn{7)f zHVsti=x(o&pwlV!e3CO>NU9NE%_h!7!ZPEf=|`4peAJvye3n##?e!1f5JsSR4es9S z^e2{3o|kBqs~3SBBc7F}PNVg%&brI+ZX4a3??7yv$Dm7Kobgt|fVl0R03ZVZ(|-OT zd+tOsIg-^|qMtcODrsB89kZDP1FbBx28HB>pZW$YmsULu9xf&qh7-k9OFnVDdvol- zJzQs(QLcba_$mvlM<=G?AN2*_*D5vW7`W^G0rbx32QFxX+dsNPr}tQo&a5{n4`)m@ zyG4iX%b!ArIc%}1GNJf(KG^axhRsg9x1rK8kFIgITW(PEO028EAz=ZF`KUN(O* z>lB~zHikz-gU~LHjJyS)#4r^snwyu+m!hI5`1m5gAj?mw8d@L2j~>4ULh>dv2l@4o ztiM0NVlZe7sPw*f1s-HA=_d!#0O8q36Ir7PY^U!&_H-0C!^dTAS6hF_Tb$x)4Vw&x zh~AqdqyC&cvObl+T$$lxaLS1>yzCQN=<`k0Wbh3CnwXBx>tMHhI^J5SJXhc#bO_)aw?Sxj2G-c)s#J(COn;c?sW!n3rXcV5+;5(^{eJ}Fe>*nHK|3_0WFxodU{>hf+^jG+qcs- z2=36KSS3IJ1T+lPTmI3VyT1=8YfO&shFy^F`}Z8D>Lp;t(u!EBef2zD&jlyWbR1f> z0pnR+U2TIq(g+11*iH}ji|Fmg&&c#T^}7+teGq^4_hYuW%(}q5?YLK6tKOn99u5## zT}S4io?Uw^TZN_}kf0~u6;*X?w*uVZ#Rxdrbe6#X!8!`2Mi^-fZ;S9ER;1<-p&=rA z(aqquvwd*{MkxNClnMkSg|R@C^UnWT_8?u!=6U+Zehj3GODak_2tap%O$xALQjNb{fS)V(_MM~7*9Yjcb=@ucSWW>}}B z(kYl#Jn7w6*@T`N4aGN9%O@CiXU-Qc``d1<7Zrt#tjvxbR&I`FBW9kPwhGp<`$SK5 zw4Eai)`#(QpH9r?O)*ctd-Sj*Vfdo_*AhDW?eQ^?=W&%*8ua{S*r((5?4Z^r>fdr` zHzmSu^XJ#Y<-#xPLqlJ(y`zhjl;RH8>Tr{F-4V1JZ4U;&N zsC6&Yb&zv=!Md$_e({ewa%*O+8E5V$3Mcf604Q8YJ*`=c%`sc#|PMe<!{lp-hbmJ6mIIYvLtRSSGf%kB z-kQSN;=*@&SZj_NJvF{;cS5o3dtd9njO#UUXo+8=YHNMowUhpgI0*VPW&5zzuPQmS zYI`%c-JskY0i2pzfQ!v)cKal)S#KM;)|K3W7Tc>7lPm_{GZmUef!txrO=Xo}D?t`B zf}Pd(tPX}H@}G10lNo~n5afB`$BwPlpz`|K2AAnxA~GD8vu$culAmKE=A(JmVWEj6 zYiw3&XO$*<^ud#pm*W~IuX+u0bZR&|v)5l!&{~2Vk^1W^WA7N4VII%T>1xD|SEI3f zw6h}0T{}*|4i-k$(r`kRTD9{lTgL0ykEP2y&;bWI@^1owKQxOvfW>CEchThgnoPLQ zNP)CCcq2qKd|ap&U8&7>qWuw0YHN=o-^Tz9$o;W2rkk5?xW`wA7l&Q@b#FJEY!GLB zc?P}L8Wrn6wf7#4ZRat__H~A8oX-d+5uiU?bv0Gt zdFe6Ib4JBtW(@eFZmfGP(N-WT+gYz-X>K1K6&t)hO}0l+X8lAaz4Lh&`j_Ndp;hg< zM!~{vTVRsT2K4rkxCAf?O|OnJ?rOwXUe{_BJs@+hRil-GW2Iw4{`s8M6=K({XtrD@G8%Of;M=5~Y(> z|7yFr$~B@VF#C!iT&vj{{4K30A7Lm-9ud*_$v!Q!Fi#E0CZQuUZ7N@f2080>1NZXL ze^e*!Z~gf~HO)7~9s5aDw4_2;bdous87kJ(aAu!wfR8Eb9Hf2mev;{?ueCQf;Cr6f zrgqX7RTol+3bq8^Lq$vNmDsKbV}ot;OVK~*bapHBX>$+_wsvPN?5gN5O^GafaBE3dQbtm{6NyF^7ex}|8?3C_qFIlidXj1#tK z0csIZPcDDRq>Ghf-*JcdXyfJZs_Qqg?19_S#YQ8_rj2W+$VeG&_p>7#0y(cbpEGT~ z&ND8!&g{PvJVN(h5X7Cu{fLBf8=}etuq40b`0904mr+aC-x;J!sXv2BTD77l2sj6d zG|ME=6Pd4&tyCt-D{TM#O-;^drQ?gX9}zFJW$DEE0G+H{57ms zD#2o~NVrVg5eIi`jJ<*;ESk@6+YlI{2f9MVVx^jzf^HSkw4~{UOs+P6w1f!{mx#BN z5EGS@UoHUo zC*^t8T4y0nsrfVGr65ODTRO9yyR?GR4*4IZqA>oRZbsr8ws5D(6CrPF*sD!it5!F8 z-^i`VKHhv_n()m#ft;ZCC> zWBLkudO0nuu>0;ll&iCtUb*>9u*R~R;=Yu=WX*qX_&oWDi*-^zI6jy6e@LqqTW*Ew|Ghp+9sXJ0j5Sn-yReh(Q*R1oDB6mtk zX7M`0U^^}8p7lheAuA{lL|XnL5erWIcS%FFTkjpjujk9nUm5Fq@8@0lblIQbG$3JY z?EEs?QC==B%W1$O1cA7l1xa|2FK0Snt)!sQuY<@Vs;kQ|i2vM<5bfZm@w#l~{d&Ov z?cV{v*{&Rjq(TMw=ME=SB$%aCpM{v6-dH*`>v3$b^wp0Murv+Tv;ugHO}$~x_~z%!5UIJ9j*1TIaRLeLnw+jFO-m}ZapB`>DC?!fC2j)RfubTF zcdnd~2Olt-NI_*q9QfS^c!7U7V61F`<}g7};4*^5s7h7|idd3c*VKxye2PlmfE52q z-^XWWN!qH?cxYGvKc_diS;3=!kEC0YAL#kctzK=)y*CG+Qe=|XelX+%CSZ;zT#gh# zR#a0H`b_8(283-T+Uz$b0~rcQh@5VC1h3=hKcaAka^RT z;^MJpaAaxbyo~0lU_pJ8z-QCNI<3bG>ch-f$#ddIJob9-^wKnUuOn5y6?vIYy_TQQ zxAtuMya_FBmU{vPsf$Gte$C_bN=&cb$pszA|9x)%Q*|-Mp7ev+Ce1}|J3(o)ab^w*V4p{tEw_b%cGVOf;L`rKr`W4+jMK+F?nXhw@wcXLq5;)SzZe%j|CN*@CY{4H znq2d?-u#BPRy%W;lsRAOvz+#0$oP63XFgH22DmOG>`6+Rx?)4Ku3rOfd#U-7oU){` zQ34u;`d|da6{VG~_q}F3jvCyczzxUhA>j`v^lTr|cSH$eSlQpa&@nHc_4H%}ns^9& z@5lvn<@=t-w3-~Ac@eMg`QMYWM0ioq_9~eb6@^QX0>*`B)p8muNXq{OR_i0fftM#P zuZ#b-{~ENiMy*&PKYUmDBUb@jkfPxhes=ErBpQ_F->8{yi(K4m*N#Ku<9)@_PrF5q z{Q|EKZ!r`EFOKNP|Gx8O7*DvCPi~clAHvqs(Dt<3C(fX<|I5(y5Jt)sTB`k;_VB+lV5V)<#!}_t+P}|A zR+czmvuqFwiSSfkK|--v|0qf4NK8twc08unO9Wew`-XCL}G?6qYAN za$7EHs!9=I^~~bT)C0q5)C7j*0mbzL)dA|rRsr&V>NPQ=gX?gv>hoHNfZjpLi@Lk`D=L}!`Qvqkg^{pfVYU{_B4mAJn=iA+aUW$vI zx@faQP(R#B()c-L^yWA=t%fRrvlbV1bPv)SUo@K3jN{j`?~2IC1| zF4D`nuPS=~ag~rNMurnY+Y3v`eET`GekY%CLGk5nTR$t?>^J>GCgwGa00vnR4eYXH z22xVeL?KF9B2r%FZ$p9L`QO`K8%-ql+OaDe8b-q{G<`_gmDPINJiPea7gd<6DKpvy zz6dBOtsvzzGV71M)*zP3Klp^9bqa({be;2|fwF&1$YTY~{rkHn#tE|8;uJ3W4V{`6 zV}Syd#`;x=6+&?KyCyo}_gfiNtKWYphOKa@t88;BnZ=omQCJ#i#m&WX7F(rkc`FTx z>w>^@E08{-fEazIp)b*Vy?@}-4d-1LhYp%L|Af`##{rDap|QXFSA;r4QJH&fuWw?= z$9~;JjBQsGVg#;C@f1-~@&SHC&ghyi1j;`VH0Dq>6_jJ7K(eA79tttp@xMX`5@lU> zokV25EWA8|ihM4<7HPfeH{%345z!))xhPF4)9L69Oy3e-ZH^Gyzs@SPJcc<9$*5>M znM1R`yP@w1%&aYpIo2OtZd}y6DdNQ23z{EMEu&CdZwa2)x+G3w(COKFnDbqNTQ7sh zQ*;CD9}!G}qKDsSGiaE%n_lq)m$$1TbSc;0+n?_8-GHg@(y5rqm}YLA9~|&!4l9V^P3LW?u*fgw|I~XsVNtEn7@XcKBY{9}aJl8V zJduLKX8lR9cCEz`Mg%1|!b+*S=mMK{Phq$EC?!|~^Q>uJ#_1aP@z9%Tp`^LV|>^C$BgbzQ=5}O=9#w;dne7hV; zr_+*Tlg>Vq-<;ytLtuQ+mlgx#H_6E)L`(w|J~aL$Ug2~99Uk8e@gJPd&(X>gLcMdy zkX+N5QoX-sPo7iIm@yB&4PHT z5}+ycsif{ERrdn5d<`tQ8MIa>*Td`NEF>)#lDw}Y_e6k=H}XorU|znq2a*g2hzApJ zdRG5jG=IpOe7)?fa*fW^2Hd7C2c6y`Ds`aO)Q})Q8Z?}q*fxZM&QLwz_ZwZRhX&g~?6C9zz1YQhzfAW4)cg@V` zZq1?=#iXUhby0m4I2@%yKcYKTrbbdo)dvf*iNjBAY2IH}Ft2dm<|oYanSbkjy4%gw z^8K|zxSjI~>Ci>3hH@i;xREU!#)7@Uo$jWp8VJjkXDHtY z9q0(xecH?Y+oJ7-);uWfH6vhNLE$sd5{1YQ=XB6>v2}5**BcE2HfM!K$sS4<6c({~ z+d~7nm%N6KkcJ5Q+*|{=pMW5-(*h(CIPuoQ%(MjU5IG}ddXJxNL1E~x#uzfHV)O*d zL}LR_v8XigTe^Q78l(!Dxd{f%iEEO7`@jVjmHrF7@^WiplXZR4fwAXxw*MZ@YThr1 zp+hXs#U(DCE?f9FUyrhDJ;$CxTt?I?_A2g+odDeChsxx{#oao zmD@~`qMN3&P|mM`A3v3|H&`%OUyxU|`k9V4=<%Hc=_LcS zQYe&u;CR}snmp5e^`jK9V6Dj$tNy~}FLu)cDvMa2&y zg7TXbu@9zjpt0G>&E#bD;w)NfWmbUYmF51vWmQWl4qHpb@mWb2H9TlAms?`l3JMyDIYZzAhbZPY4GN0$ zZOp}z-Of(nR?VpArX7uAFXgYjG}y@fljSBIIn#WnC>PF;c&sVaB__gzPkG3&&#*ZD^F z$Lya^nT(t{G2WbrWL#l%VuI+W3Z8BGh z9cG_p1;h~76Q1RRezCy8^~Mat2rR-D)B?UN;3)`V-P4XMSKb&mI^xEef$JXb&z_5} zk!beBX5UWKexw^;goVTH>5B-RMq``=>LB@tG`ZL>>nQigbbro3(44v6y-khfmZLFg zXXajBpAOTH>S%<`6L_GVoX4r?l82C_J;tJ;Q|~(|ZdmJ}c@hth z=?+w#nFS~G)>lygw)ySub}gCps;G4zP64X?@l4>v1X*DQg*_EPu0kSEOK)b&1fF?4 z@rL!P0o-Mlz-~dyKimi62pNBQ@x#I3dLdKh$;f^KIRdX}0iS?4%Dmm;Xf1k~Vbb|R z6+7U9k8eyP0@q+u97mCvM@DFA9=FTvP>^DYpmaWqMNc}U&4{Wh9%9sD;OC;6+Z6t! z<|7Q6ZiH?e`0<4T0!HYUB1KTU_Gu|+WtewrEZ7$(^!9JWGm~2wieo3m?P~dBLx~Pm zY8SQE*sJcOH^-30*$6;O=*xAr3oWpP4GP^4&_^ONMoE$J)s6)GTv;rV4~^s z$+o7UE}4oYd3{l_Fo^_}lUO|8GovX<9oSfgD_z*KRY|#6&HJZ9XVF=U+a`MwZb)ut zo?1viNNCb{e!x;!=TGDn1^V~+K9;X;nz9z(YI&9WQVYx!z;ACa?p7`i^Dm~vCX1s@ z5`6m6Mdw${O(YQMk&on!~D77%Npz-=A)dNHvZR{ zkUd;B8`GKnikl;yjGUo>M#I-2csljwn0PsHzL^^hfQbXlyl=TG<_~?=J?wL*CvmMw z4Qn2$;^{!8c~PQ;GqGR3NBm-Q1ghb!^X#g^dg72qa@d6`?roa17QWOg2=#T;Xg-+twyIx*zo&wlYD%t}>D|jBPFv51)1dO5wOW2S zuW~f(jH8Vc);Gd6W?nWct3vf;ks1aPkwItsa#ETu<$Qj{=E?B|%d;R zd2JuHSpsjQ{fS^?(oMHce}E|4(<3ZK30wy#zv=_3LTi5THYZzscGL6pqPeHPHB#X> zc_CPzy@X-#edBpakY!O$BURcX=?~Qt(Oq4Mve5mi2Se0>tI@SzQJ7%6LQvj`@TtE6796&+AdrhTo-Q6SENIr5AHj^v>RSu0*uQa_eKWquaYdymYQG>U&T=N< z-)*7M4n+gJc zF)}9ypI*N&Kq|GkxSWKOiqU5Z%6;VD7gAVU+3BAH>m8ooTvnY}MF^g_f#edSoW|jJ z@In?3oh&Eus}mgGcdAyjU#ZZqtTFPG8gU|C(9QX*TjVGD(9>xbn{V_>iN8W zzjR_gw3A@j-J+`O+uqaH-Klfd@Betdd=ZuhoX%ViX+~k~#&BT-2oI}YF*HGzmi|Ai zXIoYOpvvKy%qAi061*drqX<(@q`SEOahUSgpR;F3K`s09vAPHS zOoO3RtKGCDE3d-BV4>X|FYNmzxuLIjppnty=M)u{gH@-7f)8M-JzwCZ*^dMhsI~f4 z9QLC!GWrj{A{aha>CwN~tkwlD>3B;S8KL?6`-c&5CakxIECK5Q3{nD7x5)5(-`L&X zoosh^8E3!w2I9w0)RD%Wibkaposu&AP7=WAe0vDr?o33lO1AK4g=Hvgxx2z;0eWEf z`IvWOpjGFmAkKQ~OKa@;l6zgnL)@LL@?Yb}w)z(&IrZWQmdE|tWYpUenW=w#ej3u0 zap~0kb9(v+OZldjeykgHB^2xK6Xs`*eVir)Jr@ta-z46+Y6;zXFjHFe4eQ7(7+wOg1;4_?zp3?~kcyZzr2gFrJiFf;_&4(q6s1!BQMeu$#R9 zS#IHw<~+e|u-cH8(<74d0YO7U({x>Le%)7DAl-F9?Ez7CE=%d_&CQpF*i zsp+YlG${OxlK(?H&ae* zHmArlc2{dBa@_g8`270wg6|r2GtLvb@p{Y=C(p#f!f>!+bJV%vwQ4^T4vbrj>s)o_ zj9m35Xm`J}kIalu9)erY8tJ{-8Jd_FV3M+Ky#e}}Y)eSCUxK=!VUS-Q```D^D#MWC zMLVlu4xhK2h*jZd+(Qseu(W0lGBt|4`t|PEb_o^Yg-%1q6*P2YFMSuzUTpqN#mQow zBeLO@6{k^SgEwBPyeSsq{GuNdQ}V<0&B^s%4KTbt-_?fI00xie2N~d%tg^|eH-0N9 zr&e#kRQ+#GV?R&rI1BC z^mK0&Mi77vtItnjZgw&rWW_6dB?zxQ!xzO|4tud>vy~l3H!Co`9g1!4|##az@VYj|c#MXlNKLc5CXdfp7*p^JkKoS7=6P@xky?h#cGz zCjMKs%Y2lTL6hQ=R!|cKCt7;ED?I4xD+m|%FIy=NE(y~i5y1H5I&eNy@J}fEm#~iW z+bJ*cwr3>%+85vqf|MNxIZSZG7G|dQ4=a^6Kfc~1ISzJ}cRZ=LSm9)P^2COxvP?}* z{u0WM$CR+Bu835M-%rOzuQcygZ*c2TZct(U14uBI(jzi*3(lOSknVlYq3Ybp@Y>PA zA7v$ZZhzso-kI#?J^f0ZWrlFQiCt=aebB0RqFVeLIIl;a!#)u*zKGpehYDD&@V#+6 zUf}OH2&_A>ezwB8-HLvqui5#zo4qt}fbR>#WlbnMtx&t8s-xj{yZ_!P;-dUhZTO(} zfZlr6_WAxe`LGHsdnPB&=Xxm~?L2Z#Aa(h=>|e?<$`r(~K?B|r@(->awbJ%>@(sDM zWXFMepKEmIP?K1~IxK*E0iev8bfb0k924SF;YR^Z#Q`7~{QX*7*t~sgfyv;C*!kKw z!Tvfapuu&2V$(jB`QeNsP6+{z`AgZD><*4t{!+=1s~$;9ALny*vW{{{ zBw&P|?6jdT_Tq)OGLAP(tCO+tH%r0fIoxRdvlGFVZ03$r{&?VEQ{7QEkIa`c zX2GPyJV!C(c=A@CF3N&oQKukMqyHcDILuXUEgY3(d(d>f7Q^J_0ZO%hH)Somq#Uej7~}N?3ZQCW$?vWlxtFXA8*rD;WpB6vz~m8RqK#5}>1jQo%3H zO8)-#4*Pz2I3oSNK%D&xq?|gnr>Zwc{kBEan8otXL1theevLY3IDk+#5HPeMfyu3( zi6<@4d4u+Vnvj$x9Vu7D;L(GAMNvt)%6SYs;DR@1mW?JGohC^pGAHAf`X|}sY%id4 zCY~o?bCWEz(IKx3lMi|S`fZERV^pUut!xw)ddGDE>TeZH96#lS>EumL{6=m8JPg8l z^tPMaqVIeWGJGw{9mnyaXf8Jo$Hc*R$RTlZOH3dsjT{ZTO)_F;uGeZ9I4NPS<^er2 zE6&Rw3ghn5pY{26x!LaWmG0z(9pv$J+N82^2xwtwYH7I}7c1@P4-LpE794f!_=(M= zOKn#ee~;GJv!t%^QGN~Qry9%JCg#b!SMl;(8bZY|)TOWrMjbZc4ND5_|6LTckX2M_ zvwI?B(e&8g+Ps_aVg}pS5Ec^rt@OK&yM1O=v}@WKGex>bPfNeB>yr^M<>orA=|P+A zf=jg;bbqwEjqSxKgb^j{qn@3BB#yLWc99b)s>sT`w<`H z4(^W2_96ZCIiB#29zFfafQ$(RReR+BwE+Cclci0CPAJ1S3!MOe zwY=N{COqeLN=+51mJlB=ru@nAA;tIr5X9JnCpI_oHG@jslhcN$z-+oPa*iR(L=Fig z)BB1PBW(rY572ciPJUFQ>JRYB!t~IoHt2&Ra9x|~{}dDjsaA_+R!|AFIbC7BQc#dT z!+F1V?j0o|8O!YUK5q`zds*5T!7N*^^A*u?jg$ebA`vwVoOTKonAvi=rjyEvI#vX# zUkX@?E6Q_gI-tT4=vJ|8)%{DU+LT`B8T_|yH0Xhh9`l~M(G~}U+`5!l5Nn7;c{CFt zk{e>CfKLi8%@Mini7d?)l*wU30VtE|0ne!=ZK>{VQ?=FnGbJl)qzHh7E4{qHpTM71 zUkf|yhwS{vd;aP5sB*ddyuqM3nDiAU=fLGVoTWg!k2j^Mjz^O-F!gU=FFBlZTwfXs zF0w)F0&3|06{Mhmsbel-s&Yz7J@~>LPyUOY@Ft+ zgpIEW6iCqiiw&Nf8=S9n1-K5dASmRLy1aXuy!7@=%0Uc}7C?Iv!>j8#)Q2My<7NI-eM|^a-*2_1>s$?% zD}0qX_&`Mvpu)zRYU02CvI^j)qAq0iuQ^!JB^YKe2qq0mT24tZ=(WPAZ*@%bn6xvw z78N#ksX+!lnE$h)3i|wTB5_O50GvDJ3T+Vz!@K z!f7tg(%cPB)H{mZ;mp^hFQji@0FTyzZ{zyr4KQ1wtSs&H)KVChpg&12chyr~K_U5m z7sUfmiE@q%V=|Z`f-Gpg!9;Lv+jeL)1=ZCt!SgyI1I2*+oSJFw_w!ydM|;IZN4gZg zug_Zxe4qti0vJt3m(+8ef*c}J{TRxigE2PJhw5Fp{EO?T6kQ|F;$hk<_1&sgYG+sH z6`ffy6_&C|oQVoGyk@bkFbRb-1l+yIzPhX#VVOv9y73)qQft&lL=_*+bbeH@qWi6V z=cJ9q7ZRdYt%=$0KHpX&hI9|P$sD(SW!|55C?+r#_7o zH-zRh)%cHs);)~!$t%p4Q`tbQ_SlLs0{i>LqoZPHugd<8LtMf|kXk|9Zu7lIOiD`Z zGgq-2>~-@m54i57%8r^21rZ#v{jm~Bc((j}iz0^{GxgxvD6z@WIS8$9%hn~s&2VoF(PG%VA(fvEe7OW zKqsW_ZNWfdN4;qVhQX1G{(!L+WV{eUNA1(0pW^KGEv@~`Q!G8g%VY^%4Hj8e>SW6m zUm7i1&M<9U;5mLs8_5Vm%ZSF9)AO0a{I}Ixo4)!V5P;KIhKZ3 z%SFQ+Zy(&y8S5)=`HL6v=9@N4=Mp3q%6S94O+AiP7n?5+QY>sLRRL z;A@m?)r?bmko*UI?ey!}kW@>Mp-P(vh5Jp;O+6e7eWWk2@>HN;gJF2Z$- z=kn$}B;B$Yj^XZ>^7Sl5;?jTv+P5{c|CdEL1J^$CSQ@+b3#G(hmDi6`Ab5X`n@=D_ z8b`L`BLU+OOhKq<-~3+DaU7WCF;5}Isg2Izl~@>L6hjH1se{=C)~M)=spB(uR5Z}4 z-#7h9PDY&0ld?K8a?y2h$ogUvb?@nO^K;~E$b5&Z6aw{bk0$kY*C8ldpnHeTGDzjw zmU03Tty7rY+u@4oko+3N3R-~9;!sU-kZ(tX(WQ%6l99{8`J~|tDCQ5Oum5q|+TI(@ zV5BvE@_KuwJN~l;6$GqK#oqvQCE~^Wh}(>Fa~%=O0>G zzcA5J9#8p_AmB??=J3C>7~lmcJA>}h&nRaI%5e^vS(JBz13O5D2z#zf+WW`H_h_z= zw(`{-+h9N{Xc1@t$t@&o41ogAlgG`E#=*{$d1ph42ut?47-hZ16zkyFbW-8j)U>9B zfb(u3ne4u5fv3W(5z{H4yI@(vy$;?X=5P@jQRFI`UEuGe@qcXVUp)$GPCIBB8F&BZ z09&y-vy`@{bMNNOQw1yr(_f$@s}9&Wsjg>d2#fOS*wvbpeR;tqcybmjk9s@MeACG}#Aq>)zUQo% ztGrx4npzAf1BqCyndd5l^w2%d*?0|%bv8#((Y7ZA2jYhCGRF(S?AN+(fqLDoXbg^5 zFN-G^47uDK$SF6(_V+`ed$MLme~YlLlt7BXJ+Mh;5i-Q^Yu9t(8o~9oMA68yO>l3h z27|dsce$|g#xm(2$oQ4F!yJhQrYG|smlj0iE1txr$CT-XZ^o~srZg5i(LP$v`c|W$ ztm4t=idEV9Mr5qW9}}~EkVcRusGfq!4*j<(k;y;>sao4-I)q&VrzoX50!A2vp-KZH zHvmp|wu+B}Ulr8H%$v48&DL~p=f(y-IzBmg!e)~Z&>Xk$FDap)Bb|cTb${srR7TDo z^HzKcSc-wKZLN+t7v-xy#bLGfohLclo#lKB$DWrauuRaLNmGm+fGRxTeXJy8|CK(gB!8uGi^A`M-}v{byi zIEC)4#IW%%s1X!8^khc$srCYut3~z-%9@^uJjJZGN*d%}#Q(yhp(OW(++S z?==E%M%Pv>{5GIda4zY!HcrC!q(&=SpV=LcVmt%rr3 z=-w}R7clmS)c|Pu`#hBk9!<9=B^vA41)5CGbI&YaVq~EHyUn)t%VmeGd0yFq{30E! z5>ani!79aDs_?4(u!*9)m%ji8ihqUpvwDNI(;sFyJQa9ztU(~?ssgapb{jo1^!B~7 z01%A*2dN40~GW=TP~p+^FIf zDREsTKVswK(R4AhQk$4reY?PUJo+mN#Mnu%hhxXhCJXLlr3s_y*({5!cZ0z-rUHC) zuqZtACahoD#>?mmp})E)Ii{HD=o}0Z0D{7Pp8B^A`*iGMZe? z)~T49LkpJOU_p>ev!}cTB8bTXT#O^u_LIV&!r`uUQBLj}5>FDzx_nC0gM!X_183z1 zZc%ee@Y#l6S(;h`*;tH*yyxv#v8a5%k5HZ*x08WR5|={)Z*yZp~qU6B$c zzZ^4OzCssCjx^`=aVJhzb;V`xyX=4Ua6VheMsTY&IQxOx?mB|yo3g7mXYkM}Q$4uk zhxuPEFzbUZ9OK7};x>GU_qhKF2ib3CQP^Iipw3U#0}Bd3Xx|T{-tT5%n3!0|C|dTX z)N37|e!P1Ocv>#YW7qP~vIbgIw8iCg<3j~W1Fu^Eivc%j-L*OhM|nya&WAYAA4zXs z%gY^y*MW6G-(2*{>?hZmXj~zwf+YNQ2;SD$07)q=Pm+SI!V;EWS_ZN1uL_ZAze+Yh z@>Q#A=dW{YOMk?zL5L&e*Ej92F3Jf%z`!?lBLl*^&u!Dw`PKR+pwZeMQC1M-+K|4S zwve$`(d473+?$n?0g#X={{h2%6FCGg&$B(CyAY$XmX_z&54You)sI2O*#&YLe}6Oc zeE^~8Y+SPf*cWN5`OD_R%hMLP3B%K24>D@@=e8No;G=0DJX^Xin4Ot1S}cfDB(*lj zj4@*?;H)}6frlOHoQ|j1*D#ecFOS_@Mnb3d6XHJX@LsmIW*#&Vye9+{5UNwU85TN> zO#B3u`~e!`pU+HT1cec?<3HoVRzZR6X}3OS4Y~v#`|H1}1xAFNZ<(&oT7t*5?Hl2i zgk5LW=m9#x!G+MCXfH6ZHgzF;_KOS_ia+(gN-wwaeQ+2e^rPM%kXE6euy{9(ZjYkkWy#3U$f&=pw6yeK2}65t zdE+(u2`2G7AxCJ)@DKdo*T22I-Uw7%y$mFU{DFUpOAnS++l925eF-W=9ypCb@k~PS zCS?ht>%CIBJ4Q(3k`yZ{EA+M6s>%b5H>^m4a?_@_roVZ`N^52)8h7w0yM)c143gkaVK+?^2avQrSr##*x zBbi%FiCE2JnBu`>0S_2P9FBwzY+vI@hQ@{>u3AhHKz%?)R4TUC12cC=mNxpC-;~Aa z?H^^|Z(C0&mMU#p2fjmgclgh%=3hF$qnZihd6l0onP`&(Z4@la>)Sgck4`L#5G;3N z=-&oML=R{ew7TaKGll{)J;xSq5^MEdSdLRu=mfCy(|1xH;e5Tg-LKoBUKsa+pit2q z1@v@tlIx380uL;|XQ2j6R|GrHqWvbWS!dS(bSSQkD#m`lh{W>#x33E#*>d6+KwSmD ztE)GK1?9~WZwcE|eWcDLb=+QHy*U7$JKymyvLA~ekRKd^wLM{_#V(t&vLL7AfLNC1w)N=ZH^`worO$UBs2`sg zCsg^a&xN}}KF=g2Inzs*cddr#i~$7M?AXnRCpNEPxzT60pMV+zYsP#?Z+^i+t;GW^ z7ap?<+$3|j_sU>!c(}JQ(ffP-JQFjxYNs8_MCU7+j@KQH#e4<%tRyaoKewChI2O6w zVmrvpET*st<|=R$gq-T{(qdy5+3w@2nsvWpm&S2ZOY|0~jE`0afsKy!l$AHmf;T^$ zz`>4691O;A2|tYHyB82-b~E?)LuT^jLS`3PLs#XLMcXte-i#GMmk4CVO_-tYUFFF7 zO%!ke?ZSk$QXocUA&msJqFD@u6aTmS82lDe6sRF%Z)<9_t*noX_11hvi*q;Y2?&mT zJ|*{UA)`!n^I*Pw9)Lzl&r$RMhVSsle@Vjlc#S8ZusJrF+Q7-FJ6(Twnm4s`Jn|7NZCB%g)H=-pCC4e;9Lh%xXI$62 zH-K_}rqYHMSi$K^8T$56cLwKMQ3giFp;1wCW>Wu<9~L2Zzyhi^o8z6ZTI&yt+p}0M zj{^H4=`iuWU8!21;EwN+hVgNOzB3T9J*p6SunA>w`Q&l^O#?CJPXNScZT3!SaMZ7M zyv8roAmU3V?bK9#*u=r?4_8@boi!JeQN7tsFF%+SJBK{mR5B|lh=wR#DaBeA`DL-= z?hQ{V=mw^M#bw!0!1i)KO7|rn*Q~4eUzI=VjQCjHoQf*a&*Dg(BfZXsn`Ya&K)fi1 zr8c*4lZ$;5$N$A!$aI8CS)|IE?()$!oU<&LnQ9j6Ws)A({=NH)$*zls9f|v1al{y~ z&&3*2t??k8`FLOlB=+d}D=u|Qb|*O4ssPghgjcg#gLC+T;-$L$I4OlWD#k zw!PjVT+iO`Ef~Ax-^ut8yV(qmmerG3;DDhN*Vmh?4qMxyTU9;I6Frr=vctfDNtfLB zhyk6ws3{UQ{nvNvd=Edu&8xym3JY{}vH%(t)0NO}chmgz#sDgFSMn6fe|4>5W(pd} z!5Xqi_YIfZki^Ting+o*%T`ADa?6HuWmuNl)x+q*j=gRGX{Mkt@LsK42Sdkp#6dEEH3tFtyE>y{Xg)qoMDh*~wKMb`H}itiFSSwl13wnxUFJP+S+dCdMM$w2YPY=)ImQEe3$el|#I z!W?J+=JhCm$y%}ZCQxA9vtK^T%<>!Ti%CZ`zXjtf&oL*}zOdKqGo%G?`I4F(RKP^T zpmGHkv+0jx9QOB+4Tn>{Zwwx~-o{poVrriMQo;+mN*X39B(Ja zv)j5ho8cpEb*)NeA5YUIWdl;jDMWN_{o!r8k46(=2?wZV? z!dB@Xi9ft*_t@+~aV?v!s_kP&xG%W+6V6m1^YKw&<`B|GuJ;K&#>n*@fA_fBqkg~j z_9g+8DJT&yUO7F%x;_1HT(^}2NpxOZfHWfHH|-~~dEv5{|7X?czp*g;%Yi1=vzkr>^hg^#^)|`4WsgP zyhtb!$ICv=f}WN!4NUj@i5~Js4aMe(F(n;}mE0bSw{l$iK7+Tj_h(dbH6C0~_kD+@ zWODm4e_le)p&ws4z6Rpk(=7mfy#on2inSs>hD;bKex46qW(%zBJ$}aCDw&x|g4Y9H zS#9e(Y34E8=Ie^XC6sly5wst`X(ONk=#6;V_3!31w{1iCOr~f(0SH-5MZ*V+z|kL2{jd6{^R^YLdF&WP(E_O0rY!&!;d$zr{8?b-O^Tp(GL}Xu513`7B-Hbzt*n1hk z?^<@k0eTN%RkmH>I~>r4Q22xiTa1Zhj_b>et!23RhAOutlJ}H%d z7lENaYm9H%7(LW$Cz9xaKE#{FijICEt`k?B7>*68A2gAUoCnEi4t*J8PjAfR%C1yd z;Cw-!U{e%irQu?8=s8=c>V=R1M#>r%F0Hy`j_T$J#0l%?Vw3gbbTSz*q6XD{y2Qx z5PZ1#Y^>fe70CEpH@_q58JJ!~!(N7blNR!SsnO?!dCHkWdsOq`wKJ2vVbaj7tqS-D9YF19Zp3><>u%hv({?G8JL-fMQ_RW z5{W4-An=v8^BMbOzVhHxDtNO`1ET3Rgdip%1+Kfb-8ZUpi3iBl-e1lJqD63j*1rCi z{kt?D5;r}p&s&wErg^e(y|WqmQOVcOS5P3yR0WxRog20I@~aOGVHswvo4x(7|IMiu z*;y7C5zptn{dTjqZM6Ebi303Osj@;s z{Fu$ojheyK#|!V{n9a8Jc6m+^`cM7-Zt>i>9ab{IoU>qQJoov-?8=2&;tW~6l!7{6 zWIy9iMx7&QxWruB`$gdV^&poCpsy_a(xWrReMkZwmii8C7xSP1=Tn2&Z(V0)vYtSA z4ez-}4=-3OhJ*qT@wQXVyt>O0l~?yK1hw{e%S|gPipp23 zp_TMN*~hx+xezdX;rB$P>inHt&&yLi%dofKyq(cIR%E+he0+G4Dt}tj`XJs6Ot8+Q zIzz%&d=z@M;cK1d7YS*$77|*$7~gmAa}$CtciMd@W&lA6FU*f!>ll6(cT`s|7Ol=D zt?r_slCxf*s>9MbxSEZWLzH?=2dDxNb&^V9LsOqeOBEy18)_m|dT>{RYCCUs@V&e*}J?nMvjdZAHu9 z8EGE&?MI9Zm!F@CH7r?q(0|`%3LSc+I(K}JX4s$nP&jVYKN;ifnHt?MuWuJsUhSl! zy*H(oFGP$p*9}Qr?B{xI@n}i;gTtd_!vl?!h#CxM5gC(JskKX;46nNp(tXmp_bVtbaBf%q(eP!HYUMZ$;@Z^m%7 z2;R5?P)c#1;mxk7;4#)HXNJL`-Rak`Ian_Jxpy1eL7N}*cQV4z@L#ftI!#7_WVL;1 zf@+5ww+^-Dmw?Qw!7M%>pScnW)-{>PRq7LM-T?CK>+eY8+^#R|`YdsCE<;uld2Ox2 zsK%zSM(GY3ze(r9`5rntTvm{Zh%p-%g%IoMZ zDSO}+nvE*k?q{9R{HaD=LpWD^qQ#}8&c23qb;x;dEx8ANaRGP^-f zNa{6s+0k)^dWKJO%!o?ad`X#IF=QK3H_n0)rBL?Wv0dqN&@jfc2PG^Ut+?Y0h?n#^yt3q*i8({++Dn0Ujn>RiA(m4EnlAs8trS zw+_$HB;K*w);ojbK{z+WhQF#FX21(IP|^_mtZUSf00(I;Cx6xJp=UJtL5s0pRW@oP zd`3F0J0Bxcz;2@3b2~C#k3tw0uUE(0oBJT$3EKN*z?WLHhPs02F`<0ramMPQ+H?ro z%kBwb=prHUPY`&vMNEphlB}lfmoyK1!IxDn2AeAeNqum^d?G4te|N7JgK^F++i8U! z{eaMX?8UXL?K)ihJ{XIFPK&|vT$W2k1_~zA*d>?*+if)OtTL9}{+;rQe-7g*#}MnD zF9OfBs@=N^GWxTAcBXTh;NSir-LKx~@m0(S&svYUxJ;iLHq}_IJRX)eCUF~}^VQ}n z%S5DnEgm*p-muvY%SEV3z?whUQLd)IL&`*9Y)}z()EpPV`zc?oNOBPCR3U89*S&Yr z^g92N)NUHD5sb_ewY}0;ni{NQO7rcs)4TTtXdJ`9z+h?$DdXB?cr5g~@6u>H4~{{9 z*A2sV^|+(S8=@trp)wFQVN#<%_ru)6V(m&yOG|4-%kPt$ade8{nr8U()%Aiqi5Vs> zZG*1tdKW{-Z*>(N0fk0Uuro4{QO>xL)9+kOWr`&$*Yi8av0=*+N&jVshmvwikmFABH`Oo-gOS96o)=rANzSaD9dB|xkNP}Bdk;+l zsiszb60Gl;?KcszB^)1@4(I8~XW?49iR+v}If#gyAyY-wWaiXRQ?JMdVZm|+VvKzW z1qJH4!ntJVry=0rsB%bg>w1(h)K%@HtL|RjX&NTRiQ}^4H&0=l4%X}!?If)aX%|l& zl?uD=cPY$VjvE_C^X)h&6R!*c5nP~KY&31s>5usuxSG$Ug|H%$a+%8&B6-sJ(_BiG zYyaXBwe{ymlfPTek%6wvKyiVxdFZ;Fzh1?s(HTSXljVEaE3iBXsM31mpDg-lnEIum zXIIKKEo`l^6>8Zp{yT5GebBkiuhii&kAC(>jrak zJQ?T3_lVMY-*0?J<#yrOL2jqM&ye*ZdG-q=0i-O*!~q8Uw0q1cqEfH8F%upCwG z6#X)LQ8fYSN(rg0bLq|mn>#jf{vx2)RU%xQi|fXii#^6e7%fWo6i@kjRf$mJ)ze@1 zf{KPtxAl1SdOM&Zr=*DR88EHB$S3_<|J93u#3!1|()$t2mW1amGB}zAthrcmd zgVVLWfYyFosZ6@-<3IPhG}F#_rlgtvm+9(4y)Ex{l#TdznAyVhvZGUBsvd?sUPg@fWC)R(GcxndwdNtTpNyWyPKvOeKTZ9FrrfNBll}^|F(mQ$#35s z{k8eNrZ(C2mO`>eOo3GJdXa)sB>^WoR#*be`PxCgp5EE<+@WR=EDmj-;b=8@)ng;} z%argM=FDtqk8>iPCmAM}DWP}Ei8KI<{%ySf=5=|yl38pRGumis8Z+>6dAKkOA9%Vz z`6%%2?9hHmGKkz*t766u7tUp8b3LX6Wc_zugNT@%&MyPNFj7sY_!=7CceXT#acQSy z={!?LxVVR+CK8$Hly-l}yb`Ggiu70RmTtis+3Y^(aI!FTDyEe7e}JZZ0MGlGb55h7 zU`;zJb3kfAtFM?G4;VFZ&J$t%L8_k;hVO*w@_H=nfETa(7KHuUtJ@1GORcdgtgbGll$A!O~$S7Mm`F$Z%~NJQadsoT;hlvtL5Nc{0~ z6`k&;9td60l_{@oUj^Rw_**R!Q5M$ax<#KlnQrIRW9bk1Y3&*VEZfK;{WWPm`>Y}b za*@oa4qYO!fC`$riDC-c0~OxZ_&$lm>#osc&HM1sc5Ip8?*qLdXjE7ZyU|41pT1Eh z=KT4HX;UWb@ck&mTT_54Q5r3WYczoF>$4qWwjCm+^LUhY!f=$$bIo!yd!`9xZygDq(XO=zbwXr3guc$zw>!+q};i#$*4z zU|cFG;pbj@^H~A`qvIvW`}02o%hF=0rGwZBo&)m6*NBa`Z8r$G!_<9h>~Q1E&1P~< z*w-bO#%|{E-Zsd33Cd+u+BP)dX(Y<;(&gYsnfyh#RT;WIwkLLhJJED)Ix_g3JLIDp z+Cys(ykm?ul7&Og0T>lZ-RT#suWYPV>!UM~@2RZXZt+k$8G}eW1IVF9J_|b2;;dLr zIOBrvC4CaE2G@q@<2qT`{#b~p)2s4e5G(@`rvo$_t$sTLur6(sF?n`~^2-$_e{G*B zNrgRXN>YYGS>@*p4X|{f_qd|Foh&g+yaMzH=@7eZl~2G!LSLGj6f+y1&*y2DWA?pF z=vw~~^_Nz5b|vLT

    JgUpxfOgzIWX}5jbUN&iZPgvP`hwrj+Gr@v~28c4Y_fI+|{&;bCPTd1`wJnWA&0l(Y zUmo7y^yVunp{*LNQYQ{*cU2lcl6A}i{e@$ZK#j`ZmQlLV2w$0m*;Znqc%vi={e*Ce zbHe_F5`S0StZznm(hextlrhQ7_H4PnyzuJ1Q_=jFj=(jW{5iYve zVg&Q?_TcS$6TiTAz6%w`eUC}ZzT}12azOY`#P#rjDpgJVH-&&?Q3^dV*7uM)JNAemtDnIGo+F+D@D4WDAHv;gpm#Jpz3w z%ySzOfL$?V`UaQET8b(o!vi(J1C!2S#F2yQ+^dxB?1&DEM~AZda{gqy!4uMgFnXRu zsM(l9V@JHk18nGLNHa#zU1GWD_~1(|&Lob8EKIitUC?F@KG&jRK-}^fSu&B#GkK_Z zy~S{;G9O!xI^r?a|K)=uk8h8t_Z2(-hRtAK(^NB2ib00H- zMn_sr4a+D$-?6x8v$-(C5V&Z-`-H`=&qg8=rhEJ{6D0U*;6ldodAm&EA>SW(o3 zUMx*5M;)1nmQ(7idEpc_oCfYima7PGC%M62%s+py!h|jLga6nY4|~k|W@+{J>+bwU zwfzNiD++J4ijp?QWv2--jr+ zT7$;Ri%WT>s>;WR_FnbD*OzS2fg#O+n6dN!amN>!i;lA9QA^XG2Z3lHr%R$P*PK}U z@Q4}E@d`AS_{*du7WnTDTF=$9Wfud@e)MX z(b`c7Y5HML#>zKdILIS${LPwv+bBd^m;4}qi+8VF)!%5K2_mQV+v-1dw1AWpxFgRC z7o0R)X=^A-G1<5J{xc`3V9QLJpCVDn-PhnxJ8{1i#xbiMwE#!>})keMaeO2F%@qzE!`w5Y6x zh6Hgm0M&HW5*~Pfw`Y;l!u6(BYWgJ^ zeZ##AZ>iExQ4RgpJB&1N;bX?d23YTVvVACAl4$4YgUS2*=f!nra){Mu#JZ`0d;LYP zumC!`G`ldG?1q9qcQ2kA9VC_X`B2gC+wGDwu%6QE1q$}&Odwpj>A*8+O_*=ES0WA= zOVS8BAo9q;!beN>C_4cNyQfe(`lFX#O)$MX4Vz2gCq)uT!+u1U z9$@?wGCnvnhc`d-W}2Y5-ZDRGEXPemQ==9MqlwP=mRX!M8n1>OXfMx8D`#d`cTqFZ zzo>MGsxR#Y!A={CR@!_0zGG#(=_Lt(jfi5;nE_YSwdJ|6p3hjCgGE|H~i*M;#IfxkZa#xpH~1RU$+Q3^); zsiX=lHaYPDnB?;|G7N9`(dqtLS#dx}pl>!^`R6f6@=#pM&q1ksms=%VdoZc*FI5N*dgQ1QaU*>Yu zfp!L9%YSxkmW_fHPvPnp!AcT0kNO&LL8j)!=XN_E?W1AsvsAkkN~?P~DJfFt0tJQUmco_n=`ONLKLJmDZ$_?E zBAr_@^>`SaFI*eiyJLs%c51es!aAqoK95o;1DWBAcMgvuN(d*Q7DY*7BbkIgALL<{rV1XS_rm#v>)P1 zR$o~<=Cp#z8^pc$8o;lyR;G8)WD@OO_ZlzX3t@i!LqhuhsXT011`Yi!J`0hW#3m`xhv ziPPA&)!4SJ#%gRgwr#tyZ98d_#`pBS_kPF^$aBuwo!On8*-Ngx?byXmRJQuq(6GN^ z+py`D!HtdyhX{iB zio~9f$PBugn35LK^~b0+99#tn>gPM2?J3%B`^Z?Vw$@e<*5dYB8gviRDY` zIxy6Z*3lWd29%f>s5=B%lZPD4^T1Yr^E`WtsmTPN?f3eA-Pg%}lTpsF)2pYO4=*Bp zA~VqJuW}Opy`ub3Z>k#(eC!VLEwY|h{0Fg0tp%~of!8&~ZC0KKq!OQG?CdRHhK2_Y zrw5MGLI+AnN(_8Z6fu$vqUYnq-UfvK#R+y-M&H9arR|NiMd-`Dt+_s8y|oMG>~CK6Fq&C48Sy|rCZqMDUFlx$M;H8Tk+g15S8!{KMhOp?R7+n} zSv_$9job<~DP|u?gg)y^iBoOU_e8{FIIE^`!-AN0I{cs z8NGGi2u5|uH})G}`1rXqdpGLlcTpZCs~cHezz*Jrds&GI=|kw0zj5y$iLAcKHA>{p zG(`QQ=2-=WjY%)>PYggDMRFY-Ah12Fe)>!rf;1*z9Evq#o;Xg=l~OOq&uNm882_&U zrU0(QGef($0;-X#uPu4pEkX;3 zP;nv;_l?n+>SK!}EkbvDs(R-oPY~85Wq`%Lvh~_f>~uF7a=(j80W6FqIDZL31M3eI zQIoJ4J>qZfEXD`KHhN)XRi1>-2l$E+-D+@DPwd9!Oi|8ThS-+o_ag6u=3c}0~VLB*PDa~;{dd@Kt_h@#+a z>uD0JM_+E*FI?I@+;}uAvW^rX0aUS^`26qElGN>{cBtVZf4e2O^j!{sHpTjd`})V? z^z?{u4Bv!7f5>#RTMVKY(EMHt!XQUMv5*)d60$ZJf6o`cqu@wYpjb98iz6i8UFf}r zGle4UGsN(QVn9o*VbcnA+lj`1B~ou}g3qN^Q%)tgm!fv>M<`VyY?VVIhYwPdBCm!_ zP%=b7Z|@)!E6x_7!8WQ+o#@#in6}(FvqqK8jEot_Ntqyb+YvG zpbGCIp6Nwqt&JV3wbP>vr0N~;Cg zOjg$6_RjF-#%J}?F$Dq~40aB&aivL?gkJasaElE!z`+SYeU@uf$epnU)EDL~+`Xq` zjXbx1=jPd2f>wi3@R@B{wmSZLlc2s$S?bMJN^|meJ;Qf-UC>#tH*hxC0Qa3d*VU9y z_mxWq6ub(+c#~J4tqop?MC40=jR1xK{JMtcP7AZj8$7Nn9uD+}rvvqe=Z#J?m|J*v zVsr};WZyjr2lGW0(V(kyo-BWRh7 zBFLZR)gg=D$#rE?e?k64mk+Ytn9Y{^ui{VmN82>(8Rfaz-E%?0%9+Ci!}l{%(T(Kk zdC((JtKyxmwo#m(W{ggRli2j2EH@RDlFRAJofAp7G~AubY7E#PViw%}q%S1<+AI`2 z>E$w6m`6rgDKV4$19-&Ve{SufOkrwmM$xA_diu!6m782HRfbfzx`Ke%XGD=ATwqGI z)kfB-@aK?wF7;t&*hVhff+byN_(Kh|Dkk>1CyO3ai6bfjmP|i>_Erh`DHIxw1uB9Q z=EH(gHtppD6T0sQpQxgk>lpb|jgT1&_)f|5+-zEyJQ`d;ocmkbQ%)XEh+hzO0i95v zben;MrQn&sx`m$|oV}Gv%Sl?nKzuX`hPm<*QNko)mv~cyiZ*x~wm9xOaj3OHF+A1f zSoQXd&AaYKEtr~Z6&ktk4TAff>~fvxTgN_{dYAS>>+z;eVbt@a8=zP-xL76NYW!~) zk^Ytjpt!Pfi2MGS|JMTiGLtWPcgNXP-09;++m9?}kQA?_0RZi?+Xj4W}DZkhraU(@w;YAIJGk`6byT)?nOda_p z=t-w#G9d+yGjPQK3It=SZ&3y~nO=t}Psa(I9e0~BxmV^|vUJG24=lnkNWUr?3bN{f zH(Q7JnD4p*t4|hcU#3HP%}LlD6cP02Os9qULy0J8KUFc1I1dsf?py&@i^$z&Nc*r_ z`)uO5yf@vCubU&tSYLyFDdj)`8@r>yow=H>e5g-@;Gp%JN(8BY0`;gQ@xd}YY}FmC zwon;9X~#!Ny)+FhqaT|PHosKlM6dNc5uJkx(CG+s!kAGL4>2@>I)TFzY0TF*~Hjk~`KM-M>c(XwB z*7KR#85Ht5Oaz}}?7*nIY*bH{m9EF6uG;9N4Xq924(jS|3W9$uoH6e+uNBH)0XzMI z=f2y`prEEkXo)Sv==z&#lItxIQMAYbL{GiHmf{=5aL6Dh3B!6e$JxQZM+#)A7>4A{ znSWNwgnQbyB!a`~Wl{K6LsP{V$MVBoSr|_B{kbB1_+~*l#_iANw8im@&q8IE@3{jJ z4S#(~=csB)`Qi1xtfmFo+&tfEZf$N4o!*;49&Q63&a)fr3UAD7&@MW^ZvbBTyO*up zHxUmPeN1s4c_}j;%)SujEJiy2v8M%|Y%{Z-NVIv{PAwyBKMJ=o5+SyVK@%U0a8WjG zuJj+mhxq+wh-%l#&8yOb`>UWOjE12*Hrj;X8%ElYC~WVsA}QxbdGSrk3n7w?l}*&$ zb$5yA^O7-hG%LRR3Py7}>)U5HrqtJLQoK&bR>t^vz)eSLSTcCdydl zpgycWN=WmzJhZZE@H*r-7J9UAg<~RrDIg<^VTVmn)34RALm}A~=4;&#JTR!#AsAA)Sy^qfMercEW^UTS8oa;OU(UPFRD)W9&7dLXtDMUvUg+S8LeLqfR9!_L#@ydPlNh><(M21&f zRRz#$%sT?msA0yNo~Ax1lrx4@9r}Q7cp8R^8zGYb*dM2k{M#|j9?%G1(0s4jiE7?D z%4DWET|fY~9er6%@>`c3?3v%-v(bKieb)0nBK7t7NcgSM0d0`F9IYd`-~k(kU!_D8 zPb0x$k*YL+!cWq@BA{Py>%>av-4=$ML$|YIwq>|KBKU{<0{>@+He&UN+cjbncFUg- zUbbGV2TL^x1PCooJbW|BWjizsZSW*AZE|AgFHm!44BJb7Uh&OlQ^R$#E$o}Y(%%aQq|{mFn`c+?bVs;s72xy;ly|~0MukMVdWEK>%~?)n zzGaKm6YxF%W!}tqSCsNfxs{V?`(q`NKZ7VzXc2k2(PlroG)2r#$vwY0zy6zfs#9iR zXu<}+bjI8jYo`bbURKeoH4Z%IZPXp1x3T#n(5b3DVG65S6rMDeWAu6hp(;iPCwkXk z&uPtL#hMZ#u6c$(Ma!rkD?pxK@Ap~^Z*(S1 z$g>YBFm{0=j#owuOa`;^9(xH;12%KzvO7A>iP`nSXblcj)sfEHxTgm^r*Pfm7;4*< zNi`i8Xuao8C=+1j(KK@rzZc_4hs~mdzn-#atODTEVEFJ)_M(eC-m=&&X zH5C++3(Cq$M<_TLcauoTZ15<8UZa{=~`zmcWy*!U$$&M5_ zN0BX2{dEJVXGL@}{oC_!!?W#bF^M)#M|AoR>mImaQu&-Ma1$%#9YXI!f&nNYni~v| ze(y_n>n~gEaU{ENXu4TkrSo8E1yW%GFagG+M3{bF0)J7ULl_Be`lpb!I-BA>uH^0q z;OyL#l)skZp-FK_#*rIag1VcarM?{$aq=!-uV)b6?6ni-LCrZN1S#vmfq1QguY%Uz1cWKCMbaubZ|Np3=;JJm9`lq}&we7S^wG|=OYMwwI}tR&uP zOUr6#kZAl>TvZjknvO+F<2@Dq<@?y9+?lNFcZ@lfa1oLVUpLK?Y4fI-ckH~GhJL^k z+1+nQ9MnkN=2E%cQQsv)Tcm^eLRv^5_4jb_$cTa$vY~0{X$k$Ku#q)8cZ4N95Mf6X zQh{If0!j-hG;>}IExdtTX}O|wbzth_!C0yg!Q~rV-{*y3qHFprfm+@faD%y8VSi7% z_U9j@u`SRjV0UKT65~xan>?K~;3d{_msfu5P>B~lLXb*Ak}gP1pDbYQ?DU{+=IB5v zL5PIN^DJz4`D-812hfL?=$@QzBdvOt{CXU)=gyZU+Gj z%N?ew(~#AdL8KItTAeisFI(Nm%ZhNARql$ag#(dr==#sj074Haa~1f>?!-5>hip={_tfowc+<)=Y;LSMYbX=-R_vtm|Mu9M3sQAP1b#x z0!*~he-(8Fw-s?zI-LD_)^roWLahq?GRGd$PH#9oYpunGghZ#J#y+#02+MmQCL0(T zb2ipY@rQ^8%jV8Y>T&iYhb8^tUss>|Y}d^n7?n}3yedw}8NbP^tafSjKnS$FcwOH1 z;syrwj-Rc1v?Br{KnoAc`94BJx3l18&)+Wp0qyrORnF4D75p(PWBIcADSp$Y*l#O6 zuI{OYG&Hb5KtfYf6Qz&LIA1`21#A4!dw1Sb0mgF^1vN|r@(s^|9J_kUzB6KfVwPJi zmQvRiM^rD!HJZ$u~Oajudhm?@y*=b^S7I@$xSz4 zP$6`+hDO)$A9>c%*UGmD1VqZZ-X>B~UV^?~Q}mp5&F=$DKk}7}zfHcJTDL!mGc$Ct1@8#M#3f;l>;HpJKa|%ww`;EJIfE%j3RzNL7ejw2J8)BhOY}Q&xkHsh zO~QZl5cTn=&7~B&A{LN3!VrEU_h72xxiZH0_+e7ML>hd7h}M@K#fp%^c%F)`3QunR zkzSzbOujL%C}&E}E|@@R)sjJWLd_l2|M+g?J{yez&CtQQ(a!7NKF2rNd81_Z#0zU}yY z$EG?O^t$S8uqe}i%yJ8`=raffu@B9N_d5&=8W_AB{Wm{4{BZ=R7?--gQ+JtG@4;iy z_rhK7KMKJ{<0(jO-ST|(azm<5wnk_rTePV#*cbu?&+x}v<)j1=ju^o*a&M|05b$6 zta8J%pDWfB4jR{*CeB;$R%#s3dE4D4{(D;f#meq?e?yejh-(spDqWChwHu)gj0*|M z+>4;Cy}?K@-IR3i&o1+$l!ut2C|yg+#e2uLrOo zO*|C8cHfCRUug#=vbjV#Y^JgNu=ckH~tsY|phissHO2 zn|^w5K*NA_TL+7iQ11Zd)v7eY|J5moh;%$EYD+IKcAatuy#!lFZXmpT$!e;etbAN!4|$>bJwbeg+xK?)Wz zd8i3tAV#Qm#+&R-jm~0w!cd!&VxuII?Z2)YsB*;cZY?B*1*M#FIyy8+Q8x`PJV8GU zc;Q>NkKx&W?*h)(s7bQq^+ z87#;8d!Ll_dpry-30*`c)0#bGdi*z0$3Bti;Xc4zX9_bTc%+34XjD~Qo+NAHW)zT8 ztyvYMyH42*YNM{O$%TYH*uCBdum07zhu_n~^223;GbTlU{+dQZe(Qx z(f6}~|0jYgHTg)3G9qJ*umBDGJ$0_I1FBgLW5`)GM^3g57soE-`pXse%HlF&OYqbN zI>+u$It$AZ(()QAdyUY=U*#R%M*|3IJtL!|*6aU~!-mn1cbLabgdD%mR!c&zu0^D? zkU+*7u-}D4qXz)#wTt@}T8J~lcBe;%$J1Vvb(IZLR((}&@Cw2rli7@Cn=@^JxF}PW z^c_=B?rdn=`1kb&iAf=>@#N)7IL%=D2dA@=QZxOe@ADUhbdML4`Cn5C8N`;$Y}2*q zCz^tl#bx0z%k128W39fqWz()b45>0+DPvH^wS#96p@K_G{{u{QlR8+4Hyar1vJF+IbQ5((g^fO~5nW}Nv?81QzgH1F#xG#jeo|BZn zVI+w;)u7npwp;}pH6{0Q+GKTC$$h?s5#ul}0Tan5RGBYz+>Y=sVXP*N zFc&s;EDIZp0{-86_Y&j|z>)O+>@87oiYGz01DO9#L0J6TCh;5I7$(8o?1U~5(oOh= zdeYwyMmz*XY+Ln>OycvlK+GMf-5q95RIH)thFPq|kCow3ms>K*2Hwtkx4BaPa?${U zYSmbt{XVssEzN-wC{=4L9d0A7C({!Lzdk5^xl3|Y{PD_=#ik`yP`PSdEX#G|A_|A= zz4LfcD0d%%W1E4;07(uz-eh5JU09XdsN)ZwIBx7d1y1o*cj!melL!G=UZp3AO*rPI zTQNXfKEEwV4upyxY9eUWIQl}$*JIzm-B+DFjQ`o?)SUJ$F>egz@vmeDtf zFy1s*&5lsmUk73s+o|0GiiS9{D2~7OkiXl`-AIosZVQg2)B5h!hew*$%)mwgzWtuk4b!~nf{ ze!R|_*3MB5?yx9VcP1=%wvYp)Y={am$Ec)KVb1ab#s6keL^^%`NeI?1xQiRi7Dud| zVZ3gH8Bq>zCCw-#`F5~ObMw6;-J|?W8D2~)d15uHv0_6#5+$JHoC=cw;dq`nCYrnz z>pp%uW?}aGnDo;TU+W&65dew#;PeR=NIy-cm%S)VZ0>orE@-GkDQE3Q-_D>1VC}-NpGr*bd=eXJfyYg&MAkhoL;?&o zX#Nf1B>TPQ%!+LIPl9e+aVgKPRDjKK!KXBpS1u0h zz0dfuC{d}f7NnwU$d@`&PO08g6V7zw;z&}6n!8x_*cJMBi<+$JOo*{Ul_h=O(T^_2 zXoejWm!?NvO{`L1CuOiIS77@vd1fJT!&uN{@6;1_t6=fbTAV>|3tE>A-EE6(m`Mt! zy3HB$?I#GdoTwQ`SFLHJp-2L-2>xWYUw&&fg^b;+s>7+a3&Zx;U%-etS>C53$xhID zcNt?&b#i8jTCqRNVH>yyc1=e)I)bH|l40a#y8#SSXBCSf+fynWo0HRi09C3Xl@TnO z6B;;Z_B6=KoJX$+ebKg9D_ zAZT^q3B5n1Xvd#Ouz3CWrB58xQ&-Ut9bw$t=i>)dae5yxMmm1>}Ak+c#?u zAyOHt$AH%vmC{ET*BW~52D>Vov$X$L$;ozaAm{jBISM=Va&!@Kml+^XEnGv@X~$Za z^4(7wn*m?^yH%|{2foaE5an0)&&t)F0PccYtBX?#qR>=nB3W|TJ`$t`(L=g%@vms_ zoWIOTVow)Vpn&Eh%3!iR1Gji@@sm_DY6EHB0wHi7$#f^lN$r((U@`q|*U3738{v*Z z1?7DCaO9|I?DF{SeNjiw_6x$}qX~IEB=VFPHFCXBHU&BIB2P)UX(BAr$vSB6np-26 zy1aTt#E>tddW57BMwR(@iun0|2OONm_KA2}WX2DK>{A7RC(wL_Qg&)oB;ux|9Nx;C zz~q*#bFcMomHNW!!v!2LOLdG)1otB^?E<=pW(!#W%h{REtX6urd80e2sn+L}B}X;N zvak$Gs@oL9tPtcC3HrJw$_=*up<^&KuKp%=eA+6XKYF!ifv!hd?SC|s|UTJ|>Z~stabTlHKfO#}RG%Ph_PX+}i8p+w)<{5pNuz_s{ zj_TFmAEGd|l6GS6F-tlGZZ5nv44luymfOjCociwq&Yh>>ENfZIoOAWWJIb$- zG#szD@*lg+$elkhS%m`vVc{_@pG?}Er3G^WBrGI1d6Scbzq>ZYD+5Ai*wpdShNchq+8$>u5%kVV+I0^fMr(%*IIHBA5FNBUKNN%XZ z&X6!$(N{-10B36yKFLrD{`{%`XKY3_K7$Yrk&0$X1G{Lw@Sl@>-4xw2KA6Es%A7xg zkq&z*xtBM4JIhAISmOXFoA8fFRG3@t3ymyyw|SuE(`<`#S-2l~jAx9CZZWBE%nhzY zqNCMpPg3L40GP{cy%E?j;$>e-%<*Vgb|EmZZ}gI__saC52O{-=ptNJS`M}S_kZ}@_ zYfWn|$}N4tG%ApO=|!Sfx3Ik22RBLiT=j)j!BAGG8Z}M+2dWb)OHEBQpU7x4o+&b( zi`-W)LQr6ZTPG2Pfg1ouMx=$W^EB(8m`&t>e?wng(x;t;iseq#Z!3y{mnIsB=kepQ zmru?N;}kS_Sfs0--TCwg7e#;y8~-1Sj{kd{Fcmh8p4$X`*kQSWBeTqqFl0LIiF5Vh z?8%kt1eSVD-sESCY8F7xSV2kz_2txjzq>}$3c|iV5+T87Dj;M&qy;m09u2`4AK2E# zbf%{NM9cSPi0j7l%1_IDn#Eiy-pyL6uyaY0Fo50+auMpPkcQ%bpd`+0L!5PxYlwp$ zqa(YNrUdivV>N8q^*>`n1t+%lgQ4s)AJ{HIeePYU1NaxndoV#HJk>jPdR@@Brgk)ju~uC zAZ~&tiqf&ZTU#4?sG^s%vDViXB^50aV7u9XdgIk6kFc&bHpvYIEChej6BzzEO_j}= zTydtGpkSw&HT8-4B~i=kCR%5oYX#I|udn}zEZFW1#~nbb>-zj8A|oS?H_F9B@@CKJ z0fNn8jbkUDg=$&7sxmP&v4A+Cpp7>H7W2t2UR$b|qdtdXbb&Dl5@A$hIOZ^LB@&RL zn@%Tv2PSJA^0Ge=T0TnE!uDjQ3o!PvB*8_w%Ts4zakD4ZM@!2cPtu*g@Zo6TOtMPI z8=2EYqH|~lk~UGv3KLjyA7Lp`zY$GH(d-cHaZ^oldeAa-Kf=w*`0&txMuu6EG7L_| zbCf$P!7Tnh3b;241W^{~OC-&fB6X6#z1{9PO@?4h`&@rYijXdA!i~=HRua}Lk2eGebrPHFt>Iq}DtMho-gKgG8z=@ODT2r_f z`9^&nfL~13i4GiriD*qB-{dMCfV*eMhE_Q;EHzgaQ-9SCZWfc&5JRpo2?{nzhQ7jP zMH;Fk4jgOa=XY?3`ML&43?R13xfW1)c+p21_X*bJ)&ylg8fALvYZDOGbBwp}< z-jeO#P%ld8M%gLcJN!&U>Kt+G_szABLhP&9Z8Sln(Ks9|?E*P`_6JF)PzE=TgZGWXJ2w!W3G4Kt6%V{gdW@kTEQ!;R?9=KMF*!P5_=|Zgl!=gK_zs{ z1)D0%OI{?=*QM@#)~~i;m->|hzRUlw1%NNPfWx%ax~@Wo(K~e2NJG#c~;!3aBWBBz=Q2QzdE3l%$~s)Av2UdMVXRlK}nQ?w@2AUH_~} zlg+kF&f;pO5+OJk3O7umzPNjldiw5p~RX z(G5p@e^Hl-Pa!=~NWHLe^1GtwhN0w5boS+%O1#W3-{D(>t{Qv;fv*MR%mF*Kt3bnn zDtN3m3gFkj`u|@auZ+!B%7WkeZ!Drn{z`(enHiJ0fS&2^SF-so{he7v(SjNLzp%ua z2MYduv(f!T`j7%rqwBJb6{R*idG&Ipn|UVdHzUT7Oysr_OCdyWcV+CGH@SRn7Iyct3euNU~lYgeBAjKKbS8k(k&|7o3W>e2(3IO<_m5b4{WSts!h#YTel+ zZk8uj*W2p5t*p#+INy1FO-Fco>Xg@)gdj%j7GV3ECx<6VRH4x_TBuzemLVq{U(wOB zm4v8WoRMwSqbNRmRg&NFUhudD;dXnaU&wp2Th*TEuBh;99Sh)?_`fSk$_|Q#`M2va zOQ-(8kTfO!)@e*5SA5WJl0YJGW zNsCpewG@%~0Mw?E%F4M(+$dAEI9DlI=s4R?hN(PUUaah2*K)SBKXgJqEW79DOu;A!V)T;42hXL?K-j3C@+dQ>#4S3K~-im|r(U+4^YMIh85tHlg zM{gBdi?AW##IH$ayCQ2CUrR0RW$yj%b6F7>wDkS|}edi&LKL_8d9 zi~48IEqw330H=lbZk=^XAKw2;D+dr{CdX?6RW2T7tQ~3HK$zZ{Fw)TW!CiKnfhO+_Cm8LJ+U*x>~^-q zr`??G>nE%>m@T=~c7C|Yd^@<20c6nQYSqPg%C(Lf%lddB3A!VofviMJiDkOilMuW3 zl#2peM+6H56rpf}5G{!Qr)qBgoSc;Lo~{j?^?I1O?@MZWznn_!6pTCK6ADoq82if7AWyCI9E2u0jh^grzU^tq&t1iuL>_Odq5T5NEz`JtNT;Zai~!MJ z{fzRDvbPK>Ci`KD9`{hjnnppTyUa$b{%Ni_bTBfSAjzG{w*!pn z+UW}`8w!Fd)M+7R%pb^vV5K4=M<>VfN>>QOR+|bOH$0({&r|**C<*&gpJyd~AgREJ z8ju(fiz>^Fr0>4bb9T^dz~^N;p2z9>ARNdtf<{Jfl*l}U0=>SjiAiK2O!1`Ey;`rQ z@RNw&5?ow!bJGi;xg_Z@bl(mGuVy@y|5HBn*8i!!bRvmm3WN@Q5-(x>1SqaseIc ziQ|(z*{Qhpyg~Dru+Wmb2ma2cI9ULI%JfP|(#U^dEb=>&3C&wc_@`7NoyIqWg!(kcBD~uVOe`PP zF=M;Fi`EIm$<-`l)`Ckos90CKir(G;L(Y$X7r3%NFlm+w8eC3Q#K`hKO7RgBF|gwj z5(uzpXd_k2mrNO{qYgh&)F^D}*}a>dvP?)353B{+PSWsOg}Hn@EfUt@{EGQOK1c#5Nbfcd%5rdV6~rZQehg6w zcZ9-l%tEU~`kR1@9-j-7xGUX$$t?-j!SD!^tdtR(KCq2ew0x%9Y2n0&i6GBy%f&@M z_!B!TX-f{66euhyYR1Y!9*{j53qv$18?CvBhwVEQkQ(EFgns(PeS3qR@cn5~6oH-N z1Ed9k!1f;2lH6xX(ed5z@qHT57=h=sl2fv}II^B(gMd^-{P(i7|7o+dUs)SYLop#A zCdp~4z^L_g6I8LH-Q3*2VS<;w_iDC^CiZYCk?g8={?X9XS6ugzH5*`|QL*5lUyA7+dKy!IT<&p_3m6TZUP>WG zW2CxVS8Lbbdz9x{wW1~T-2?m~8A%YiFSO)7NQj6y?#Y7yNOn8K@7voF_ZDV!8`-Q@ z*Oi-u<@SxY&^9na%K`=Lq*t2hKrdE6|BIM_dn~L)sUW@*0m;HtfhG1PXK)7eSZB(m zoKRuBr4&v_cTsj}`6=o*K^fRfzCs2QjR587uaeEPJk;f1gl(}tf#`xztXIE_$L!HV zm*N|@xO~g>B1g&Occ7JDe=`!Ov3H`8Zek-2&KVe8$TKFAAXfFacexP^hrZ_}o}A9h^zQa&Ht&Hop+%c?Zn1&4ESPAgVR!QUi2ifA znzr@v_gmM?*-NbmZ6+IBQuZiaKqbX{mSCd7slYtS`c3~hj@w@pGC0$!N+U@fnj*%e z^C_VESkkTCXuXzBVA+SlK4?LLgu4CXXkh-^aoNj?lC* zE)S0xXZXG)`YbZPs&A}6T*{9@F`QAe8GOhFK%$+N2l>y&z?RR+_hjQ=At5;Phv#Pa*t~ z429dlqH8#sx1_UQ+GP-wfg~ zkuX@hz#jO@Y`Qg=$7!6(wg>V4mQxI@KhdMPqoWDNXD{7`uReOx$D~4#zqCmkiUKY; zQ}Vt{gJ7t}W}*1tqk+HR+u=@8V6+=ZPo$pGx3u4rc9V zB%#dK7Yc;;+g@twGn)d&mg90t=A+>5+dI4L{_R^d!v_6jhoA<=f`M4J5KPKp>w^-1 z%-8oeJ4UzL9L}Tte3TGltMdKqG^3M4!I3aK9V+fDqZ(dN1a_J3Q^^;HYLxiw+z5x=xUl zH${o`0gHslNfUzOtzvGIK~WqzR%k}`j>_N{zA9tkz>HBz8@Q_HM;UP4WXhcd0|gSn zXGjV9kOn3;dh%LFz6{L_cjNa^#IL?MlsQhH3Ao&bP{evXwzah=RADxW3lEYx6^JFAQ zS%tdv&@>6x^j>{uc6n!7}8{=cg`R}8Y0)0 zBKg$=Qd4tVYirDzEL}LUqeHuk#gv7i^BFHi*IRMyAw}0C$=ByaNpUmHhLzP~>Sm@Q zCav2X6|iLdNytv0cx%3sC(83Mknk__wb^eIxhHI=pTqN9{nP2`>A!Dzu}V)~(g9UG z3NPt9j)jHIK~|}9sdjrb{lP(|bKgxE8&;F`Ri+np5dkp`O{CK#SAwt4v;9eP^>)nT z`Z$AaYwL#5t)o-x1B}|;pO0*l%cC5p%@w_k!Y<(P6Z~tHYs3ufF#XfQ{vT#nUH$n~ z&7VGhn6h=o3kV%|KGKT{q&w3DWKpZ`mn{oGAw&?+!j@3M2K*u-D4^~PqUa3`dB`v$N-m=sFUQly0bSi>q@)&z0XIS#=ONj=-;b9@<$e_9Lo7qb98W4TZ0(t+*i>SR9kJ-4#txqF7BIQI%J|C?YDwj~JL9uOg`?HI}?o1D!%) zV9>6{C5iW&8>9DKnu$k+J#6*ema0swRe*mC=6Pi@#aA@6ifSND#Z{+e^mcBk6{}hU zk5bd9mJP9)!gbbfp~8lnR%c{}mA6q6hO234A9u_&+)Kwc9($ur@L()DS{no8_SeDZ z&d&h99Y->MEG|=LxqZDmUvA{?uf4f}`}ySqul?aX*IA#a+0gE0ra0&BA*1?kxjz}^ z{L1&57@HwDE;V)JIV$7RIK*pHrIyq7HgQNdNAmu@ae!0`#p$8!Pcc&E%?y#pDjl0U zZDeF1N_QqGC`75sTEkXE?3-P$-F&GIjj+rLrhnik+y zbM2^4KrbuXy}Zmm;|y+DlB^R7I)@;KmP;XBe5Z%58;jwsl`C1B=Y@BW3mnn(h*B9E$`k z?8=^7(e_UQQX;_udq1_w#cNQK(5FQ<|IGX;wY}d6X&9v`^%A@0y`^07#+En_#k?3> z5jEn1M1G;BH>JQM9VSyKuS-VO^Zr)j(+87 zNBQ_Xi&#|yy_tW?vRS-#JaLo<3NzDfQCKA4Up{r%>^7WIW~z?$vuVgK>T{t}8)zM&PY%&(aX4M#-=8gZUM$~# zVb8O`BUo$hE(hL$lu>kb;vf{E{pbVoS7+pX7qs~JIWiJwmchC`9@H4z&<{qRx8TB_stY7Y;|ZpenK&QjX#Xz`B&x2&3) z@l0N~Xt?T_Vwdvd)@=DOuPibe;IYES(KNAQM3{QyWyKqFct4QDF*zjO-Z%W5t%M6? zLEgLn{i3R+yQOAbm`&SBE3g12D_^hKcWbXLDr>=o14pdI~urimc!hB#>Zx#F=;Q$&)fz{}YVl!DFVxK!a(3VIY1txwLZqX=Q4JJ8jNhfnq@Tl4hzrS*}` z7M-Z!%v%^LmL7%yr5ZXijQ|?ONotUXt+$<{6M1lV-{S@C(iQz@eG9GJP% z{hF`zZ`aV73H%PvHPFz}IX#{mE(F_?@~E`o5ylrgDCM$^mo|MwL_}gUGk>2jo6WF9 z4Gf3?kBZal9Y4KjrbC0deNRQT(6_Vge6^na|DKUG8$@hZK||G9Ca2fuPqIs4VJ$$H z-9BwR8yFnkJBh0;3q;wSB-8l!?S*MOI66v!AdI^`i70wU#tHqV&L4+&&kOQ)f4I!8@Uny?IV0l_b35duzV)U<2nsGWvWSKzIwKF>&tv@$QC|TSW%qqOfQq653QB`P zr*wmYfDGMTQqtX}0)ljRNq2X5hja|xHFW29$M^SNpG%iD^E@}sJ!hYN_PrOQ)-F;o zZVk!EhHxt!sZw|$stFgHqsD__Nk?h)B(9h^%D~9iT=c7Q6mj~QdG&2x0~)!8&g_^9 z?X5F1pLwA&$-aqEuW`n;Lie7d7;aPzi<%UA8JU)z8Cu~cRcN|s_GX+JnfF(CvQ8ag zhrJ}3euqy*yWG`-5Wmg>8YK>!i;umNJ$$M-RDo}glnr|PiMX|4Y+}eO9XQ~0>#+LG zk&dwD&9NuF(GIq&sc%$>-{~``#F;YLyuEpi(`vD1A)UI3$J#sm;&JHv^9p0poG>zQ z&kvmhKI>QbRg)D^jP{`rF%yvx5uto^Y=0ggd>yGb5XbUIJ(kHK!RE+^KQTLmV^hL5V<0$n zaIOy?aQi_Y4ISww%?R41w!n~`7=>4_9%_^n#uj^I>$yx=xTssWVVYAt&!9=6vd=-` z&NWvX)ppV>QVx>Co~wP-cJ^le$dXTA)7Dl)aGW*li_j!mmAY8D=+WpN%a<~W-ichH@8Bn1Yp`YO$ zWX^(RwM6LSU`jFlt<;1k=|~|(vcpGPb<>3PN!s5|uQf1ST`>qEIFZ zvbOLNwa*6ZeR0iyN9UwWI^Pd4MTp1uWg2PzQ7#mb+HwoEpSPFT(X-CSyzClfK3?tk z^*ri9X9A}-OC~u(t?ds~;_tQ$U;N%lqW%31+n#uCKKos#jgaU!rcZ_mNZ7l5m?u^X%lq++kUs|)14K07}7erLbYm+O%Yo8+M$x1@9y3f8Vy9jrm;U{Qeoi>vt;J5R0ldp>x$9ovq1P@ue|7?N3Z^8M0=3N?u4m#l9kJqiFo*z9>;wqJ*erqs8sUw7k>F6 zy|kpB1^6#zKF3GA`t*^rn+S=i1DW|7Zy3*C~dkhpD@i;%<12J z(N<5sjf_XkQMP>wtP$hRhtUt6=mM!w)KuTuPSN8Y{KsGiTzsHA;W?A!XBlHmjZb) zHoxnKB%Gwpj%tjolItla7SA&MBwL9FGmqg4781E$=D9QXEj%n-74(Y2)-OhPW|LZ; zw&(u+FmpXcDZjCm{CjRIM-Sv%*D{=F%!loLG&=}eK4`;8F*@t()gLl*O?5UOO?-h`TC-{9b` zj&biNMS+GRK61P3u?JT>&j?uK0G!6cl=i!*c7#S!cN`D#43PBQl?IwjX4+K_IaM+0 z3yrc6Z{3qZzY8X2Adt92{7FU0Kdn%VGmZL9eZQb<>F| zJ`VjA9L)ZN3fwQ%@JR-{zJcj(@vT>PQi|*y?cKV@RpY^HnVwGDaZgz&x=I|iWtN`M zm4I|@0n0F)KoO>hyE$=~9#3Ny*4%g^ub3s-G~bre_IYG=e$Lgw!*L)LCTelcVn?apLOyr!ewkcqIM<%%5o7v# zYAhl``uWGV$xPO@-lz)Lne@IUZg}_>tSrGw4;Y+Iu^R4ZunL&3)5xg+_a;jlq)JTtG*(2bp&M@% zoAvMr)6b(L(bO+G0$WmKTPJ;{NBJ{#+;U3j+vhm!*LegNVp-;VNpg{p;#Dn;1#_=!hxO}P!4>cvIkphb;8jI)b;h)2>IZlDC^4^Ul$9!(SI zZcZ;X(iYwg4ti;R9c#}q<#K#kwjIIbW1wYC-Q@9ZRPM@d)=20VJSmIiRFSz(BO^&FPXM+K>h1!Jp1(ezawzw0PfYYmuLx5qm8KQs^j zS%oU=5jL6fNxFt@4SF8`UF+sxBdYNlRxfVi7AOAe_eW#<^=5*T(a`!pd6O;r{gT79 z;PP*Z6jvw5GnEijFNE)qsZs`!G+l=Uf4bowliMEt{vA{A@RF}t&gX< zkwip6m>oYejq;~!Ju`Oh*EVCNmseJ3xkp%{B;iH{KXX;Bacem<1VVorh-qh2ktK|X zhKCgIRmqE&p0!KUl4YNi@8H;Ck3=ZS%B$5-_j$;5ZgHjjG2xPwe1y-Q{V6%fZ1egf zw|c^!J7aFSuD+EkH%C=8RQ z;(cZ6b`A{}_D3bUCvSJyOppb-tV!~_sB+1&!r4N-f{KbTFe=RkLqq^!FTSX;K=KwX z@4!-QIvWn7>+xUImR9&Si#tNtVTL-I?3}M)-po5{3zGv6w z;iNRBJzHZ>pnM|)Ya>GP8a@n--%E6v(Z^UWHb}lef1;AmUVQWhUtN0apJ9mj1L8q? zavvclTe_DhmbYA{b3kRS@)B3eBQfqjT>Wi<*frz4zFUOaD!bj#ru=8nQ+)I9VvR~~ z%dIt&ZOxUwb^C)pMG5ekcO1bE$FBv)5L0tcPct&ndlRx~Z(nu3>AF9S9=y&Ext zkP{m4;UPzIXI7hz#smi+EPC%=_;Hg%!}BM|MRS5hsRDy+8ap;G;kK??9@Akd#b=Mk z?8M|^uqbGW;04bfIi72LoBA78j%Y_aui*b5MGfrMJZj)}DBX}2r7x4?oEbFpVR%Z`*07Sbx1efTMsSyT=_=|EZQ&f9Lf2`#ht(Uh-?lOzX zqo#Xwjk=#z>?{`O7WF!!#-!xyb2q<#=g>Vkf?avy;2m^uDZ-zIeiqWnFsU|jq11`{ z@uOQkv2`VDI%0eN$?3WTwl16E00(zlQPa9HJ;G$M8UBB_1X4|>$5uOPY(U5t@~7>2 z>fzBRwmGpXBrChOalL{eHWWY;eO$B`k-2lzxblqQ_5>r^ynP+U^R8&K+F0a}b>I^j zAGmT?_;( zdqI0!Pc$_bHw-V!bio<<-w`kKdm}Viwrxx1)m^ZNf=Z>q6=JR5XE0S|)%W_2{m!oO z>I93+Zr8HQMgs$5BSWdv=H$W(Vmz7KQTz$TX)Tcb(rj;NEKiPNXk{qq;^ILNF~4MF zZzQEcsot+!tHVP?s5Mr|T?8ra_s9S2$*;*~gSO`v9Hs+Tt+qts;YpDo5KG&$ho`u? zSX%YmTtFjfyCB)rV;0XwJ^p6P&{!vCs{;^$Jg5V_vefjvo5ONzbSt|`KCD^l}Y1J?6RY%%2p^+!}P=HRqnqIH+GZ) zR+-0s_u|Q;#t#Wk!pRM5o9qYTY^(3xbCvSq3Xa{_P1v#q6LdOHij?bI@kkojsW8$8 z8lFbeGwHQ|sobB9-MS0;EBz|~wA$d=aQtk-6eIw{@ZIV9{$Y6{i>Y##=6oy1(?VrT8-n>o;d!kxP{3*ME^zS+v}e zHBLpQZJ-Gv`c+sU4~|oAi3qeusj}ha`Vkzx7yVi2Mds$AV|;Xq^|dfnZ9IYMlO|KL z{}x>7JATo}p@BG1)>O0sM{B*)a0aDHS}l)5mCB*>h2b<7iy1G#`NJv` zxkNw!k=QNU;z#H4D%NebOaner z26V0G(pF>RdYb=lstU7#J2R1j0^^3A+pD);U$TtH#~wUtF42vWl~Suz4#N$n@C?S7 z^=Qhls>+>VpJI!py-#FQ&{>o9F7g=5UZC8tieX9ghDnxPkB!$gkS=Kt&fv|K^O9!6 zLrecT#crv8Q>@1ntK4AD8_a+7K{F{SU%7&-EoL(Y_iPVieWF0Ea_Aa^uo%woz~}Y; zo~Xl=4GYi6$eAeg1K-Dp#aP&Ib#Ri>a^iks#l<(3_&lB+)~R0Y7>YE+D^(;yypr?7 zb8D=Dg2dyjM&sSPJeR1LaPu$$UxA#j-e~owGmb10x+|Fju|d=2`ZWCaT>Nck0Jt;i zPMFs18!FbF@2zENt(RU5Wqh8k{v>P7#B4A?zTEj77Ng;E_5ty!p^5ZkaM1nb+T+4r@Fh10fvt3wMfJ)h=NroHU;qlwIH)q#h*ZUK@02{9Vh1{^inXc*n zkm3cqc}g}kN_QxUyUU`9!C>#^AtB$9)~{QmqQl+G^R{}Ef{^If zKTpO~V@q^dQgW%^Ty%{GK|j`TnD+sVU`Of%u-exvs}+IPyh`k#bo>2Q6K4cwE*j9ye^s z;3@{B;``=L#*?MC;q0=;@(hvd!hu ztM&e?Bv2}{0oicn{)|uoJ}czQmoJOn!@37&M+Tr6^n_X?PC~8nXj*BMa%+F6xW&`l zWr&BD=ZHn~t(UHRjx65yY}*E!d^WSW-ZLU@yo>%(dl-XeZFj&lzok}RRKycBC`w$@Oy*# z?**i{M!>QpXJiar5`4sLeDPF8vke?UtE+}&f3qsuO0V_DeXf>gtgg!Je(2b}V|@G- ziG@X>kB?k|u|nhJkxg$TUHlg3fB`eO&Xhd9(li6SDn^{V@zR}qi1$`LbEWBOT@9Fq zPf;*N?k6%PCO^Ig=cAUo{S-<+IKIQ~tamDPJ@2I(D4S+FSLE`HR7piml6z4S(`%NW zdXoY3$t_m%F39@ zpb_0iQyG0qmhdY(_e-7E68I{9Xwh_Xk1Q-09)Y#rq*%E8yNfu(wZ?jv-|~AF>Iv#% zvKcH#C5`I`5|Zgc$!Jvm6b@lPmJjOb_CyaH-Yx&-8)b#bc)ChBIpo2k2Y-t{xxwyU zUF3`B=?H-d?{-&AKGn@>NAYexw5B5T~v2!~QEH^xJD* zz_{Ft2fH}5#sd~45%`i1uHBe*N3wa7g}Q^YPS1!gcyxt>J}M{-Ch+!UN8fejS=4v@ z)LNf%D=NE!pLZY<{rd)vU!R6}pDH&7HyvFO;B}f$mB%6i`c6^3>2*>Qa31yd!(FqJ zrDSf-XI~mRpW?*a!Jn<)a>QSqZtL$f0!Y<35YK#;*X`G$jc3BtQl&*{s-AVwagHBY zdhx4^ysB-c+Nq@ zQvc{)pWQTAVg3I7+kxlKeE#cPod>_WyL;tlZ-p{)2}+sN2cU3|l%juZ@PLHp8|;3l z5)R^Z#Or~$5|bffwR>N;mKGM18PXw>JcsS6(1LsOe{qK~TOG`45uWf;V zefo}rn;VPx#V7fQTeXR!^&-p;DOuT$QN|E{k8I7SGY%6@=}m(nGF;(&6R~$`gXuY3Nt&_A=ZZf= zn=mv!j%FwcxyxWb)WV2HPF5OEvl`x0N0UM18}F+0^t~~i^e%H19Gx940V)h4sv5Jg z1C?xgz9bNVM(ad^VZ>ToA3jXlhzJYGaQU-`h@n2PToEQk(5@RpO;K1c@%?gh5rK;B zyyD%5Hz7lfah)w~J~OtU|ZF`0ZGp zu1bp)cp7_JTAAw#Cp{m!hey+xNu9q7a0xu?bQggNCX+9%RvxvWVp#1=(9JuW@w}pu zuimjq=CSkJ)2N#YLskT(^EHRN?g`HAEH!<_+=vWQdHa{cv7GkH59aFZ1~BFP4Wg7H zFi3czqvV0igbr8zc+PxNbZu6F_$=C|Gj{f{AVOZ@>6AB_u17g@XX)vB^xoe391cEb z=NsFqAXX{WSc99wA3Xe|{U)KtGDLWQTDl^NgiK83N^P}si-w)kj`Ntw{hb8|fjqL? zXf!{oAs3s)R`qt*mz3wVJWxcy`pg%S{K2am#c(ib?czzFns7K@LYU6|QDokJOuqC; z(?}Fb5-~BJB9U@OXUEdc4vO}Un$_Z89YEe#fr7SBnL%}RwKDV*d=_M8VHsLN{;=~r zOPdO8>Y%{DK3fmR|;tjq(4681(do4b3AG5)xvMRUPN^%}?Xhkv6WxymM;xqCGvhft})gn@&zn z2G{i}kxOFyTK1%Bx<{u2#X}7GNimz7&#pm1oiTnOwsU#Iuxa2MOIS$AM^kk|(9bfM z(jV8$XDdjqZm!n0L;}94`?u$Ceg+LJq0>11gQh+-*Xu#`4FmO&xx~-2QOVIX`nRKZ z+?i=%mqV*g11cDw$k3Vb?uoF#@Of3MffVu`2CY^Nnvjh0$&UKZkp?*b=`n*!nLF=f zq1I4UBxF2SQGfqV8!+-PUPztOF**46jk`)S2vE`Z^+r-#ZFav%wGbYyRS;8Grxojl zRTvEn&ebvEK8rXwtzc~!gibT*0~yCsdyib~9>4Pq$HzqK4KBOoCHLFQ z+hG1pFqR0ezj0AJRrl*^ODyJj2zyr(G`ur#kLQE8zH zx@FLE11>FdErvlafB&bTS{6$l^Iopf$w@!IV0n2r0EoOMDu4r8Szj0SHyDUHnoqBP zqW<`8X^Y;(w8I&ffdus9TGsZb#tWAWdk&=!soM|B;yO}9wEtRYEB>!iT~AR&_S7mG z0KxGYJK&`sR+vnrfByZ_-s2I^AxB(h$=B03?qu5NtF!IjnMSVs*Qj;yg~5bCfV|Yk zhfAH9gNV2X|GXFZwosU8=2FLI#^JQhf{HQt8L;L5SFyetrmT32E{fDh7$N*K;d z{9cCRjZyH$-e?*_SW=^u_uCAoYLH7oKzslYh41!=rr+Q?V|R;00QfGALi0iZ?o%>$ z&|FqG8S94pQl-Nqta zmn&&oV}D@=fF~d(L(+z0L}Z@6ZBG>HAhWvii}>DaaXv}s?_;v<;)C`C_oN#+R&5x| zYJ>r&Tm7E_odYJ#x2{}wk{(nhHqSTHV)rb@Qjl0pp)$ax%@ErErAh56wzksDL?oo(cj*I~0%DmSN zMgrApUg3rh0U+@@JitPU`C!DfvXIc6hLZFZG{wOs9`Hk-;c={tvEuz22k~aGq=swd z60Vi=>Ba_UtEFWj_bdHEIvp#ZOaqrb$!H&Do`Z^RwKE)F%l$Txj?rcN1kd2^;yr7w zQkoNV-|qym*f+hO;uY$5{uMVAB>$|wR_*-uzSKmOV&o|;BS@h}FS-w!d$2>k+>q#8DnV(^tJ0>_I zJ6*@~QNDUZ97w>%@?{dObcILP8x`%lDorN>3?$;Dfus)bBu22kwY82kjMFvOFO&sp zbI}DR=ZA*|cSAOa`nJp2-pY1`$;H*xQLmWp)?68?X3`n!(n8_^IY313caQX6hKE%* znGq1XT)fSdFEk}!cHIOJ)5Ms-@B=QQkOE||Wq~!L2z+MIP|M#zz2bIkA#MnnBC-?^=b>e>b(=!g0BcNf%uC z!@d2Z7k5_LP7f@p6)A_Jlf?)AeuQlUk39`gjh5Rn9sfY0KR_FzzeS&suthLrN>mZR zfM`vVkn^X7;o#S`xQYjn^aBH%-@fYVI$dUzj1?;6y`filY!zICNi66ZmcQ96#T&1f zX>4?DoiljFiOt*C{MB-#2${UOrg$%2c^jH68@7})58oQ`q+-rdcDSb0en4i*_EjyWoaHa znFMuJ3Q)&g-r5rNbUyti-IP=?rln}}7*vkLCQUPi6KgL}*Bjf;P857DZB;(R-T1{a z{De9dJGx@j>3Kt6l8G-YWy0x-Il{(OKXWzs{n|)GHPktuC@42o54P4n%F0UqmtdxM z{6~_u^KQiN8#3*5C0{tKEC3Upy@UYjdHv{}%Hhl`QUARNbYKmY-H?LMsquO6oYH`K zoxeM=$7t5W32lPr{D`-$PRIr~Hg4#k>WF|`SpQc$@GAf;2?+6T>mI>;f(Uh5QWuP7 zi~o=UZt7id3~Qpv@IxiPP0i(P(?t(Ag5xhV*Pp$A2Gvz!DFoC1b;N!tbLxehD2I6F z`J*i$Rib18Hu2lnH|5BzHx~d7NgyI<^=D}M3E~Yn1_8uqAWH=zxbF@Wjcc0+UYMy< zA7WYGS&(sZ1$^yV=nGULHf}8=GX6t-cAao4JzJ3|-8@kEDoi>=cpKqByIl|if{jm1 zOl%9EiDWgIkZy3c6Y+WPMfr$pb|L7M2krXbrT3qOg>=~BbL30j0eI}0mzS5;h9%(p z^?i@tx}rd7S{o%>!ZT_*lZf>-zCa^|GM3!0$vM)Zt$p=`3c<7oQ`q8^-MxTe1ENP> zkm7@0$t!f|F%4ImsYxbqENxnPVNRdypAm^)EeiG2r1qGX)M}86ACVs3H1N8 z078Lv{#bOm(d%i3s?0X+DCLE(BHqgUNm=?+(4~NpnWChi{4Kki8vnoMsUQYjo?5A} zKZ;K68>|vs(QBUJetQ*!F6#SLVw7bfUu%dTRtZY2Vu9P^PG>n3R9nfnnX!OB(w+8; ztY>k?28qliuGydl+EZOEOUtO_eMLQa?CYPNzojT$?PeIfy-O@S<~8y#1!g5nMcckj z5E2Q8rskpzK6<5vq0}3Fl5RBqk!ylMB&|2&;MkT-BM7;elzO(p%rRCebu&n{CpB$T zG(^-DF@2a02=dEUAjA1|8yvbH7!!j#Q*PAO8AxC>oa&v{_A+(q%KZ$(^}a2*yr$?C znOM~7IhjYXQJ-QI?Zqn`oM_WT-PK|pp4lp?Mlxzm_uJ?4>W@Bt3P#k0yzJNX zu5Z=NzBnkT&m~g9cRs0jNcCPgNwqEgf=%64$DK?mM)=a)&%Nk0`07ooObNTrAaF6H8_e5VH zQoUai@lJNLVwcwL;Nebf`CFULOHjq?8V;E}(OfcIbHBB>QV;0Hot1`J-le7QMW!@M(DlqC_* zh8`s8yWBN88lJv7Ry#V($VllImc}G47DcZM5|0}en_uwbX`79U1%F-T@>L8FMtt(} zXn?jZ^?oIIX*J?%1*F1X!AEze8saxMagkA=!yts#+V8dBp`gZ`6|5z!EW~}!^QU=5 z6Ja>g{sfZ1>yZQ?gw<8Q3Q*f2WDimpxZizzT!QvKSz9ypMHOjJ&Ntu&lH;?RHh-tM zTH0FDVW;OJ|K;@5ePy#`#nHv-5M0%X`|OwLLfWX|-~ouAv4F4#3D~lpk8%qC;1(Fh1P@jP}o&hd>y0!=uXYnXJp`LzZcvCs( ziTDv+3p5s2*sn}0rn%(=@5 z>vf)DL8@GqBzgdt1jDJ6PxVKg@!$$PWR1y7*BRSi&xt<+Hf)+t#K7(CgvD$(5LH!M zy$`Fk+p&btux7g7J-pwWYB?Xxn(ma0VTlEF?cYW-HDqYyDu5g`lld76eXoHIwGGyX z^&O-aU?e|nHGhOGFR$Po>>fujC1nuJ9}v;*R<7!Wt^NxaN$ZTI;=Oe|b~@zUr1 zIv5f7*0+0iIc=0H?1_#yZhY(N)_&ZA0H5USj=8k7#PjzL3ZRdx=G~$v=*p_LcVv}u z0qeHb+95VuZRHuqYGMflN#v65!Ha@EF)T}Tu&G^5H89a_T>)#&e+0{ohZAHopa@im zjDo@}q3EU2*dG(E^+z!f|72_Wy@*XmXXnvL%3JkDYwyZ}{Wd+O!*%X`(9ybQyxgTO zQWobG(LhNC_}UPoVDF#n@V!=MB4fsSHC|-by@Yzjzevm}88>q>EWmS`+<^Y=&?w==j4n{;&mzg+JOe{>fQd{?M0bXYwP@- zK9P74Tw>e|c$6M2ioa#oo(^vF2M3SiSd82AEt)?&W$VwtAy2Vk8W+f(CKslI{==2r%@_m zTCDjo-ADma%Phb-xw6B>u!TNN+RZ!dqui;V;RK(-#o8X7+Sr=$4_!yzqM{#+XC;Fx zJyBuGWt_T3L4f)XaNhEWpjHVR%5pbVn+uz(agXB;1~s+D_%kxNtYVD@An>wK(FezQ z8%8HJLFoinew^`^WaQx7dZnN%ezeGrHQ||YrY`LZd`8Tmve!S$+>t15xu_W_NmsJd zzyEw9BqczG?)~8JQ!A;*4{b}UN~IC&;~fRl{S(Q@ZwW!AoN_d?F)kBGNw&uGaQdPd z96ss^VDr}&GJ}Nr!exaV0?5T0JR&pp^_3yMjkcWR_3ay!WT%;^Y{=%+ojZhHv-ZLF z@Ngt0B_-gpL<9tWnyK59C}wHh4i~$lK1Io$JmrN2qp$*gT!+^7G60HG>#v>PGLeSZ;pfKs(004pp=-SRaK~w zid;-1k&#OcmO`{9k(8?|&w|7?8iUjj;n3-Mr^Hy1(hz7HB@u3S8&yX7NbewT1FWb4 zGxflVEgQG=3po9gf!%N(z7Te2W}+9HZTSva%8V>SoCH%l!8dt}puWG)YSexym8eaH z+q2Am;;lzQx%9Iu1?*eJB}sWm)F~yNhb9ifj;qx`dF`=GHl?4ybgBN6Cr^5crAApm zd9S34Sa%rgN4wfgdq|Rk+0hNi_SPG3|8LW&oNYeOmI@r^^|v>)7U63`$(p>P;^KM$ zw>)z_i&al-vd)0oCl_F(hKJL+83C5Y@p@n~_NE1!c=!4PLewb5d-wneDPzykTw@Z! z>kzP8EXhvkgGmyV+-lH)yMz;M2nZljz2Fm%5%cTFJSEDd9l+zBgVk;ton4$8*VefV zDCqKQb&x#)YP<&9e!7ybZqj~fgiMVyD<5n?I=n33LXh42SyJymylFP~uwNfx2?SjA zQMaHQb3zkz4T@K(zmYUQfG|pq8ZH7$d+E~F6zYKO;qN|bik}AbtbBfasqfFTnymb@ z&G?W+yCf}zMyLqG7ZEAZ_z?gYEfJs9ST8Og(&x!qHrSZskBFflAta@s7|jv%0W1dAw3ApP5Y(1`n+UiB z%e5z2ESB2?X^8(8TUR8w7H$Pf&R$>>dN`n_htp*QL4l?E1zr!xz)Fddd-PhrvB;Jv zO3YN4C+ajA_M$xq@9`?!aZER(EN@+__Gm=^bzW3(7x<5Yb% zM8<~72qc+_x}vN4{Zo_h()P8q?H0!$n+^9j{~RPIqLA_Vj~oEim8R2SYp`Lk8EkDW zQeQyuv6Ug%r1n`z2(j~|5_J<$%4-|b%%Dt#T_h3X>r=-~7sr}mo;Y)fF9srzrn?dC zdoA3~N#@24pJb0e=5t)OPK!UpyF_NITbB8w!Od%ieAnOn%&q}Xt8%k3Vmh?5y6OcK zkr^n+c$clkv|TmT)r)|MY7Zp9I};L`>pydynCg4*aGDP&0I}?j$w39B7(O&u!O6+F zw6-SX=-6(yF>04c(v;jXeZ1iaFZdnh)yyol@r@n_2M5^OZ{Kdm+t5%M`{XhgsRHY( z3LF7!%|S_OzP-VRd_`G#%xSgk%|m^BPPy9ca%#axxT8mb%47mos{g;OU0yPPN zU$a0ov$wcYRU!U)`N3-Wvw)x=9>04%N-9>Wqos{a2Z$UYf1ldJJfYF+c~bl>dQ6Co zBoxVxsm))l9UKg2V}`SHq2HkD6U1yr*ZA%2vjUTLfPFA_0GC&Jawe52_`lwrZHUj# z&V~i$X;snJ+3&yQ9H_FHG_M;1yT#h|n5M6|S664^*v#95fIf3i!udZw ztJVPy9ooZSx~;=Y;Bq7HvSH0%_ztS9ArXN)LwmduG-U|;_-4gK3D}fZ7xnO+$P5+M z>z58_nGv5mUW&@Eq7bp$3jL?C`d`+?rI0IMqNbqp0r%kKB;5>Fsa|dQLo}RxDPHzm z{c$LFZth5$no=cvs-=qA5RgG+z(cnu_uYLxsg6E8J9?KQPsJC*#VV2!X}xS<%d+or z!pLpE_YUwN^y>BP4rK;uM)=RSCs9+Z$;5(vwA>SiK&s6F?8p%3T)^#=PutSreAP$V*)kDEEU%DI!W1S5ZFA+fl+ zHHt_^^GQ5gM z@kx%O1sMb>wb$SR>e?om$5M`FJa_Ky^@nHNq+}Eu-wF+r2(@eO*cX-&FTp5Lzi%>% z3)xsrGT1O-@S;?e7kc}*N}EJGFSm82AP*LqEDK@3#hhPnl0HdC4&2cEL#4Ti?fMn^ z4?!ja_DTR7G1efWgS-<4i)UYO4F@vS;UX>mAYxuj)idBFc=&f8{t9*qt>GUePm!Nzx~gXqw!oB zPrT8r!}*9{T)uUoI*$3+gG{(hv?Rts6HeCwykDgfb?5j&M`Al9ops=x+kNW~R!d@8UjC_o`~4WG&ePDO;nAJWb@;MmR%b{~_f0CB_$5Ssn^FG^ z)G*CJpnxrYWr^ldpxiS^7jJ139`;56Ti+=(pTm;xr(vV&&_MN1s-}}38#AX`Hwl;_ z3i~0u+t0GsvTu$T;;~Z`e_>|X*XEV|Pvjb_Osk&)a(&q=fDQYi=$uwVMI4U@*tg~z zxF318AcZ~w^yLQFIx}5ih(Q;}{vNoseuKa!c5}VyqgN-J6A~|hycYsEhsBLG)i*t8 z3JTe3Ekow?JCi%WwOAF>p1^w%fXAk~?g3853 z2yh<7X6;}rnHXa8XQdgC6aW^Myq<6V2WSHtmIniS?t?4KJ5}+tsRgtvI2GJ|+^b-o{5=Q6>%?2VaPjLUAoveFq~ zZ;M+q0SXLkg_>)dAHV=4_=iJRsF6(X7y@nz*>>T30l{@*adbT#JAW>@vLI=y&jSN! zQvPY0js*6&zdm{E1FMxKq{`lj+fm9CzDPrmue13PHN1i{V_%7Rr{~+v1z!w{dZ?8NT zPk!;3+L=k4`oL+QOw?Gg|6B0s3h)F82+Bq%3efCYZl|xrqUrVLYVCs1MgBDy;+|B< z4U;{Wt50a978F-ARoJPbLPru9YO=&e8u3&tuxaN*}u%pZKy9 z4$59}sERorv7m^REhVB4)u{iBXH_9jG0`A^~esPzD=e24`^CShrA6SU=Pa9ru;ukE+(ao zQ+le`c@Xq$Pdyq!;vnK{RZ%+bP`}hn6r}lW(dt{GDa$ z+cBB4S$cu|SbxIO!=T1;l0Ga^Yy(HRbfeNUJZrWGp;C}${7?Ci2~IeyYUpw!IeEza ztc-Kn_kHP3Vcl!qCy?(|V~R@pU3>(F*K~DyXD0s4b`vH}Hyqv#3ceNLyGWnSIg={=0y~2bC0?9`n zJbf^s!he4`#B8(PpWtzKDI|pi(I$h6=0Y>hFBDExArM8@5@cmVv&PGH&f|XOIG?>cZGf1M)pMP8lhGG&e8LX2~1JU?b6C5YeqR z4F38}QP9x$(8#OuFSpwsbF>mv7Me^15N(Ym-IVWk^FiEuF}lILY!u0^*6RcDN+*O6 z$VG@A8bo{Uy&`1C8>~f!ii(QMUZqCa6Kn|hv6u{o&iRkq_1WdzzI!zP%@Rh<)pnkL z5()%D@{^ec^4%^NG=}|b#-xbQWw(TLuX^RE^(g~3FDeAW7a|MH2f~N^^k>*=a%0jAbGt2n1Wg83Oszj;75!3Rac6>tRRD?HTMCws2R8u(14KDBXzsHaHTj z&d|!=tt`ExYgD?zNjBFhSZYy%9nxHzRlA7<$%E0??S_R*a#2wvIetBx(hWY@9?$zX z5){-KicV?9`}Mz*3s7R1}6~yZlH8c`| z+tZuKSK+)|4gc>O()1NjS-F#d$ZS$0*Wj+gUGdP0H-lh#OM$n{?@X5&($^off<@1z zq;4gIFl5K%UZdzt*{)Q>8U8km62E8b}zS?cYzA zN6}3Q2$LJll45X1hd}lP$;?XY$Fer@XkQeb_wOPj=4&bKV5wO*VyuxHBb8fHIlapc^-U3L zMskgGc9A{%ccd9{ED>zizORuX*dqB5M==czjl#yOZ4ljZd~`T zAJ(eT`%s@we_5s2s9ai6sy?~Mt1c06?DtzeNi1Ky`z6c5=pLkpd z1EL&$vNy+#qhTw9&bb=$jD(LTO*oL+`6cM)Cr&$Hd3wfu9uoe&eL_P{4w0GV`8+YT zy;|TIan>_g)M6v4M_+TP{S}WEb7^yCnAc2;RWp$x`I3YAkP8Y_5?9M0zN<|_yD^zq zP8$P6neBghcR#L8_S;R-ZR!;4V25A;)?fQsR?+NOQ>)Uxn zgT*>+);EV;8&yrWX2apY75Xb_If0`Ic=^uf-3&Vy*yziW5@U07bLFWc9lXn&OC+DcEQ0QPO|kHavi8_btLP}IbBKIf*C$$RM-mR_4l{=6@mLbP|y z8mgdhIZ?ykf5yEhzdC!K9+pd6FvA#_Au(FGl{=J>o5&9>4R*f*9V7oLv` z0PDd*UY^O3#e2S32Dj7p@y1in-1LZFvgiFpcTm+R67l#Wcuo#ao#JPIXbyd!*zJ+9 z{|gnx8MeqVY!LMp-%}_;^4oK=lH!a;GuIGd3xJJev&!jAgjXZ!t#>*;N+Y@b<_)`J zl)OoMO_w{WA1-0tB7~DAuX;_tt1h`Sru2NMG#4(b{2uP)k_j>BLJP)^gGfkHgVtynHuJA@WLI$snun$kDh@Dm{~lLO~@$ z9>3IiMTja=Rs(np(0$sX?PUE7vk~PP(#WyGPNKYp^uv|1m6W@!i3+h{Imma`E?i)! zym8zP=D*O1;tHzfx$e(B?xVMjDYB3tCPhxi>ls>2?udrWSo!lMz8u(%wU_~bVk{tqWQ$mibP>JM}R1qv;?SLjD6vtq;X}xfD7kC98pR1!JH@v*c z%@!HbJfqk4oV~xu<93J8aq-8#qlcZHgz!yQ6zZcOiGcab>Idl9s zhVk;U(a>D&>bC6v(*mH~&Lcr4SiU}NzW!jl`S<2(vT5*z2w^A^%A?ie zmxG3?5wcEMAaE4R&i5i6@DbTh>0EZQH~xc84)aci2xl}OJ*nlvs|COU08_4T#G?$rSbv$mBtglLl=^wcM-OSRYNk zvqk4v{0=g^3`G3f?|IHX8-nObZeC$8$ex(ZXRDv#F_Ct8z;^~F3n;;3=cU|3&8i60 z4*=wvpg=rInmY0*e&L4v|F!p}QB9uR+OZzttpl7Mi&hb+ElN>=N)*ZvQniZ6R0lxD zSea$Aj4~v#r9v$#3d$5n)CvePk3t~92}DRDgG^x*l7I|>BoIQTvmeen-_LKYZ>{hB z*DPIRvBERl_r3SN_H|uP?i0ys3@hnex@)zc1`L`DZuPq}HAJL{2Gu3TtWDkAUSoB=BQl2vIodOr~PViE8HGfkb8m7gnJizw~Bj#Op7t zeOMT=9k3(ls87AQ_?1D}qS1ZETeefc#;Je&?az7>F(D^`G%dF^_XPM(#x;j#Y)R7?DR$ZN-`b5*uTG4_b% zJdh0a(=yKFBSUdX%Ot3;WKZ1mBP7roWB6o%bKmUrxO!{|{58nAui;*AzU~wZxxe94 z@w4!*lRH1(0cGg&(#JQFzIxh&(z>Ao>R8#;);n4xQfQ-obG+CvZpdx&jajvDV9Gj$ z442>zhe&OCdiL+|4^A!|7y6nLVB#NMKmy!%;K7;JTf5Q~aw(68RmL*SXG>%pBVs#2 zI`1N?ak|_JqUzB0RQe>ohmv5~Lyr6CsbeZ{k0A_G8zf0s4&6Z}kdFQfuIL2R?>}$t zK6=2#E7q4FrjBv2N+EXBmP`2#R`Z&%QKLbJZ-XY%6>m zl3;q_xfV>wgNBJlEO)A0o0Px2d~ldnL$lH&&adVQYA36MXS(Y#3%AZYzT;$iHRU*e zhFUxe_0j4$Wv#a`{Edc-k7&9Jf#M#Kn%7)lzt*7Cr2=~{k+R_{JX!^3yUfbLml-Oe5+o5 zbxc@IX8bM@q5~Gyo<$r$p`Kktn#8^+B+3vZy!b-ZAH>FnsWjVj=g*%P9lEG@)WpPZ zZks8Wc5{1mEy)rTo>5}ct)NBG=Ky3Dt3;Bty=#*z4rCS7nBm8AAQJQk*s zOt;IYB4X+mHh zJ{Zr~$?IfxudM}lJ&W0`x!YKny{o9GwEg3al&WLND>H);DfJj$jh?n+RET}t@`Cgc z&R=K{*E}zQLh&VJ$SW0mnv|R29@-9fK-#Eo`Mr1REgLYQ{6*e0d*8Pslb2PVa5Po! zdnIX`R@xmcb1tiXjEt2n4aug6gsi;e`7GVoUsmRZf9+rGj8ohIKGF!f!uB4t-&7|* zH{H6xu6@uycT|=O@W5;#NRL}tbY58L8Drnk*ytgG7$|TLWpLNGgyS@^>o`G2~vVU!?WOiVYvH2&~@ak1e2YpKiguuoI%fz%f&gO@w#IFE#GyqH^v zT|35YUOSWaWL`ycYTAf$_Y0}4ZF6dAQ7Hp29?sKIj#FKm0?wvA394rZ7}ZRhF@n3P zju?`SfR0`D^2$Y1C3R(_=ngScY10_Zp2N_&3{#nYx(;4fk1W8M@ox19x`!KPM(S}x zH6f&i2<}wcvvSX0#$=Lm&Xe*z>5e*aKSh+ReqSyWrWkq+D*pq8x&c+dIep?)vOn;l zgZ>n}aro3*1cJ^F)gFx7QGzz4iNvvyg8Q<$HlF|L0#(oE)9h?Srwc6u%`~?#Rn9bW zSy99pPG2;BkoDJH&I9}u9nldIl0nA zWjmT>Me=eFzQ@`V`SY3lV$0RVZzb<4+kAS;JV~i|tmgGvcW-ZRf{-*eWicjk7`--m zJ2&oAk=e|X^lo4V9v7B6C#r-|*sUXJtw~82`r%6f%&Otbrgw%9+_TQFE7)H@d<{>I z5A_qe{_DKb*leTfwooh0%dI^<5zOpD-~QD3d#|j-H!jo$+8XYM zJ~=71IYySJpV=`OQQqv*J_{5_yR7E3irw=yJq`^3q6EF?9eu?kF)UzWT@+uBV(&y1J=Z)ElB;adro{4^O3Mpae{;u6kRyLdH#3mnY7_3@d%@BI8taZ z7&}nGJq=r80)lp5o+VNBhN&-w4>~xx2`^n-{-r?_rat<{MkUnZYa3&KX39Z1ZIq>Q zY5qddh4A^>em{0dJ>zq|+`Ep%wVv3unZgJt8D%lZU#Jc3?Z`Cfs3|0$PO}uWJb{%n z_kCnrFxIEdR2i-;tv=`l*6*exF`+7IYtrQdWiqISNGeLuqR=Q`54*9m}OpaE}=svv!c}*up>9)`~xuVZL_nUNHTqj*yo=?}!HWLo|q|(PmtF2Qt?#$NB6a2&Sz-iihP-Ii*e&rEl|D=on_%@q4F z(07y%V;>HK&Jp!EvQDUD?jyKv9d?Nqngyz5uN2YqH|drp`{b&@naSF@SqAZ9`?foI zX}a!Wox7_0M>8Gq+zJ_|vfU=_7+Z;Pwj-=Q5)EJOuxpBWxtYbLc_w$}E{WJ)VTPl z9}4DGVE7A%BY0Y7YpdmuE_@ZTe&glJb~Ax(TUk~A1|UOjYM?ev!xQ`qjk9HYuC{C# zj9_6RMxy$CQ!y*wL1wB2oCyEi>Jp@|@p)~6Fh|W6fbhi1r%(0DuX+ojNZjl10e~hY zC5fi{O{w!uLUt-XImV(scu){hpC?V!;i?mxOxP=Y$_w^3J5paMnqS**JS*AhyoSf$ z-PSTRfgod7|GWpP+Sk68E>Od?W2e3d^SWkR=%85;pUM!f-fs^ypIWqwU7eV-`1Ft~ zO;%&;XL<_Qy+%c>Uj6i*GJG;Ja=P$GaT725g_-)PTq9-VNQy51TJ$lgnwIlw6vVc9 zf-n?zHL7Hu)OF{5iU(DdQV@%*xg?&cpq`NEWHA& zj5eM4LmO4qLlqb4#XAhTA2*uE6T^KRESEL;Gqo9prH-V!gJk{6Cj^@-R}_R}LX%SV zREHh`W1TQzyN;i84jQpmEkapF1pKcMz#KfCYvGB#JWxi>k9yYEAZ44=?-TAfg+<dPb=hbDv7mnWElbidKzA}jnSfCuy7xGxjA4xk5 zJs`!U?G3{}X&b|HNdQjQ^UJBEaWAe0HB5*&X+ z9SB`ibFB&ZWuZyV3LGhpS__kkQwL{1@EECo#H~KEi6!(^?>e%|r_(df4E+4&li1Hf-}OEJb+U>_j`xGyaoXPAe!pGT zUH8z2eXo+Xxl0oJy*H{h?~3I^b`P$9r53oPt~26t;6c@^io9^KR(+v|q5t@}hPTLz zA``>5rf#7POKTdTMwuN46KZ=ZIKVufE(2q@#Vp)-PLje*^;Fo??X$Z`q*g z1LX2M9p!49h(AW;sQ*WrZgbthH%k8Rl&LvBne;6^(k{)^d;Bd?=|fw--Q)a2ol{4K z+47U^!aP2~CmjtCIXd_o_S?7o_|XRYo#L{X#0y?*EjvX(mQTt_#0R>=w$6*r`QWR z=E1z-=niGRcbmgZSAq!0SGXuy$QE5=V+;m&6~i z=U9rypFo|ToU3BDjf#U52NRRG+9%)9ijYV3`y^{6=X**u$_p!ty;M<`>@Ogk@?&e% zVhjj#?Jrbya@*7Ocu3oJ=ZBAfKGu8TmhWN68|3-<0#z{6^>@5EJP!9#j+ID^1XNoh zMPJ>{4v)wCb>?OdfjexWmP3~X^Ich3O03Y!cGje{n!_a(78DdnXh`#s5`la7UaOAS z)@JB>j^Yojc1BdxV0elFQd1F>Jkl5)LOazu)=5U|A!%2e6p{gtuhMwiep~|fC|ttH z}CufAH1ZT2{GXwRQI=Hto3q`IfpKc_?#S6s@g1eaI^{oP<8BGwz%jlYl z`!}|5{ppEn%vu-Edx4Ht_lAas=BlKNGWIAXn5K3L76WA7j*a3m(k37Z?b#+XBQekB zs>e12_Ls?}1O_!!GgHTFF(pP$Yx9V8)y};}v|7%7WgML8iCq-eRrTw4{~s#%!={!E z*ZsVKXgT^bpn9gIuv4~}jO|1S$}L7s--G^r0KmX@fd@lCk zX{q?68|EQ`R*6~ba{zX`pEfp{k0}-62*%NVz?tQ&1uCChNFg*%yMo}G1q3rqJ|9*X zFJ3^J3?z1^W(q0H{7kP#=No_N7L^s*oIi1*3w=@jhzU)itakHP{S2l2sRVT~@iq`U z>KG9)j%QTVwR6W5EA=NGKfAs>3i@r%x2cxKnD~{>8#}$SfS|KtSxJKppO60ze9Yg| zu{v*6Lfrk^-TN1ROYKfG&Cs<0ZmT)%+YQ&3Z(rO{ku*C(jX{boLMsDD>1}+a_bD{m z<8YYr71vecNzOk6AID!0;j$$zx5sGM#Onm;n-Ip7L zN%&9A=m5%%Ejzx%BrdnSln6m*4e|$WI}GIBl1+$$yfWy|V-Xb*+CaQ*-Sflu^~2$| z>jl%bK9nD~H~2cS?&`$Lb?FEsJcOvN2_7^iDufgvG%K9f+a2v@`(|6Iuc*<3-*;pf zGCrP6`HTG0yaWKRqRFK?FcTym5Vd}T^-%kk9KVpQf4*SKTSt0PAsthHl(yZ~ze zKiFc<9ckorqFJ2?lM7Vh0n_2DC#)1psXH-Y4`v4*d71>U_Zu1iUDc>drS;dAK6*rU zo!n&}8IZJfSK8;>_fHK+uo&QSpity<{@|W*?Ane!Cy!h1Y|6wj)83?{z#Tn>9#8_z z*?v#+LQl5INft0GKLWGjc10-{vk*2GXj~(Tq|?7jsgUxZr7(!wfhvjG??}!?mI4@g zI*_Icp((+H;;2oOE#+Q)`S}b`!(H25QWi*|xei)Gyum_>Vch1~hnbMefbiKmQ0%g< zjerhSv11lKOjv$~qozBI+_I< zA3}aw>)<1k)OEZ>O-EZryI7o?bf(>yf?e<`Deo`xE4Q-B%Ds-3YXNS37yQM)B=$T$ znSw}pK?R3F{=8`2+uJ*Z7$a%|dyFr?{&P>l;)}spULKktTYX%(;m1eXgw=`MYaefd z{Vx6#Y@!3sEZ}S8fm~)D2|%FT(^Wlu{IZ?c-jvw`<;Zl0!J#;{pvr=RRy)etHCUXy zy&G?AMvdeC>maJ{uqQQ|frKnV$r`xVb!x}Y-2=@H3lC@+#O+3vm_Xok#6V=hkn5dD z+S;xaGkh=I(aH>oZv>in-!a?2&cASX2QAjgtIoEq#9n^q9XtQPB?WFaV6Zzs_G4Fj z;6*ozXVO+X&k#f-y?!(|^|#M1wvB{$7?{aLJ!mkw?ScD3-dBHccGtjcK{+=dwG7-9 zjM{!LQkxFZ61mn#$=W%H(*PmjyM%q_56Dv+)g@WtpyxiJNNKsNMl?~U$r(kj^_d7TUVTA~)NZy%i7LS^7?w_yf z_lk$kQUjxoaxSLPtiatF6Z(823HfZbKg(f^hDSq2L>3p!!4khFwWZs)!+5!9S1f^P zi!e~;G4nZhG()q7%=uZku?M6a;0-oqi@S$AiBVp_u;m?Ni|lz0TFA|ncp^ja0dS^3 z&L?6KS!->1HWLX|BrBOmE~?t1`VN6%&?mHcxoLQNY2UFd#mD_v_L2j|_=qp7!pqr;_tn^Jy{3HU7Yom|N0UPtEfJ}q9$PPbG z>c5guEvjH~DB%}4T`*(6~ujK~@1pJA0EyEQ*bAM7+W-@OY zK)P)nb=os;OTb2y4%k*&klrTC)~NZ&-`1&2c-ZBh6@G2%&u{O%g)B@4$08_%fgi`V1T{X7M5agdpf4iQ2tXL~ zMGQ(CRQKFP0tzT&gE(zePy=LRALuu;zyIa<`eDJ4QdC@gMyZfj!|D827blQ=>@GSF zL+}}h49RfC)SxR@-obpWYc~i}144LrIgUODt|>{Xay4}hc(kI@sCQTtKNMUp*_N^4 z1$NnKkcp0L*K_CuF)It~3VtBQ4TjW@tjm`Do-t7)x*%*3fxT!lh52g`kH$xUxVsJ; zAl`f6nM;@%LqwKB+(mQGC+~dR)Dl+=S<%sQ=_fct)p2O~hy)O_>W0HRw(dUi)a++O zvW$v~I>}Oj?j9^VD4k9a&%@z-M~TggFSi83BU&nId$PcK>o1+JXN|u|L|7UHnk$ULV}F)H*ZV5CP9wpBE)uUxp0RoB{oz z86tat(fvbbo`vc9dnlt#GC@Z++TVd3%gyf0Mi)vBgT59R2jtXC{`^MR1|EDF=fGn# z9s_o-k{ho#qpWsw!p+crortz11X;6Il2`ADl}Gxq$jvV+;rtFDm-ax?hE59NQ*> zjI(QFWMEgshCVj~x0(ROYChOI3yX^ngbdZ#KtB(f7RW`jH6d&h&&EjCy$(>CzH9>L z+(p)(8i+>@_2Z+~3mVPqZ&4TNu#W!cmvCz2^$@h~^*29%R|zW_Uf)3}Uw`xEnUeLN zsLlHTlp(JhFp0?P`tkqUVM1EJI)_53oVEGs*oFU3hy3R->*N08qkrG5{WHY>4DtF1 z{69wfKkMe7b@T68H^mOd1=C-wAG;+k=%Z5gfto980Jofv{L1E}!%t<$Fa7@CkUi=+ literal 117106 zcmeFZ_g~WA`v*+ZcV*c&v$WyJk(x6HQdt?ABWF%3H8ck~r7$!u`|t<%0+30Y1)oopU{}=k>gooaFiDSI8^-KQO+la%O1CI-j2S~)_e$H@BgJW=EML1*8t#$_l@4Btl+(a?Cb*6 z*N8y5@(W&OWBq1HX}6AEIDEeF@aIow?ms)DFcOjU`)owx!-!UwduKj{u~t64Y7#~)7oYuvl}>&U-G+L`Ht{~EoYT>saP z{low3=Kt2_A0`0*hnxR%hW{gq|0B`=iwysNM$M;r#?=P6Eg+DaGwPJ}tL;<)0Kk=E z8n-~XISB6Xz0$I)F39=Hm3WL75Tr`3ONMn<2hvD;Gbvx(nYXpe{Qq7s*E6N?C*hRx zXcZgBi({H`w02p)+>Yx!<8qWeVn(_Bm+oP<&c4QQ^l0En4Es56Bm~vMW}#@S&wtBPOJE2;bc6|Eii|7nh&INZgrjJVr%{eWWKwKDOG~VFoffCOw?*lU z!Zy8V#EWuzD|O+p+6(jLI_wF8o0AmA&TUyXc2F31fSD^wqSE(`|Sx0m@Imd;!852$zgBUNn34bkS4)iy$GSE#PN?e@opI}R>Lan3~-CD4WZ;(>4wTpmM=CZHQ`@m=a;?6*co+?Il`B}8Oa%BYEox^5w!|T zO4^I{0^N$u8YICe7D#Dj7+W$}2-deN4=rgcuHl&~@T&Br?3Wo&*(f21&HHu=V) z85v>$Hid>cE<>n;x^O?IrHgNtA6|yjt?T?^fB1>PwU$Bzjq`Q4ON$w#im*lUfCO<+ zxyRN)!$CM1CNHXY_eDv=-jW_Rpo&m89mByyQ2n3veM@L5-EIP^UfF$L*ro4n9?;LM zgVDS@MT$yXuV)F_`75;5N#C;dnaA&!H2p*J^^RDj8VDr>4{OYz`?9cqpWK8G;y+X@RwU$^-_ab zT6y`g(MG~~TJ&yqbbh|9k;=&|Ljz;GYe#eQZF7z7a>euVZCls$^Yc5_)?6QlgczKx zjLORw*BH_d$rsNu;>*wfk@g*CnH6h&EO)gd*yY1BZ>?Jqh*!qO23m2Mo{@s8&SF{K zdn1)&ZI#QJ#iT)p`8{pv?r7Ec*Q}!+IA$-0`=?xlI2py|#XsDRJB7BvW^x-T8Uo)k zPK|-+_?Puvm&_P~N+JOy#BGMo?tscgdG3dY;J{w~eW%~1a#D{Vu{dkF`F@h9em~@B zp02?>OI5O~9kx@w(qz9I@re>ChG^dZ=R(Ln7~bH0)lsW0cG1FI^wHPl{!}Kc>mq*- zW;_)4d*gycnQgnXnfthNExesv8@L`VY0)HJq{5eUC)%W7ND6F(bJ&V=%2&+_J33_3 zldfC8Vkp+w+TH$Kdok78I8Vi4OTkm%t}&|47^+hcXHtM4dAZQ5Uu9V%!%%yHlT4^? z-t`ya+)Ho5KU>uwX?`9WwBG#7)p!F`63A*)fBqzTwEVRltgiBi zHyyu6+dDz6gt6~}ROsGj%JR`BaYk^ZM|@5z6Q}shZ3>i@y*|kdr_}1!Z^2dVb4ja_ z!f;W`TX4L~L%gAZDY#(#NnMPhr=MX(i6L}BzdfC61%(6AKdsc^H%&ir?&;^Q(eme# zsRID+n!t7P=zK2`Y6tCTDDX6qSDT@DVXHxF*+z)zp->L7`5-O7nIfh#_oh+^P*3~2 z8hkpax@zByL2$vjYq51D7d-IjTF*nDy{_l6LV6l6oD4u5ln5XUqOyl=(8%V6^I2Lb z73%A#Ihzt6w^NA0CK6>|1^nE+0-Ha`@t8`QbH-wx;S6K(*o5#t9S<&Nnx4(wyl^}}COvw>n~~Q^-P?UnAbv2!B(qf+-nF~g z76#_z(`gFDt^M2AY|`93#To^UoC_IIYW0%%U;=GGxu$ub`Wrv%E`3*)gWBP)R$~nX z>miZKn|BiBJRWmAY=dRma82p9b&6r2yRP3a45iMPl2~Z96q#e2#?^uv3Rq=c$A&2s zHOv78dtmBYlTLS`G_=otPMM(2$+l&(tPjn^vcf>*TB-^kAD+QKVJ@|gD<2fup&-(y?HN2%~j}$Tn z)+D{iP1=h(Z)%CK5n%4&=3)ieiUq26Vdi2eg+p0D2tmsL84LH{n)xV3BL!@QaT%kW z$qQY^R&Xq?F{ZBZSGr4yN6lJNviq6@A@NIbjS9GI=Q006qqM5ZO*2$_g=}mex1CN% znTjzmDcx7TWy}6?nMli4K6j;wT@6)X&^&J1ck3tai3wE5Q3U}(eJi}o@M|oiR_0Tw z`P?|XM`3$-p#ww|kLA=IZ92Es!t1 z#4;|2-G(62l_ryXbGfBd7cJa-oj=Nqjx%GT(h4xd=8@0iNQcl9@I0IkHe6K$?9O!V zbRSGsk45{hkP}rs9;dqgoK&Wi3#L~18&axNXQgL-pTr7j7=x{F!3=2O0Z%XrZ2p8p zuaoAVP4JD6ArNBS>J~C#b6;+`@}A|S7$=P!+K$1sq+i%?UA|3c{DoqYAnfVoSn<5^ z(5*o}$i>`D<0x2|+EwPehrnVd140)&mbl0&3WzK(sS$x~FSh#-I-|g1!m3V6m@W^Ga?4FGUHV2Je|MYubz9Bv*T_B_r0d{ z`I46TxnB`=9@u;(nh8Q^Z|qTb?&mN!enLpP z0pI(pHDT<^r>Q)#{L7%in9EP?Q!RIKYTQRf@pp>`o-PTevGFB_pe zs&*fbIf~))jEsCub5%Q)`o)Ii$HX!Qy@#*{U#;bqE3^eG4RTgv?`h@48ld{CwKAAH zD~UHpUCNIr+p+_wDWZD;uX_^iES2wzkFEQhO4rjoAi>IeSYi`)n~$t`XwjqZ0xmmt z+6{*1DK>bb)5SoT`$T~5K|7Z~BQ`%n@_jRnX-jv^llI7==- zu2PpKURc3ROe?gX#r3;9#gja&s_D{jPCs>bK+075&LR}^tt4PA!mMH|o&({a`uF=* zt!fTD%4|G-l)02`;rFt6a5!ples)XvJQ6(hZ@(C+2EvbU{SF%X%rZo=CXL>LX z*aEDPoLU%1dWlflM7p)1ggPM&xP)NfJe6A52HGvYslXE#9lY-%s~1f;E;3+PEpaj~d`sxb81rarHMnML_|H<+ zt4oA~Dq^EANky`1@}5YZ9qjHv^q<=41<-thcJW_&pkJU=&GvF(Ug$Vanr_LCd%e&z z;&@$VG0t{ICDJz6FeJ}7%5g8nB7&>6lox|0y!(bpj5{2YtSLR+pT9P^estpl{5TwJ9HHY?y{w`%S$CJC zih;xLYo*A-F(AuHblan1 zW#xNq(sdo^`ne>Ir)FZeMTZ2XDwI5<$ns99wnv`8w3pZoC4++>7I4AX#+f>QMmUvP z+=Br2s4q_Y5Va$*kA3fOmabIbe+tZV_om)=0ej1o{nYSJHU5sPD;Sk-Fu&E~W58lA zibCJo7s}4g)SUbl*`MhRmsF@9{+oa5E*F=<2WvIm7zKvYr4>aWNdyJ>A)OXE~AP*Ea9mMV)aEje!?fM?Nr3t4%thH`p>p0lX#GG{1iVA#YD_B zN_D@0?fH*d5^VoG(6l;ANP{%JfxB4M$urMw!@-lZy_|&$J$EZiA1oV;q`wDKJm z4BNS=KNLtp^rxOe#c;!j2yJnfquv;H~6kP4H}+J59hgD2Z2XdaMHAVYqRh9 zgNep*SJpo@ZiEok6~du{d4AWsYb_4o1t63qEl%4Mc! zn`+mSc?qd;j*kaWQ+meka~U)&1~_}HQGmM*wSiLG6^3;!VSu0v;~{H1{kTk{7=*Dg zgPN~vW!^Y-%@}16V%Xto5MtmhvPUw|yQO2aoIeni)_6Q^5Fel-aV_6uSvJYU!LC9# zK2ij|+gwuK;{l10W>4`pQm<_BM0E|Y12Nn~0`0#_w zEVySL03iqX(Pi7=bv?FaC9BduGUEmi9xt1AV<5#$*&1d-oV=4Hm1YRdmA0&*Em%aqxg{)YysSo@I#l*YgkKmeRl88vuo56@ClBvG zc6^L{e)sYNB#o9o)FHx;{rf9IsVm6@)hCo^k!Mj9TW3hiwfdARmq!SMewQM*4v-H% zV3w>__ltwgP!pxL;CM+$V!G^vnBCwhMe~>md$IPg;iQH&ykMt`s!I%GwI)CjZ*Q&Z zM<8u5B#L#Hy>j*Q`%h?TEnS3)H@?>e`~7*aq~0rg@l{226s5Iyr>R)gIHvAon&{5S z*i4t907kYS{SZ*B4%EF8o30hyuf>^Vuiigi7Ro9XrQFn))yJ^)s-;{?EU?7G)Q!KPb4N6ak z9=RX5F#oD9TEb*rJgLs5(LB$;q8s>|Sm8#!tpdtWd4ZPFM;p10tH& zzbp?~m9%(*R}P#k+o&UP+sfQm?mG}RK&>aWd$RSstv*@?kAc_<__M+E*WLvPo$9+ z#wky%aALxvfnRiFy%(ND&&?DRciz@UiW)Pb1mO^eGy~BV4PmtJz!&N^Q@|fb&_Xlm zHLxZ&2!=h!B7;1dFDO-Mi)LY7^*-PEuF~!Zq9vvTwkjtoWCTErqw|d#`yVsYHH`CJ z6#JC5RZ}?Sgu{8Omfr_9Y8xXn&P@*DJ+cu8T5GZ{!A1APY#0%7wr@%l^HeLN&G}Az zHit8Q`jiuGF+i{G^r#Wha#i|1nHcVG@C_K{0D*Ytkcr_`OF@QDJK5V)WQ61-kFbXI zkYG(&14mvseQzqrob%CpJBJsL^mMKtZQa>ZwN4BLvLnnIUfDtI9^-eGrIAMNjQqI* zOhcNI58A}r9aFxVj(O&u6KiDEuMV}M{|bukKXIYX`MU3X`tlEtDolwg0r`V`)fjkD z-}BtJeqfUynL8B|>-8T8^u{=4R)rumc~%|ijoHjqTYAPQj?z4iFpR$q`8Mu?x!Gx2 z*tM*XLEm(pg7x?6$MM~~nOHqN(KY^}_(BM$-glZaHN)j5V~nD)g5m+pcBCF zn{vM6rp4wc&rZ>}W~Du7*Daq>L-xzY$l5%sYP>8=Z9$OQ5#`@R32Y;H)K3_y`rB8E zk~*Jr_o+Hf&>Kat@ajJvV-j4u-nRp8qqrjZEe3jZ1hgmvx{JMLc>OFF5JOfm)eBru z=N&=g8@r>CHx9LkQ9%;QgftuH5gV)gu#PY2jl(grG9T?aP3JZWio1t!gxD-?q%in# zh^DOk4CKdDYVYN%-AM|L{ckE|ZES^3D2?C!QiT^!c4_DX0_6eQ1@n4MfS|N1$qmpzu;_8T2zqqhnbZdJ(rBugj!uQLT(v<2_t=?T3!JS{#8*ThBi#BUJ z$y9xZMV7Xkid55toFfD1PNY$z#t=!-tnvcuc7fzJpvGumAA^f)Xe=*k0z`SBo;qxj< zZI?y`MBP%hj0vU@dPCNCRYaV)XoxgM7={f-a5DV1g}e z(<(4})hqf- zMxZxsTuk~n@KIiy$(2pCELbZ~?(L5s&j#TJLsU7 zOZDZn=AUtG(RJELBlqPJ{Y zV|dYl6GtVj?o21Vo9);>`ltQ94}URxdJ-(HvNE+&M~=7AiE9h6&Pb}|`~S`YRIA?L z@gGjMTq$`p$nbIv_?0>EwNU_j=tz94x{FSk{C5|m(q%?KEcQ)UKfmEpp}^9kOO0hl z_=Ft92#O&N#$WEf+8KY0H!Y)>WVy!ZbYB-N>AGkELpfi(-O*c$he{!L_lS!M9 zQzE!(6gSNEPtl!5ixDnG?PLgBD@J5OMMmsG=El4KK^Hdy3Ee_vPZ*LZqt=(G7!6>!nYu~g^2 z)^3LkyyHNnc@eGHvE;S9NmJfa>kj)B-&vEF75q|9{ev^8YFc<_pI)&9`Sx}{;V(zk z3q<#dQ20SG-&I6TK!L`tz>_@2u57rpt^&)K?BP__x2I-{Lv3sy5=hb^I)=0p;=f3- zY>FFM*(-Hz0;4Zjdw#xmf1(}i-`=fPe?hl=J3PAcCy_WG6hK>PymkN}FS;+RN>&vQ zy5Oj=A$Uk=sN6&zu*r$DyJKE1l6BcdFQvLwq-1=H-Io2+A`3gs<9APeD;v>S$afPQ ztzA+pRiaFr^Jnlvp+k%M^;Zmy>E9!c{fS*R8H)&yF(C%$%ONH~&Xbs;r|M{sOly<& zCU%_Q_?`b0w@XPYwhs@Rs5G~8vhY?j7WK^KIy&Uss^*pn2dcC~i@-E~e%wgHZqIl? zzA*us*qc(7A2X}Ra9d#awEJ{F)9dO?^|BAq`Mstz6_O15M>eVxP+Zrzea8N@eP!k4 zQy42vepnExFvYL$&nT5uj~~!D7=(HLZ$|(QTlJl>rLVch~KUT`p<*2L5a zF31O_Td8z%(s9iW$kz{pnlaq1sAzl{j_k?XVQxi_;Z9tTqkS!={H`RliBd=_|GYNjFOM!;S8?2*dc}9-jL!%w zDq*9hon^LCO$?@Ys1oSuTgro5tE;|PIcN{|JIcE~3sZka(S%3EoP$M!mLVm-@wb$9^^$Uj!ReFS{|aP0!}(;w`?(I2_B; zJ>3UMbyzERW6<%WZE!ma-DV=XiM%U*h+!Nc_89o`eK{iT5y3~>VAtf0C;F{bev1EY zPx<)wB5D{^-62}_Bjyy+I?y=2`1v=~Dm%!54D!RSG;Gh8EHWFmhb^ci$evnTz+wPj z;+>o9wGX0`#u_@&E9~4h+i~(md=@UDi&NttxWZ_rFMNvv%0&5g-5+)7`)=vm{%2>K z?SBgvNG|YL0i!#zlbP_%yc$*Xx>A$ZnGGKIcJv?wE*Hl-?;6QBC5 zOq^8g8i)#{Wuk9e*3A0~ETJhyC2YDRq^g0}cLLSp6Vt8K8G*Bk@sMs1iW;Hc_wH0U zFjW%qZ~MUt=MbTDCx?AGadvJO{VO~!35oo|o8Vaa-uTH4#e*(K zE;%R<7A!D^-=$8NBfYj=8WjP13jYM<8zr9NHk~P4o>n_&zYM13*WN#Wh#A3^@lp3! zdVj~6sLASTW~|_zB$2tkY?Rk8KKm=!VfmtE(q?(n`x(C#i) zl>gI^f%vQvN z8-qORM_{^7HAnTV^1OWkLk}<7t5e%!HmK;myPc+zof>q%x2g2+NZR`^Ldvs9%wI9c zwo`G_a>q(Vr9lCUC8bPbYlR$cMDubX`$)iFRy4*DeR4C4uNWJrkY0k z?;`a6Zp?R58+b9E{eF!c9}J-`%&(LO#z55=2`N6UCHokhU>_KezM~KaL(FnE={I4- z1m1?b^jgX)IQj%uRTRx4obwnlM8`J@jIjudd8u1Qn1Q@hD%T`4G6k_(>rnal->3~s zC`!8@n_A>e0(E*Qja;MhI>mOD)R}NHYwv%RSOd9>W)*1Gs?5GggxNITSp zQ_f6j4$pR2h`~_-tku9qGGv=2ZIIKkEw&BUDK-s|n;BTj>2+S5SdPrV*7)&RHp^I7 z6E&8s>Vd;1-WHIZ%ykJs#|!=s@FW-5Coybvrfz}Jxhi<4oH1O1rnZ};8wHcZFOwk# zNEf62Ny_)m5>~n9ar$H2q^pObW$ClWue-L(u^!{j+U_(nOnWi?DuYrV6A6-nu$RSr zy54ck--%*`rUWb``mhm9Xh>+tMndo@-DpeK)mpQLw{9%gzK=e=8Z>P0n!Yu21A%SW zp?drti0T+JwN4zsP`evuyJ3IF2~?I)J0E8E(dxMAuce0ao(?$9I)?A29JPkyvvEjB zydh@uqfSBiqf3B^g3%whs z$8=ZUVA1EkBGe>RS86;cnEEJRtOpkjI9(GpCjr^BWUYV7c}?xE{<}nAy$;-F4p94I zbg}Uku$auN$GcKhm7+oGVE_{I~xi)ftIGeD)mySTjs_6OZ7^ zOV^!wq}>wPyKu{zf`#sdL)nJb)Dr1#Kf)GmZ$%W;m9D4aKUQF$JsYH{E-s4RT=$;> zvg3FVdkDj7^PMTb$+&Od_W0qXtdD(f;#zO zRX)WHo6+Hsk*5w{74|IAhQl>4uCgd|vw|fcyL^+@;CR?V?M$PKJ$1k$K|2Nhf=75O1A8W+xiD zm2d3Re@2s5g+@#&E6@CeZi-9_GDm{lS+!8&o=4Bp#}i=pKZ4TT$3zk87S825thYXPj$>$NQS5?P?gNTa;>cYRNFff zh2>D1QAkLrAC9ps2I>0NufRjcd^(7{=4g)5DE4mef3xZgx4!xq-{{0&%3N2F6} z2`)`bt!kva82WFY*>OS~%4<}?W5MMsvT=q$&Bis!<^(QL&1zpgDz05v_TS!)k(F0d zD}n;?gr&MG+cj-OUJw%;FKy9;Wm1+A@kHt8U;Fw@E)u*n70qN2=4}9g^FK|EqP3GT z@y!>GmcNeFaVoN`Rbfh;KAKHc4LDpi;ThAl^7Jmg;w{+4vf=JlZB~@z4l>7L9_nOK4S!IrW++;73!kK8X9eUQwn}oi9Z%k$}m2CFz>w`M!!F zuF|ln;OKl8xCwuF-f}-@!+HG7cfTh?7Kwf0BHUavC~zcRy-z%uM|}3rZSJ>Qj45X{7$-0^a5E?+wN&XNQ6|o;9|Q2#p5zedkcT zGI;EIThdSgb+L^VK%x3j7oZp>&)+{7HnW1_x0+JxL+6U>o<~|G$sw4XDc)GKovo6< zZ)nz>=FYZT@_eJzJ_c{Bd4D+V%ZY3P5K07H6|GX_OJTwYWGX#Qr%AH^7a)qU!ik$%ux9u?j8llIK(V zxPDcaeu2Mu>prI4H9eKEfTgrXzPra zr?xmgk?!2qAr}!B@CJTa8CjPpun4B3roos z{L^jOGZ!FAW=TlFM5)@0OF)6=Ks1^I62got{pf zCOWDs5tw7@E1o!6p1Ml$Z1C&!5P-G*4KJ*?!2`H_Zoe`tzvH>{H*@QAy|B;jiESJh z-+{G=($Ru=4Mm6zx#pO8Cc1{SV^v-Xq1x%6bz(?AMEYY=UBh1gmj%RI?}|*-OWbW$ zvRoB3Wt3M=+&hHNQR;nA?`9UYPRBK6Xv^IZlJ#ZER|t zDu>wV^d}}mdXm|*#>%wcdUk!0sye<;&DwxnNeZftCM8(TYAVW{LA1bex{Sc$dRkJ$ zsxdo>w_$GHXEBh6{Eek@=_AaTonkjacv(`$}a9i5B;qf3_h7^XwHYI5-*y36XMmKX`*Fp zkiRM(`c7=mlV8uf$0C~B?pBsjUO}|D-Bfu#EbGCL^UQ?46|T{538cxc61S5X%q30Y z9vZhk9&)zCPYx$-`j|GB)D1es4c9QoiS}{ga+)FKv%?mO7;p`;UP3j~(sfd~c0GjT z(RIQ)1;}#g;eb#y!*O^nUqZ?P8WrQwqb>nsMVV#|y|Lq@)bn6HWm%XH4v{nTWZds6&QLcZ*2Q^>`XMT7vb~j8oirNg=)W=;?M7^o3{{+tri3?IFaJ za;``qWu^RRV5*#Vu%ua84V}7S*Xco4Fx7RuG609Bt`}ABiGj=B%y&#yaj7phb25;Y za!w|-QpI56#<#J%-F!PV944NKSDZ}2IkO*iE4RU$Wg#g z!ukE8q*z4beFBp-;#Van61(}F5f;QbVn`&nO}=H%4w1`_&w5jIha%GHrHqS^DRbwlbtted;GO*ii|VPV^Qcap;T%`> zqtrw8qrE?E0R300el@AMW<4%{TUY9jvC7H~tW2w_y z=``B!Ppv4?-5s5%^`L&z1SxhRZ};ryeG|l{dg7D@`wj!Ndq#o?k?~C?%p76jEmuo9p>le*Qoa9HD-)vFT9OKz|*k zx&_63u?~27H~8b~a)cM<^V1p=l8cVOF#JcfRTW-#s8QnBJHJLBs#3={O`rsXwF2FU zlMa*`>ec7y%?x)o*J@&vAR|4+btRNK!O4+-x$Ucp96@Hvzi2q$!^Ut7oXPP>vmU>f zB?n-J8X6itR8^LQ;2wqDQ9rrc%K6?F%@jxtW=(&!$jc0T6X*}@T5+`-~9 z3^PCXTG(^IBd40Mx*Lv%tW-PlZ>8ma{SfK-O(gx}Q+sgGc>|(429&KQ5(7pF`A-sf z9o>nO#MH#K3;tLj@o?yrAdlJyM_2=2(2wrH6(Xe7qdfH|&^tU-vU9Poo+mXynQLt1 zZuM;7=4Z3FKC4c99y4V9JfqVOUUUuNX4rUk>3l%9@9Lv2AK#;^jRSAdAAYaaP*?qa z>>`ch;UY|eZCBFzEo*--5r3xtotdy_mlS-tb5747MC*5NLhGm; zREF`<=c^sxyLb1uF`?O0akV`&3|RcDiQBUzW+8qjv5u+?x${O|5jGLzw|Xh61X<#K z+1mqwefaRe+c%^MEOf%b-D zEx)>Te{I@k4T%B(on_TitD_~?*+jkRob|^(#tLU)z5u9}_zRc1o07+l+Bko(5p-u< zd<+-neRx&)NL9-h($t*rOT!#}Twopf9@P7}Zsm?+f=^^HIps+EsDfgw%A~dxu$J7a zq_j~I6ejd?tlN}x^jLHdA^S|#WA(wYGDVk`pypuG3Ln8J?!tw;fqS=RX6wz4YVuw< ze{Ys}0s&&Hlt_q6{`@>)*?Ag2_4VuP&pG*JXWvLm|1Aqg60so|1VA8(Rx`hqI3UsSM!n|L{vZwF-(q2U`rEhG zHZGtqtxD)3V0K`s`0NS5>B|=*4+KZ|A*RwqL@#ns`kB8q^W{*-{MxYnwNBX$>PD$^ z=W8L_qJuJ}pa*oHaNrQhst1&I&X)%M_4Q>-Uy)yr$~jIyd>8PUzYhW)I>Ik~^*2K$ zda{PK57vUg<;S8IlQxvk zojLPt;K%K=XU?1%>h!WN4U)OQouKGsxw1Q6`7}D{uyexvc!p2TGhx7W{_z`p1sB7e zqim;TxW|klUI_S#ALH%OeDdqk&G6Yzj*YyIccqRQo)Z~u;HPA2{cel~uN??S}jX5ZU@$rIbt<5~ZmI@Qbq(O&dUHDB`Bg2z)I zN7dG~e-6@)t4H5aI0=Gstkv_%{oSWepO)>qBoagp){KP5+qRjV7%nj``ykNQ7f<0y z{TnQKNMXSWmP}-m0(YCpP9sX*5U?J%XO(mFTrnWxGTtVG1p4-AtU?o=^0|IB@x#^e zK#f0t+$Yr6DT_ln(njKO^H)SJCbgn^5|Sd(a%awbBg)j?2kD1~=K( zw{T?v${e~n#a0p%H^Tv9FN2a*4Q_4(JY_M77u-SVdGmF~?f(#_eR1zd^2>ls( z@K@y0`1MYyP>Fi+BVW%CkfN;){z))7(;fXn#x!Bj9CFZhK=b=O`8r^<)Q$7^4`8`I z8!*=Ua?t4rgR{|GLxhbGmEym-_Lc$oyLzF0>FaVXSNBprfBK{rEXT`PmA|(ioNcXo z^kBq!LN(>c`0>LGlJM{4!p2>X4J^QZj2l2ij`4uKU@epKHhvv_$j`!Yao_3g+4!v&tyCtr$7aTXQAWQm``{WAiB37HtWbc$@S~EzR5@{LHBB zxhv;Rl;#0)y{+HbYQY9QzURd^?`$n3D}F7_yLHF(P6ASvS6^PFwl_y2bRU=dm&Cuh z>BJxS`8EAXbl&GEjkx!K52flj>CRytH$+57|HZugx}#9+d6iLo{B^MG@~%YK*NKr{ zUfHh73ky%epJ`=RX<`-EFWfs@iZH$#Yy3P^hu=>m@u(ioT>ClVn2lOI#j25a9CsVn zSqUk>uHpXsc{t~%1OE5B00kQwpIS4|yotHit7?stbhKLTkg|SgXD19utEo9$E4r~_ zU6PmA{0_wa-ENp;S!^S7X|1g(;FhGgyU*mGFY|ZZH!q!kDf~w}^yjH* z)z0#Br7vBSkj+gL#FH1Ihq=5C0?x<9rsWoPmAxlB9WvEh!YM~LFTnFsOGpca0pEgb z9S$0|iC3Od#iqHIRSi5^{`A~^d-CPhf`BAB?DWBavvn0SS5=EuSDUzkkDj_`|KvaQ zoxKwiz5@{n>x=S$pHPTYGyjRnDj~sFaFvG5i7T5F9L_yp^v{Ky&I-&n4 z@>s{e1WF~Fx;g#~URN_j9V~>Ou7X~Q`kSq&75&v|vR+K3^UfbPc&GMo^_+g|3%TcG zc9~}Z?PL0RO~;Rn8a+)k6dMue(8Ket?P9Wyf;XlP0?IT9XSaoodQu_;6ox3WOokOS}I&V za^%Q1js%hHxOM#D2Y!UEhqeDP5WDWOp$I5w@Y_wd?Z0OlHcL#OJ$p9&gRb+> z#8(f+oZvL(;_DV}{+AOF_7uqa2=`D^6FOWbmgqV&=Ws9D5k=W$RigX7)m6rJ%?*jC zwBeKY6Vy*8Hy=4DqpMO3dN-{WH*?yp=;0Im(1`_8tFynPbZ%IFSa#AmcDBy*)O&PP zc9ZJ2WbDQBFGg|NrwNr302|VGb^}}eD2)9C3U2Ayfm6j=BJ1efaD>`OZ&77XT3Y?fp?J z>(}5?RQ0l-Fo%9`e2)xmKf-y>M`r2XFLU`~@mgv`{WdJmzLf8p({~dK_L$pq#N`K1 zT1B_<4HzF7-b)%&ymP{Z$KA_Ej|e{Uha9diS6%8P>c;x>Q>nM zI~gSv7NoE_$wpAce$2(O8?D^VgZM3 zqoZw^!8;7=AAJ#F5h-87!YdfoXfzLCd!gQL8=G>g^h{3qse#G50IrKo41p@j#OI(O zz;AEzdnq@!yK6*ryhm3{nuf*$^6;~Qp|!1bhbsF0fA@DJM8;ZvNTBZmD22$kdw)ZFNaDn=GbG$?i5$Erw;sn zsA(1{sO~!`dpPNz_vik2&a)5ttpc0PpwqurYhI0C&x;h@Jra~+2^2D%X-4U|9&3I1 z`)gs5Z&%xLG29i%J?atwE@RBgo_%>`y^wQI=D;I^LW;)UVNK>o+g)of`}D&$q?_7| zn=g0G2Mrxw0DH>(PuS{yD2>o~FJ${9?0xDnt0eYo+rHb^50pvTkatgdwMj@wxN)9R zDxE@co_S*MT=~5|VfnOX)=T@<0e}~?scp5+8t4lER5=q~di!_6EG%yL@1yxf-S7W5 zvY!odyJ=8|ozz_dPO7 zedjznkaYx*R+{_Y(clBjU6Gd~z1O#2kJ7i7kPv-K%lB7Ry{Bh;)Ps>oq$olBU(kdD zoWAUXW$SqF+vXn4h>niSbg9#oO{I6eW`y!jmO2~|x+Y}v{?}+#-K()`;I^M`|B+4A#-7%+R+}fUPr0e_7{pWx4Mw*V!M@8V( zXBwdo{sgij6t|k&bMy0m6)Jn&IpJ{tU^O$dwktvH&GD871R;^U+3MTZCe616ErHk( zb%%SHz~>uFZ3!v?M_+fPeEjiT3+r(_MUJ#KlV0<&!qYeUk}*Yn_!}ggmHvhoYToe|@V>j#mEm zLKWIfQy3@G$;K! zaQ%S6)yA)q^m95eq;0bOH^AoSYQY7`cG+T%{Vo5tzf)J`-|c#Og|)!{cXIO6CHeox z29174@*M(&rvI_6SRo1PMmfq~?(*F@rnZJ)|3-(pPmxH$fnYEv3-%)7-!kDf(_@aM zP>S{MH}H6$liDEm`L;;n4XNShc4seNe*cHU;?j(|+Ez;?_U4#MZ}0BTjQy~&pq<>8 z^=F=iw*BL{+WARR$?v4Ah=XO^Kg(2CZO127{`+Yr{PUY3^h);iyD2wEbB??L*1+gV zKVCIg0izX`URXTp?Q-_J;433UCOuaoVow`^P-%?S@ADnUokFMH%CXenMKv5%z5OQ!6N<{ zS=lrlZ4G<0dbT)EzTR{DTLvNAUOthMotJt`AVoIE)~(2q;AmTw*NBw=@r_u*|FX6T z`8Pt*nCG8Sq3-D;PQ-C%f9->(!yFEodDXR`5DSt**RKhU-*#nm1gj*UGgDmZ*0g={ zYsBTrk8wnGHeXVVjKWJzo@S2DjA@-w5iu3R65KrtbAT&|1J{vW#D0;rB| z=^8$`ySoRs;O+!TaCaxcA-KC+NCLqL5Znpw?iL(^LvVNh=aA>Q@4fZapDHR;0dsnK zcduT(cJCPiNO|cWN3}A4W|YON$jq5#RiGGNzpdj)w;zRqhrie()ID}d8CU9#BMQ55 z+%PIAXrE6P_&zq+x%T{s=7q}=?DrNqI}9z1n;B)ID@?*-#Sa{gl-aIPFY)LUr9-o^ z!Kcc07m)98rWdkX;J;9&A7#d)CAzgqfB9QAgiVG)M&UJD860PwZA~v#yD-n{S+~x% zEH`aqf9+35(-awUdIQblhFUdY;cz)wF*P|v7Oyi|Ak@T;iqyv~EvYPbRSJB((fQoj ze(vs$#}L9~R#YT!9l&!U4!hMhxkJPTULa5FpJ6kyniI!VpbP^EB_J4-}7 zz?3L8-sTS*Cj}}3BoyXP=9y&K!wpkeYCU0V+))x2{seR>t12sQtiJY5LqlMXMkt8c1D&gVf6{S~FYo z4pRn1Ed@&0)M%nQ&uiqX@4X24DR_IFdzs*o*(_d>fU%Pp|C2O zU0Hr-Nop~CpU{!^E8=%qS@?Hy;%x(;l~a=7d@No8urT-9i<^5aCFJDk5hLkSz+7=z zprM*taktdprLJLrS?LjJy2z2TX6QbTQMkA*Z57m5#k*N9uj8M?%0FnRp@UySqy{(PktvR&IzD1!Y7>#Ru zyI$%hhH{kgUoXUnVZ>9<|AaGWV*mAhgO=Qe+uwGP7y&=CmPZrjTQNcO3KG1mXehGm zoF=Q*ESsVwn{6kLMM@>x4@~MFUbT4(&E+MCi6ad--qDqH`ktc5iXM zg`vryyB_)mZ+*Koh_QZDz4t1d`7~3aRgsCMtVt<8*KB`JG4;+TbmiLvI{ekF=qz7J zL@^hu><@8Cr`MDTpB?8vE3S(xpaQEjZfRlim=h=dV}jgdocz72DzH`%E2HT`|1qlT zU!ySCj-H6>YRw1kuv^gEzc+Iv<{yTjC+1%tZbO04XXGG;tgCEhS;@)8Wc+QC zeScTXL-(!{)5^^*r_`0^Iy43o;UL**GR}ok5UX->?{|FZVdt^OR4E-qv%D^6)v!*3 z)UQcj%b(z+JDS1$@+~~8Tk;~A6XC0rRKH;z>fM3O!P9kH<;GV{^j}RpKMM=NUgV@7 zm|S})iWn~NZ(p>G>cWzu*QhRuZ;7V3o7R79ZS{-j!uR~FWJa(~Y!__T!knQPvxt26 zx?`|;l2zBRLXSyT7lDg*K#hicPl4@c@WOS%$l6>coE8=+#@FO5fkSK(T<6kb)UK`i%h2$3&K%j1Z)?@@Y!XIkxwcztDxedCgc^6~o@X zg!~lCzag)TJ^55y`P^1grNNTMRPT?pHH}_nvrtl&&f?%Sch~stN6>k%NS?18^Gs9! z7wpQ`F3$#C`qkxh+Zh+f40G6!RO===P8swa9K78>a<*}UeQ?V3^x&d#7EQog=O=QZ zt^L0RDDy8QuntG{@2Q({BnhdG!!#rkHRmb)9eXb_=t!r~_%dl_U;_XAk^G2wGu+JfZq& zc@z^qSk5terM92U2>uHf@@6+Sdt<=iHpDR|I{bnQ-`^>Qu?Ud_ARuI*CjZ6Nccy=n z^_~0stPhBRj+EjuO7UAYT@9Z72{weSda2c7W23xYOTG+ZlW$lBW~8(;-(EzhMkv=@zS42%}O=0nTti}Sg3rAe% z?5XlZpS3DV{T;ZX2@1R{g6^+fTnv`VY4);LH(WkEx+tp@qJK(@4&O8b2Gme~cz6IS zC7zicGg56KmcapsF)%Qmmq&S3RJ@9Zv$Y!!Xq3P|!Or;&YjAAGWNQrEtnSi>AOA)` zhn&dU3E_>~p1-P{n(nvm5t*{0=c)3?oAI!4F@D>Q=HO}8r zb3Ihc?Pc4lNJ+mz&zk%WAUpnL2VA|!p-yh|1t!pGoZJV(+#C%uR<4HzFReT927{r(<}_qGsP5|A>E(!f_hQ;Gw~JYx<4my6!n0 zg)I@(pO^oD6NdMj6dh#}wXNW>Ipj8@D(cbX{E?{YhmCCj_1jr(Dz5TrZ-kIWI)}H( z{fXa7m=o^0-J*?0N2IWbqwAxQ0eo*)(vGMWa23t`8e+<*VYHGhbpn9<#b0p$6Umr$ zb$RLB|C0QY%%Lwl(aP2F6Nc8)ou0h0*m7YtU2y?yZX$8yJ{z&voX^^_OKAbkFSt<) zR;@S)?wIsFt&TtSO5;tsNfvRHIZ7Wm|Cbp4(}R@wT__iD5pJY~UN{4=vr2@q_U{U% z;JheTQZB!St z=18hDvr1%U1_K*)$mU;X9&2?Nk)9lA1sJWE^!o<2u}>qq=$rcKv6Daz;~*B~v6_o36O{{MRW03HDK(}z{*%Fh zlQ`6iT#`sX_v-YOid^)DZ-GyjLq7mlO?bY6UP*3fjUGX#Eo z7yWAjBwz%X)E{j9C#DIb|E`lG?HSTr!|8NjKUr3$R~&NSn-#jamIa4QXQfKV07G6R z#J$U5G1hQh9rD*&kAZ1#m?6)E0xnReBWdtH4)lRYSR)pBjH$s&bKYSi;_s%o;QD^H z8}~XhqGI_V0I&f{39J=4Hq7?bahNb85>VSVy&t)np`cFngRG{#$P0oAKk2dD=y5#2~y7mQC z#a}{-8xadfH5a2`FANfpcP7;roxTGSo@lWrJVDF43o`*W-w7(R zq@FY^P!!3LVX+UEQGn`wHdE5^!ltRA*{R+TZgWQCLjaHS`4@hZc>hXtQt3i|qvVLm_;yOmtbO zon-%iKo(^(UqYi8<5L^(N*XI?@baAhu^%n)2hP(DxRmp zH-9j71|Ai$S+0-dHOwwV+jV3{X}P|=qKc~uqo3@5Bs2oBr--n1_*otu%To01BxVgCHMYC}OFVhyo6 zICR(9w>YFKmVlHJkN%$)yQF)bL?8=ju`9QRD(xpIZ{ED2^6Z8;z0Wo7BKPu|ZKL~Z z2Gw6pkLByub{BxS?Kd~l`edscF%wV;6;AuYGAIR5pgq!xgA2V>tPunR%RZx&Vx#$; zqysE`l1%9R1DI4ZRFEv)ct0j7p~wtYfHG7eC!yqzTyh2)m?WWFYL?AS(adxdpltyt zT!>DN*k(M%cwW9lQU+?~i31P;Q+eN>nb5fh-Xrv`lObS6`GX^Luj8-Ctm69z8Qh9h z;xH-!-J=5x zZ1EauM691Ne9=(LX|94*=R!n|gzUN4j-ZxR8o+E;d+psa4S#Yfo|VZH_{gE^43m(X=7wfYXAASF}H-M zG31IAHI{{mO{ec|#gdv!azlNipx<72j;E|=5He^5Rb-7lMHg8q_dUSRS0(RyUvvQ?tjG(NUq<%wzY2}s-|kkGI)6x(V$`i$-^Sh;PBrv{?r5U*f3aq$X(WPzoW?gR_;u5T;=HyM-Nxf0O$hRIJ$)zVbZIjj_UTLJPSYG%iR&+VK~2`GP5U-E+# z7jmS^GvtU&X~M+7EYX6JpWX~J5ClsuiEGW-e-O39WqTCS5LF%>jJ8TD*+l1`0{m2R~g`w3?Hz0Dtv4|HS`n0R>l$fvn( z#pdh|QWsH^?I_JAJ+CU^;bjs=ydbkwpo7hELn_o>;jffAo*T|hF@GET63k9-nw~{& zBc8xing@cA!WV%?fQ%oOD1qUJyIUJT)|uI!WfJWf4oAr zaN*o-;6cOha=5pPt_u(-TSN7jKoKXT)5n>d{s)OTEEt-C5^i^XCV|#vE9WT0&N(s1 z`ae}=JGcb!HG>|yqEJOU+<`;ljb`9~XZncT*W&=*8&laI?-ePFI#;}O|&}G=(*kIopW&0z9FWE?!z{oD&cy_Aa`G+}->Sd_SdB(`I8j~h( zs~^G)Z%8$DxLHdSy%Iil4`+#*w3!T>2^H1qevYw900^Xx$FlmR&?iBd152HTChy^5{wc%r2jBGGr!o|yXw_cQ8R*txd4&APK+W%GPEve=dht792$;!b%ZC6;y)~_3nOppiT#bzddmKhZ)_-RK+N6xc z#TlifC2i9id{h9Pm2R$usH%>K5*8(pn+vDXw3pNCo>S4->H8r)eR*#xqpRse`Mr|* zWbFbO*O$y*B)9zQ&aT<3H(BL%`CSx5FN}z5(5uKY)8|TC@eO!?kD0Z?S`$79!qWAi zpxRSRrEvT>01n-2TD_E*1f#}$IUoR@j19D8*GeE{*G3Yc-?YA7sLI>yOn>Eb0s&MO zadTyi=7+~MB8&;U;tU3cVuu4s;q0F}1ue~jB%?It&4d1$t&0I@zVlHj8l=B|V-}$x zx{~rmJ$y9BpQnXgw$fnxiDRjdA(_?2${!Zy$&U?q<;tvSVG;v8_p!gr&z@`h4s+SM5OYU}^%09QBnx zzbcI5TW*87xzZ@1TlJo4pHgeck_cIszCzag7RGV}mkv-nI6Nk3 zHmCC5@%rt=JJJ9L)8u?6V~w}xfHy2 z%NlwD7Nx^|_)!LG7*NRzCSKCD5gR_hCkoH>I@LaVXj(I8Tipz@U3=&-)a@tbwHaWBk*56J$7$aH^5hg+I_hMQTyl#-r{6O;o-l^FhVht<#Ib~8^Bhj7~W93v~96t3WYkb_e1Py^{(Btw(_G`^Fw>uaN2$*E6; zKHf|(3P@)I6db?;#ewYOz1ht_K}8gw8vhPdRB;|F>}GzKGw1$Iu@IUqUXLS_^zt`h zcN-H#urqQ@-v$zbE1@|2<;iIdJ}(Fau9nyN?!s3N^#o%(D=WXzl({W6LnOgrK< zf7V$ttI5MpP73;>c4G8*JK`@T6WA2aqz05E7;@y5ExWfljP=w@g**`=1~Q%m#s z{js0@5-1|v271SNhtC)iOxKH$@EiuGgg+eLADhlT+`{k8i~y|?z|+Yq{ocNz9ZDD? z`$(ow*F5Favfmx*CjQ=EF;#)(i{{MgT(Zf_-52P;4A~Vx6*4h&hVD)}y3Vp7`>erG z|8~#GmjFg5Q{9x%fo2FDkbaHXvW%|ncB-o!OfId!+cV%jF`yL!8f6pd*x-dR4_#ub zXT2ZsYE_$OE*#o+WDNz`35bee;CZ?!x)=O&L6`EnHd*>YAK%g(f7*iwe>BlGNr8dE zm6EGMLCHq|h)MXowuJvjySW9g@XhS)C6NiCfd&Y$WOcEjI$t7BBjMv7q!lva6vON^ z62Me!Ce@KFUgy8eHwyf%FmUnbm$P$Mok-z?+{j%9z61cAW}rrd7ih!KyrKjMv(Kw{ zU;sUvEe!(dK-2T1{ek-yPVmJM3h+^Y00@6LneQW5rJx|2`0U8yRZe;DK#VBp&J=*?`@ogVA)bxCda?fp$ImlMZus7z%hp3A}}Pbp}NC6#6A~Xlw>cZ=2>* zET10{q+iVWbMBJkCX?`u3mLN9QqXs>)>iQ0FQdpGRLJPQD^yi>T8I9%;sG~7CGE~n zO_{Bce|Gv0T*eEU!u}sI?ALC@wjv{wL?uNAV)y^xl0&O%4SkTIi2d>|V26|hdj3m% zy_R}VrrVauXhJC+9m}=D7jR;e5WTRxL#3ximpNWj*oT}P_N(G@K&0~kK9@4?^Z$sv ziJ5VqiMT~GlOt?doBc~aZc_rvfoV3yzZ!2^{HkXb2Z%1R9c?kzxGUiE&I%22r$)Q6u}r z&JI=+00xzl*G!yWXA=M@DR58shX0Sis~9Hlx|f+u5e)7SUO)F+hqwc74e!VJdwY^D zALzM79y!lmbFdrjsR4Tq1K^0QA+j#k@Ztdww0~&0`=3oWih-n#aX#44 zTT zlRi6#@)N%kpc0(^2iguN;i!Zk(1q95GEfVrA8K8QP)USs+}`F)WW6z=^t{?Zjgj6s zyGuyG^lmeu@%HAd-|8jWZ!x?AR`&9qbdy*(@Y@a@^1%uj6x_ud=PzDFQTyCB;8`r= zaeoN>uZfXkt$Km2vOa8Ch9aPLG)6y3B_r}OeD>d^m*E92|3DW1iUZYazX53`>@PO+ z;iku}F=@Bwt7I!E##E{p+^=!OpkN^|>)LdQMNGi=#2xo?PguTpw|ED4k8Xmeb2*8o zWWEmwEJU0;3GZ0`U#yIuPMRTG5_x(+db(b6Q!qR~J?;2dZDDfot$455w@0yiOe_!)A>%)D!C3=iQHVXo2|uk~inx zHP0(WA83fDr}5ryU@&sn%U1Y_Z`VNHX)Op%L|lBf3_!OUHgHjJuH}#)10?cI*-EnMy6m+xDZBWm>FPM7&TByGpI1Y|Jnj>$Gtp5 zt#$G&dV|0aMa5HPpHjUgT4>uHL!+KgO}@lg!8D^LITI5$$l>V0gP7MH{rve6m(zYZ;RbL+7Jd7Nyx+J{FAQ1uivgtBoxNH%m7&;aS3P|hZ&f7U6%63qfmJ%&NjR6|v zt@L=i8MW{o^kD2}mcyeCcG*bhaz1HL$prZ(YY>L36o2QNyiNhZ&PfV4__s_i_lE|C ze&x^j$gl?@?&uTB%J4`irI(%`KG08Dad~@tGxcFhiD_#S0N<`|ZG}`t;VG-DqqNWU z_Im%;0LE4O`MmK@^&2VKDn3tYjb@6(1%;tfRH%|S(sXw%E;h{&T75+%jDhXxq2cvg zg9PST-#x;oECDkbmA(s{z-|irpXxF6-#KA`|9HR3!Ds_d=r#WS9X}%>a5DhPai7G^ zxI^H0z0tZXAT#rEvI`hCG(CQLbocCaemGt<*Sei#0Q^>E4hY}CXcq9^uWn!_Hq7fd z<2@hC(CY-x>)y0v#f>tr=YSt8-kO$99Y$=cCLVksayB;f$ZXL>b7Ug^+?mI;!oota z(N9$Hh{(?Kfx8d4=e$5WgW2dRB_ku#vX7~Jex@iB>?cmS{%Sd@=%W;Goud%qjOE4& z(R1hbq;1M9OZ(uMdPpEwCJNmW^1E#7I1L!6rC}(j+gqk2 z)#(_U!g+9;V@en6O#8Qz7Spc>@C?a$dGWE1>X&wX?q1QXwZPbG`(_G!JodQ;ra(=% zIxBuEf4jJDIz559rs6Z_1t+ec`^xjQ$KgLC($e4wZ*q?P~ z@wr{ISfYRRd+(L3M3|V9Op5AKqw`U)VxB?B%u0qrD}!A81(9P6veKaTW=+Gcsx3yg>tt=MwmVIx z#|I8)d6{;qIFW#^H?ea|)=PINHzos`^}C__j*nckoQD$cr9%hhY?8T<+D4Lt46ta| zBVmxfX*qPYKRrT#`aUYok?`OnYqg%ei6$0C?hq48Y(N$%d8nKr1SZnn#C6-bPIJY= z8b0CW<{Kz)?~jRaEGD4q-rZW(pWFMnFg}3`g-7{FA29UMiAUxaJSMCcy|Y92w(;1P zc#s{nN&_2aGQ%BG9JIo63(44a4-3Rs^s#11_h6<*g9{n3p;r}$2B2tmpXwO7`7LYx z!3Haa$H*leUj><0o>2IuCTd^Cn^zkbk;lraI_tX*i-HLL(xriMn){Ex+zVGr6Xz3N zXcNTCJWe>o|i=Ve}<%+S~T=*n8X8vAY{ekjv`#kfgy3@j{S3HW_w5hnDuh3 zSL^MWVdKS?iaY1$rz2IzjzcjUOp0Z2z}!61vnLEy8F7r8h*q?wf%kIN@_Zm9)4eCc zdXuZ|I_`krSpB7mN0%n-_f!XH)dpIO$!}roCFeE6ZNjlI~t! zU2i5EnI*ytd=r>*RFA2h_tJyQp1nahx1QLx^TC}p$-F0>)$PCM;SUzcj5Tv91i46j z_1A&nkQ#POXpq|wH#K~oB$!7@fca^*G&@@Fh|s4nsyA`sz@)3W2oq21T(l3e=jD#w zto%wdg7?{`EU2CA{z^<4ThDji+;#T$_Lj0zmuHh#jfML1Xekd9>2`m{cw-~33z*9y zkWVBRoxQRU{b~M3LtB4i{U8>2xCXJWZ|lxvF%Kdl5(KC#47Ddi!*OW5)g9S8g?k)MoCT%I@NE=lGh_feYmx3nblBNZ}7<+N57|-_%niVuDW)6+evNAbM*_^MJKrxe%l#LVZov)8^ue{lv-Ri)`tO*wm4rJjzo%_hJ<+Si z%Yw49-Z`S)>Bc`{Uqy5hkUBa#;876+pUhg9_`vh|aL?NBZ=aUXaDma>73-O~%iCTr z-}9x{-j)i(^WhvcDQ4QeZ;sod;zaI=838WG=zE7y#k5f+26Z~MF$oNMf7jli%udWX zyX2z5RH69GqdHyY>H0?{myKw|XM3EA7T5)?A!H*u+S-S)dVrJeg}js%1-2C0R2BM$`y zY1{EFl;voK)OI+0{xv%-dy4A&g464xjW~s_n^b!z4?Exog4`~Mr0HjDs9VInDF=W| zx6|f+Fpz(Gn82DM#7$}Cksue66)*r#_$@j(j8v>a7%jxQTB%-`=-xsYRkl=m++Pfy z=u>1kV|id+_5P;&TBu6_J!4mZWoB=~2+{asgtpTCZQad1IwY^MR^S%Ur1e~F@Otk- z0Ib4hZ7SNR2{p z`)w!71Zpo^u@*7MBP5QVv{YCmS!}S@tnT?mHNl%>JTz14+IM+-OGn4_6ZyfGarF6? z*0=dm1N&$`XoAeQzgry3`?Afxf}aCvHkKr+U3C9s-+U;E>J>j?-I5bhC<=+m^?qV% zFMuWw^?Q~>x6j8JZ8>>)u=cGj04ZZQA(y^=tk9 zvaHt0XcNdky~%AORM%c2!vJl7GikHc?`>y|DTjj~&+La`$*HFsE0^&lUp(06N8!-Y zLGfct!{AqfkbTQOM5$#YF{O1&;Z*i5u}Dp>ytX1*@wbfB+OWax$%Y!n`!|ks%Nusq z>AmzU<-PgVXzLj;#q7t6By%noOmc(8-?UCRm0@D4;3&B4yA-ui5RNpX!BcEp(BSiN z1s#}8G~}F|(BPv1 zRtbP-G#xiq-!8jjkr*~$>ROCR0~(lg^A({tA=|~B%Jn7BO8d&n4YVD=-=F5{(B}7N za{Ss_-CbuU6VIOnzXUzPp{|o%KP-Kimfs7+?k1l*ou z0SrODzanc_oy>;qK9h0Flp;U^T-)c6u`XuaUh zLgebGXP9qHEP?vscoC0PhzAbso!6Azi1LTR8{Zzpw;ne97Q*aMK$KT6o;LGt6A0c8 zSGxlp-caQz2FA^5dWcJH!-sdBM(syDE8wxxcwS$@r`I1}nQ=YC+rck-z_qrv%8>G+ zPm=n=gNZHY^2|tr`A|$XQd!fTRsKHsJOOZK>h!$47<}Yys5vlcTR3c4$ZLH`Dyq`) z9Czr}v65f#>_np8<2MSvu$6OlTX`Xxg0#9ij>SlFl=e3y&<-YE*sNi4m~e|11ly>d z`{o)P`}L2cPl@cf3||p}qb)6-7wy#?nXWa07%reH>7e)y35?h7beQ=gq5}awbXut) z0O<49oWT`5JfM%a&?4jDxXvbHq4bHk!)?3Sy~*6(?hq*PNLYZo*go0JPp#nEjy8wI zta+C}_r`xs0Ny?4Z7U*V3>m%xune0rm=BBOKmsLX)6G@8v6|HI%RjqIDLWjvvjF{~ z(xOe)cBUZE8Sar3c<)_&03VS1VRhs8@F!C+BBw8w0w7?(iIs(JtR-OHRO@*shwfnm z4H4r~Z)_w4PH3##h(UN>9~dX^PW(cQiago=P7F9R%TOg@a^)G^p8{uN zMh)x1rQt&6tqoRNUj%=`M?AUs8b=~nWKv`@Lqo+d)$+l~e5HC8qQ2)Qcy-G$ar`t* zbYPcZ%GY=2v9k@G-&yPPk;lPXgd;y5q&70v_rLhfF7Je>92Xr-Q{NyU1|mnTTK3z_ zc+shlj}||p;rz<7(67t6`S(m(G>k7N0B@qEs9>i;QQwZ#%gk4Sh=g3Sb<0|u>LcgM4lJv0CVY1H;^HReo$ogq zNS={l0g1){4bxtqQc#73VN=V?#Abo=^2UZ8unNrN+xz8}cNt#j3;AfT6Pb)nfb-ot zk^>!&m$bkG^Nc{j{=U0ObG~CFbhF!BJHnCZ?xwdauW%RGYn&jTLUH2Tw~+wqUf}VP zQ&Z8%U%$=?ethMd$^qB%N}(GE3AepTl~yqf7$YZ9TWdUk9XZ8-g_1)%=&N0{@0jOm zYxG$Pg~~sfNO_Dw__Tlw<2wlJ9zm6X8Vt}>et3n?fNE*=il(7Ki^m*sa4b#i&g+=M zQ)}{02XNPPKDhvvT+F#P68IEG{FH&x?Vb46KGMJ<(e1M?BrrhjZq+zs9mT4#7DMLx zy=q}x&-ingOg8q@;8=mi5*!3Di45LT6L>kCqs-9{@Bt#rVgELbsAwAbe?`;1)!=N= z>sf)Uv&(8~Pd+vld6goeoOq+B2T=)&co_1 zcn2kAx-17~&f}saziVf_S*=tEQMp~yMvA^H%wLmn1uS^-W4`P%5U&012m(9xOA$l# z(+*WI8vZ|5P_Gf|DAI2LL|(rs{EAMu*dyO2?iWw~XjJBY@XSXo zR2_~?cDDLasqz&R+t0xk;I|4)O?1I$&3L|K@&&oX2?n0~Jw;#uXF*t~UbZnXYVaxi zZNtX00+~PQsEM1A19LKo$24jZ(vHQy7v(pf{H~4!go|F=ZrmKF(eH+gBfKk8>4A*Q zqNJP?;C9ykJ2;QNNjb5Mx za*nt?a^Umr1MtM!oR5~U3g5Ci1H;3o5E^>KW^9<91*A(8SFfF(WJ@crzumN()^2>a zibVQGXHZ>f6-xv7t0qC31#sVi1Sh`P6;)it-Q)GH(-5=s?c;H!&Ge>}WUgKR08&Lu zg_Y;?th%L}z1V%;hpoih5i2HD6?1}S3oKmNoWgVVZAaGo+CH8Fnhhs03zR z-t&g-_X|yRi=O~{i>5*krJ&`y?D`67_GtP(E_y6glrGU;GI!pj_xP)t^EJN;o68;L z=K?# zs6T8jbGFI=9u_!j(`m1v@c}oLL`$;x;u~;96|WcbAdQga4Ll=u>z3vIBwIR-T9<$N z-Q2KP2sSW{Jw9FYz%^QD;P}#EX_us7ZP;|)bQ}^l6neXfA$8aTZxI`U@H=oZ$~V%c zWPoo*k??R%M|`d;Km2*CP=9a7Z{XMRaS0MKf)&5mF$MBb~0rsJ62txYPJdfQac!uqRaHN5fn%o<=Zi3xDg!WS1%ymJ3$Y^|s`T$zUoDa&H*iHA+XhL7`b$(!f05xyobqy6=IKdZ?nv#Jz-3TaWp_97&zs$kADk8LaHOLzO}hOG7M=%Ebo_|bymr;EG)3Tp{BsO#Q$ zWJO@f4h}mDBmg$VtXA4K!+ndcuexm^wc~HX(#CV9rMFul)3%K~Nj2{lI6qC@avw%z zlIxHx%%D9jW<&}CUM>w>Sw*4{3^_GX>`VkgDIsHm68lIjS=$n5YY}m70>Gg^nHXTD zZdyn+V{Nr@@zSPJM3DCy$2tSwA)Jm9W2Up7B-czEiEpNi_O7}KfVsw$(n~6qVhoO1 z&YY}m4rh!Epb1GfF_t;}wRPisj{3;5Thx4ioHKoK>{!9`*D`Ihj|B<+1W!0eRK?r= z5a*h>j-X0sjL`oJ295s5TT2Tw^R?hEWcN$;J-7WouGBygARO4Ql#wsFE1vfuO*On0 ziFJMVYmm8)4IHph&Cz|EY93_^!{~9w&mVPwtA!JXTi9U&e`Y^&e|$dgGW%)nCw zMGY`6Zqm8iM0pOV`*k+R7vCZ8O(0swHRPIxgh=JS$xt=^j>$`1#0>a5oR~cZoXLbk z|C7nQYe!9$f=3tOxIk7g13;r}CH|G{Iw8aMeY{GmRNQO{E%Vvy+JWLTL6-p2A6DX) zVB|7+aaRm>|A6tIbhm^yZ$6)=TSc9WkFhV%WfhZmnQ$_PtK6qHaJrY@Jy|Yq(V&dP zO_M9R0u&=P+0aHhD=v_;@qhWMcmA~-3%D@)$svLZb{d;!uc%@gGRWlw2f#DQD={iCj7oRXiv^qwcR%6hEsfy1WEdX=1`^j{YPkZppIF zZr_=gZOSa`3g!UtWV2+^A7o7|Q93aZ32Uy%z@-X1rf>nGP*f8$nSVZ@u4#Pljhw=( z90Fz)46EmJ&cHNEF`_iWtDf6}q~<1=&r;Bt)r18p1G)P}@zWS54J2SjYQ^?aBs^b- z(y+F4YXbGqqRkf>Um!7e_-&mkP$i}amUMZ@X}+H+3isU$-846er09HEH`o0^R%cgD zU(;mW`ck_XtfBzkHLbwL8drYYnwmCWy?Z+@@v~(e@ddc2_)3X>jMq96o-;OZCD>|f zd8KXE!keUK%L!TN5U0MrdqEM^|HltzuJ-5TXmrUWO2cUj3 z)>db?C&aJ{9%_w2$YRL^HI4${$en_GaY7m5<|f;D ztU$kEWnk;`9Ue0*@(XH&AAA9dNRjYi^6j|=@f*uWYkpH2=B2(LFC~KNi=!>I)qQb(zi{rWoBGRUyPKBAg_c)Hi=}jDdj1n1K;S4Mf3aDe z0Tce@5O~V!-I#EWmj-TnC@PG65*<(*)GYJeta@o$7T7+_IMwC!V>py}Vtbao5{IhG z0q$9b`K5HIC3n_XCx7}XHBf7N;q~N^lIB_TlKPwIH!a*sCfqUZ$1K*np4Y%(t z&B|{t)&XYS*YAH(C!}zF1ZPY*ai|4>?8D)LYW?Gn^0}Wm^=GKL5HUEtmA~jN^kgHJ zwoeu)JX&rNnO+^vtQdy`hPk}O$^;3s1{k8yJV*GET9|;nAp26A?X z5&}(w!1N@f*pKhuurLRx&^4SSbP4ByLyGAIFMc5W**d*ES+hwNNXh^T(c-^_sC4bL zJ(|_%P7NuOjIHv#t+yKy4Nj$8xcREK>y(ysnVoqx?T9(z+!O!w53%oZe3a=_UjaY6 z2Ih~e0qps0tjgDMMMG*kUzTki?Su)E41?_l;?N_Af4NTNjlieRT+_uef!CnJI64X& z@Pc!L$YVFHroPluk$T$WUNHj`V53@~wSBY?8jL9wF6AdEJltmC_lu-?!-5Z;oh*qk zmaYSvesyUB=J`KqXgd7N1Qy7q8BjB~dMba>pQa6>999yw152<+YfQb^&~QNFSG z6pK%pZYM56q&xGAY@UG>G?zPZOJ%Zzicdv6c$b2qvw5srO-+0I^{`mN- zH?j}?c(em8wPUrf@>jUl2#{3p3w;o8SRf5#0(wqwYPjTDf4e8bHEq1G(PI&OQCih_Xp9SZ=qN^wZw$!-|#$2QZpkPv;^ z>*M+{hgqnvZZpgKl{<4x>9Hff8Y)*R@w<#idR8m1dA}de^us*x=9(1wICkjMBpE2= z`gpx&;Un`})F=`1yJd=c@DmK0Y^G6=i}a!Z06ACgrQv#G3!vI?^SQ!9VIguFTfh{z z?Oy||AM4S3+pJD!prb@VuxZxsCsAigBH!&aNA*D&us+yF8?VBs3lO(gwSUYNy5`yz zufaR|#mqf%zAAq@_Ect*jb^&|#lVA0L8oyD0sMIk@4=je&#AY<`9Ldg$r&rg>(XR= zbKsv??Syo<{n^vtV*`6tdux@_Q|kA6So_b(x_cMdF@vA<@_x`yXLqk6)vb__oIk(X zA&}tUO)(1B%L%W}=LZT`{13_A(KuYXR9Yq2VhKKHORzAR>3PA(K0oqY%`ksWQv+6= zAqw0~_hUo=jNyJYs3epB>yfs$Ga>&M39AxtK84v#c;oXdtd~aMPS7FqjyXK%jBmeH zJsLX-Ng^PvpUnPA&8@Tct(NUcC@e4e$h`amW}5v;GER39kwx5b)4{FqcGC6pnb0^Z z672mVEw%?s?iBx8K~+;vch4uDJ#$L^#)P|eA?UKU)A-uz$SB8Ozhr$bD7>R^~tQ0rk|Tyy_9u2a7jf$!1M64Ia1Sg~PKKkEwsx z2z0bs692k;MIX`p+#>TN@*JeDr8KY$xGA^lB{IUyHepS%~y;7hq)aLlh z8Qf!`s`GT4xe4={?LU2k$J4iS_bvG@e=V`tSHnZNjv%7zu$9weZkw{npS`dQ4uIc=whds`w=hF z*N^B2p5Y5K!I%#MCz_K|N3);>3fbsP!^hp**|uL-XG2RbiDvqeXqC!{9Bn_}PeGT} z_c|<HJqWstq=+&4XW{HX`+I>+{w zb8z0YSE)@N@2`(!h z`wSp;zwn$L9KiYatS_66&*m>@Kc^)RWDR^)*FwkOgFJ42hTv#>S~$e_@_5dPyS4gL z^0=HBsjLMmkE!LYiyP6Vo%eod?KwVX8`fWATZ8I?Nh+)$SHV~p@dl@Vohi6r(R&gB zW!uY9oZ`>J<8g`m1`0n4iQIJwQwgCEM{any*AvekOrz`W+sx$_M(-6>;m2s0C|t+m z%p?8-TSM<#oQ0ouBfCBdi`%w*{84|p>L+mR-~9}iHg5L_y(bG1wj?a!pS{Yz;?Q_) zT#Tb!Oj=9dZ8>9<`XI5?s8T%*qd_iu$1G79iAdl2sDMa%`&T^KgMOivX`%|K9HA&V zM$-&;!sp1$qrxu@F4sbi-z^6{J^k0J<69)Wvzex25@km*hUG-!Z-Oi{SMNvU{y)0j zDypt7Xci^GEx5ZwaCZpqPH=a32_8JSOVHp6E*p0zxZB2^;O=l1-+#`y_l|MyGcW8l z=j^Vos_s6RhdlKfa_X-SyY_Y{DHE|#z39J0tDYzva{Zu!Z{!hn7q6sxt(KTYr&Zjy z8twjFMxN4gNoQ+405&Q0)PoQ>Nj|anlccLNzqPYibH{m|RR^jOB^!dV&vfK2AVq;Z z*m>f#QXDLt?JMtysHg%SRHK`Jb0E8^#MxOt9Ma3nORZ*aPJ5lkVuSWo%imFuA4Kz5 zAVNb!`vwQMuO5a^<0K27L2h&knH+ikl9E({e9naFoPu1uSIKvb=op*%BghkRoNkAw z9(;e)Q`5+wL=gmWOwUtV>1FXlb4Gwgj)jtgrax8FMCXa9SrZb=D&5~c_0}=9Y=YnitJgj&~#wv$Jkz)!y@ldM)?5SDJ+I>kvJ& zz=SS_!T#vX)8+C#Jj3fD4Fuuf<~ZOZ$NlEB^-aiopD}FpQEKh!oI)t$5+361n;lf} zINq16^$CKiIMa>qS_G|@Z+C?37Jg$Doo_@l#lC%o3j>o)Dio3e7nHh<_O2(a3ov=4 zzUQg^b2wVpf@>BlBiLzr*6GcYo7sOpiG`I`E0aZw-3ZS)sMzF+Cqw3Daoy9^_yp}% z_-mGfW?FMlQxzYFhOmMc%OyDdc6>pz%hf8h&f zX9(bC26-PI8fm*(tykKu3+2Y;b+!Z^RdyhJhq*a&1-47D`J4&>OPJ((VUSC2yXQat z|HP`_p9Axjac~$&(CDw?HDa`4oTa;{LAjiz52h6o@}eL44FVwfJz+Io^AwvHfk6FK z(AWc@uh}r>j*ZNxQ;H&UIT(cuan+gP|9%d8i^r+Dh8Bd?QX4eH($W$Hhy8TO-p`-% z>CZ4;UJqH$-Xz}HZs=l_&5ysHI<9WP5L%7?kYyTG7Td)NZBMVTHT*G(Cd8!xQn*8o zaxP%R9t-C>*}U__g+XEEu-oxySsv4J#&s*|R3|PmfSKhV(&NZOy}$7RiZ~b2cf3B! zN{w&6Ih62DM|o)Kb<3a#d_MtuRv7_6m5{FU;L09c1D`uKp7hpWe>IFa!EUi~XC zDU`(q4Q}AA8N65txN}-=u&!J8o5D2d9=#N-XbMt7+lS9LJwp^7Iao&k} z#-f^dAM!l&xN4?fG_BQaHCX_DYQMgAW1VlmY_US_xE#>UmV4^+y^$t%{j7uJ;mMRI zwikFSCHmk7h|$MA0->LL^(G|ZjEULERUHTgl2kP|b230Ya+(keqp##FTyW*rUp1Ac zw5uPSP;D$A{7$y^Qz2qCllIS({s^^n&=pboOTG91$7@!1V##tK&|mRnAYD@Y|Dv$qpjmaJUWW8Kw?ovt!=S{j^2!VOD#bum|F)a7a0%%gx zs^`kl)rQe79*lB;qbXr}MEtSu7acbS1D9&2Y8EYAft^Hjzu?&eC`wn_fd&7)Rwq-SeyJcVp-irl0 z?oJI71Fayz=idax3shoHCIdT#?!PQ~TV{K~ocZ08X$Rns2j8vrZj3OSE><*N=Dt0V z0OL^UQ0dj>eeIEY!`6ERQC@#~-%RrsSt>OWXV3?U0BfoiX+tN3!;2L*ACER0J3|Fw zzM+nKG8ZIUo~xM|N@vw!g6%x{$APyHF*PCM)InuePi|9Wnn~_!f!sjHbFkNc3xO2z z6;=JS1PdIFA<`zxiaUF=XC&F+NZ02GK3s*L_e<_T*bsj`OP8&R` zAXva?}rD(qG(cM-1m_ESU8Y9?z7r==F9xUA*0(f18daV(}L+Gwb49Q1|6YkX6NxR904( zH71odFs5sU{(uk_jEN0P$AqkgkA#6F6(OE4P87V2%P`Vos=L@A;hPo5(;42!L-IGm zxsb9yAqQPa(uSN)#<`HXKPh=b_+Wzs?a!3tT#OPHaOCpi$4jFvM@;{xt}~5we&=Nf z17~M3y$J)(=UEi+xtTn{4fZXbCoK!LT!Wy>F1I-~ea0%E<0B+T93mQ2mdIBQmmaDU+bMVr137cFD3=lGdQ{a;eNwqzrD^ z0%J)wgE+~#s9CrF!Zr0k^>zJ1`rWJ=h>$1V0FaF}H4P$vNE5MmI+XunaUc{gaM}z# zzu%theCyUNmb)=OSGBtvBnzB9_-3azVLE2zhWp4N5jk42uM2EyJ z)jyu{rQ{Ku^(wRF;}iy+j-OkJlOGzFzH*#@RvgQvA)FcN9gDMXo8o&}Ry3qQZGFgfuHU4J0DtXxot zs7QW-mG*`4-8Q@3n#RzceW>r{4I3b|$OL05o~%W_(ll--J23u9D^+xSd=o+>ThIa5luhpLh$&+n&^XCu_gzgX)G{}eOpKIu3it|N^9xn& zP=Le~@y(LyV%+n7)SE%=qq_5Y9AvFixmnLVYw}_{{PJo<;+_Ysvu+eNtl=Q;jY|^S z0PeiQ`1ZE8+=JDC(lf|{e(HDKSqdX!oIOTv`WG7;HtR#W!a~ZVtgJ64CcfIh42|Q@ z0)*pC1yi(n${}B5=t4vLF?Vnhay7rG7_)Xylg8FP)$k5fTibqcRD22KE_waplAmj! zuj?YRzRh!0*icyVTbW*!=$#5s75izG97-WoYj$n5tnUo{AN@M9@4*1za|8^e9spxY z()qsfa@gbBdR>FpMZpaYB^Zsk4CEZKeR5X+#|uz6L@eHQ8ns?dKCb;^{W*HU4#?1< z4KmnT288GlS_<&m*|hboXf--Eg+YXTrW+v`zkEEK4yg~o3n$`RiHSz(*1#p`p+S6j z9dr-rc_J>_z44Zjk;@Ya_BNYUq7f7f4GC#NU?f+kj2jda4GIql;rVBI%+w@FuJSQZ z)x{NYv4b(~1nfe`#5Ax}5U+{}ck$p!fB)QyRaiplQRDd@~ikT?yw$#|fc6JR5lFK`{S;h_AC896pb>fY1PW@6y)`Dt4yL&;y| z(BO`SifWpnj`imlL6QOUO}r#EE{3g`x(+_MGCH|3ejzX>!`eDsnO2k%p9=j?o0lyR zR*z~f9tHXy{Q3r;WPaQw#c$BClEw0LqQvb_8u0gS!hsuiYmNQ5mX>r!u<$*smswH_ z4c*W+QH~X5r#Er*#CLu~zng;!Vg7@aZ$lIur%Op|N&B+L-QvW-)jD<<_ zYA4>>_NAnuiBH5-l9eTgzjzJCChXaSTgq&#wz!dOa0CZ#Ckt0Bfs8)~5c+=B%vw$1 z=?vqKRA+lf_BI~@P44ywTDk9)!heL4ac_00HHiWc8iN0hhiMwd)C=m=d{h)*|FW2g9U-7$ucLrI{ zBx($rCB|33@#^NQg!km5yIe&LO`s?f(yqRlO>l-x?2}RP27+cO{}oXsq~pffpLGsp z<{A!_VjXF9IwG)5#4{7ABt8Sp@ZrN73DhF)6!-54Z zD)4%VBcERT{eW0=m4>o!ro+@$hh&EE%%2(;K`Q@vh|%mRR`l{J3SQGhmx4Q_SH)uo zyN06i$J`eH(Rm;Kot==TV&rtLQb7h9JFj_a*atmqMlQ{5wd!pAw987U${L(bUbgXE z3{b+}{vjoz&sxYAvb{@^(wwR6K3sLDZAl?v$cOwclz$m@{;R8Ysu>K4flz!oQf&;G z<^6fZ2@(nKV?=~Q3B3{^n*S@t=XMdXDK|fAa0YLm)!LoR*P0ttg?kX`%yfv^`aW5? z?(&4Kw2`|s>?LGss&7lt0M+q?T=3%`4u@n#7u9DWDGE%SwCbI~T|2GLpMpxB9#(VT z1J?amiFCQkhlj}B1K$e{b-96RAZ1|363Uc`1Rp${_kMFv1jKEdA4aHaKFnOQn^zO2 ztNfLn#QsmZR%Nc9BTY2qk-KDm3So|$Cm^&GfoLtyG zj}l5@w!f3uP8Byj-A=<&X)C%3ms#ssP3Hqk_ZObSK2f9>=Fhj=`*uZH*^M28RjWC^ zBfxBj{J~~|dvBi-wuZZ2f{wzw$)PkMXs+yC#bx16d&e0AfqHso>Glw6)*UNBJc!nP&Kyu(%M2`P?)Ox9@H`xS?uxGS3F4$iTIr6<(LyDm0w5! z6W(J6KevW5F88N=m8SEa#e|f(L9S#JILaz?m#$-(66V@fU z;@;ji%{P~b9~pF;BN7vT5wO~}O&g`>ra4kt+6tY3IjDsE?{>yc_(9Y{YZF;Z!bXH* zv(8Ot>uOf2!l5&2Ht6X3ArxOt0o!(;{amBmOL|txa>AVkP zvO_S-O|`s>#RST31uluYd&#n_8UQ>L$b@j(z;@{lu#8QN5p9pXQk$F#sRqlrx8U`u zk4bY+5NlZdQDe2$1wIz`=PwQhXjj-3Cg9s3ml0i%on#zw_OL@Zg-V#1q7?71|R6-i*8nDJiXAB3NHjCp({vd>YXCIya#`Z`3Wc$X_ zpUK7Q)C2Wy$SBm&?jU@9)a2PqUxcp6T}jv_kx8G5v8TbSyARs@@?S;K&{QZ~*@#Dy%I->WvBxpf(7^*E9?Q59V}iL-be zUCHHAcNa*|d9Rt!aNd1DN>#0~AdeGV9%pjk{`?okLX1$UmBKzi{xX&Nwh7&|hp*Lu zWHBC+=@`~0-lztYfkiS3g6A)`^L^th!ygo$%~Z7cDMxA#rYnGIZNYxAMe~UG&$qIL zz4*+=)|-UEqdc{=Tl2=4z_hiTn5i?+5SrTiy+x1+7U_5zF?^S=d2hoAc(yy=`U9%D z&jCg=#qNK<{b(!<2x`TUdRx;ZVAa5pgAhQPz~rkOtP(7P0)YkECmeIBrbuT>hN>Q| z&PgzoG-s8gIIyzXjmDV-Q~wA}kw!EfdYrRr&Brpisf5Tnj&DIr^h1mc?i4xF6~B1j z-?%g>eSrl4{yJ=NZT?xiEyhtKNxNOgWvAI9((q8QJ$fWL<9j?6=#B1kqYoe5y+gP~x@&W=l z^6~&eK`V{vd?(4F0mN%(O^lG%dgw=R@2Z3+8ntrI!nZb{^c0dkqy{ccoeP z6O1ylrUN##nvcpAH2I$wjXu1Bd)L-?E~+l(Koj(2)?TJkon6n(btpcq5vGQ_Nhs@O zA>!n7$=h8sN@8)uPIF&@lXoe~lWqpX`=k7YH%P>216)Ouq}`?aSIg$Y!8=gQ&i;E&F@!##0>RbkwG#$4K8R4fi0>JJo^*{gA;&Pmj$#9A$dRor-FPS9u z_v|Z+gVeM0m&FLe?HG=^4FXtEHj>&s`qSxZ>@$P(4U6OLT^|jlQ~#XUFajb(1sJrO zKT=u9qdYonE_b)=FnDV}n#-RV6!Z*vDy)pYQPMB0tgh9x?w+3jN3Y3XDyMk+;qEIs zt?}wICr@nMnJE?y8UrI^7MT7QHAcpN~x8V-N#*7ukr@_8FcK1a%9Txo(7EvXV$bu`PqGHf}#8~yo zQab7wP}h3)fy@f_Gx zw&a_ZJ-XR~tB)U;8Q^P#_PauD02|Ze5Si-W4i2WOmb$#N^Y^VU5T-~}R7Eu?ihpZ1 z_W?yxMkZo*;70&a!WDW7 zo8!iJ*w`?L9{wTKHM9ihb|)8(bw|QAHw>nM<{oRHY7c*I{yX^HDm_k%eXD=9Pj`Br z6J+x>95u!Z#SE*J0VjNw-N!3GL(R1*X{aZg^=%aa)fnFSHPWl6P-AE!4h!}F0>6d= zZv*M9GQx-I*F+UEdyXW{UlXNy1+u)D(|; z(Q5L*af~gT5BtUqRsQkghjI0(hLK;M9@no>+KqU_L; zihQeuH3a3LPxHmI!}DECv-ll5o9t&v8&yK?oP`QKxxz!l`2#PUKVJamcGe}CMH=;|0X*;{6n~2k0IFN zzSk6cvf{@wH~S7t5>i4>u2`L(zfJSI@!U(2yQl}{vAp@ZlfMz)ebT-9$kPyBoAgGl z!NAft{(SZs{n*6cc`E>C1mM1&Ywt?y7g}0zbUU?-PL}a}G+0fbLkv#`k1xiO&z@|w zzatM!@(4zNtJ;4UceX@_G&T7Nk*IQyW)twgvHfpqxke`A>27^{L9Q_4$kjslwB=01 zfaD6nQ7NMfoJ0-a{6UcQ;8O6oDexww6=gmcT@4`nK3;@p`AkvieLLKRxaNN%1UA)v z+kAT++fyL0US{ALCZpnv2`71ig^z%Tprk2rI&yRbGA1%}ltf*opT5c#->4iyo zQ7&zNx58TX!DU>ZDx3|H4CZD4E}aA&$E(x|J)vXc4*lAXrVlj?>p7695I+01tK+KO zLWZ{?3cGWN;u+9tlO56A>M>l=AAF4_@sLc*p8UjhZY(c}XXuA30S zLe+M7DB`_ww{J%dXZC)sUl=z{$9QLMKt%K-vQ~{9UhMW{g>IY+*wCflh^g7csoC5f zTu)EW0Ks9sjP#vxDf5F?t2dQIXej7tGBEUNKLy;NT_^AVZbiUm*7>o`bA93ojAHT5 zUM2twJ<=hfa1JsN@e!Bw1kL&rqj2yJ2|$4x#a=R=h^^!dzBBJRZcGc=kF3EPtdt1; zz3|WRu@vfdnw|5lS9k$IowmMW@--~JSkPfcT>eWYfjex*{`1}*F-yMblunl$(4Rcf zVRjlsvIK;R&|~hFI+hyaZHoZ~-*8Xi`{?mOcO#>>4n4Oui0PSsYw$N#EJInHFEJ^O zoeF@3{!qvcR|DF212X}V9x2)B_3Ul*`RftH#5lG%Yq6c%RYw@_8L#LE`Qvh7>`!66 z4*{NgqN z6`uQB^0}YeJX-wVPV)vU8H=b?q?QfxprWF-%jv5&LF3K?CF{sHv7yfr;vfH?;! zE$i3UmvasJ_JW@JT1oA^4OMg`ZG$Bw0Zj|HV;P*Vw3&JjX-`+*+WQ8Hp6j_WKM|e3 zijCFC^-9Kk@|I7~nZP}mqrZi{KneJ+dz%AUM6H#r-?g0eu?4jD^5`P7-T)er-@aJr zFx_q-$C;TUrg5|C6I{5-S84C7HCGute||#LYNm6%ShtVPyzHm> z86LcNyEg)bX9+9vw@f-R*>jr_{Wn52shvh9ZF#pr1|X}oa@9CpeN4x-(NW`GTD{I3 z{|P~<86iJFOHs8HxY^>tW-^R22Z!JMGn19OoIpQBZn_lA{~<0m!{VV(bC1>a?)^DqhJkO2S>_N=Y{(cLystBm6NSSFXVJb3kl zHwv=fPOC9Bl`)Qvpu&i#kXy@JQV_!56HJulIrX|fAS)MF(P;9Ziht%zb+cSw2A>S| z=@FOPaYdbsx6tON6=vMvwg(b#yrw}QtEou<1HC8@l8|Bl@e!&PcKH~c$!ny&8J9G5 zoxkXk1Y3KoZBH2r(pIx4&c$goR!G4kfg7bN`pb%&KThTG!iRO@H({W}&hc^-GJL5f zUewlA7M4jsC>XJmuxVOy#c_G-RdRl#P+|?(+>&KxIHp67sOGgq1Qtb-IJ7>I70YKU z(qdNDZnqlGL<0lV9(H*W;DV_YREUlcKQ*c=+qVIr_EzNqdeH) z>fvB|@tjGbrl-o96dCyxB$6(G2ZQuImS{5+XCuSbXo)SI7sH`LJ2bR(=WdW%31#8( zj@>~OvD~vFX9T;4QZiha*?j~hbJ>n;K0#)?=BIH|MoKb+s9OF;K=BA^kPu^~JXVEA{&> zwC&vun#I0U2#AtoKilJD%#o$h5_T$d!!Df7M+Ir`Xipyen5KIV=@>& zq;VJQvs5fC=#Mf!UR=~e05$?uk;rGk0j>grb}>(dto88qGa6-eaU1Uzu(M6k`tz$s z&bMo_SGS`x+{>f&$$#mlaN%MMhAqjOhQ2u=eNd0cJh0yzPWYULt^Mw=dr=OiZ@%$) z{OjXpw>-aqJ)3GhJ1i_D^tK(3j(*g0Tf*`^KLz`8?TUHd@n-i6KX+wf4A%G_PCPsB zQw{^5bgwVThi$j_jdpEHi*sXX!|$UYoYl?_TbF zue*J)62(dtX>lnDKP4q*?Ra4RfjjF&$>tZ!@(1#0+9vR%-LmWjlUQpZrN$t_Hg_+75FI*l<#G%Jlax z@t^Vh89sXJ%=PiKAkZ~VE7JTR@LQn2i~9ce$O+w(((xm0r!{<=d9 z{Ibc^KiTo8*Au{yvHFMoMj-@b@v_JGr;5&u!`;2%JBu~?XcoL!Sl1YLFXzISyVJv1 zMW;gzRdGKBWUO|dvsWYIINn_lyOp)|=7kK3Gq`FCXFB{7N%vT1bBsuE_&2b>^T^5b z#rXO~I5=S2o`0`tyZLZ$y}Cs2DVt<+db%g~>=81+qv7V?Od8lffIA$CXphMAiqX?) z|D@4r;mjX#(H~Lx>83*9W=MFu(sQh_bELLEs%gJ+y&&0S@x1qbx5CrusVZQN$r%nd ztR(|qzV}z*Z_?E~xTnbZ^C-iv=_03x-G<2A$U&0ElxJnQjt2$Zi_Y!X#U59m0*Iov zW@j z`(L%@yKX7%dJFxsIfSKdQZX2mjc9lpmvOuj<+Ta`vMl+uPgd1a6UHj*tBvd%j_)+5 ztr_)~a?YMvtvY=c7LHqgK8E!@8HL~3_gwM+bW^5zbrHjjZf&)3-}xNs5KfYF8V|Mk zYu8apU?S#DAXb%nnf0Iga91=J`%_A%^Wuh(eN!ZVfm12=a)@rI(fzp6F~iS)EfJ!< zITxGJRPs%?*dR6tic|jQi1pR36r8M@g$3+S4D6Q6K|R3sI1U61n&p#NYWc;0Bix>~ zItNp#IvfV`QPx39^HRhUDLFYrg83@*t73(not^1AO=j=w6$OE-tlr-UmOD+i&aV%MBY-TbA)FNXbS1j~Cz*9$R$Q%8Evn=2z_q zW7^^2J9#QQIl`V-%fmLW9Vn!MIHHtO<&axa^uW8d;9}~ggZ!Nr031t%`ej8Kci~ws z;z5MkSN*VwDS73O0u%dA_y`_X=ef}hNzq9tdSJi!xc4hZ=08J(-_Vicve1npviuUr z&3`r;Mzhfu`w_SAu+z@Gz+%~touQjg7yGXbbJx;!^apX4ms>zAzJ`b*%fk~JVNE)p zqu_+RfxNi_q)zZIh^n5$XsP1Qu^!Rb<8E1XR%!f|BL4VGC(l_|2c5_Pp?u;nw8#Oe zIAhcuO+XK0XJ>fJBT)r0_b)>drp}#@<3cZHEoo=qz7YvJ2^QR6`964tx!xbs^h>zu@m#x1qt5J5|=WUqe zn-~udqqhqb6E5)Wu zSz1N~Pq&`RgRd$BZT%xlwbmGdPd9R&JlUy6EJIx);Ve#*WcGX=)xXnw@^7ubepOYK z{hQGGDxoer)o2)Sun^F=a77^8=n0%}(Vv=xmSvr=7+wb85uZqCU}w219zEsyaWzxL zns>vJbg>S0={kzMy`B&zy9^}pRVp`hu#P_0*CU^-^`LcOJx@y=JSxD_)ZLuLqNLUL=A(w50sI>E#Nb^E_bteyo z^{5mxul330GFU2@XVc(PZerv4=qq3ho&=E|Ba<`1iNbc(axlN_GoJb!Bxr<&)>anz zo*cvbK9$NH&R1a0EC%?WghK1{9D$N}ypOHcyw5181z#CbzUn5v{y4L<+DM?u?d3qK z?0i&haf=r!=EFBXeYvYUNRYzyz33s{Fx1sZ?#Uwc;%(?=AC`5lSiGs%bpK_#8r3F-C0FWETR|5Y+EZz#ye8HPGl>8` z*Isg_9c)?3S=1VbPGSFB<41_JzVI6c4vI*n=OW4p3PbFq^X!}PSq(!vTYsf0(BeKc z(Fo@0JpUMtmvnj%(qNK74QwwoUMh7@zWGgxI;!X?4SWik`3gM|V-X>&UHuuNNT*-l zb`oY^ZYj|C34qq$`-y;!oh0x@vB$^AOPX#Tju7%uUA5jxgV1CTcvbMEsJ<8?bn^%A z=NHl88Xd|F9~3^TvVdD1ptTG>3L zJqM8JN&+Ovv@MQI*D|ungmM~lJT1zN)ov6)b1?MKQy5Trs|j;#B129qk)f?;e(^;7 z1ggaB-;4tMACk_TpIN2Q;0T)xkERn%D)0B8qj5dpPy`=2)QbIc+~j!(H)|{npfSJc9)ghSMg4L^LDtPcx-e;boCX{R+EQE#^{!vG@}fy21s^U zy4Sn#^)1V^tgX>Qq&K=-_xjA?Les5aE&&qg3P$Fm(OQnEMsAkY(wqwZo`Z5yp3A^X z`E=9bG3Retk0wDu z5rELt``|^?$i5*m79Z%R-S{W*rc8s~DgC+&CuCfD?Dk|H9t39W=rfha`~4Hi$A01*e(`zW%fzlbVp3^BF9wQ5FZxauXUKA=Bt0jUqjy!3l_%SDm99>+AtB;{4Tf7 zFD;H}vr9^3T1s|YO8%6fl8MT9Yka6$q#$kThvpA0*n7$vS#n-7LRdv! z*GxyE6AsYHSo^BUxvLiIe+HC8ijK-2Y_zfJH0_Li{F1hds!LR4U1CX(QP?~~l~AF$ z94dG20-ouCiT1L~I7l$}k9~FbhjASW)-v9(eX?{2Ejz9=D3zwlZ~o7lIh|9}=)y*b z^`P@KSmM0=w&?9xUN%#lfm%6Po*TnASx;ObF?KsupQ-c)U>cJKJ#( z92QC03rqI404G!hXE7Le{wt@iBcEEQ7zzxqc)ld3wjI;Pb~9Pc?rji}dF8GimaOhz zsXe;;<*C}`5Iu-@$;}!zNl65CIu5H|tHTLxNhAqaFj2@)xcS9c+aqGLG9*--*bh^q zG9=9~Y|Agpm4EE@>t`hvk}*aV4aX%JYY|j-sr0B#n_;Jp$4DCi#p(( z%n&Hy@MK?Nv!5TT-puAQZe*T-#sy9PtE1v4$xM|WQ*4NAl1Nx*NuW8A^98E^jcv5$# z!-hio1IsXop_}(25L#CDJU?xR(Fl_7=0OD%i;hx*AXuWPuk>;*mD6AJvl&U{GoaWl zd*aCe>Cb75bF$s1r2ylWCLEcdZ#+ygl~He~T7}~8$XOzQl0_C_%dL`kqp;CFaXMet zND)t_){18QWP>g(?c(TWS$R#VAgQW9>18oTAoMD!;m~{R*z`SWUgTO8wD) zOGH-c8KR6(3rX#@r0w?C8T%2Ey4V_I&8r_sgGy*ct`Zft$3oC>YUcixsEli&rnoj| zIeSb?arYvpUT~Rc*i{K*DE>oX$W=t>%_t^^hSb@Cu=KJaGD$X)p$dNad%~W5zy%ctre-#2!-rl)qv-f_? zlgYTJDdGA6eRp0h{Nf2EwYr0jD_q^V{@mfH;NAubT+qEwnr*UY+9;VgS_TP7tPQ`; zN7+5nLLxAL(KE(9A^KHPaM`d$m{LSSLDua1HCE$`2z_4eI(ttVdkvnEod)e|JknYR z=(_CL@xf8Qs7zEACO;w|K`&`j1MltlyNpNb;a7Y!JOp#XrYW=8Y4Ln){>&b`Dn}DJ zdyKD~$aa+uziNvE{}GYpr-shsw?cTmF}${lIV${PZ6Jm73I72kg+RN~l^$VYuMFxp zqk+xB?byvdk^pXsQ0O!xmaax7p*YSX?(-h{H!Ac9?pW{blfQ)SeOBXHPWhl)RH(c$ z(5-tOOEogK-G@9WYck=MYb0`&P%Qo*6ydiQ^|<6rUJN$fRcAl@+LhkYekVW=U+dsE zufg4#+p$|LD2Z50sN?x^c=G1HZhZ2;u5i7dQK~9tfm<6qG#XKGGNdgEO zZG;@X-YP=twp}NmBdmubjQrRRp|0Rh=wlf6KLW91D+COi2qWutPSC9Z3F;PlqL~0A z+)3#B*EbI7H754I#%r*zl3CU?n2*tQcvT6vqD#(9>P4w+O>{rvzF4}h+JZrvSO79&sphy-O3_ViYN(_V=pb_rj!Ras6c@H9sg**^y*glBS z#p3ctZ}l)S=rv^6fBkw*#Pegi*5UAz0&0l<53l{zFia&Wu6Q|L{tRdfVci><% zxS|la94<~e&}%rRe(!>CYA3P9>ra%h>)m>K$?@yyk@8ideiXq=F_2HuZvK#4DPP$H0Jz+xO1q@#Zik z?DuW#>F(K2&C%BF*w4lvbR+@e5Bpg;#RpI#2UfpBI6XYc*1*SJ%w^vu zEHtrMl5NvBTH$6-t+pCEg^-7#IJQ5X3Ud288dI=#Hr zQL?u4?@Gx+I+r+0=yx>A{OqrKJRcMXtPu7Qj_Qj1)ndiUgFFzuHKkHOz6QviB%@j` zmAO%uSnw9tZV_U8uon`g3rq8hfx-J1O$dDPo~g^v3YF8W^_>!Rxw<@9Zs(^eD%#oG zmy;+aHG^QxLv`omRCinw)wgF1g?`BTHj3MldR#zOMS4u}*_j25uza`fXRND_p?j3+ zhxqoV3`U@)Yx<(9KDJDqM;RLCDMc$>RRnbz9t{VIEcge|h`k@$8JdYfERjaA8 zv9=)en>YX4RRQzE!!E|5ijiuLsp{M@;itdr+XzS}$vLf?)+MERDR*e~W|E-B5Yh9; zBaalo`Z8G%zIu7^cw{{J%T0>L4GOr-(M0aF;YbG~|85ADnye`ZG^z$zkb;($(i5>5 z;jFuB^Tl;~fM*9#W#zi?y#s`j5?%|RIK$ETNFs!ETPYmmn;bnI;-cJ$ecwLmEOpop zSMMWV5|P3A#6|l;lLZ5dG%(Km()H@&ld{K9I$b&SFZnGH^CEzG=Ha>Wrl-&S&cJkK z-EOH|`Td><%V82%5mb*j%~;ej^H@g;Q05uhnO37U!!HI8u49m=O{>LA%AN355Bq?r z^;m%LL*%!bp7D)KphM)$R@kt{fgbnPtTvxCe0YyKSz~-hmBw%1dS8&P^=HMM#>oj^ zu{>ovUS0)*9-NY(xewj!d=Fho*VROCC{9p0G@_3fP@firqZrTTg)4W~1-3k9bA*eA z^d_w4GQf$pnr2XUfBD`MvJkoWsqYXWQaY0z>fM--E1wY* z(ZZ+u1+bt4=0`HIjlImx4BKBmckj0WJ6RPI%PsHsFS!;mG$;{Nwx3+F>&LeeHEQA% zR!SysaAC$qR3LgRDB}q09E}5#F~IcD`qlR@VuElv8v4q=taY zhcvs=a#=BPAoOy07!p_7yY6Vjs%gdksrBTsf`sIb8hx!QLc;IOD8@!kJtVZ@or7BL z+{q>Xn5&t!{T5$@88&Zaz66a?(S~NfL>?SE;8In{I2oqSbW8?dH_uMQcJJ=E03=A* zo~N_kM5^-uCn8a!XclKcp=BWte=$s^= zb|aB57~?ol8}es4K=A_nZb9dnil)w6-$h|OkyS~i%ge1TWEARraNYuCm{;#IuX!PK zsK3alYxH0!E!xKc`*~|jH^=$yg+l>oBt`Sz&+85n?Pt{B*MDs{KWRX%x9c@OBP=31 zV=ftirx`0XGLSs2=Yb_rEUGY?xpFg_U zx$Ju5ElwZ-P}m@itcar|+lj%pm=K2>J}UPfudg^XL&=hPY@XWECWAJNvzxVuB};0{58 zyA#|U!ouC%gN5MkZo%CbZXvikoXP&X&rNqsCyR z_S&POQEnhz-7G26IXzrER-bba6PhW2M=sxm7llDX34L(d&ni^Mht|8~J#2QgiunC< z2pmR0XJ2-u)9pnP&@f012?H#f^zm?<0YeFLyfwJob`dICl;1dD=0_1Ll7!+EDGgpV zNdW0`0L1e9SDS+t8CJ^#%s=FY<^$AWd?|s&nA9=196-zVSWNc#vCa3MnT+_o7O;RH z+JO07=2SDy5}S7CXt7=AoVImQU@*|C9m8)3h@)P~FV({ndq8m81pytzMk4<`?R9=q zM8hguRGRW4F{7c5;-08610|w&Td;rI3)qSHw5I0A$`g^Bnp!zWa^nE>S-z>K8rm&R zsV-U&QeF#h|8uZhVk3|M5icp#hM;An-K-W1y}T$fKx<&M_qMeqVogZOQ&GS&sx) z>;Ltrc~~Q?Yb9>30jj*K>H%cGO}@3fB0$?;|BDV^yH4M&Dd5o;fE$W#>wgeH>I(~J z4WVTPRX2q-lfvP5Zx=CGq68;2=6Zmqt-{RTjPN2ThN39bhzd(fmsdOM^5Ywhc#O4h zLh2rqJ)t`G*yY-c!Gm_G)9eQ_vzm|td@H?C20VM zeWwb?a=dvt-PUR#8&zh$WHPug`&oZMknb(ZWnD0fQC# zUn_+IA{dNZhdMlV45L>+>S2YL8jr}8JBfrJ0Nd>2dpaDZ+VtUfp{<@=3H{Zn?|AY^bq+T{m z^*F3$e)Hi=NgdzgQCol^8Bd!$qv`l@+dzAnJ$<`+dJ&%i2IpbM>ijyDHxrn(@*XXx zJDWb3%HPGpGHxLN`5GP*6~pD#P57Hn)I$ebxEV6I+UT_?lv)~w`}I*lG1uCkq71LLiP#`sgN@j4jNe5 z81k|t*Gpgki`Ne=@&}^PZZ)UAA}EXa2+ zU*^qp*NEaaviTg)nc=Wl7x25e%00PgdGk7Ugt%dDx zp|a|03~b(I?KI!4toQ#J5z?Oc5VVn+eqv%W;#RlIcRF(W{?82!p`nnUl1w43SO##B z_VnZq=L@2Kf|w6cWYG91Wm}RF?d%oaIve%+X7bj^syJp`88DuS5l5^_tgPN;t{!ooUEwFXpDQZ@9weXIJR^PP>fPJ@OwaE2X8zm6PemuNPaQ{;~8LrFF^ zG35xx6ZlwIef`~#o{`PK{Vz@^%kdbG(@;zK_mP`NO);Ov4M-x2_l0qYa>c+G{mNVV zb5S2ZvnGywy0Hdb`~P8hP*6mfm>9JiGj0eOMCc-9WqR-OdJ@&KXP-lQEC?JCkV7{-)NWZx9ouafo8!mYY-D7p+S)%86UD%O znJ?3rZBjBoKvYFUYiMXF*X_s%czIG)QQ5Y&x3noN8o1OoUs-UA~&_I+tmq90a6_b6u)R+ybWoP*~-hz2A`!8Ejwh=h4a!slK zm)MMkX#q1Rs&6Lan>7z`?g@})3(q!tTo_n}SjSyLsZAlwu(2WL78h!*PPBm`EE2gn zYrHl~q)xSU?#@8cA#5X=R}IE$H3K=?jg@BbcUIY@}?^dsG9b%2=GE~t0A{-FsiHfAg0 zY24FpWilbZ$Pc$85fNN}Z}|$Ey!sh>&4vSLo+d z1y6?7{@Q3v?ya?3?^mM3zOs-;`6*_m5&Zv%`4q zg8)PtS5;G2{^a(gT(2czICsntj2=2&QU7@@A6|6OM1vV`STFuI?{RMCUI5p)6Om2T zVlSPahN!^UlM@sRWh;pmbSnZ}VrWoCUFX0wNH&|lXvA*^eJ;b32UVy-{j+a=G0u}h zk?5hs5oTJ?*BV{MhHsG12M_+3a8Mp+fy2)?J)wBc_glIi>*A*^M~cMvLw!E?(`q@M z&up#kEU=pap|8MDO5cfC|ND;<0xz76wyT4=rya5UZ)dStPBY<2u16{R?kvZs0+3{T zZX2L>6`M8vlUvr6fq7%m-aP%amV2^^X_^1c0z_Rzk#MC|77e6@Sa%%g!boYJ6T@f& z{nq3>JdpvuUJ1FG(eN?dMi+@jM=QubeJ5s$r|lbxBI}C0p2c-ja$Ky$N=d5z zeyAdp$(G6%id^<<{ZyC{XNFsParPYz6OCbxXB zfy(cQE6pY~r3F}9hh}FlwBx1excYI%Vp0|s+#e)9clXj|S&(GOywI zP_zM+r?Xh8>-u0emc|=7Z@m!FJf$_gzo*x+M7f@{TUD4p}4YG+TyWv0u+ zU^#okI`SnXyr?(XHW0)?2-1%vHl8dkcTa>+kBrWsP5GHS&o30(nytygOVeAI81IH{ zH8H28b%AVZYvbOn4X z)2MTtrPlY}QSdG?&3Dnqc(qy!cK5#6kdbg&MF^M`9UjG(`^#?~N67gw+0nICUl95^ zQ3$aD`FG=)>BVJokan+SE=`Uk?>wSDRLvu71$?k*`HJR1rmDr&^0S#H{islJgL<=2 zpiotwUdu%b{|=4NIuS=X)6DctSNG zVG37sGzt2Jbc4kRS2%!e3}CaZ+H^f5R{It@8>c#E8{xZ0mU+mxsf0vs=AN z&}5&H*vA8d!(y^nE|nSS??$Yj?^CVma_!4qNKk#@Dgxn~a(6 zaP9CF2SKyCHp1X-k4-2|DD^AnKREaibV#4bH-w~}{JgcC#u0RqEL_?23B7aUh^wtg zM5#n!MpB)*xm?ihdJf*1L3}=PUzs^|DwrMd}mw? z1PMIHemr!XAm8Gr~4xq9!Lo9DubQ*06T6mM{JESCd zdwwMSb*IL_l~ip=p<`j#IpBFo%YC_*OsUcwPAXOP+`XW=f2gwG5}tf(o40994zPjQKk>2f<1X!_51mS<%XvvUs= zT-*7Nf^a%E+e63x)FMD_X1i}@Id8Te8P5H3k)nhXB`0KP`r6Qtu~i_2>7tE-(A&xG z@Hc-fmn#ukPTlD`4gC;B3XPq($R|ORFgu0Gwn^N{7WbK4)F-p>e){L$AKX(oO=*S4 zSr@4MtGIMzZ|E)39UvB^wzal`znVXOcn{jxohN)m^HZ8_i>=rJ#tGE(CF3W?OwVzP zGw&H;YPHdhWYSLQd568hP>V(O@QUkEH6z2GXJjg)*-5LbuIF--fDxqOMEk_u6M6sa z@4JA^ygfiw>%JP2mf<)IdH8^cyBSxo75isWPfQ5y;`5{aKke#O+R|pZCfS)n@fLDP zQIDE+ss138yL1@auPYr=y70d8QNpizeFQYH;_vTK<(u8q5nUs=3J? zPNPkkqWfpi6x&zD1s}pE32g#Kxz%;Vl}dZp(1w&V^egkJiPt4wQSurBRQ^LLAqo*o z)c@IE7O|&Eg=yDJy5I-xc1GRytQ4q%f4v~)>%(l_4l)-z$=FXaCMFbjg6HmlT>vuF zW0_q)P=%i3*b1bK@NRQ|RTdT1*VmtK&Bc~hl$o681tg`UoUg+s0;yk2LLS@gi;|rE zLyHsH(3AOj@q%fWPA((=tuwvM@5cM9E|)bX!`xP`6H{&Ngr~dP4^72iziou6<9H_x z)khBJ3%8B2VA2k?kTr@Zueb5=LI=}gtvKltB_%o+oBg5&E|?mp6BzAYbT3rAIDp4f zlvb93r_z(ts68k$Z0U1i$iryZDL{>lLwxO$a|pq(Av_ROD_X?a|U)3 z>>wmkemv9ub26FL5?{8&-%P7BXw$Fx-$%LknKhG=;`Oyv#-@5I?iO+RXhMw66AAtM zOLF}uhAnai;)k-ku^08FCL@T!jz>)EjwLxh7`|S2+e5-#>32eD@}y{+#Uw9b4Mz)( zw-2~Zz=!>zFV+L-xxp8(MC)q5X#&h9NA#Kek^x?ub;F+ba-FwEr`w1JR*LO$*4G|G zTw3ujeNmpHHO6iT`nDq0IPh)aR$w>jb!tuo#3cK++V;7+t)bYvXPjs1`JCK3ouW;6 zWNnNJpvX+6ZLMClD(xu&-IG_JjdhFK@pxMR+`{t>H-{(^XzT=gUQC6|P6{%{*q|=$ z9vs5$*qSLthN854(*DGyeYJN-O#rA%eEc&qvi*mR;=yGls`(^k!RPrQRoAD7*D9ji zSF6qMvoP1+*ERd_{0fUz>e<#{xZg$CG-1h>9sx_F^Ke&%iP?;?9$xWCNVbf zUjFv);^HJ^=1vZd>(DYW%LB(MuH|zD+c(jtalNew=t}7NjbHfHm?oTTRm=yHI3uIv zDZRlSN$PIUHEw0N?0rM>XncGsEkG6tfLT5{&!Gc=LhNc~!+vy=a9(jEvqF3Wi+#Ib z`bz8WSn<__Akl16RY72KZ|{e}PeK{0ihS`#Vj=zTh<@~~?n9gkXAMSpQN+A6m^fhD zkFeJ?4082X6A>G!-K)h|viK895(?5+!y~p)pTMzQFSjsbNw^VQjOpQRtoeW#o+RNc+n764?|&K1awZl?{vc6m`*h%GI|4xPLl@5L&0Q1BQB21R+uuy z3|c%;oQM|R;A%4XoefoNj0t0VemP@ngDBDR2%7acz7x);T@B+9iIL>e#{Us)^tggt z^o1cfKqAG?k=RK7Y+Ce76IwmFsZ<|SIh+=se9FABaQ(|{y*BGl1t`}ru_xDq2||{g zB3L_`xa`oG%JQvFvM@~S`iLw2shnLh0He!Tc_acldJFlHwn+2jjL49Yqs1%KjDaNJ z58M6rP%)maubUCjDR<|DyiWqS=aDEXEpZ6Z9zfQ~o1!!u6i0@Ii|qsmxxL#Q$5rd2 zf1cNe2fTjI@s3)nMB&nu0K42Za{Di%`9zj(g73w2WTcP^;LL3MuEeF&u?;jZ;3d|31>=&gmqT_o2J~ia(1QEUTQUUhMXJ@RPD~m9sGxd zUeO(|SLBPE9k;f1MyA;A!Co={Cy_tW?ePWEZt*=gS`M>vjL;!8I7=t7Np34tMkPhG zSRpK0lJ&tJ$9!hk&K)>Fwki&Qi2smMXSsaxq=VU;wHPxx1r59xqBJ|)1OYK{Wfe(P zWo5{coX27DUDy~aOQ)W&#va@f;c-yWbb#Bs*GOCP*vXc z$^`t+>^t^F1HPopM$kGo9z?*xEcY;iie*^iBv=j6kTwNt>qyhg(8nS$I15ZOah9of z(;~7Uc44qvmLtGfj2|E|ZSlr_AzW<#9M>H2&(*Z1VgX@se5C>flESr-eF`@`7K!X` z2Mc6~<vqR&E= z2$=;<+5K16L0fB0ekWo)pVM(`82z7OX#HPTg!VJH# z(JAH|O1rQLJTBOSrnvMEyFya_r@)T;2Sz07l%_mQ3XH-_$++x;b`M;r*4mH8@D>8gjHUOwr zwD%kv+$`(ogD6!G`^zDlB{lpe`-ygm_UnH-K4&YVI$Z7J;>CWC&;SGQ*{U}_IeCCf zLs#Cf)3gV;TkO+9I97ofRc^P`S}8MXq1Y@eWjpg!tA8^vDQOI6+P*rjDZjARunKVO zsWCX--p(iAlvidQJWyyV%BDHd*vaxvLYn2tClW%kdblh|?%UetbyCSoXX4RAgapVk z4y!K>&V>`IqD9Nv166>P*gi?3iO4sU7D%mKFIdjmK+@m+H6E zUU-t9g7f-1N%OE>#!E!aVfp&A2>i53!O1n0x=a|-la8rq3SR1)#YzY6H*|hX20z*2 zuQefJ=oMD#klZ1L5@Jd7H%8vE3s4{1MjFnY*p*juX0+`7r8WLx zXS%FYP@5CgQGUX!_&UNJx6qxE0+%Ujl);D@jDKa=9X)yT(=B)TZc5z-!Ac3+1O%G% zh6hlLD8YZ0k}<@6!oX78eoUwn zfu?KZh`8*T4Nu9uO>`^$l+CDt2wX1*)D z$$G8);Zc+osWRGeBikmW2o_EEYqS#NgotFzwr}V-IG-V+eo^QD|#b!uB!n4A>n`Zg_(x>wA|-SKA@p6@s>%uHA~0;%>uwnWyMTw3tEd) zgoV#piv775ta7a~bRCC-KY8|BUT6auu2`AJg{hikx06CLI$Muqh>H&M6A9lUE*&>* zHJ;UEh!P@x7_rcfWzBX}(c|{C_arT$vbxQSR*bqqrY56aZa5@pc ziOA#`+^CxTRgA6NbPqI&eC`yV(F&!?frnP|(-(4IcNTv0^k%;k`W!B!^qQHv?vq+p z*&%eebj8w|=3cB=AXT+)6{ZGoV}Z4>bXS#HbzM$m)bxLY4r0y?5AXj$BY^{f2ryX^KCneur}YuP*wZ^JVJZ|t zP>y?es6R#fgV1^IuFTyOsRH^4Rg3E^U9lVZ8Hv3wKGNVw#P<3y^FC>ERyS4#KgI>C zz=RyZ2K0U%86~}1A%9rc{eA1MZT)kdQ<*vvCT{3_Jh$sU&)KjIrI*blP+=I)CYff;YQ!30HP42gYxd*knr z8iO~skBS``O~Tpm+KEJ*p64-yf7Nw^B-uQ_acQT2rotA2CL4$vywfATGLVj@@|ys* z@B0phiC)=R7x#lCTldcAn(ncUE$n!M7kW0g`2Y8AVrFJv1u)FLS`3EjBvKp4U?O95 z(yk>DD9888Udhfz%v(RqpSWLbm)Qey35mD3F2e^j!jIgcDEN$84#4}wUXh(xY+5{8 zJHuMN)?^s1V+|wv%S~Dvt4#2{FT;OATTV06g=y>{Q0le&frcn1qOp2)1cHXBoa(2Q zWef=9wEV6_43{y8A_Y5M%HbWD-N*{KW)-UY+xIv`KhZvDjFkx@hWR zxa6EBW6}xwk&+H<;4jWKj;tDyTCr2lw_m#U=0i_6qY6T2sSu;2@ro#Di3X|}k>vPe zX(c&DV`e`2TH2pJ&AX2InqXLvxIQ{L!Y}hy+LIYsYJ7kCobj+uDS!J-2sh_ZDIR% zIZ6x}PhF8zAHSp3<82W)) z8Eckj{_1{AVNOSpkY*2#JV$*qSMyOEEjiAp_*lN-^PYEvRhQl>8W$H=o!1)7`imj`o8O@;V1>dPXA(;5 z3)6Df90W^py+Ck?z&_?cux+FIwR9IgLtv|ANu=|Kr(56GogTk_fwt&tWpy6cip4J^ zn9+Zt;Kylp#Z!Y3t-vH9pOAF-`L#c zh*H?ulF+S>euMdoCbVWhOCUQIPq-n{w9Sy;(s}#`*t{Rr5AIp5G}yly{YB+D9VR)| zKxvy%h&#|Q8@{ICzkR}+IP(%{D<1(6Fh7vhdg4Q8hF~m^hp|~}?3llm0_fBBhY3@m zM^nC`Sm6ZBSiy|M7~zo1+R7(Nc3|sY9@gW_KRMx?`QOt4yQEE!2FTcYBBo4L)CUy| z#uQiQjp}b0pauEvoHQAY6Exo&|6O2On?5Eg?d+=uRbxZ@6hYFZoN+1YklSakS7I-A zis>*0x@*j{o4F$Q$vWdJ>q~e2grI8C+D)SlF(R=!q|KKOS}~9O9fG62$W`Z{^Kq4s zLR>lT1D+k$YjuKgMC?MP-Pd*A72CoxjP+C)Icm}WIpz4F3$5RT#TzW5PM44#;QvYKwU`SCkK8kl^90J@@%lfLL zxCY}}^E?}7JwMIn7UoMhl8&km>#V0=veu9bnnSy>&gHb8>KIfW@O(+)&v_hVKukfHL&)nq6LHCOB;cqcuD<&0n#k!HHEGsOnr<(B2eRIBpxt(SY<5x}j+8fFjkP(r`%%&d`h}z&}16 zU+8dZ=~h3v)Jl~d@c{sVe(%Pu^pKOH@lViYB;v&j_pFeM{M`%Wl;ue={y^+Z!-9U9 zMIY-*!&4xsi`#!ro#{)6050#wiPFemYid{)szpKW2ZzTd4dsSGGzrs&Ttb4a$7p=sCSsSs8=>Z!4N&R92&f zizoC$CvR)5R^rRuD?Kk~+==S$iRxM_7-^7%Je|QBW&nK^5#2z<{-6Cp1B4vD=`>y( z%T-;h@5TZGiq2)!!{KSgEu)vC%}<&*K#HTz)td_u=Pc7<>t|9g=Q#I38}Nh4&U1SE zt~W9hRFdKORNugOiV#_2+X-43_QjpuPzre8>?W(nh`{fXTYJ^s0yV3(go|r>Xh-@sV5dm}oF7zZ985uy` z&#z~{szGf$Q|o$CeR9`5O3dTRr1vx#;oN7@k%-)5{ByLl-33!`w*2iw${Bx;9;?Qw zoEghC|4Bf-hQcNh3IT8=H-$4aGbtogDMzZ#yc0IScUani5_4^hz7!wT=CtyZ?)_9g zW24)B6Sony%%oq9?^j^P$lUm#U(-6HC`Q?b$-eywXFDinZt0HQC$|)cEv59mB1>n@ z`|YZXw?i0y6+T<2uAB}AZNX8jpbKaDsmK~xAw~~=g#r4Pj=%g6@%46EFCAj{*@Q?p z{hxjKnGyl9bO1V--SjyLf63&k-@NQ~1o}+6s8AvSAiLku@Mun;y>Pf5U*K~0icz;V z>gzAF)S=8`87mp|P^3@YixWc0eNr*+9ou@BSMXB3y1oxQ9xo@T9#0*yOS%oggM-B{ zGpYQ5P1xQhR}^#~~7P2v=cu8*w6EXK|)J0!fO52oQP*n&?eos%~SpV4BeQsz)U7NDFi(ygaRv z_qlg|?C@TF(x}+zw|~86Wl?xZ_@!=`=62iJm?bH4dS-7N;PyQ!e|rGdy{!?q-8K?x zv5(ZThPbUE&TXa#>0<@gh=sq!5&X*H8TSBG&rx96m&~P#a4dw`M0S_ni&7ebTi*s9 z=6tM`x8QBzq6W_hbw%N&1>q(u#1wYh9t;-Kr$n}DmvTe>2b~kIyUSsekrJoR!r&D| zjolthUd}Gxzn-0JMxXAUpS`b7*G2St{)6ezp63>*2{GmtX;8BW3G(a>_z{PC-r_A( z|2GSu7k4YH(kO9>+F_c{7kxjpIGlr6*}NHZv6eeCq6PSE?=UP({Q{#-O$N=|3p-2K zt77H~JQ1%s)=sPts4819;MLdLgqpF_0yYro?_wy4|JmC`wsq$KK&xBawg-=8ccoE{ zYRpVcH7l`Y77xdXyx!H@x3` z^(N~2AMzSYD}4vSP*|fC#@nBI)QG)ytrjX*ztksVc@|-{@GeJvVvCaNawOgX+#+i$nM}1S zaMq`H?E^*O8>mM6s^a3t9PF|McIycrp#CGTpeG143r<^NRd8)N;Em2e1wxh_qk;lR zfqoApK~pp-65b3k7-XQAL8CPVr)ilazg&k7*T4bABFpIm!(#bfI`=Q)~s1dEF>NvS;XY=I1ofjHea8%5|y+!>@#j#J=9Z}sCAvA zZErsz4aTH*c~If{opJyBsoWMH6Jyp=LfvS2@+R20c$7UTInsR;3l%f%)N8o0x?iU0 za02TSd8}<+rJw@73vtTeY_S`oghR6n4q|EBusf_jTFzBmRsuwbv2@O3J*m(#Rq03D zs&ES!=9-HqCj2V46=MfZyic8D9o9q7uBiP8uvbl5Ec&~kH;9sMg^;~7RmwLS6A}F` zVLN?pg(47JDg9yo$8Mw#LgRMdby`?V)noTn!w$y^7^hx7o+BcL$Ih*N1k-~9HTC}d zXgcMqqDr7;rY!<0ijKlXf(fLB?_}fWALV*o@m)$@32&YJ!C&Q$nBqPJFe(b%TD~vP zgy5Chhk%aJ%}I8J*3{JLj`k=cF_?>nI>npY`Gt8^jjoTQwM%MR62Dr4^#vLJ3=dQD z;}wmO3c}4X zCPPFQvh^?K{^Zt5Tr}~+9Xd2k-;m`m z&D-y`WXR#tmyvnYgj*^L0?#222{bm6kf5>^jWC^jcVC!i+_01I(dUhM(?7gR{6l(i zO5Z%TTwU4E$4ZH&`-G>JN5bWXgxWnaVclysUXavg*e=e5Z?1MVPAzb~cV1)1P^d;O zZ@z(_<|3a@Vc)8f`4Rl|eRmXEU77aoO=1FW#^#{q1(5q~H*(!#lLO`l)j-#c%ZyL@B z0v5!N18NHbAiK@SvPN@B?rEG4SY*>1P~(7{?vxme(+M`N^S0v-Ei*mX{-1}VGTDGc zFa&U^S#*IZ(EGk3@tdM`Js#e*?Djf){xwj#x~ONd`u<&!j(yCaKFMI+4|k*UpGv3e z#l!AiV}-FOTF{(kN{5|Ih8yAX#m?5hvaO$yd4;Bn2Y!$9Zx(0m9}8(Gg82{q z@yYES225HAdM_GCfskirX>OA!HSH@|MK|}s1T=%`b7+D3!{vgd5?| z6+NK@qsioE=e7zYNG3+%;Bsbk$eXBQR&{Zu!@gb9CV!h}B3^7U;kC%|!bsI~K>;qz zr|RIRoa1svl%vJajSX+YS>f!y0wtlo;}!$TR*r9&ESKYtvXu0gU$V8EsS<+t zA<)#+)t%?23qJ1$?a(n>mjpqllcL=Jy!_C|jJO*Pr)XAGeRVYQ+L@e(`s+#Uj>bk9 z;oGhBh)sIS>WZ_TJ76np#U`pM=zk*;xxa9 z>nwdn+@|~C@Czjc#n=*%uqw0A(D%7vdc6X9DTZg)cnC~np80jBRIE0?q*x!Wv=rp9 zOY_n{&L>-3l#yghg*C4kxxe~8nxCx#mq)EQ-P7)? z=N+Z{^T$C*jPQY96i?2luI^X!wbB2c-KupJc2Of>6~-Nl+l7OzNPK(aDWn|0bTlg9 zPEO0dP4f!x!x=j~{S_^E(M{^vCicd-+lvp7DW*MO-u9>cqjLQk7*;Shb&&_$ULa{9 zB@4sY$3=s|JqwapGNxqRnhwZlKtw<8)EV^`QuyR@htiPElV9T5fW(D7(?svx##DRHb5wU`!-OE&G2`+ zg3#8-O7aF7S-gM^;=8r=@W=?lHHG}F>2v~BQfl&aW3va#TK4<-;)I1zE$LmV`3+Y7 zoTW=JjBl{+%L8_qbyG^ErKU7zyMIuBVmyw8J5J~7jIuP)DqQG?-ctsg`sl&f|IS!{ zNOY#>{WOi|R`OeehkR)5t?o;KT)M}$qp5}2Y2U($feRzc&PuNC;ID#^ivy{g-C5qN za2l6e;~G3wi-~=j#kYu6`_7bt7`%kyh3}lO)GtqG>vx11KMNxYQIBVn4fH*QjEt7K zOo^@_(XX}O)ahiST|PX*uYU~xEDBBb=yudUcJS7p$kH`LlH(O_Mo5p&ZWD=0nI@^ zS;&I}H2j8B1>??Np2yHO`1dsZ{0{N2kLT8zG_VBb@SCZ_Dq`+}+6?Yf)J9_X)S+%m zbIoiKJ$Bs}*|(pMY6`POwy);HRtMcP7I+`7Iq;|6SOJ}2JBSIOSppby%bEW*%p%9X z2U%3t9- z2$HPBU1~RDa2Gmft?IncA9*3`+x$fl;_yb)Dh3ISDc zJfmU|Awi9v%V3{nD@MO7^w--mhQISIM53Cf9LXuyIR4&+&@*bb18-458l%I$_H;N_ zOOdLuvP-#4Fn5RYCAE#xphf8Vnl-!gOY672$g0lm;UVI!*!OG7CN6UFet@I48@aX4 zibiR3(7Lj)I`|THLp=zso`GpARrrlA6qUI9#or^ym5`g7sLAGm-tOV#1?<(QlO$ymITvjhOjtKOHE3 z8Y)XHzU&s(H(p<~jt_xUX->xs;E(@(z0$tyd~bZJ`-uFh+mR+$d{JNU+-ny zxW8hqfBzk^7|sMALrj{=sX2Da&k6DjA;5t{;90|AJvrEn&LEnaf})|KP7!g#3@F@s zUQhZ{58Y}#4kv4zPY>l*Umw|jE;kSc1Sq8?B&cYJ`~}w9Tt9Bs$}v-8gvTY9Qd7Ac zg44MrBuJqE2+nCTJ3hY0ELC?5`XC$e3xKf#=kM;`WD{pY>h;^;JX zcfBDi2|@#tTXu$;{MymZU(WjU+)HnOUey8I{9l$O%ts2B=b*{go86<8#f3{zg81*X zu^Uxm%ZcaA+48|^MtpaQXgIvQFtd_)hN) z+Uy!Je9sYd^PC8yA|xWRGXJXTN2L1(5%5L(wm}u<=$rW$N~nYE&lwyvpT-H#CO1!| z3=G$6=cVywA9GmS5z|w4%RCLL&m*h;u6B{^Q0GWb=5)k|Y^96yZ#ZMpP^$dEj%2$k zpz}Fj&{11Z3*C9T=Lc-a%=8^=dv7 zf(v$gtPM97wWf;Cf-)qEQRLA#;I=x3^$KihmcGUj#y|$O-Xd+phpG+{` z1ZRaB9<+wvWN{Ss<$y1_6m-(JDV$ti2g$g#YVLlGOv5A6e2ZL(U&ArG{@RHqIVIXn zVlNekj*;csORGpE4B`<^8}yCs=q{%!6AAJ?kasLosr@@T!1(wbzT@d;|NczA&^mX$ zryRb`(Oh8Sm`*kQ8dxuNJJmY|Y{U(ejpF z@rzbPOX6K{{lNhLY9eyrH&3!I1kw*BK|z(BP*z&{DWGaWh&VVgg;RH-9aC($LrgM( z*wCo2FeOTOeeQ!KeXAss+m%u|<_oE#@sdmY?lZo>xqUh;=?qx3WY0Q%Kc5C+{#`r! z%4n1-oWYljy6zVnVY^zbKvN3G+23 zb0Fk1*#g~Zl-BEb@&ON%V0_)Y=fmFxWG81GA#;l$=ukmM#``83lBj=Y5051oE~Ljo zo=ye?mdf(yXN&2G1PbihKvdzDSiEme{Q86m1O{a?PeEwc|E8n8?cSgRVTm(B7KlE% zoUNq4M{RdP*BXFY9g{o*-mdoJID#F(IGw(njDMPG+e^N$G{*%G9qQG{xJ%h>Y&N*UEFw`%2s#m*AW1fk*Q$r+mIAIx;Qllj_R%! zgj73udw$k^y!$tpC!`l11Zh=zDJD9FmCBhJLVsXFgNRqDBLYXZnWo%_&*k*lUMYRJ zBUYfVw}|0~18FBqQ823yJ}wTUUUga#BJOO34i5?;>yJ`Zp~BYR2xzjZaqLCE$WKJ% zLm)SVcQoxdS^1GvF-i8~9o9r(}DoA;=~tdi;UHdVQHM~1=cwxot81Q4C4KGi<_ z=Ykv)*ID!>YxII!0EsGx*M~#9c)8yY&ShrKHnGf*Vf`{x8NOku$XUNXws+k9p0-pe z00ISb9#*DEo(<1jTmx^0z1Lc|qUZe-Yy7FMGa9w|S4=Ec`*SfJE-b-GI@^Pvwk zAm@1>Pvd!BsiRjQ_wGPCgo?kC`t+h>$e4gl6|&)bd%Gd>`-2CY^QpUN@Wl`du^9Dh za=hOj$g7lcByH8mi$uDwnd3N(rm2N9uax*Q40PRavR9iR^MLe;EeT5zHFNbbg_w#N zCL9^u@&TrFA+71=fX1|2kAP6_GdGvcNrEICzYKYB(+?`G78_oMRHi<{G)hgTHke8J zzt)D1|NfGJU0+Z?*L$a95K>A@sln@#Uo7LfEz?Ev%BeeVY~=3TlsboHOk6c_aQbLb z{M*LavqfwIW3t6z@gym6*D0~nkHw>mmSAovWmjBRI z5x|*+1ba8y*ahmDty0(ztE<{Sd{ZbYUaoz5>cleL$VlX^sc1|W24*RcZFIye3a3RU zO_8xAGKAiClSX0TOQZL)_i9SQsp4sp2T>u(qxX^r!Ml8Rp~dv~qKGe-eer#5|d1g6V(n+g!ut*u47yTgYy;Fa|-|1|s zT;{2cLC7??Yp<=qd$#OMCbiK~D6kuNFvD$`)?A2H8qT8+!;T)eeib3Cv#N|KT= zi~6qEW$IP?g|icz@1GY`;q8Z#+@HYB3BE2fxLVHQwQA@1&wu>?Xu7JXxVmN;2=4Cg z4#6crkl;GFySqCC7$CU2y9EjE?(XhR@DME6J^B81-)GIk-luzaS65fLe^bcbxfupT z>pyPoOFz<{5Un&jf7`!RmU5Bh%m{|hZUxW|3Y{kP>uX9ykeXg%LrpDNu7U0|CD50} zg{Ba1BsDP~g;v%8RioX+yS1_*z~k%qv!;Xe`3GxhmZxrpcG)aZ5!`rAA?v~q9}EAW z#5Fs~#r-+w{Y8eY%bZ-v*412K9)DjX~KW4L0DYVWsTBZ0N&)GlnC7mv;A0JNwF3Q~9 zdn=?C(kzE+Yr>zN%FdYr>^O!4-@&fbMM&NvEhyV~KYjc@TovGjj>I+onTm{(%95LT zokdj8#Ht&X97%vfw9({siGQl)mx9paF)`A~dNRDA?4zd|w#}LR=X$%-t!8RDFsJHl zNu0NP=pVrV@=lMK_xcj9Ex-Nls_KuX78bXI7P&A@@}FG}kAYWubSAg5HVCrkbek_kg*Im*6%l8q)r2-8Qq6r@cKY+=m|ErOTr1{> zcfXsbo;!@?|3w%hU{S3oj10)g>a`WMbG1ihsMf!B#r=Ut1cf!ufA6N6yRTQ!_G#v~ z5h=WxnJ?$c(93J8&hdG>VwLW-`vxGA)opti3Ibk``1tr%mYcnRvYB4X?K00ysm4Q* zAHbH{@PD{^@?IVD+h&VCTL0c{P{jaiq;(Gt*!~20I?0cjGkc>K;GaMT1Btg(iMieJ zz>BE=${6O#B;xk>0<+oGivIf$w8rL>hjB>=*_6}f8d*`ekq;u?+%f8|Il0s}ssT>m zAIRsG0&v_4(CE!Csggp-@jUcHGwR7>qwRxL z+!$<&eVLDg{buWYm^WGAd3G|}~VH!+l^2pvqTrmiqe_Q~7C+hzSjJ4$P`Sdk<@drkulOrU_2W-=U;?~p4*?}zhYY^@nJiJu)QSmYy2OJ7iZ zmE?mxxZm49{vU`nH$dp{rQ09aLaz1oYSXEgZJ=V{UB`TQ(kL!JdnoTX}SQZ1bIv~&_FT!r3B{~R)^QbO&9AR5|BPfI+^XCWu2GTtTlN1zCI`Snj2J#^N; zg7E&aTg5!tk~2fkRC4HxC@3ehSIaMguTbMt>78Z&07;14xw4d(ey9&dsVN4i)=LLl zA@A?AMYhy%0)@Bx=>T*o(J}O2oz5nNFjno>_}F6>aRlk@gwMbGA;mmJoXCrRv&Oma zkmk!EwB8PPtUiLYFOQ@2#o*j7qtRu~*~>S+y}Upw@ZP$@kO(aZMIyDa!R;cTv!gY5 zH1U?N&f%UsRFg%sjeR1BAz4W*gncNWKlax3w$0Pvpl>$7SqfKWt(#f$4hYk~lQfBn({Wz+ar^9oyh{)2d`@~|uv9jhf z{}1AoxUD)^G1+~6Fglb0{7GG#&6}@bbFz2p(So9C;~leVnrX;zQ2)YO-$QhHP+d5E z%avMz>*!Z42*M%Y%vkvE$fa=tI-`VN?nvp+{-O#S!!_$ZnEc~W&(t}P?hi%n9G&^g zxx1?ywgda|SDmO{_k+vx3+&NHh6CBtG4p}AB;q@bZgv9VTP zDZay2e9wLcL|Qg`?TTQQz*Jg4QMW>AH!WNk@a)7m=9={`CqaXGvKUNwUDPaskZBrb-ph?OGWLLqA{H1v*R&Ec69g-Wqa`p zcb@S?@!oif#yigO6@BQJ);&WIK7$eO zKC2+RW(6ji;WO!W!4yd=H;G7$5H859uS|WqND(z`4M_&;Igk20$EXI?@}31X%H<$& zak2R{Vc-A~x8p3qznxE3F{?W;^nKBr>|}4g|CeHBiF9op)cy5Iq6lGOTUd=`11-s+ zpjUg5dObHly>>o=1knKkk(9-sXs*osD^A%<@Uc99*Z0$JQ#UYCSaA}BOocC5x(9`Z zO62%osx{eHYK`++{67~!YHhi?0bCj2N)N=LmE~%4q7vP}X(`ckmY2crB_C3l`}C60 zdDf0GAZ8?wV-BsX^Cev3_W#0B*}L#>C_ItUs`O?SU->fHd#@sqPH4&1B(gw{7uB&u zxC%mmd8D_6f;EIjE_W!)9Bcxcjj^}msn>C%tDVGi=2-SOkE~pS~=b8 z=$S^2mk6s1bW#e$}(NT#c>y^2U8vgY+25jKZYnxe=%q=K!&X2 zSQ`z$;qc|FJSDc9GNd{pXhp$9`A!y^E%%K6}Qd5}&C zw)TC~Q;^oi`Pl*TCgKa7IJcb^*ZNBg|M}K(dRe5!EDaJn5kSoE0gW+e6suGRj5(HF zDkB>`j>sk3A*ur*vUrB%{!ZL(l^}0($VfCAh<@19RYZQXqL*ofwU5W(#QC`p7w06; z>&)$*B55V%eE%Fj?uqn|$AH9bF`F&khHpJXw{9WhD)5y82+Yp!yXEWYfPWHpW@e}M zllrBNWUf|5I2V!ZnBF{8w0tG*>=gp^%>RWI5?9aotPX&tCp~k03(7r*48p0)3#{8P981oj=Qk(oSiEQX~d&O*k z6XFOJRMdXgglO;^?6clC$q0u)RZZUD_=dPrehnh~WT)1D{hJ4TsJBR3nF`Zt6x>m3 zm70f9Z4lx(M~9!?um5G3b6O%F zrXSkHZ+QWTK%#%eM+!AUL%>J6nh#yJp#R7)-=Nu^A2fA1IIv%`$qEiF!Smun?;|Ic zT+soGhC0k8e36ONTp0L$${*%FT1v-*frg&-ur}8w0hBy@K@#;J2lkzEJpXLJtIYCe})intWJVP9A40*_@XW6bIPg-7pGv9zmR=LgZbC**x5S6 zSYSp;M7g9${#o~L^Z4-yvfGQ>6v3YQO7+`*IwVV45`GLKP?gr}% z^)VU1o=i2g63b9p+Rr4a;~XifmW8Q~)(HxtCpDijd~jbpbF$|rEfPI77CR(G5G7R+ z27W_J-YnE?cPD2CvEgedKqq<|9@y{w5i&6WxBYx+<$AI4NuGJ0SDXU>AH1B@AkVVX zX?>@?^}LhF*&tKM=jq5m0lz!3!2SgfkK!QYkeJjMyY2xD4baq~=c&mN5E1BEMoR5O zNbC@t=@~{!%E(d+f^-pXUFasJOW1@X`+|s)SL5oOrW$Q;jp;p)6I(lkebAG+qLCO` z4GpaVGyURte;Vu%`hJM{Ua)qS%;OCCClDe8>SIl)O~M~CUlH$SDpk=3Spxg4t%SaN zkdmyvJ530*7S^HJEDcX2cWXMLx_S1Mt!zX9WW|SOXkQe9Y z8z{N74}*ihj{P3W=VVf4{n143KVl0oFa7cN^6+^VB8 zVA2-jB?6@*-X9QHX)W+bgbz-tSC_2fgVDgE`9;#QH!adCh4|M*q%&3DAT|*aw+t#g zDnbAhnTy{As8k{J1AN$JyA-ChPqwenrUcKh`ix!`tpWgnnkilP+18icns+jSJ9D1Q zf9koNQ}O*Uv-v;#2y}qvt_6>I0>oo$5VXMYTWuo%Fe`ZXy7eoW(C=wlgIUbSwcZk( zvi03Q_YX8meY-LLm1&;!cj({;bbypWw&Wzt^QgmnU&W-_ftduaNuTB4n9Mwx=f{bZ zSB|UBz#zxs*nv#Ywu%sZAHDT~FKc;LqN37uE?F&$2!ZOt((Snp>F?chXxnnzo(3kS zU7J#)NdB%{xE?kreDdHpax_Q+V|uyNkGL8f)y6owUc&~f>g!Va>Nwj1UP#%J(fy;_ zN?k}TW|?50DfK$0dp2Tzx}Uq}^^1RhA2L)L{WkTy7CD@c%dP34$Yz%j3-hiK`!~`C zrX&R_w8_?#dpr-q6d9Z^2@DfZHtEla6&Xqh0^UQs+dd~WMrp_mgVo~Qr~4` zF62i1!}66z{Bqx>|6!Kel9J+F85gx~fQLoL8;W`#)~F-z#Mk3&X{XEr&PKUJsS!3{ zcl1*S$0=o(W-V{6LvKMbfR<*~Pp74o{KHJRMG=;LdcML4LS~6Xs$?3-^wvAb@BW2- z8$HVKMyp_o=jhhY6QYebKB({C^gK0{r=vV<@(Ddg&&=+yW8{+2jn&`(0SrsX+3R|PPPuQI!*4Bom6*xM> zsEZApSDOEvKxpXZ^E;sI8K*mj8E??CIa|0S9$iv)vIhmWcslOeigR` zd``e2GQju8T44bjZls|{;k%h;XqQ-pD-e&hoENwxOf+U@WO}`nA6vyp{MT-L85Sc`T0!D?G=1&I#Hbm(A6A0om}9p)Q(4UhN+DaITv3B@2)gOrfX zjZfBR$XhZB^PE ztx4)S&cFX`?OH`S^6_A_jh8@>h35sWna@6eXkrdcwW+Ut5u8T9>U< zL2Gu{a$fhsnkC^XIP{LwpdjbrYZ=*9e7e&fbV7Ykh$h>>)%x8OorNw!2k_gg+I>IY zF(B>35Fq_u1URhxp+*=5i$7Z;h(6M)hj$ z=?8%N(s2D35Jvk)Rle6ZQB*Y{K`)>GK^jk9YXe>ZVsO2H&dSVH+?MonN{#O1AI0OM zd^Li}-cSVA_Mz@6b&Jh!4okLs89pR~NJQvK2pGpb%?o zWaT-}OQgtUhL_^4xFZ)F;Qa0ZQ-BxL}GnaPrq`5(Mqf?YD1 zH5n8lo6v-MzMc9>lC=1}=e+db$kb(*uQV|^9e;(T_&|8NTf$A=4*2e8iAFp_M?o^p zpJNH-9tL}<9j8sELF=|9BolDyY%0QZWN-=4A;jo-C}*o$(38xx?)Ff|7a%wsfBuhq z%2^SjeXY$@(@+9pJwhINZso|{Yoo9`xw5~3^?XTvJSBO}U?6BKjL*bYXHVz2>D*=#7{&b@O$Gqj~!|r4dH@N#l zMUg^)kzw`D)>euvjaQBm? z=X;OQciw|Axly4Wi=~*w%UCIjPZ{q_5QJg8h)CWfHnOw23TU+fTI+H+^jd!yHbULfP}E8Z)*gq3;vGA0vB<5{(|x zFpkGJO_sJvwz<=7l`8ssawZ|DSCF5h%mEdQwy?xKLljMGASRP>cDB;t+f4@#p&A0gWVV$erqQWWlMnHdK5Xw(+vRaLpsW$A)dvq*P`IJ}+Dd*+g^ zN{T&7ft+ssd=fxSAdmPD$WEYV`||D|#^&6Tv--1p{-+o|W-MuHgWp+`%$Cpl{>6gg zvL&Z9FHCpu+*|KVo!`VcYbt0HO@8gNiWlAOG*YoN$BC6$)(fYF<0$(A!>XLjTdGHl zCm{Fb9I2>5v%{BJ&25t2K@2i8wF+t+k~~3lf6DjMVl@uc$8;tT?Sf zKzgZYN^cv&n@tOGn~8RSo-??_3dHKtHG=4?Ud4}0S5@b#^OF6DjC@mc9z*Gk?fmT3 z$=4ujRCz_4ELBvg2DDm|0QE#3fk~F#>{lr#7fc~MKw-NXjwz@m69(FZb2?EtnjA+a zzE!Qj3y=(rV!8w;fvn0nXU0d&fLh%Z<8N_Ilz|p)AA0%@D>qhOFWtM9>l=a>`{*l^ zHi+Xv;jjwc94Qx=WXy-f07U@MB>09)(h+~F$V))JFi}mbpMfNimbV-n*kJL#tgcQL zqM}(=Od%(v!Ygpo^FeKQL|wB;X|fK|EHUf1_*4d5idsU#;P{eZ1X_C#W0Xue(Yv;G zQBNFOkp=9Q-#HHw=^SEQTFSw!#@1H?7`Tr{k2s=a(8$<2XrT?T4R00+Qr03TUnqrz z=>R$q-1O%{2Jwy?nEwiYhUZ>%!h+e0T#f${enYJ(e8)43u3sZ)oXdxp9Lz}a7y|Wf z@$T&;g0q~pl*p)XBBN~27MagSa6Dd2nD*I(eq6($w}FYhuVVXzm5$-OmF;JXw4O>* zMH}7Xoiahjp7=hF&lsY&L0%|=D05618JNf1@g|w1kxD-LQdC|*O#a1M`x0om*?G_h# z=Ykl#4kp;^EanlpEFGaj>-vadP6FUA)|&^>U_yx(xU)={!l|iC@FiuW>4-|?MMxz7 zob}#FqLK?>h^|z_)_3Vn?Z5j8)7kUd;lPktS(ZHjKE3Xbu&6O7@z-!gs>f1XGg4{f z*iznceL{ua&g%?K#>LK z5VD~p^>0nq+&ClVmfUC3?@BKQgW&BF&6-yK1iXDWa81k)G1-(vbtjnao&JlY^Eq`Pp;VG|*1nH0hDNgS% zqku7+zacy=vW=v@`jC4)Cdh8N4?s=!PmJOu5`(zTxPg`Nx}pm~AJ;;Ms~juKcykT7 z5YZ??js#Sp90iwpo=H`i(Sz6$tAC>o_|GPMAlT&__hDnFBGuraopTR--r6Fz+~=C^ z?=G>z5$6+dBWU*Ebv|9H)Hf%{J9l(#jgCj#Ugs{K3qQ_ub~ZA{N|x0Jv{;?A6oyi& zb1au-pbu@B6bVxfOkFDlvxg@IrEWceN#E|T28w5YeWS-geCv8?LaiDb4>s=qeJEp@#*anGPPnSlNku;)&DPIr=)eNdKGeVNthx!f<1!S!98#qwP{eJ1=I z_Fv!~{F~wxQ`Ip!I;CS$sI|IVL+>(eMk2tcs_Igu_s~gLhZNwz?o9gg%QlYi0ZwKn zS?KFx%)AHED>;_lGarHB3rl>XVVH^2pNz9#D3}94RReX)#msb%idWrT{G|aChUk&$ z3yYHFRSqRT>08g^#oPxB|K!{88c7MP;h5Sl+qP53LjMdqcN>Ml%loQG2DdI%AEL>nk2cS~Zv)ZKo*9hXI*wCFLYw98Qq?=JKey1_D zKyJZ2!!)^(TEjiO-re_@tI?syb5}CZl(Kr9C+ooaKrWaq;<;=aG4yCYDM1o&qetT7 z#xDO8%81<2ZqeT;R}sPJD)n;WRW;t#2;Lx*iHR!3rKL)@fr>>6qVL)Q*RwgrHLqP6 zl$F{m5WCSk)0KT8hcbR#wBy5l`Gbq-wO>dP51hwGVDUDW{Bl#S;ko;YuL&~Km)aJ9 zWF-`9T>dnCt0#|Ir|bRa8)LN+qNj2H!6+aEDPwE7j4~9XrUjH2RWeLgoEd(x)M|z- z1UyzzL*;f+%JX=|)$|g6E>WRJyt8T28x3rB2BiIfFGH}@3K=bjoV_}XS2{k{fjHen zcpNr-Vmh#a0x9-xy>KoIi1_-yn5=Z*n@=cJG?{nzqvL5~U?TNPwYoBJwY-4s<%pJg zik@`RTZk9H6oO&R3>n+ z3OFToaIikC9hk8l&2UEv{z&6~O0Slxt=|jcb^yjL$p1KI^p7Wr>C)@Jon7#q4rVwT zBkDqfMN28XQL&iVO zH+cExzd5D^5zyOrNa*!vusK~Q;1ja^=;N7iQtYg`85UIT*BaecJ68tP;rgqc2}cITwAnA+*Hn#{9shf$57KaGraQGD+QVQm20KV72 zI+kx^CDb_{d9qxN+&P9|rI9AaTeJu>sb6HF_;{+g+lQDBnDsPE%p+RUoruXCw0~hD&n)hql3B#hn_SXk030zTf)iHSA+0P?DIxJq@{- zr@O8~>~anTl3~Cnn~G3Ui$>Q|+dJabqMC;7IeE$w)KAlK?dZ;otxR<^KvRNPxgmYkT;s z=z=naNCtq4I2)wu1x!s%9bX=2J8q^9dH|U{?GzTB-jUs~GyGP9Nfbk^QHsDZ?%I#P z^=)&0-xtF}c;T1bY&V+VZwuNd>FC^%PInA9qJEa3%%^%S_zKDKiYb5j!uYnoFn#{w zyL{V&P7dByU31_y3{ZsA*@>gqre)TS?tvxAF7mSqZF|R<-4r1+Sdd3hum&5FF%!%zDNo<%-mQ&F0B7owjF5FmC$hbg9 z=rsx}A4DfSn!IHvtZs$L$VejFHRa0kWq19RbeUoU?0SIuN`AqZv#w9jA}(`Stm3FU zR2Ap*b@lJ{-q(_KO}e+xgOHiGr7fAs~>@X{e=c*x5oh5FRFpC)|>BNO<<-DoveRQ&wESlHy7% zD`WjDv%K8l=xlKv?TduOckU-GEL?Myq};DY`ZTSp=-V-k&XvV%_y(p?R{> zIAU$bPU2S-G6?MOAyHH!xWSzc5v%rwdVUq7lp%0aN z6-|UMDq~6@ky92;{k{1SqU$!j{hh#w?S%r&@%;w&Ri{kn;4c!eIiDb}Ku@b^XsJ@c zp0c2R*Le|R0qHF^6V_vpJ|azxHq{W&FWREgugX`@8+Iomg(*EEq|UX1&Z5WKH6_?Qgy=4AoQ^`V)>T9gj}rU!-N?X#Yz1DKiOswQ)7Xs z<57f(?AxT1$8vU z30h&{P3F0C5dd57-~Hxjm|;X`u9pAwJKq&cnUh@$6B-#MAn>pH9Ai9emFXAFL; z_Ch+zP_#0l!QWNd(Q5ot&t)WH!3Zo?p!|Cogo=_TvLCQZ@PF88#^p-p>Th1OEoXd; zF6i_9dw)5q5t#zjG!6W~e1i&WHX9+@yq%Zh0m6ZyD|PC;n7^NVlYh3g;rn8yjfj-b z7voYB#FO>bh3YfbmfPuf7d{Wy$#Mx}AtDi~*jeY8(md%R zG!eM>7Q1Dr(ycEDF#pd5*!D=6$>!>U2R6!cknLg*@x*Vb8~1ow;l%+H4?QG7ru$n_K*O#6Ee z6a)LijMGyE1+LAyz_yZQM7mr?cW9}Q?!=3lPPs$Ol}5T6h#?>>In&1TcktH^b{Bj~ zRQmmbpMHG5;@H_6NAjcx`%(MdmU~CyYmI_&a8W>6_`jLqkz!hQ;1H*{yJyf)bpD)S z9K|U-4eZnCSQjv9X-p@$-7#$gD;|0si#wgv)RXQz-EGxg0vC<4-UuQUt)4l@kkT-d z?PBVoB3_wro#QSi^W>Q%7cL`{2(aMb6mUq2c*wvszYb7R*Z(85+yJt_(>&uEMq0h; zipA7+r;D978QR6GdSEmnr^h@hC!_HugeAKbsfX(9{~^nw6~Bc=p(V1EnkqJ}rx$P& z00iEd0-Z(h)$`KxfSUElLGrjb$<*TO2N4yfq2c;tF^QPztR90tDJYq@203R{VYb9= zjlEL4W|o8GxOz}Px7F!g z+)ka*8MQxHD=5;tYOa;S$VBCj62{Cg!A{3IWjB zwKl{nkk0gB2b2C@Ka7<_OerfMSm+>lgz}~4)Xu!G0DyFr z2LPr+l3&fR0s6lDn*Ll9GV$1YY5vy?!9XLtKUd3{aYlwTaFPZrn*T6t^Drsw9z{G` zDNO^yuW*UEdd}R6T`wp$P2As3ebv^&qvVDIIxScZ4{L*J4_j`l)w7VugBvM+XTGiB>zDv#R@7{h)t8$aCHZ1I- z?PWs)8IoH@eZ9c+N|}MG-hEJZl=%WpNUj&(!>2D8;0U7$Ne|rz$Kl%NdAGX7;z%NM zjen(^0XCN$9Y>5n29}K^Ny~qPjwbHDJ*$-$iv)Mb1am{XZs(HPy zid$P|y{zgY&+W!S&6Dq-I?$HG?Zdj!{NO0)7Ubkh#ErwrcfKyt3@!|RHQ5m$^*CBYV8WV2KT!m9nh zu=-h5kPw~OL}f?1(oLGLM28F{bb5X_rqZIKH2KWnz1g5a1D9W;m~#sZ(MLTZaFmA= zzG!$`4eom>rfX|5{@fiLiW@E;w_EqP2>>mnO$W)MVm)U`IM&+BEP=Sr+WJSzEd}o; z@$YCDz4^mY#dfLHP=$NFt8e~+J$xp6{^ZnfA5Zc4nzR0V(R@^eg@+5SX*Gx>03U^Tc>`PedN5X~%2@{PkzaEplaZLGf z3j_YRalL)LEv`gOM)u$Q60+8b()V{b20=~$$z{8unQ#=*DZY3tF(N+xzd))lWn&&C z%&pqFKNd36u~PwVOGgt_XK4q`^XkLTvw*bwGV9mS<5BGjk59cOm6!hd-?iU zIz}Mq##4c2#%g{i_Z__brfw!od!` z>RIRS>e?PIK0uC?!oq!7|5~{Z2dqYv&i*@lle@J$dgM5i(?v?;s@ZdCnROhM4VqRJ z12sK)H+f{c2-jDge`gPKSF9HStBVUm9*_4~$OgMP>Y^XsBzEVPhxG7Dv2((QquX%2 zN#?h6pS42A{3-4n2O16(#S)(u%;vbPZ^}qtHdhE5o+ueof9j(l>`RD<^tz}7(#hyo zOxo+qBVN*)O3>Ul&TDKokjIXv=%a&1QARqep7K}ku+?dbJ4_XcrC$drVDIsrpI$aC z?w+(PpPjHMVebzW-@UU>4Vd!jNeWxYw(t4aFzQf1*~DWJh?W|6ntM6F{THe*?n5(IV$QUVJ3m3SX zYX@0s7E2M4LTS{0O}y{F^-C)qcXgU#>Om{ZXmiDc#6)@Nb#CeP$_krR_5T*>&2i)1 z9k(3Ei1PP#2?>}~33L+hkkywA}>*k~N5NVB#Iq%!};cE*?L@3G|Dw z7X+Yg`TXJ8Nt1jYBPkyVFqS4OMT%ExgR?Fm$ML&swCRevWnM4Sj1X7r^?*Na;I{v; zl{)(2aUd3~(n1gc5c4hYe3j9UA2^n83XQT)XY&P7H@)#iWxx$CQ$H6Le-v^2)y@|( z2$;3n@EjF)P{}JM3n}JAunPQ;$kwd*ma&K|WJDbj9)t#IrNz9FF7;TxN_sN;vARW+ z84Zi@vQr}*`C`34?Gu3Iu|c$XC^}?vWu&BW25{A<+S%WwH9cu%ed?g4ML89HE+8s! zN`$sy@I2Ztp7?97GA1qdjHqKn(0W$9`q^y~s*c_DY4Kyskc8*69q&F;)r$2!fR7j){FjdU2<;^G+1Ac}^w1n)Y z5wDvCWTkaeUwmjYA=$+vmqoOa-uNO6DLV%C?4EZtYL>3Rkk&T_r-qX=CFhbe7qMw6 zS>2q)rnrm&nz+Ao#k(MY7YZ>jBo1x#J5>jqRVEW6(XIJuq9@T}|4qpCRxXGSDxnJ5 ziF+Ya%BWjpyT0c^MP}Sbfj+J;)vsWc^(GRz1pfAjKHun$R+bu<{#GdOe=TSInb{^Z z>*7(nbjL@<+?d}!M$qPbv#ALQg*hyqsWE8NDdGcK%uP%VGm}Q`QidzJP_s_ zPz?hN;ClPa&RPzZQP)FfQuOwQ?{RC14=KnW_mQ`0g;^8VS`H>dbjsMN$15{dG%@=* z!PyTx?fC1@(N%~kJ1bt8#Vlb)ygJul= z9AS7bEo1W>Q_x(T3x6|1GE#~-M&JU<@V1Bx8Gw`QhE*PxWRj7DJ>7Or0P8xTN9NR0 zy#C0;B#6{)#*sA0K*BmWLmm~fMBz&}^7nXil(=J7>=ed0(y%}^xm(iSdN-cjvOcmm zksjqBWj$;O%pOHLyBUHIdw+8rCU)HNnyJ=n(cHu0MCY;eT)}t-@ z1`^aMqM)o<1XCQ`sTuviS1|S>4r9eHEiJ8a^lZct1bF-B*@wrg=lKYjMD8#DR}r49!=%Y0Z6f)P7Q-E{`TA;Z8?4YK^w+jaOA!K4g^}HJT(=Bl8d!7 z66Z~apn|$fF3WRf$tvML8hsSKc{>~FS=yo*cD`nrg zr@NK)Ia$8(6Psz!he8(q=gOM&*Tv;aj$lAa>OkIL!S zHU#&dd31kID~)?a<0&8+f;#iDu;W=e;pZa%pv*x*!a)>;fd6c!U&XFwv<1dN@jkd6 z`mL^7m`}+$O6PD)^F>@>MA7<_S}uMsajSrIbO}OPRI|~EcgadAQ1UG%Ts+HHCKqdQheHb( zuwt?{RE`dbSxC#sPhX+kPEMuWW<|9CbP^5;k!)_+gq(3qdaCU#wP;+A}+d`1#t z$jd+BH&5)V)gay9w78N~-qEcX+M~o(R*K#?JyA4_Re;4>T$=8=M@%d+%#@!l=nWzq zOj(&BR!h>gk6{+x?U2;k6!9UtPl^(RC_K$OL9oDJdU0aPsaA`?#8yw>+eSHvUlu;F z4H{Hl8+ml!uC?PhMc8cT+KU?M*;&ec%(h*Zq+8tuHmyZxM$&40Y zOdZ-5crY-tQHLur{j^Pyt@~Y3X8&ZBF+rCO0R%F9^Gy>Z^nbUzugqdyPtjJgONq8WPf(E zMx<6adF=Beo!;@v|5BHnttzrK_uuf%fQnoP_D1s=tHWla557~D?nGfc(7UH1YGA2; z?M+BJutcd^v4K0i49DFUwTmRP#l0$PDH6C!sy-Xa>a-_Pl$6xK@)!0E{5|MvsX3He za%Ww8^WcF0_~dC`wIb72y*4Jrr@^|SAw^eKrdg&|{yA9RKS7e8OH3JyQ_p0rtNxrn zH>iSc^$2R?GHdU*Z26h_ur3!qN#DJN#_ zZ-9jxaPr79Q?1Z4kI$Y->wj*!_s{eiGO2CardD~qW{Lr0ia9!ug`bpJ!l=8uA;j@$ z%hV?66dGF8Xmv6yrg!|6E~XF1=Ucd<8~jwQWMDMW@1N^{)a zpCE}5&4+BCQV0GXTH&KhJ=KDuo=@yTJ698hmu(H#wspoJQ> zc$CS@0+4u`ow4-3aYmnpj)F7q)Yi=E>NosU;nre=tokVi&2PSC6fT3>ON!TM{`*w!C%Sw z@}^|yM&vKt6{ungIVOigcIUjFS@RaG@kv=x*u=u5q#afN)l!~! zYLDCRWK2J5Dbe>r6Qu*l#r@+Cg3wyo(j)KZ754sW{aE_j-3MQ1J=RI+)1IuBweE9K3v?!xWS&Gc)Av5FUy$USnKKR-5{7^92}jZq zF#STQ$5VegflYJ8H(adBSaAs|8&#i@RLeRHBVuHj$qHyXgv?Sjzm}spV># zY8e~2D7*g=HXea8nDcq86Q!nwE1CXdtf09s#J~{02A5p6H5DNwWS*7E@mMGf@)rhq z1jPgH$-Cuzju!)C`Jj(3EIRdfxh}eG83_S_n`HVlPkx18sAvdCCefHRCF+rcoB|ec2gS!OH zzl!u8S}6?|KrWL&w%NUHQ|mvo+Y>)t(OEei&s3Fvi>Y48P$-Pg%9_ZnKdSYccu! zRj%j^AvIxsH9#m_{$2lY=Lu>~^^2O_VJ?;q#~Bj4I(Q5(V=-M0q&ws@v#+>8GnVY4 z$W0_*PDQX(6Xwtz^7fjq`N?u)CEeC?Md=M0hi_!}YUnZzablgIf4-{1h}%r?T2~ii zU*nvXtMf!yoZ=mS!_a1_C)J>@&I}FnW3eo*yZ9b=qxGb=@pM+ct0f)rTH~bi#H!1& z=1*&`4-f9Yq#PX`AtcgP!P1H4I+ZxcgbS<-yiK;7L&B1=ZFaXeH~H3wW2%+f(78MEEjh?*r@R`-9$J>&2hn=kl{Z(L3gcXo7`l6=$Q--0_u03)I(bKiX|$5GRghng2=wH|TG?p_TuqM-1^P+p$q6W?r8ZdF>MF(dH-`<4`q zC2zuq`$YZ(giDB%o>j!u?4M^WA}f-sglwjU2Iz(cy@raW-$Wxy92u04|17FXu73nH zRwZZETy^Lf^fYuYBO%+4^h?GXV?~dCsSP=Sn2Ts=1;#;U^NFJ0vs!2ff2glCj%zMn zFB{C1q7Dp;t=3KXBWLrAn3@_%G9$=N*=!@>VkF>mnqkU%wUsa zYrez#bi9X1q3XopIO&R@JOUiPw6wI*WZPXjO+Q2mlg=exqK1ISmHB9)2Gj%4H4h1=xy{lJPyz4hK zp~q_z^_QP;YS!EcPI?F3WI)mrJs4Z{T}k1so&5Xqc5LwSY(T^>5eq%pWh}x&GnDOz zX*=vxRai*4&xy<_FIF!sU2~SFHOn>WPG*uoq$jfM>MGB%HP1QB_a|z8Pb+(RNk?Qk zswfB{4J$iXhbP~v`Yy!wSlq+TWXGTB8JaG`?oLeo71eMlLZ0ZIb!thYSD#m=Ih&%L zK>YsI&4RaS5If`I=-2&oG2z3MQw^jk9-p zJmyjo2|EShOlFw3)(jf&?(Ftw@%eDi`-DqN7Zu|ppJQTRNGW3mIQ*L^7_BcG2$GSI|KsZ|!=mh>w&6iV5EO%w7Dc+d5kxwq zJER-w4waIW?(QxDX{38di6NxBW2k{|kN5L@-}~b|zWX@lKK#MVwfEXIr32T;)nv*rXn1990?~E{8lL-Iw9Kxou<-LswJP%2JsVYq@AwKR#{8 z{E=DK@a#kEq(!bnAXdp@MP%{!?=}YvIxQ&~83ye2C&Mz=vT2;DdDgRIrPpkZ+gA{{ zz$v=N`MyKb;z@3NB8LlOVPPS=Ei8@a1Rv5ZddG)Y%>Dp7=RdQO-`{t9szd7SM^J6j zNFv0*5O(`*F@I*>+N}b%@^gD6a*NH>B)B7bMaP!j4V3fZa4J%&{eE0UO0Q{K%gyxEOM>? zc;;81C!dp`+PIUcEP0(*YB`)(;C=MIR{@?1mJpe3xSk}(@%;v`8sF-{7>}v@*EO`m z9{D@_xrw_|t4-=elXiO;!Pzc9mdEf#Dox+cshX;Xxv)#fHT6$k(A8S@rHDQ{J;@XM zIZ^uj5(vI=oG_L5=SK3VPz8V(4GSI-E6uqBaig_Pmdeo{@@;+Nd2GigOs*Ny z_-UKx)JZBUJEPfdOKWNg$2$*-l*>9z-v};)?N?!OMo1}t;m>Lu+P$`jIDE5nJKL7r ztedM8c&`2H^B4Kno8Sns@a6qKrRWSQ7`~Zg5r3g;bgtD?#XoIkqOyC!S(eA4tg)uY ztFBW-12qMDb&L=yx!axE`6BZhht3)FtL5B~-G%CS;3?zT*Ge{smwwNt#E{jg!DK^N ziDq48MF%LHM9y3{upVC?tG(ce|8CWFd)o4~tL2uv>wmQX82Q6p#?y2gYZEj5b{y{> zGO|z?Sx4#CEvGzo*&EUK5qh80kp><}PaO@j*CWbLK_p_BE@{zRi9@&fVsG{MO~B z*D1n?{e)}(cT%Rvk7Z7_yhs!OW^sAG7Z@0BuI;LIT>j_m!bQ{W!rX)`znXG+qIon@ zg;prLyd6Sc$dpY@mYEBDy~oP+8s~K@>VubFFK6qxbg3xX)`y0TI_eg`77_M6y#9s9 z&^A@~c?C~oPJbwgKu=^&)KMp2iXAU!+y@`}OmTSr=FAEKB#Tb$6Kmq;e15ssO&almyFtC` z`GfBIyITjC_t~}zsoQa(%*y-s(#A6<0ExH&Fe!pgE?U;!A>y`Hczx-)>`|VVZb(OYD8GS{%ZrxipM~;E-XI9eL#*^~GQ%9V?Ve&$48ER>7+n7%1 zjn@h=2CwWM_>{p0`LezB@4i=W24e&poci_N8V##pGzdsW!<;tApJz_1QT!@ z<4_;Cozw7GfjLq3)a#Z7YVhK9IxgLMn$^XDka~5u1UtPtdbGT@GeXLSj~B)o@1n`A)|@~@~1UP{N8XNVpxv$yQXnLv{d zUb?JqDlD&H7br9nYSmi1@QL{!9`7PNe8M-}uEVBKkgF5k)%h7%(+v}k(011QcD~X9 zKPhjt(u=RoORL5#t#GE2s;4ncy$nQG)K|3a&4UX1`mb6;5u-=EZ{PZ_P{|#_VhZ_> z2CHulho;!AJ*S*fwSr*Cdt`oOBeiXinb#RcYqZ;=ZR(bqQ*E1&1$)SZy1Se)Jcd4=`l!;lY zyj;(gf+$axE$Rsh%E-^cNHenqVnVKmOy%uiT1N867B=10b*XCrCQbz^$Xl^O#{Bk>^`Vo zdoU*n?1P*A`g>^5Uw|RPSRxlS4~xnZThe+t3}_CO7teNhti9QvnJR&DH@t3Dz<|HxfTOm5C^iYxs9b0IX_d~6TbC4cXs;Yv^l|zV zx}DM?{N&T`U-DbG=Vaad5Go5waCuuJ+;yd|NHIfD{5*z5$r5#T0kzkJ8f4u z&aff@T;X`Wo6oyDnH3R{uPB?>!!Z8y!}o52(25B040FQjeA!Ii8rX(U+D>b(x;M+=Mnf(W?J^r1&ZDjm;}2CbrnD*KUZljRK8QseL|latJ!(^Un5k zLDT-Gx1P5r?B^sr{&~|L_qes*5S`34SijKWaDTb!YePX0s{Qq7v+1ir^8GsKSH5IU zBBs;>>RPHhr(J>PDFXP8+0v|HY=-gQJz)J9U8NL1_9bXDHvJx4pP1$UIrX@uc|8zY zzkaQht%y^c=hnsrp%IJk8!FB`V47_2deb?*(76giqHM!@yFlDeIW*Y@(z6?(I>!^%koLZ^Dd zd9FD^35_X;MBZo05&=40EDVEV6{hRj2WfH7e7hC*)$6Y*{0P&N*CmkR<#BIHj3_vI z;dhns$Gpc)M`FW#+AWW3`v&R#1J-SQMQ{{S`JDe&m$y(lcFTY@tKSLdV+||BAqgug zD$%)%*Rm();E2W7b&I8RneVb>x?>txA>(!p!lsgE&9EiwF%oPm6Y!YtRw>uS^|gk% zjFia|^?;ksYIVnt%BbQjSq%SJfjeb~yi)nFaaJ`P;3Rx5c1z12(yGpUo{4DxTgxnq zwP4R=^qS^Bj$n+P`*WN6 zWQ8ZsV}g5XW$)Bq{@-vTLO#Ec0luccCwXW3Uv0J7H ziKEXnl0b($?Z*tbNTNp)fxR2~rO&AUjEo&r!vXf0Z)xypYkpK`QDflJ`6*S34A*@2 zf95Z)lBvqDvXdL%X5p{Xm_kRi;EAoM80zQerP3h)e}`IFK>c80XX?e+o^VXDTG*W{ zmBE9c0V;`w|XqI6Ya$%u2qEyj&NpXuGzl3E|5DkMZ1}Fwln1 zE#Gu%EH_A_PAD$kTfJ*C=JcMxLA-$0SgD&a1jn)I>|4T_`cpXPCzW7Bh4vA2;U1z? zBA;r652^U~h2~J(D$7=0TU%GS&c$Xn5$U&Qb;%*|jCPu z@=jU9lK;>Mm{t3INl74NjWknlC9Sn$A)PMMomZa(T|vi9$Xks1VD(Rw_=;ntfVW6P z-08kvZ+*Z>Ns(=?&x*UZ`}JO@uAI?Yno^DyX6@8B4|{M`hZFzppGi0FuV2e93>5mK zOBOy<%@Wh`oU;GIlCq%fTJ*%dTck7+DzMVvcIsCrqyTme(wb41e1w5CF|ae*4I-5e z4^pPGV7L6oo<36ow*n}8(8)Wk z-~FNapP7mZqCfHPA^ld~8ek23#fg_E^F=I7zx#2vk)lM<(H)tmKEK9yU&5azPr|7nmP{1L~Z8pAFPqY+jcYV}4sKS)`fFBgnhEeSfsd zWaZ8)lWsHd92@yy2HAfDK-$>uzMnrqUjU2Y-)Rn`)0La30Wf%X~AJ zjqc4A-9)KnjCsT8i>Pq|7E8Vk@5TOB{1+63AN>+f*Y&+L86%GgP%X*Hj6T=%D!O{OnU)p0?y>H*0%H3iaSJn zEBBcPBKrMvFPVWJLKukr45$y za#per+T>yC(_fI0Y8mhUuzV0pVyM_i7@=^h_m3otQzi8p3~<2TlwROZ_5y|b!MOLU zXVib|n;y(FBe?u02XI>m%5|n_1EM#uFO1Hy6vvJ~y6EB11gDAlIz6JX@G9}capp$u zmS3p7{iy$I$YoE@3@6KrzxUM}@fh_2a-~7x@V5=6!esom&EQLQr8f9Q_K@zU(&tA9 z{(d_R4;3y3Q-14dX#v#!Z@}bzsN^=jetr)q<&%d?>K&>{*j#>#{IQ+>J9^}NFh9VR z?W2D->!e<)iu{8X#Ptc?96zkZfhsy*mWrHwM~@l4w+LM|ALsE|5gBoftG&o=qniru{%BAk50pi=bgHI4|5 zN+W#VcyTc?I$Ky+c%ncRJZDab37`J<+p@6mPm9r;fKH?#q+%cUomGPiOaMg_XAMK9 zQjjLkU4`V!9olpHCQ4O80-kK^*%p9c+Swf@=0+i}Uiz65kF;5QZH>$E>hYhWqan9+ z<&fC##ZT=y-XgBP;ePn~{p7-;Q9@A*&l$W)4_35K(q0(Md*Q2p3>}f!ZelgPdQ(E( zqN~7o!qUOhVS59?Y$3H0QE+k~^eR>Ht#njWl>HkKJdvP#mCgvg(Cf>1t3{s*OZ)&V zQok%}Na&sMy-@`PF8cbv=2=tNd@g%=Y6o@bkI^$c>+RiUr^a`P|LddZAVX7NEZuJy zAN;|$8BAqd$0uXsOM&G$ad(-AYcIndx|p;sj#eL)%sJ5de8aO*R-u{3-d4T&c}7vp zFhcX!0Tby&aj$_B9nVB&i(g*1p*%d_=_uhjQExJ$Y1Z5EFKSRDx16Z>VtD-c6${Oy z>OQ}Sh^I$Kk2-bgMK0})N&5VN!OhNxJ!gVKLRLnE?w%>r2T6_M9-W^%^9jE5ZEZEw zvbSf&3+ZC$`&6keAty)q>eVZy!Ao*R#_((w7E$pJ&xwgs)?S8mwMQEEP?O?_&Qw&$ z9GE(lgM7TkTV;W)?5RNS?KiZU`hkQJi-{6c zCVn{moyXFp%!Z7twBf30I-5gyb@8t-4C@HGA=~zccuE zJ%Ij7;4x-ZDOP?M8by@d6KXskY;5yAXs5<-gRzB-Entt&g(r&QsqU% z>qW^H9A4h+ML-&sSkta-6;Hfwf%UVhY9Ew+`oXJXx>b z*vniZ`2@kH2qXu|P8rv_q+-4ocyl+uc`5g7PJ0Hp1u9^17Jz4RO*IP<|voHIA zZGjGmj+g}IzZMly(Hp%8Y<@i<$bi_xGr3}K(hA~FC;)O4|J$$u;Jbl>eS`JWQ4_?072VQdOr zcqPrx$DuU}$Q5IeBnmp1#2He_C(Dg%-i(XVOA1b{$#> z5cl`?n`OXaB2&yfG za=#ONM&`9Cy_X|(Pmw)-z!|@NF9Io0tbdU!6*u@3x;3p1*h?rVSq|UDGd@7Y&9;c` z_dMI8hIEH=Q8wvd{(}9DFTmu|;^$1mFw zj)Y9F>O`ZeK(sVB9duic#x%&fKF8H%{h=s49E*v8r!0{9Zg?-3gf2rg0Ewq;RFKKq zlihYn$z#!!4R}cOK3~r&hkSFq~>X*Qy#us2m#HKh6Vi0yv#wZl)j- z=IrAmM5|WR`5d;Yk~o%IsF}-(EKmW5KHcDjcD6l{=Qf^q!+ON!sACG>7s$!W9j$U3 ze)2(JuS=gyjgvkU*fH_^T4s5Ygbl20P4^LbaCl_8m#{vl-3!eNcV`+S=#Gv=mC-i}tyIn3wilK16Y4%chYFmq z1Bn5NFQ7s*XlW4-pA0+Q`T9b-z2PLcx89JZtJZk+W@nPXJ06izLXN6ADnnLv1sw5X zcqAIx-!F_h5OfUMZngCAEacuHxMRx}yk#D*1VnAsX2jdm&08D+5B~e_9J{DxD6v5; z?G!qY5L0t~RV{Bm+46>MV{oZi@PM~Az4h}Kw^sRhs2sVU_!vDQUwEqcl&$CYG}sJD ztklZJ-c5}*IV$!Ms=W<1K8xL>Fnd&cL1aXma|g0GQNizx_WppHh)zqB+qfp{J-z+f z<+GZkjZUXT3Ec<_6S)6wPm_bKS&jE6&h=Ab$0nPZCLT6ZsPL3i?cTI-vTCWB{gjU9 z**u(B(B2P(5``9R9?;uZa~(GL@&(e_V~PlYPIihyzFNsDs;C&Z|6-9z;r9ofkWb*s z!Ga>G?1yIrU{}RvW%G~_VYcnopCmNuf66ly^J|=X*c#{Y){mOEjFK|TT(xJ1@4!s- ztVm_+b`^U{CvNX=W`|jl*m$=~y|wLRmB0A)RH4dvq&g%By&TduQ*C;J6PVw(80tLj zKJI9>IBe}vj5jnN)fg3nD>5gc7Ny8zzb^GD&`z4IkT#V_OkXjz*+&_HQKZWZ*BMn} z*)f$+`yb(;i$X{zbcw#hsTIlEZ za%vQwTIaUA6nO0Y#_t(d?9%&(N`(epo;<3WNgk4cY_$~cx}l;zLPCSLYVcEfKIFpYY%#9c%HOM=|90dja9n_*Q_(HWbOEJjV%a(6v zc5~B3)-1ks>Hm?>rhYQ2U{6MmMDUScPJzlP9Z9U&8+UA;_r77b9Gl+Ti3}utH_m>m zer4K{UI(O75UYiTN$YD6CP5=v0@2_^0^6P{l?Hu>74Jmfx;idEtBI(n>{~dZ75^y% zc>CIc;roM;96LjZYN<|0T&AC68!+h#IQ~draeUX@ z2KZCE`*=&$ri;AiM>b2>SmX%%G+R*z8TB@svbr6v-@6vep&Sw)H1=2pv(a_^b zm-Q&&z#qj~GCW#Nx*4K2JmxA!U=iEP3lfKYCuiy78Qn;VnQwA-$}0zfv?1@8|Fe6q z&c{@iqjN~_!j_FWkAN1BKkisGC}Oeb#^4Xsm)!{uguhOXD8OD^{yh{D=l*>7 z4DP(2Vy=jh;S_>*adlOte?)fay`RKUG~Q&cWCBg?37#yL1ju#$!tS9L^J6kw+q9ZV zA~fbi8DQ6hGa}B9tu{JMO-&H6>r$;|8lC{GwBL}e;GAzy4LS@P>3hGy#bU1ciynZL z#=pM3O-8nMfncCgoxW-O`bp0PXhHy4N2l7N7c^HozEZOkY1Fl1)zJ)H9c7hV<-REX znLQRxtJ%&be@saU3H`mR*3HRlhI2A*3D}>~6U4$JavMSNw^E5fc)A|0bRQ6fo)E*7Rn|(mbPX?pFE^LPb@TH>He%o2AoLbujwrBd9f<`xMuiv_(rb zIc9#Dv$1UqI}j-~n#d+`S@(x(RHJN8myz%}ADHZ3q+_tFPOaL0yE-%b^NYn4nraA; zn32?NLy=M=kn*r2)l?J3T7f2E$)7O zhQ*p8pZ>K$8PG?Yr)#3@=IfsCCqihuMyU4N2Uc%O(#va!*fy$WcDg^F(NU|995IfZ z{G)#Uyh4UF;q*H9@r}|2p72XhQZTn)x^LZs_f>#=0<~`icV|U{&*;(Y)D+-Gxf;VB zVPUQJ*tSrf4-y!JljUpAREdg-{^Gcm>iNO_zgmEw9zfPWx;fTmtz{%CnrG;q1-EQQ zN)l4I-J(F^P-wQm73YZv-QSr@j2lXFIGtu$F4NAmnqe+dE!)M*21Vbu#T{tzoyYf% zJL2C^XgqI?1?ZH|g~!e}zYv+b()C$0K1U$9z6D?bl{qN=hk`!6cSG#C%yoMmFENXG z-J*`04lmcyC?Wfq)$(G8$2+##E*+aqz0${1UakK(7Mh6aU*OZ9bR5=`WZY%8;R(+A zES@{&xloPz>FwMdgJOMfYi+|j>DMUK6q!FB;>@*%{VT|wsIO}9UVsAI(|LW6puN4l zik{)E-?K8HEB&AntDTHvnItA9MGNpiihxUaxX%8@)RCe2$8uei4;F_Mm&uW3JDtQr zzt?^ZOqA%72nn@X_2@P^()8q%JX=1mavY+R3h-Ab6Y1pGOSh;z9(!7>-g3R@8NPeI zwql&MLxQ_?qJO_#`k{%t(8ud?lO#w4We=LJ^eU~dyiP-;^vtKM4q>R)9Rk>%wIdNnddH~!KV@e<{a5C(sxenrM6%`52nKL}1J zVK0oXU?lqC1B=ZZH^6g)2`o|ipzw+YJfTvxyOUT1Ne{r!g=+bnff2-?F8fuQ5Zybd zns|~RqKj>*hD|t{AA6K4tB_NS#PdeJtuI%=ahYP2Ph7q=s^OmM{P4A;b%u}*pC5Hd z75N=7&I4qAr)GWq<_*eAA#Z-Qa^1DMMeh!)xCk0@(FLS8sg~>Xhrdll5kZVSTkMrU8K+f`pbvI19tE5OnZUO&6bkU2yhLkx8OryqM z3$Qh!t`sswV;SStq)_?T@TqMsAKC6Pe^j3g=D;zE4Mw8mvarEf06ZW2`1nZ0Pz!5o zgZqF7->Ilj%B4`(bof7WTi@H0MRq=>TXeviJs{JQ6qgx}2J2c1R!inO+6h^xqG#F| z(Gf;j+cOGFa2IHD-|kC zR1;~7IxNs~A`gziz@>eLj~|$4E|V^p3X1wX*Yrsv6e{KhuN1NsPxjB%J8b6t^tw3V=uzSZugO84@Xy$%Nin8W%I^!)6M5HMZf z?1#R(m9==l0rvKDSYq%!260u)?sBmmPqjV0$5VzI*1ttbBD0j-1 zv&pg&oOs`ki+>#CEe@iJSUnTJ)sR)=f@+d$chRo(i47*;y>~A5j!@? z2YK-|T1vzV69K$xZw$5#VW!}x1Js+xgPH#Z8i{N*eUJjjO63_};Dz`b55(EsA>eGb z3;aOwi%G*vZsTn_oCcu5GYjSNhws)l&1$V+`$xB7gq)v?&AtAw)QkqztL5coZXi`~ zRL1%J8)&Eg6QxEo0)ZhwJ`J&!fJ-6fb_}Ze^eN`?qrP#D#wvAsVjkyEK=Z{s!5nbb zR#apK>G2IM>phh-tFbPF%8Vk~q9XgZf@#=Pa*Db3Z*OjHs)!G^I8s3k1k`Q{&6*ri zI814l#6TLElbfq^BG8nS(AyP)4>CdT5r5jkz;4TiNKn>54s8Pe&2FPYlJb+4fi#AK zkF?A%7FtQyox8u;d%v~r(4ue2XeBeWXqq1OaS@>=;vo&ySre5GHr@v*Wo6~Kw?6>$ zM5k7kV>wkem@Xs)>*FOC9VX;3YfEz4nfYmqxwJM=4KP8PS3_gZ_2TtkaB+-I2vp4T zaoZbt{twBj3@nKGoI`^(oXhSMz$@rHwdO<=C@5%O$m z-ntwcAm(>O_g%M!u@(3TH3%Ft1A8_JS#c9_+PnsIsc#U*(&^?xs!arcO1@<}zcsI( z7hIsQuzS1&x4naa#fsW#XTmvDQd)Wiu|!t23N;3$)5ni2$ZQ%BzF1-Ikmgg1CLT^| zj0gxbO9}vD8pMKEpg5WP2+Q!eCAeH;y+d9MiB}<@Xlrh8axI58Dwk_=47|i56&#c< zZxK^AqR4K&!~lpi0vex`)Gz)<97$0DEH1M(cItlV<9T$(#eX+f&A)LB?~L|Hgu%7Z z6&w>~X&3y}-3wGjCB@Fn;;apR54zoyS{{yb>Msk8r1}I{0J4>^H^iHWp%J>S4cu)y?o+Gs;<(8HMHTyH?wmVZ7 z@o1%+*<%)G_NPT(PT}|kpr9e_vMYPHh*75mHZR(cjbYHoZcYG{3Ak7t^>6iave9}& zG+_Qjz=;AyCmN_Ayp87dh+Ow#<2CAySlB3KbHLm@+3j&Qn6wYMyZ=YoxjC14Ux`Xi z|CmWgsn+TxQ_~H`9Wf6e>P}al-_(1e+Mc_|*0bfY8MOg==q@oP1}9?pWGAQZ;`*A+ zYfLon<_gng!49oMko5O?Dj$g`}II({kJ@{rP42gWMa(a1VL@nTXQy7G+H&PM;ROGPj*hOs>$0c- zN*5%V1EAd_Ux4jULKS7=8FlhBCusrk^Sa5?4e5dh=ib9YTc7%YGdLru_tR5S%GaaDAv<5DCwAq*k@_MFo_b^b}A9Zl)Egc-hZ=4Ki{R-Mh zb4%Jt+m{1B{j1!;^s4ow)^Ji-cR!bE(Scla)R?pI!6oj^_-=64NT~*Hk_uDumH>7< zdTl6WFE4JiH|dWY5$};BF{PZwSgp0;(Q+66)n+y- zPU17JR%9*b()Mb5qNuA{-em*qT2|NT&&YxWNgU*rY7q!sUGtOG$(1JAM9(~5!i8{q zoYO;$JKE8i^wP{*p%je!7^PY@8Al{8ho{lM~=w?008{gfd~i}b5gfJR<4-s?gZ4E zt6NFHPy7JMH=6MUcGM_z#66$xI%f_0@(m3r+ev|9rs;0MBk^j?)xPChAXc_Hp)Aqj zn)e=q*01LCQ(avs(seInibTHqewBX^5dV0!FHYr%v(aZg=`!L)T&1fe+7DffOX;4c zIrLHgN0O6sb>$AUs+rPB95Mk_v@2kZH(_;5#Q=SP+7rRrv$#-bvbms|ngqw^~OX-BVF^*}|% zd?G{e{?&P=qN8JN&jR2nk$sfw;Z)@OS!km`^#~&7uAL{aBuavS3#r3i^fu$`_70R4 za}VDi`fw;-^-O4bVA$##TIJrKrP?#h=VbhUUHAGpx_~SK5Q1~9R6rWLF)a3ErpA;h z-3P&;=W|{NyG~1idhda})3~>Dun{=3dt)~`?%^hYbhIV5LX6z67`Nu<9)w~qRAv#2 zIM_!xbvMCvwXJO{^(1CeEL;D*Bx^|t3PaIIrFwhgy4A0JMk3?vq+X{AVxT|(@5GUd zQFRV&0UW5^;+cr=As84Rj}Jlage9Nw!*M@76xa1as`9Pr;H+QGf2!3LK7x|m#iO;4 z&$i{aka&2N{Scvd(jnbJ3)c^x@q81HUCHlV1?SGqoT<4s4*8iFzw^g6@$ z03+nzWnk9?ysN#&2kQUq!~2=P5akcTC!b@d&yL|o%L@UKu8AqdcsTSA)Z_nVA29xS zX(O&GGD6d|KL4*4te1o$Er(5l6a^;8fK&6BhATdGm`#p}rL{YcFW0;-%RpRa!-3Et z`A<)HJg6kkOWB3uyf>4af1+09m4_4{!p;F$PXkS$mTSAmkpGu@Sphe~Z6DR2@6PNv z3jpM0wOAP)jGGOCmKOr<8+4iWb=^0w$$AbQq4*MYIefJ$h1vwseVrjtcn)ZCyb(l% z0`41WDvws0j+!#<>OXrm`S4@SRwRzf)|PyQ>t`mMEAF^O~W z9bWEZWJw1y#*_qT9|ygrVr7kb@mA_^RGiFidxGX6=q7BW`wWMZ@Fnm#n0yMP>XfAc zNx%55M+QWBZuxhRo*YN-A|N~luc9GoXV5eu07XDr z^R;@51@4pWNvBgbYVal#*vsJ1+_&Jp7FxAnN(zbuWFy1TiXIui4q+6OvMg!tt)SVX zTFfzZ5>KlUMb#+K4Z4zm+9wBwLegi=?yX%wBWMn5;DG!evcID6S&=~ z3~R(~kO(M9UT9;rHJ{si`GMEN#}xAhOI>MD6jx7Kuok(p#c_kFt-i)|s`j8WnKyiq zs^PFPS}SWQ-eIW*UJ-q~I~6Y-&&akN!gS);GRt8(hNJ@rlZH(7yoSKk5}3_d4SVh! zW#MDv2cY`dq{ZKr&nP!d_qxnfaHK|I+)%3cTV5(Wd2+Y-cF9Pg9ZAqqBkPbz)XO0` zbcI#^qfYD;ezz!Z#MSecFVWx4H#oT+_fZjWe}1*KwN+0nj2;=8MICzcnOh+;(v$sI z3E87t*q~=yd^flpvCBB4#a-43Gz@YY_5-lwJU+1Mq-otME5AftmEw zh4QoI-(@;T#Ubb;Y}C{(0LFUb(tbh$xWxWTI1ms5k|ed|{=?BM9dIS?q;AvgHeC#j z&TRGx|41%oBYZb=pd;e*UH1HRwF}vMv?mm_W9kGy;w`USH__(Y#NRAz-I0+H@E4{*Wpz~ywhkm3w)28rJm;meMOBl31fI+$*z#y2NnG`T2Lu& z7)B^-_50Y|DqZ3G_fhK6X>5+#0ty3LUwu?*99*l3%)vnfLRh3d|Fv4=z+-4Np5F&c>P!;+6z zIsTC-aqr8U&o%$(dhBVtF8T8uw%w;AK_kq$y1HuOaI**3Um#AkEKAw-+QWk51GdIZ zjh1sHFU@9uI_~`8usq+p{w`n9da~cRHCL!qR8)j#Ldxas>F#_``FZFL`5Wg~L|c>9 zJ+FzdeB$6j7q6I_Z=^JTnx&y2u9=8eT4SYho33VeE)TPxRu9iw=6?uzd;Qt^Zvc_$ z9oc?#$5S3|+m7W3#r4lFFt7@CFYtC~nT*LNk7&D@#eGkq1j`@_dZr{AvpE_Q%69qO0jBe_=6{MmFhB3 zQh~ARo+=;3N^2M=0jukXsqU21S}gvhL#6s)2FiUwXREVG_xRMz6)8I7=rAtLT@HVd zB|SLf-R<3;8RI@>#cc=Bb*kzf)h!y?S`z|(Zf))-i<`g8SW>zv(2 z>$!~jiXmJ(s(dZ#Hue5M`nqf}tNvv8K#sPV!aRk}EF!;`AxBVFnu!jt#pndHI6uZ1 z{sRRvazTyn`*3YFT7FnXO(zzUsfn2?&D9`x1;UQ82df$2wJcB7i@1|a9Ga4r^Rwd_6(6f+PPj0E;korHqu(r2IT(jKIdB0 zM&V&8twy;b1A`3b<&KXb8DH2OP|QAu3tnw%yKm+4oD8x#?ALFo@?yP{A zw?l)d8NbazaP&T}PG5_XX6&;pZ&uv`>~@&qIAxa=TZL&+aokx%SPjkUfKITvzp7c( zOc#Tq)KYahDn$M9+P#riB#tA(8cvfc4!e~-s=OGGciAt|g~+yv<*DF>K3FCQyA%nG9Xd=@7KanJq_j_3 zaCeN8Wa4a>Jdtml8x4l!YmZ`9Q9JJp+pXxp;sO6t)Y8)WH&{89${#wMnhXM}7AjlR z^r$BomN|L9>~amkxBS4jMi?75vzl&>2QK$)eYAi~0n867S6V$aQlq3ESBUMEftTPn7mlI`w(_kU{HmN(FpGt;cpMudf!BpIO0Hj#VijpEjQZsrc{{O zA-N*sgY@2S#)|@S1vytALgEC$%2DHlbftLg*Vn@rJRCMsU4T1*#Z#WoNqE!3LLKO1 zs6YGjA}YYwO-P;! zk5S+k9*1d44a-<88l1Re-rHK#3r~!$30&3T!6Ka#;j>CG2MZbs$Y1HnoG}zgTpn`2 zBCgH`2uxEV^=^;jW5e%5MyNR~6$k4$H3jag?j=O}_|UirA~YAS^i{Wah>m}LGf*@` zhb|(nEwyE6h7{v#3mHy(=azj38Oo9y9Oe2P{2*Mff5x)p}eA$SLTQ9aZV?HtU`HMjH1q#8KeyZ={dZC#P$+m;lzpepYk(5 z6}tHx{6XFZ1>&huR2&Qpa*q7Wcx=wP`E;jva$DN0PyR8M6fCfv&AC|HTl^R>+fJLP zbR#7-;8qWTR5X2LgoJ?*JZK!R6ZeF3`c*4p&-Nsn3{fx^34y4h4;2+x^-Gn459jlT z5VKwWVN7tEpBw9UUEHOqUV|&-_hm zWMlVE(9GV*1h;PJMg%&MYq)M2JIH7g`80_*F=<&X>ML0zif?zH3r`zHzEZwiJ&0!x zYq4tUaauNoj>I65XEe0;C+c$0*JxZuL-Td=)bCgn6+$3!By0C7+Ccyf z0g9Gb#5s&9_u=t-ddRyKwfLNtF><`}5sH&wOZw52Z{TT4>2U+Ea3F0}x!Mp_b#OBh zv^VmNLl23|YE}qi5%OVCF&LAQaR*cgX_~y4b!k`Yar#??YcDFqECIP()*%eFy-eOm zAxN)uI~^4Vpbnz%uO>Axfjg_r+iifW7+*AoChcg=GOpM=*EJ^%_6fU8KdQdJ%kp9i$mo7v{gkrKRLeD_*DYimk}_26ZR*lhmGDZMijd7@-x#-D>#+wJ z_E_g}MLQi{2y!2=dYtdxY>EpZhwF>0Nh8ae&&*Autj61Kz)?;Xy?!Ro+?wUsThjgdN}16F`y?cTd6Mx6$u)!xYZ%k^Z3%e8nl5LdypbSw4NaaGG5L%V2W zO!BPfoseG+)^IctAwL;wVyE1*@JTn=LdZ9Zdwt3s)LSq$hd?}oDPyrf5O~S!XeP(K z_oNQ^oF1E zENtUHPes6FB{SI_D$C1hY!a@1>WP_ypv$;+ug!<&Y(nYeumc=`v52rqbKfrfXj#oJ_Z}{FI1IA%7!7eu4TkgWt0T9kUhgW`UE*jq zX|E9Jh1TtDore-No&)raybA9h(<1pDPi3c%7MKF#4f{+qF(zufV;ib!n@Q%f0mgEl znvr|-qCEx^lD?cTgfQ<8BZ>zYd95-_`Gom@wE#V&1B8|(3dm=9Z=%fPka}G=IN1W{{Fc}m;1xbzvZ%` zFJk;ByI|=ysl@mg=D?Xuz?BGWkO6COcUd)2Z8KW2hz|U|ej!baRIXy~dk8&r!TWm8 z>eo_$hReJYa$o0wA4cY)C<=LjGi95Gt-Lu9mfg;0OqKNX(kUk=3sdj<wTD8*#At{byl1PAz9QG?o zMewESVP3jB#Nc#3E@oFz(NAj_V{6NH#FG|viKr`fXj6MqqTVD|b(LXK%z~WL)*5?h zdIDu`AB~A-aAIoAc9bUpbOKk2mR*vjR8ej72MCaZbf+Ldr%&Li%F!?=Sx_W@ybtkw z0oLb*x)0(Ex#dlfiP0D3e$_^rhbq{o?>HAdPl)Y0pIe8{9!zwRrK=m_L}T{ zSPgBDqRmZc_$jNCX}ym3M=FzBsB2J4WvfHk*rG^ENlC?>NhSBG(qJf#V)Xyh-go{r zm2Pdv@gQf0QQkRvYgiXzg4AV>?A85vYWK?FpKQbLc?LXR_!I%ian-ibamkrE*k zsR0`$Ks1yPT0|f*1PBmF2!Z5Tn@{iW{R7@llP^F*vhRK0>t5Gd*LCfkTYkaGV$DKb z>$ttCiZa(zdy@C0?6E(el1eu$Izt{PahO#Ivd>6^fu=T|;Q)jne-p21zW?44Q%pI z)VY1&rnlI=w9gQhYSq|QU$^`9JI%wT7Y@{Fdb#c0qfo1v%GM~gxp}kw=|+>&(V|Sd z=cd*vvOV96MMM>8k0NZ&?tBH5_lvSJs&VVmlgFxNMg>-heg0(?*O2|9Y!MxXtX?cV z5kELM=!`2MO+TPWdnc}FI|y$;5+3w^j|7hr?^Uyb}_yqVBpBN&+^wgxIGTzj$vz#*>eNS)-cq zn^P==!-rUFAB?M)KB#cS93t%pt9@0sO$u#{nCeaQtyali{W_HNw+SY#$#-Ck?_iAX zZO=~M3mFZnpP>4-&d7)j0Gq$FBCd1tg+J#exj(c~f z&XH*trfZmm&d1IrE(y$p?B6TJ#5$sfAq?iPJ5Ou5tz97{DTUQ*!}csRoFatSu|4g*D~C;4*S_&Qwi1jkGBsMZA-6Se{GojJK%>p zm|V7?sa;N~5YM03iWaDjubM)T#vXwTk}=(brd=$(+C34&&vPdG%(QJ+EQeOb!{iDi zQ!P@nfks}K9lJLt15VydUM=?a%d#>p)tykKLF@VXLfDWqwkVu8WU}`89@_K6<9&dF zFh^I1T}5L#*p7tWrH*~B+@q)Nj{#X>!p`(GfF;`p9XzzG_Vg;xj`JPgpzc=h(Ncvf z*o<445(1?+2bPoyVI+VMIyRT3?-|lxQSV^77jXD>zu z&nfjOpxTn54$$6iweQZ)m9M}2^}QO#9Pk|a^I4d5xQRLNXNeX|Kj#xB-}gxVP<-Ye z5P-mpdX`aK^oN8P-4iEH5Thv&<;{!q3sI6hJZ5R5oJmIG7sk|~2|zD@uw>nsj)lrQ zKj-)XK4Gz4qcvipS!}(xoQxqzH>yAE_^}uw-NJIMU9oy1nm5w|SGcgG!um0YUoL~> zUR0p7n`E1vN!7(z+FFR$4tDVT0|aH{zD{o?BGKxcWld*;U1_QU%}lF)Y_a32aZuyW zQycN`ij*aD=nFc=DAXgYv-(|cFC?A-zYPM1UtP>MH(|KN1OdHxh3oXuqc_i34@-=3 z3vQkny5C`npG_qaBV+5vZauo+F*NE$o@){*E_c8CZ`9XGD?2!SFwd|{I`-x9=hiEJ zS%{hsXK;R(wRqi(`bf4)%#9i;RX*u4exEVdAW}qoEj}wBcz#xTd^u6vSIO$OO~f1{ z`_TGmwq_QJmdn0Az4>|SKzv%oFK+U&A{;+mT|Bu>e&)WC`^DtIxXSnx8{(iNEvZA5_}`QxIwA88j2k)WIxg(>fXcqk zvdW$ZDuGY?9}u%j^2M~>l?*q0Tpxz-C|<7{WhXkyFbp?w6GF&JRKsq&#e07_D3WxX zEf93@WT~$B2~D&4*PhAK1icn**?%@~?=o9^Hb!9NiTh7DVrO(+m#Ji0*MMl^LUL{l zTTie$UuQ!uwh5i;3?OgTjiy={z1qmJh=~A9C|{W$HD=rhwdsSLelhd-0oLXM-tqOV z1J==`361#?eCJw~=Ux*jOihuqfXxi;>+~fbMo(WeA?*zs+XJO9s|WT0 z=FS*U+dbJPQ=U}wxO{!c8}i6>d*y6n6~fbiEMKd zW0sH;D{*P^%E0MH(rbYSZum^->teg$QmCXg*FNR=4{vym3-rS!vM(GzA*tv@pLmAL zyqV!D7-hNVtv>v|YmRxMVa1rz_4&8$q3e2=+}0WuXq&{?@SORODV_T1KRjjR0}_}@ zYLM{_;$XDMEwa3^(Nwaqc`sHL!?H;Zn;q7-T$AQUeJL#w%m$E3LQ5_|pkhsHaKt^| zIfp)JwYC!uw=I_y7az%Rjd1S6NalK=F1AvO3rm1xR}(zmNdI)~<>jMZi_tuen&JeJ zN%krBE|YUlEXj}5-Y&nht2ig_1b!?!)GdBeTwZ%grr!0(9fiOCB+#ONO?JU;*vA`x z0dJu%f2hSOex2;@H7}KAO|G^}_%j+0H;(E(Cg@tz3t`Zzk-ia|1eR-LZ>VQ}?;u4b ziSr@B*~vGs{;hGy@Rg1tEd5-LqtH^H@y@E=3sKTX$ zH4=cOmywQGyJel!?=PYKN~vXZPuXH>I|E{bU-R!wX=sO(6DaYI_9$3~3`|;HN^V}F z8Kb#_j)I}-u7-KNdcBj*$KqyVH1UBRVl=id_wj%94`TDeuR&Fnepb=Kuw#ErAW-Hv zxW3dU?L6GmDGIiaEIG+ zof!7@m0hx&+8g(XB{5UTV|89?iZd%}T;EtQ&S1YL?#q6pD|1EmlJznt2iNn!ovHqo z)^t=W{D!7u!fWje8DEY&7*ktLnLJktl8Z9sq<+gaSDg&^@StqN(mu=m&6X5duQx2m z;+vwZ^sr|2s13NM3RXB5NSQJwuSS?nkJq#MJQXcdtc*^Sm*7qOfkhUH|H(7S67L!{ljtgVXK%}4 zWF&Ul)67#~-LSP2Wj=#$Ez55%=;;VsQq3UcWLgs9E1Q?QbK}>!NRbTP7!jeC!8z&z z0EXW|s`uFOCe*XT>)w;r2^>=P~1`TQ0fCQ{bYY$2|Q z<(V~USo`}hrn6b@N#R4PnFY2d{U$94`Wv}(t^JHpj(c$L0jqs^>dpc4;UOc=9Gx5S zvzfbX`|$XQ1IF%zpdr@nf{Rh2yx5h=hsuqsbzEi{KG{oTAvzx(-ftK%Qa-noEJr>Z zFL-FF+w9ICyk^TY3R+H-=es-UUX*-&Yc5%_XKqR?f30%bcmu?~wjvVt1IrE02f?G`t`3KCRYQt0k{0O7Tu-tJ5ygpggy9!F z13j48#yGclnS{m3plo;}4CeM-Cx7ZtBQ)FH)NibyTWI0u8*euhXs8hkU7ISB7c629 zTN@28YKeP`l(0iR%2~&QZzOBqF#WpfsNutYtjujT{;N^_-X}*F?x!-{6~*5ak>3hObwW0W ztEP|=TPI`6Ncr$A#nLc3NpTHYrku@P70&$p>tn|%|?3u?YItJiRxX1;p$gQf8i2L}gd{Nht} zaO3D@Rzxu734IoX7SI-5z0+i|o1-;BqAEd4^lD#0;^RxnTVlvkQ3KbO(6e1MmM7si znL)3{+qEzCY@+#*GND^b`BHLWXojv@lTXe(zEib+Jh@|k{85)6a@@Ibg8PuF;mPqv z(NT#-+{k}WsI+3}9WKRk%vjbk>82o$AFF}T@<4`?dyPh+;@8d?;?_qPje4bw#qxqc zRK0989yx^wz$QU!&VEBRe!~62&0i`BlSLUJY*}tbi*W4F>T0+NZ%kl7sWY-%pTt=2 z4Qy@hSdi%v8oBJT2+2ItpQ3oT_?$z9D z5l+O(P9j{a_DKI3Dq)1cxl@#8fSYJGKRyfXYUD?y{VHqAHbjhtqg#|WQoF$A35O)} z_3jDKi_X+tJ-X*R>&+7Ws-5ON2J1MU6&174BI%1=Y?m-S3T*b~yMzx8(t+TLnq9I& zbJH@&>=9m}1NEA9vQU;i8U8Ub5okF=K$T~+Ko^O})G`xbbX^qG8q`c_bI zkC4kaV$<_hanpj~9uxjR_GS7;{9vv36OrHgs@hYB=#`$c0O0NS7_?ANVy|t2*_}yo zk^YC}o9z_xt*S+3#x~TGD^(yattEmBWCm#aFRVd7Rq9^E)KV4V3DpD zY0%0XNgEp+OWHycKOa`+u##KkWQdElx^;MXN)M^5BJ6RZa?Ql=Paex6SNZmXh1NSN zDAI!*2BcndVdvN8<>g1p&C(qTiK5w->wmq!wO_)RyGO_|#s|lTbS8!j;;gjIje>hJ ze`&>M3qL)K5)erM-}35Ef2yQxK8(}D*~V+#KXagLm79a0L*0l^Q?r<@0&uDq(EOem zAyHkP_Dp0in8}ihd$YYC>C~^^;QK{gGb6yN_+Ny`MX86q54xie4%}doZ4Eib8%q|=y&(S?br!0(@?hvzj{q@Qx0&lFr{*vr{ zSCpWl-oU$ipuFK63u?RQq=4)b0qH5WCovEAMV@kt7N^ztelp*_F0yrS7(B=rk9fOE z%;dP3#i7jzo*j=>EHM^MBB$3GZ=iz!;hU1=W}y`Of0(cyWAOr;D9$*(zrnr)I>PiP zO75}xl=VSU$e;r#32?VPq&5Ehn>-XYM$qZ}JW>;w1eYEqpY3T zwMlxC=$^M0qH8KDpIe@n%Q-C*R$s7#^=uWi$e~A&4UnD96p#Pu&iQyK!8)fdNU*Fx z<2{7q{EhA|D{#gdC6@4D%bbbm~)X!eR=gCIWL6ZSZgK=T5$83kn#ow2a9Z3CqkzQIxaPZQ#yU!u1!8|&)ShT zof-TP7dy8>|4#wk=VDH}Flba8FY80y^)9%4EG?b#{v^0OKyKV3P;R~Za}HRah86mS z{+AAAkW+Se{$DPj*YqoQXFkG3JE5Da49-|6trzgM8ampUKMy5z0(m&(fmQ6yJz*x2 zZdR?R7#*SCB=IS3WD;!&grfcgt7B__va4?vjT1w>VsYWjJt8Mu{bA2LRe(yp3L*sTtk z*)P8%@1_$vpVs*Q6!Xi++n`50j+yN$A1HP(`muTeOF;oSdoDJ1LIXvuSQu~OAiQT~ zi*RHttlx&qq7Z_CF9vq&?##$QslC8bCa`o4sHm-89dh9iWgA$8ZE6;d1c=2n!o=6V z?yGYrYA={Z_+~KNvz)j`4bSjf#n;$_Jzb3fq6%c!{EnR2$Ne#LN#E{1;ziY|?}4q7 z>Keg3oN~nGWtcX~DR?6${f($q)UxvR(;>>nj2;=pQ|#Pu6~cDIp-4OGuY@-25V{;f zV=vNDyHd1N@1OGmht@>&)ar_BMaIlil!si&4V3RQxa=b}pt9kJXdLhE7B!Q$!e?1( z5Mx7pX!(fq;IclhW%XJg5YFXr#!O(n5W8rJRuo>g*SXA=gb>BYdVsBe(zYQMAaCXj*xTAjg!Aaw zwMB6G?AP2I-ib1dN7zgolE z^Z>$>A|z+)p4!^l1~48Vx{42=#a4`fYle-)^e8~Z1>J_9s}}WmJHKYsRk*Ol*bkZQ zZ5#t2_RK9K0)1$iNj5`j&zwN5%4`6Ci4CwYmJ%i{gjZ3|hEmi2fudSIlxNVUp*|}h zO(N{VT$SM02Nv((-uF_4+L$SA6^o9QjWRxPZY#x;BOOA9(S-s;Qwy?(H++ zq-a7S^so^!USM#y6l7#*dH9JgD8jac066*u{zQwGYSrl|xcQ9W%R5GYW6)^%NQv$B zT0eX4ui7R40US;*!;PBSg)8xV7{QF}Z1fwcX@rxyJM$2@_+O4AM+IsX$adQycfw}w z?Kj^tK?a!bLbZjI0(}A#k3*ax5VV9YpqZb-Hqiso#3cfn*%cmxME^krx)Q9164f3u*z=xim(o$>a zD5|4L4)l6F4FoO+ZX}Gu8W~44MEI640qE2RZxFQbyt zHv@~_2mYZv@Nr{wTME5nS^EqNE1^B*$I0&QLas2m}g0?|T&^ zZI(W7N&e8=`@Ka_%ShOp~!r6LCz2I9Hu$wF`S6v9y)alW2~K{z}>)oa`rC{!EP zUKjPMtsoJTjpPkPyTL$21y;S^%M7JikYPua1UT~MzPX%_$PBQlsX)-Aek!oyfJ>_D zu`-%oYF`3Gppk-t9CdrV_xCpduberQ6v}9y zi-5{0AY=H9)cBRYeA(Uh+jb?*-Hmv@8@CfCg$|$Z(FI}-r%Qv_V<8$#fptEP=;n|} z^8hulf?i|V(*tMsN@pPwil)9DAYd*)<2)Vdi!(R_sRz9NXrK=(Lv2R-vPd+*4S=26owcjV9zXdsL=ou zGl3J+reP$36S0C`b%aDGL#P9)W4Qe#w(G+A98BCgA{P05`k!C!r))1DM${iz8#W?L z0Fz8!6d^WfWNg+cN4)8U)>*J7$%Ww4Qjl5l0r__9{4urto_q;>X1X!RJO9oI*><-G zJ3CMs1>0{K6eq7Ye|!t5;%IQ^%e!XDLX!dsF@-jUaS<;|A*h^Oz)XaY1Nx{0I9Z!) zL+c!)pkr&gs2}rT+6!S8LfJjmHa0e()ELCAuOMPeKN_C9@BIc6#onkO$nA(*Hs2yf zSNjL4Bx7d=NQ1WE&-+X@hX1>mds3f7kw$~?)p9Y*;4mE2b**L&5C|PGRNj+gtS5kO zA3|PBRr%RzG5+)@Fh5Y=AA~j^DJ7B%!LjMbto8<|ta&vy56g#uCM=Z+gbL|)G=%Ur z2;r@VxAM)Tt6RT4(}o2>9)JJx_ayus34iZ`zjwjkyWs!b1)pX0*bYO~-BYOTgf`00 zdw%+6XWl=%@_t{CL;VU?V&w6YzS7puyYFsn{Y3pM6mdDD{=fXgP|qCWhpnTv8TZKz Yl;UrF{)cfd@`Uv-mwv81=12.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -26,9 +33,13 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -PACKAGES_IMAGE = MY_DIR.parents[1] / "diagrams" / "packages.png" -DATABASE_IMAGE = MY_DIR.parents[1] / "diagrams" / "database.png" -MULTIPLE_FILES_IMAGE = MY_DIR.parents[1] / "diagrams" / "multiple_files.png" +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" console = Console(width=400, color_system="standard") diff --git a/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.md5sum b/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.md5sum index 9b9ffcdc2a980..f14acf5c6c246 100644 --- a/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.md5sum +++ b/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.md5sum @@ -1 +1 @@ -00f67a1e0cd073ba521da168dc80ccaa +c5e05dafe7b9a39325835fd3a2b47d4d diff --git a/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.png b/airflow-core/docs/img/diagram_dag_processor_airflow_architecture.png index 9d8773877835a7a1f49fa1e0ae916cc067812308..a13bc92586fc794c3f77626942249124476a0a40 100644 GIT binary patch literal 240630 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
    j+DMuZv-6)8=DS&Un)yK;@2Qm_YPR#vt;H1V-V z{@xkZDzi%Q^#G;VZDq=T22yxACNa#o_mZ?ao;b0vr|^cQcTN$-9rb^B^aoa2Rb?pv zGr>T$dc8O-jsHa2Zl&Y(cbx@%zPW__{*Tah5El8{a2VTCff!N~bIXbK6x{DFv*E+U z6^Vi=9yuI#`TISf^P4??m0v&k;Yt9YU%9|!EhvQN3;W0e{ob(kQrwEC*FFF3)>p@g zdKYBa?S`a+t!}|R8$2`=4A?VVlhCf}fafk)-yS90;qfBb@$0@khnFCy&=gWbXB0%7 z#YoB%aSMDb9M;sg3cp8&r4yvXT#2yBUgx?|C&uqiC9&wtVSg4f@wf>?U{pJ>y#I1NXRwCARPuNUob+1e>ZG8J!W;K)%bFNiqKWbu{H?}8!;g{o*WZE z>C($?r`v(&)DrJB3ZTslfZO!B3UXR#%|iuXP+hV)Nqv-lDUC<@VhtG?7#oxRGDw=w zAFh6tV?HIdeT{$60C2i>qhn%R-(AuhoP~;?G^y&NZ5(ryq>-Snq81ih(aR1cg#rbtz$oF==a2x+%6?2i z0_gr1f?T5$2VX*I4ZRZGMlwA7&D+g2r^C7I^~gw(&CV_vQfKnbhszKrE1H#aTlT^EV3CG77*%#-w1J zVpB~>u=+lUm$_KqJMJjE20D0fUhg1lcRx395Q@*7jZB z%YzwoYohPkHFo&^I+yfZ_6u?C514r+CASzPcZi6$_GfF_w+}c!mLQlF&7a?UyC1wN zCJ#pW7JTVSs?$<8|CC!@U9wh75862^{&Ut*p!dLfwza)E0DA4@`P}H#+e>3TO-PGQ z@$-iK`~-VT1+Ph;3Xl^<7#4`7`+kt`qf&nNpEu(AzA@KH8r3hSCNhBN_=5D_Iing{~rW2h4 z!-5-^vvv>byZ2$wt1tWTBKiundHH!xo1k8miwkBIs@|Ieqy1Y+zIINB#F#$CL|E?g zD^*VfrNECDfgd&+K=dIBN|XZFWchrJ`RjLz>7m#(QtOWwWBr$VQxi>JpvI|E|2j|0 zkFe@$uoWz)etYtIs>=C_Z)-c{S%sVH9kHnthA3oJ&`Gm&TL!F!i4ifoM?)>}2G^kt z4fdzrp_v1=m;SY?-7z|bvhXhgiW#4}?{?6oAge1AMQ&*O64n8W!Y~pb1tN?w2^s4; z7JR7opL**nEyz5r-!y**7%#(})Q$35V3=rcE!hAs~GQ@?xHGIYRNS|;do+W#x6 z_gHy%9=k{AKC=JfcIx~#k+7>UuP$l+rb~g;=#fM>jPA2+U_GowQT;VJ(i;MupG=$k zR#XIlfuYf^!QZ|pj8{&H4A0uxN3)cmdfcQFIoqZIA?i_qn)w46nR2$oOL9|m5u%+* zK0YsHE$3HY&ko$}m`?RG6J~i>GuSth?7%DfpVFf-r{DeRKY>&)@q@ylsHk;zKVC^< z&);7rG4SX%09Y4#-S@(;KPZO4vV!x4D)IGpD>yE~FYo5fRS?~Fr-kO}(qQ+wfAqPw z(+_yMO8aO6zu4#qqR;Y#_gMadOe*>;4*#z_TrF^F8Xgmr^Ed`3O#9DPk+Y%D4;`YK z?n+U%`LN!EYaPZWt4pUJ+-87%2}vZ<3#hzYRNEu``v*%-e}hYc>m%VvgowEH-D=!{ z;jxf@_45)g01E0CDlR@^bmD30_RyBy>0A~h%-xV}MG|qGEg+KOwI1VHwAa!wpI>$HDdDSO;*^4xszATswTZ6k zlN7hEKTVfxLZh2JYmhYMoT>z643L(*jjvbHy}ouo)PGb%?1`M)>f*!k>G3M9!<$+| z5jXBkV$||=%$1wGDCiUV{X(-7Ii_|%!<0Sdk;?wNI;$CQ5E*9mQu7C(fsOc=A4RHk z?>Ru4TkR_=dUClR@t8W#AiQplBE`R8J7Kc@g>`d{Qw!RWps?!YR_Izef1IAzrmAm0 zVnvnXz1(b89Is3ESBnt0wvERzky+tLQPGIP0-wE%414rPCPxQfAYq;MM_7QV4rKgn zh>~$cuwXzQBb?Qrx9kKKAcX-)ABa~IMEhJwhDMAN48WBHEiNJji~And5LC;>LOi0@ zJ#0OnKDej5Lu25`+_`;zYxQ2M$Pj$=fkF{HCjjnR(Bo-0G#Y`w2qtF#W`LSHcYl98 zvm^5X5@GC}z%z;MC)_Gu|IT$~h47ghwqgV}SImvdD(!94%ja%L*v9z8GXvYxpx>$v zk?tn&rwck*(&I3X?;AuDll{VBpQKS3QV8~Fvo1nneE68uYZD(trL*VK!DGiFEaxF| z);wTs>^tCXsG=o@%h@)fW8vMj#a!P5^iuDPqF_vAO*;a;MwOw`e|%F=5a1WTPfW-N zt?hY4o9elty0}D)@Oq zT&vX;CDL_n&ptH^Kl+qRH9>qz&PK|dVQw2>Eypo14qNh_p@_!2W@w_V$}5%|n}89Y_Du@^crF>$F&U-IoC zM)z!Eduj{FsqPIe3hOgE+!qm3m*yrwt)3LQxW_5{vyZqDL9>i20S`a;UM@&cYZ&*7 zxtwl;->uY#joHowuByiE4K%PQY@umm<}(TUCT6v^8KLR@SxlN@HRpC9iv19h72+o( zZI;|Jppt)KJ1lc*f$P{)UzN?nKpN80qDDD1+(v-RF0a7oOPWI0sm#jTb7aXW}zrloj^cZS-F3^4M z`|w+@42mlFL2CFkQN4@Rs?0m}kIaWLI6#b@FC+x&WW{;^O!?#e_saB(C-&kJi&@7K zv9cbo)%Jo%leo>o!7pgMFPz_y->d8bfiyNl@+)cUK;CC9NSP>yEeZ96l^^&TOa5nY z-<8md=gUVtP#kVa4=Y^@@36%rHYo|Lp*~hKLCZw`O1s%rDbWO3lvV|j9^U(QFy7a& z7!2kJ_VVKjQ*O6Lg=s-kpcf7(b8)td3@7!}!65xSk8v+(|5EobkFV@;WLYN*P?J*n z`a~=C?semTvq=kQFb8DB<}8mNroVk?(5~_pc}kkl$r+AXX2> zh+5j(w#D5_S-Ihj{E7_tBEe7`8JP`AZi>#M1Boh(4i{@+tLgZj4K-eb4zafj~V zoFt;*X2K3gm=xo}L&KwVwDkL-FWe4}{@ghhH)=!050R~Z+Q(Ud^ZwZ(nHEs+A+BO; z+yQ&zMe^l~9iJO?fehIN<@G6-)qN!sDQ4ciS-&1ViIO1Id*#hdu*UifYF0MV&}(m1 z5fPCHA=3A!DP~SNNw#~mRu0+_vi)C6)91)~bB!f`K&L6EzN@S5+_PE^BHySGm0E>z z_1Pw*sX?u3|D*GpaDn)rMKK%oLs3vt7AWQkwC-lwIBr3`)`9&sDC&g3g|6sB>0uZG zCaeUChC{~LmSbQ=hM#s2#_>Di7@HhqJFO;1ZM$;+D6*0K`1m^*m(5tJ7nzVKE=n-1 zs@FtSzyBtu!=_t`jMWO9^bi}`JbUEpr*!|ho8_JhibQmb4OgIVWOyurXaQOPI(h(t zIE0MTCSJLa6m*mtgc~FfxxOoILRP8565;D;kvJ6SNz&rwq(w)4;Jkbqx`%*Hfyf?^ zkm^OB{2FViDx0pasju>&S$a@(fcflTp3h-M3YIz%sW%Vru~Go;qpEa?DhBZd_Te zHxji%>HRT|NWQ2wzMTI#t)9n=XGC-~oJdNO0pPu-KaKP_t>u@^ZbDtu+t!6$cD@5T*z=ztODpDIz81t-ro}}N^<3G_KKmy zjw-8j(u>`#QYsEEu>dmk^i&U;afK?>sN~>x)ECJzywiSlF7V2)^wn+u<^tGvfqQ!2 z0+|_PypX_z<#XeLvg)d;4B<{aZZ- zHRQ?ZOapzc=a%r*$xmqH(AS3)AlHq6OV5{8Ij*bb-fA_6m#cb(eiyD1wwqS|u*Bg3Lj@lzsV7nfx3n-P$Du2BV&^ zbNyrvQ?v3i3IwPpF9~?DUDglugY^gVa5fVsn%JUl#Fz(``?_y0b?`ex9@)O!IU+w5na z$IT8GgqxZ(Zw@Y-Gfl47l|ZBY;zu~F-1ZlahmRixchJ~v5(ymj)}rQYSa$BM7W~f~ zQ7g#F!1tvI!D&N?mg>W;itlmwiA?{fP+$h8#&iXK1IA4c2%eCWgkUezG9suwfY^_< zY$Pcg*b*5Sn~PV&&tmi!(WSk>##_xuzf7TL@G(S^7-^v0>HFLwT1o3d$6}@s^;dWy zVQd2gruu*;KO0ZcLH_nE7uwG%o_Ph_xa?!y;5R`fZFf74>UnuU{H5n2|Gx_8|BlcQ zXd>saJNV1#><3zpFS2-F&m?i!C_u&!#k_|qXjjb=RsPW>3;Xf;4st(!X^5$=xB?vj zi0_ybd=c?7w1q1Y_rI4&#u~=W-i26x=MZA8E4UU_{>4L9iD!+h^S|;;VarG|4 zCkIRi>^shF5HH{m|H=Sa;e{cP;f7wEywK!L3`EJ^yB#m?wXE+rZ;d(OY`t_i2%DOU zq0)Wybv>R%e$9GfR++LVJOdvM%EJaC+iRk30kDo@YQBwO(&!=}rD6ne85)(qfI3r6 z3NUqlJR|(t;%`uPDNt^N0?2cz+qCyBbk+e04pF&(lt186nB+Kds@IBuk9|y>&?-By zP|g<#WS^oXZT#Q`OX+H&%9>QU@$mtIh_GOW)QR>IR$$$)mRl!R(sOtU)C8C5pkySD=akB==CKy zopndNb@k*uDE2=#3Bu@Y?|^KFvnLw|v}}P#tx&DeW^cI1ycDrZ6(Skk8Qrr(y@JBT9%Tw z3IoR3rdU1Sookv*<@(;4p9ERg9DTp?f4%izXmv9AUjU;M3*dePpm?<(=&=+9Fgwt3 z)~Ak}N|^76S-~()ThS8GjzDTDD$BW{)UPf~iICB=;}hea#A|!!NF-u@J!J~djCxGdJ^#EhGj#bKtUD1(8ZwVBP!+F%kBzn zw|-qOedQ<+xs&h?srZ~0RN*f4HMWyp_e=)UMgI~8(oGFv#Y{S3O*8*QX1+#NMFuqA z=R)b@hYUy494ilj>=B>%ou#agOhhF9;ro|}!+AoRlUBSxuM8+|(wJfiXlRzJywEm2 z{W5^70~9^rvK9*hW8SUs!P`C`A_HK(s6kPSmYg3_@aYUu;A!9G>1syg_wU`M8)9xp zxCRS<2(XdwBj31Oa11B2-{Q-}b)4$z=Zj@7=Q}v-OEr19se$)Emew$_e`L?AK1|%O z>h9suvO8F%M$I7Ta;kwaDJLg5&rc_U$ECZs(^Js+FqLq(`vIWKnsljs9*=J+{ZiHZ zGBPr>>I}hw`R^gGPkVwRZdJTKzj5`mA2^YTcnLxdA|^kopiIN%F~=rXlr$tZKGWF= zQ`N4*B8$$s!)Z4o3oqfeUtAeoNK{nBfNb-~f@hONL9_QEP?($etU(_blwzYg_pp{g zf@$%V(;(&0!=f<^MjVwqKk)OeN8?rg7E-&#M1V^ao~<|GJ6dbP(biu3**XpcNoB^( z_h(wD6>{YUZtOa~`yS3)e{$sgd=Zx7XYj;T)4FB;blO&)etUfDag(9xc;9-iWsgVd ze%4F+-RG3NO1A^;m!3DD`P2)POHVFJ_!gYjuSToWjbryU$#IPj-%kq#U$mme8HwY5 z>3bsrFNu?UxipYVcO+(IV;y(RG4R)ZC$7xwXlUT_{O~!;aj}GJs|3ej_{mdnv+37b ze|3w(H{eJzZD8`2iM?-*hHsA7rUL1hczNH;rZV)+maDRSK2R$zEj8|gaI5>PT*>_3 zuu<>isyEB$AqIeTUT#Jt{ZZ(N@zLuw2gq$?k($fFd!ux8YkD9yjg0&r-%_v3fg~wm zBO_Ega^8WvW)4WZf1;6v29uR_%;qSB zI?684hj^}VH7FsJ`ki^fk1wmFl;G=3%c5^Z^6g!rhI8g2`u~V6zY4^Ca|t&-?rPco zcKQWCdeG8)lg9-Wbn~^p+UWrY&0nKNJZ+NjN4Y9rtB4)|8$#Rs0CgfIQxW%YeFzSQ zO!P5?R#jif+8Y1+^Dd+h`<|W8^);;J951w@zzahxv7lAQn#t?!JNvdB9iNv$IiIId zKF843C+ml!nYO!!N>7ioz>c2cGQ%#BFY^m`*-d5 zo^He?LQJMtTk=IaIE6t+-?yCG9FMU~occfoevie;T4ysNZ_axUny;AJAjEe>w)fzR zrM-W8yx3S@hK~gtQAJXjl8g3b)s5CQd^A8ldt5^$DVXWg3Y9`4`zE^~Hx2RTd$b=G zix%dyn3gR_kNYT0u5_);bcY9pi9>nMGzXTS5Tui9B6GIHyt;shN+5P z>d>@ad%L*1_gmiX(2s6WIs#>Um)k%DnkWPgdB9-LYYZNn z`BrIGZC}326pOp>>ob!hPMgyde+!uy3U`wLJ@j6#H?rU3F-nh&SAR%mXMIJQ15FoN=&7$rJ{mvK9w7Df4TQIoP7UB0c0!y z!U4wQ-v^ZH2-5*ps2W)z<8%953y}XRJ-!NM7@7utXfQX2(Bhk-%b6RlyiSKPnntHD z!CFA1TTPakmYN#pbn*q0aJflb<`S4s`{ovd3;Cxqgjypq(xS#QOSD^^7JDYoFAj6P zH0+(Bx%jss(q59L;Ff9FN|LRkdGvR#JFi7L0Y#)c+{)K(F&C8a)5XFu`Ux^r1jvn^ zwyeo#jy~^w{!#?&+zV#PNC+q>qKEUeT9t9`y4^llA_F2n3%cfif+XV@(^*WY zfS{(+#W!hFQ}co%GpLn$yJh8CeTesW(QNj!AX0Snt$M2&jpds)-wqtz@xbTsvoU%$ zX4?f4J-0>iX5TC>J8>;7+%?}l$mN?)9XBL`g2Yx2xu<1rLmFel0ro|Qyc4ZYD#^2zo40?zz_ogJfysrN@)IEnT zr-qs`03-td1e0PyPLjzoV+ha}!E57zo+)r<^qrx+jD32D|GFmz`oYlS@p7jf>{>3z z@TuZ1hVoow6kI3+B@y}c?^rGe4A6GQx5?-5iQ51K+Tv=HM1T`oO@`_uOpW$M4S-N5 zelRZ)5=y@366)Th=s}iM`Dw3Y`RnVgG^<1_9{JhEaWaKWn;< z`llA)6n{>YY#o)xRQ|3~3k?xEd?c1As!ucC7JVH`fL@30AgeIS;dAeuujW&VHwf_8 zsNx*%0T+tP{nYf+kzT`SwO#(f%Rvi}5R}h_hfp6KS=To z>8$^9#&OY%YwL2V`}}b&IvPPz!Ct?#y~D!3Ho$7YMouu7)B%i8XpTau%)^_SkW0?3~|igDA!+-S;e zpDkwydTN*L4>O^|~3DB?-B2(-I^%>ADg6q}8l-7)JDTaSs-HWq&)t@`p0{ zId)tE47CEbTDQ*oQ#A#Yj)D)E5~i)+7Mhg0_%w*6uO`Y`sx0>S?5AX&3E)*Nw10-B zl51UC0n9CHVj_CI`2@`Gy`2K(A{Z&TDw~tI$jG4^u~iu^ z%)SqNKs9PwY{w71q^u;s8lls>+Wlv5D+t^)$mojR2*xiC-M5dbi-5EDSyL}sfpCfS z9R>veivikcfBlzWd@_*W286mX0k#6RoVRdhIaCy;kCfl5fufo`5iUL=0kxUMsoN;4 zG1}I22Pe}Ta)LjppNNAM=8j^v~9X!gDELf-X){A;}ZA4QN0|^v4-X; zk@Mh2OA-nJ4lQ!9mvqA$qjNN9iGu;oONW;ypYOY~^GJxl<(ls_P;9KB`U5^N^;SV7 z>2SzoJSlGL2baN{RFfX_W+MUI_-W58G$5g?-mdk>r$3A6Iqg@1s&(B9lgyw9z_NYa zYzPGX&>wG!8|~IR+yw#48_8*>lhPJzG%zWCdy?b0*&|^z2_*OB2xKCIP1?^O49Det z13UtH$MB`oS0EHcM$TWfz;S&@Z9EO>UU02Vd$*UT-t3EqhZhmMNz4vH0#YMyj+b%% zSD0bmP$mqJ7I?RR*)}rvHLeTjHQ+u~(`qz*+g$9CEax%haYc)0X zzA^%udC5NJH&>7qq`RAkmD$S2QdH40vRP7g7EswRj%KP(5AD-7pQX4-*tAdL`le`)0E@Ft{1b5scaR8>(1H`1T-9DJi`yzHfF$N(_!cdhCxn zrRY2Vn-jk7axWyvI~Rq_lP+3Ur5m~rs*Acxjw}Q;tm81y9|{@3@q!?t0^XsCiJetM zz(oXsj+Dn3%tQl`_t)&4Pl&B%ivQ@B$>*Iu|6aTKPQ9su;Q8?KaLwqHTOa7qH!}nI z1;;<^cQPiJ(7Iojp}l<=0J#>xVa@|b$a7g@Za2GqB zjJyaH?;f|wdIy`Hm_JHLMTOPp(3w?Fz0UK}oZV^~YCMgJD?L%>uiG#bX+~LS-0Jw} z{ma86&8&6Pnj5S)9~81b660hnD`gQu5J~=xICv>r4J+#AnG);kxgKhA8#?0BB6N7-kJr>x+Y*Cv_Fe=dtn5Y49QQOq`z}dyP z!=}IB3GMvnEKZxC4)+ss9-dq8&eP`Cbl)5!+=mCPcfP(13?CTIhO%lcAYg_ zft^K!l&&MaNmue!vz10g$~;cxNf!;o%#zD*+1?0XP&p8GH^as!3df8SZ4b2>?F8NL z5E3C`d=HYJMbxa`4ud4B^?XqUq^i2X!K!p3r55OQeS%OD2|>umZ&o+8vOO3F9zdLG}+BiDWyMq4DR4*9;fnvC_$?Rc4Nu)H?OGo!XkWsBr zx!SG^_UK?kEbN-kwHZ))218qJwRBu=Wwmg9sqbpL{{FH?vH8wXvkjn?z^lw9nItI!Xn(n#ZjAp>$b$_yYyZEkX;_#G)#d zoBUqcD+!>WI}h)Ei#r?W6Jq9#43Vjp=4O#Ri*}sW9=Bs1kIH~UoW@$&U&#B@O~GrN zvWSSTr$5`&Zp#l3W3c_?&zEx{m%gef|N0W;6+KfHgob;Ejd-Lk2Y|*p|5rcT^=`tM zQhCwK-HCeZIl9h^F?#VlxxXr84k0a&oKDQy8Nu)V7^S$l^uSItf-Kj!6xOGcTe+}8 zIfCrr<{+qDKp*CjQLj5{12N4^N?eVNMqchr<@98s-A4eZKd-bK1$IwShd&V!ATwA{)KQ#GC1o)_L4{jMk+10OUl z`;~aU|B^=4!BSHq5YXJVIbZnQWG*E-VtJcvjD8?K8(NQ*%cv(L6+ue8BYYPMdZlC} zC&$ojegz^Tav6zea|Gt4=1XyNbR1B>t&a9nJt^RCi6zX_ETE3R+Q&P~azLlpgdFY6 zx_*%kWud`J*=jSZ-A{GM{fe1%QN(pkUS=6`m6kzMP(w{kudYeN zgd{S6vb*)t?4YGp0fUag0}dj&KKwO!w0KI!&tEiRGBY#1xqTe@rXE#FPq!z4LJYEK z=jmXF;;%Ma`pFBK!^{K*Vi-``jdDP(y8GR zI{F=#>g?n8xQkSm)s=pA7JMDg-xHsf`V-5t*s2(+Wj-^iBQ@!J;K}bY^*x_9Zw!r@ zg^^E5xg|pRd>wgD+Q%@0QwoT5D5G}T!1tARqU*TP?W_u+svRBu-6jrNK5gJiX_no@ zf5UbOKMjG~4R#J6xp4WI2eWKfRn7c#EsQGu65_4CdvFjf%p`zVqVhV?H9O0GwD@XK z@Ar@!F&3^S5#NbjoBopiQ9|0#;3_XlQ**l1lu z@nUKjF9k?>D=dxzED=N~OR=l1@xem7xv-S>52J}Dt}tq2TtCWpcv6wu#l23A#1kj8 zPnREvkvb2A3N~62=W-6&o`1OZseHUM;;Z?f4Hmf*Nk>kPn9kdWJdUkfWK>jDsF-g} z+MtUglxTSULa=b{2_D7gz7zZRw8Yf@+#zEqgDd3n#8I<2!7MMgAO%Q%;KD;!mZlLy zQv`ncl2o+j)}#}&fvAa!hV?;}wJ=liL-}>8#JFx>+viiF*&wZ>QL&Qh)#Msuouzx( zhbTIllzp8Yx00_`dTFw~c!+6hQ~CE_)g$igxN4Ykr}|Z};u9DRXS0y+{IZ~{swi69 z&wqW>lEU5{Ia(z|6{nfX4fkEPXI^g&1+p%T=Bu>d=;gK-JlVe=J0%zpGN0n&;;mi- z$@tXVnwHhEG4!eHKgjqtjNYn*><&wCicLt&3x3BBAE3hZQr|?acv95|^)lJtK132c zNJQ6i8avCil;)3uZX(n~J_(Dr6%Sm{8U-m@<{#-yX*mcn=>RwmsN}1Omyg?t6a(kd zBDvCv_q3xFC0h)mscaL{NrPt|;3_wlb9k>5Kt}w%84dD;6FL~j`@31%c^)->?#~B7 z*m+fA-@4aPc`c|YQY!Y7KqB7;BR#tF$X^y5V8ASU%Vi{}pYQkBiA~LfrDTJzuTTuv zUBEC~PDe5;+ofe?2Y}?%pKUG{dhM>#C)|J6uLi+DkG8X|Y|35}vc~KYytq1tR}HB% zk{l(oy=c*nZ>w6acK6tW!CFjOk@41iNu!cf+IoW3)-#HwWq?=&iDOp9t)BYPrZ%}u zuZYX3yw~j4SA2QiVQ`he!Q8Ji#TB4R9AAr7Nd<&e$r}OEM>gTTyN`iibhRL$q|lYt zXBxgw1y*1W$L9R>S)>yq<_W2ES+g*bhDkspd$@HIld414)((h_1j@O!G*~(Drfz<| zHYinxNsmA;2+l$7X0W7m09Yl#FFFc z@LL?8ckP0Y6b zA%pHn|Ba}F+Ys-PWP$K(w9D+SpN(`9L$mFN*x2a$Fgv)8X zl0YPuV=`Vv<*u=ijkR_sJkS>OmP@LWp5}$`n{3*W?|GEww(nde@2d5Jsb8Oi=^KJb z%<5@WwQIsN@+~YZRywVMveQ1HLb3lgr7R*}TqL{v;}!tA{B<5J2S;08m-`;714lpb zZX>}5yfPv6gYMQsy~#qO6-M{t2_L)t3a;SuRnkiRe+UEapF_?oqP|>RYw#|UQ4ldR zGqH=gv3o*lwlFo_`kisfNI=^h78j^rqmfZ%1aEQ7)B*GP3P6&tl~sNm;W&o1*RpRtDg9 zPPBZIggCHT+FHpM)@pN$E%slq>3@;jEGX;wIMB^{rVf@|;P_}n`tcK<|E`ay`o40U zkzuGkDrMGrmfcq@3>H8ke7_FQ-FO0Zo2T7Qi!6)^kXFokogQd8yr27f10m0+1Ybu8 z|Ep6$==+MUOq7wK&F!@n-FNfQEnv9>>V6jqVvv(h+5geaab#)Rg}rSdse zO7aSxs%i#OD;rh_+v@73!7S=}7AYBp(Vh*}??JJXn{80RAMSnh{Vw#|@>eJ`K*=t) zW=u?)1W28o<7T{=>Yr}Ft2b{4c`2as26pmWw6!XPB$2bWLjC${^LYQw1&EbWKu=gF zsSJzJ)?k(RGbIR%dF5+qP8ISSlU?g8u3yry@cF*cPFQ8B^;|_LA)ng@aAWs@iR>#* z{~aXi+d(=VPV#>nqQhv2GNIx%F~eIOw|o<^0fFtbQI z38oH+a5lp^y43x|{zN49O$1%;YD_@n#+7Ve4wlXmnv2Ezo?{hW1a%gb0=|&KI!Yi& zhY!4*!PQ0TN1lFhmS~oCB8jw0_joy0+R0~Gou;uif3ztCXak;CU-Vf^y%r7l8Kuvr zhkJ3UHe6(z7nFMGtjHC~m~G^EIiL6#&cyM&Hj`a+ zoaq<&{k*)Mj|JIRmBgJ`Q}+4V`fuNa_&{^eC=2J+wLv32^?23MX?d{8V-UBp2+%5B zo#(&Px|Eg|HH}&SGDU?^gZ>Xx(+L?Fk>drw3RM2QLUnZI5FR{uj3!5o$)G|tS}(2` zdYfKhi1GW8iINp&ii4rDJJV!(@IopL%q=Q+oSqa(0<8leNK#ZOCDFz5^AqEf{lUw) zhv9i;=iqts4jB!o_mgW}zsQIya*w%uTE+Ej{-fWJFS)iI)oMce_$~tsbb744e@U`! zyb6Mc;PeSj_I7u28uKuvq#h+K*GZxS}0U2Z=I{$A^J->s#svo6RnN4EBKQ5!f~^I|xLCn3u50TTzv@s_ET- zKuc34O8gp5F3m%nR*XpbJKKt8uRSz}4zo7P)I%05k>t-OgDhg2x_C8#cX=)fo-*!v zB^mJ69UW@D&*gLtSLdOx?ebE-cVML3lH~NH`X^FzsWQ;BHPt~mUGJ%=poz$f3F61pYF=~zudl!c|G-!3rfI87_78~cW>K0{6TEv8bUYHV%Xyjxj=F3iOa z?h`QZtxl(;?CY_~>mn8+H%(3Al)p6xXl42ir*{}8G)%+LrxjGksI3%~%NsASvz-Mv zJ4;Q^%Hu6M!U2R@T_u|nTEQfH+774H0gtChL~d$K!n(cvJ67#OMmm_uP}xR*ljZm9 zB%n<#?RrWtD;qSsWijiDumt6E$xEATUq-sn&UWZk+QY!nGGSe-x8|Co1n5(T8@Kas zVBSS{OsRa9@mi_l2Xd`wRGN_~i;Bw+Vx3d+Vpxbz+n$GYm_%9`btva~R zLga^mea;O^PVSQLz|5hrW+H>nyu5P8oW>vH5jb`792dD)kV?!?YiUeMM&K2=)j_9_ zh89ASR62dYP9h1PP(qv{uYc$3; z%8i8{gPg-g67_@rgEaaN5DPUuUPttvb6Sur{>}TXSYnas%oHUKd$5l9OV%oDs!VU+(iq@YWcs z5DLD#$wpI;q5}Inzje`0du@S?ys+a2oT-@P+vQwt`9&}sM|Zwm%d$U5O$bI3l?gAm zCcpqJ<@=3Y{>8QMR%&g0;{k@$u6g`-IW+e(O|g%!K`ZCcsVe2)fOxUf%adnoM@Ny% z-XyM|pAYnhhX3d|&-yB{;_a7UxL~_NntZEm7}nx~3)2dQ^{M~s9ud7zqO$;OaUw@u6sdzS{K%sY&Pz6jO+UvO0OY2b zKRZi|f6gMwOegX9t}Eq>%IIEfZ85Q@Atj4-Ht9XOWM{W*Vf$>th7PcZh%Q}r)+q??r~L7> zfUn}lNA^B(&7F(~u@0+>VZ7n@2Zo(b2i0P~(48lfz@)3)tG_alsIFn8IAf}5u*zk> z9y0Waz_DutJ~&*4~thM^jj)em#JAE_s;@QL4(!T1P3T zO?1bnFIx!q%4+yU*@2Ys6)TZ@1EuMAnA4t?u~?MyWKBwUEvkvdlNL)V zez)U`8hGouf7U8nF|wgr+qwIfqA-M{^2&qBA?6*zfGLwMa9CRbjSP) z7m9k_vm#tg&EG3%d~Ik76amD?#L&#jN=XCaA`c`khQ%a6I$BpnvH!97Wo z3J_8$!OqC*G8y1sj!HqyqUSTZr9YM8>}b?L36JK2rP zyx8iS17C3t4fQ*aMTX)eE@GJ5$knwk_ZE7`bwf4v6;t>S)X8_f-3FS($!S_wj7w~m z8fg`>xdVZ6F+(7zZl;r(`WK!8=MFp>+&sKsG*z5QEpo}anLky<_9WbYatO1olzJ0< z{UVxjk6nD?lDs!Dm2Ch%0I!7ZENc>^6EkV|M9+h-&V^uu->BC`l-hmm=+}=+@u`Q( zy_k;rt_t1Tk7alzG?JMmfe%TY`VYUC@bT|=;b;zE)=eu;*2&OQTIE`Bq)Y^>DRtWmcysh9-ZnnP!<67qEjX(v*0E~>vD;)8|{{2>gIlYk=>I+H;% zpGwMC!y2R|{*=J(snT)6&A)^griVMrlqYTg!$zbhF9GVA(U)gB$!SX8q1$I2Q-cJ=NCqEsc~Ql2{?pUPQA1U z+9x8?y#6FGq1l|$VpXLv(m&B|(>WiK*XyzR9CMXN;Z#nFY~69Qm`D6CZuFOiJ0BJ zz3?K*IODkr^|x9nuB>KnfxK>r96@kvL)lI&1%1I&v}ZX9c8S)V@1WxNTSH7 zf zbGV+>{A=tj$f@+#|BsX}xSXVd{nsr3Hb2HYhjLL~kBAdK) zA_a&NUP%^pHqotz2Fn$=W-6l7&Bd-|&q0!2&Fj%ZCiTh#$~=|50uM@4fU_C63UdQ{Ew!eL;gRp#RvReyKne+ z<}ZA3XKuj}4Dx8SEp1TX=ulFq;BX?7n55Et@-$_#6qq+7-C-}H4NUF~3CS}))8254 zmnl%Bj|8-jCc>=gwiNqMWrm4HRHS9qCGZR)m-3k;(ty(wKg)}PMN;0>mY=4`rF!Gm z^|;?n)t13A$Y9ztiC!fifU|VJ`D<#=r2j`BDzx9YR0%arie>wqD!2P-sO$_C>CJB^ zKy|cVv4iI^d>z7fD9JY}Vrbj`ueT-IXq1gEAn6H!75KE=BvCg10@w8!f3G%-l!pf| zv3UL}G-PGlS>nC)NNyp;{>k?o4+`+iLggDjVN`b2FsSExsUR>ADfnXAbcgv#PU9T8 z^z!9ot^kEuS||kvg`KptOXIE%Pbg_l=u)E@Y0e|uA|8cs632#yJ_3=j%gQ85wNb30If ziJ{??%8N7%=JmJ9avNpk0c6^Je2wj|5TOZ-x{9s5KA-@c-C<76v5qPh1B+ zQaU0cI+YJ5B?+M5+sILs!7&k_GdVzU=12#Cnuwqa$XCk$nGFs6Gd(~5_nCg3?-*CT z#|SI?2L~hXw%F*S^RnM@xqtpijhYfP_0olE(*e<>2QcM}#wI2#o)@O+nVD}F6PMdD zeXuu1s8H6!^TFy(NeqeAk+jV8ny=7T> z5TJIiLTGYs!xDpLcC!AuqC6r6FD-4^>cS^CnFo$c3?at2s*MG3^&3k~HtAdrL}Bmn zg8ZHzjIIyn&d$#h`2KchOE>}y0iB52m5G?RAh7VaGj{^Wtn?QFu~3MDO93b~x>o+% z&XsbyZ$;q8ECgfPY5X!Vt^Yh%#F9fbRgiuhhkkz{5gppr)fC$0c3fV1D zhvJCi03U^nh6aw<=L}p`HwPHXA~9!#+W)f;nd#%Q?gFZ^F=A4KkAPk+a%+V4&@ z3(xFkc)UjZhqaGwCV#KrXjBs5v_#|I^Fruw4%A~XLx(ZKa=F-NizrdpiL)Ml7DL$FzhV|4 zMf?UulVvD*`R8DAa;?e#fiZ>e2QMekl+txcY!}HuDykd&)>SJBGUAB=&@Q$=8Wefk zUB}-7TI!;I{`_HPV@vu+O#ayd<3AXwL+DxOcF{ODzr zU~iJ{d^4M(tq9f1)NC{-K*n&n+0Jsl3J;lpo8&(jRfqt%t^d5IIvx=dio`&Mi=+QC z*IZ3qat1s@rbBRFZE2zSxE!!*aF;!ZU|1UoKjo$$MUp74`#->ey7+&P86F<(|JXX` z;eX$fwn?8LV(1cQ`^8&^9fJl$RIQ*UOkdPeEB);crYRW-fx29^+cy*VO66)J zQi_slrXg;xMd2upn?7~X@Z)izWjNL-URVXh6CziAkU+GSeCsb|Pt=#P$VOsjHcAK& z=6D$f-|TM_iLy)4*RPWJKS5eF<&tYqZm35kga)YOu1uPIPUrg4xy)qand#u%DWj@SKSZ5OJS z7hzo!a>u>W=BxYICW5)Su@9xm#g$Hz5}KQpofw^EWOP=oNj%TVDZWMzOjP)(oB%W@ z4X&;x%>JZjWNxotm5nnAYcl%86XAJ*3wAagubGgT9MXeK)EnoG+`G~b@pyAIG|6|)IpF^*-fb)VqfiL5so#aZ%ip(Y(Va3VYVk2!qjtFgrIn!RT$ zLN#Gg`s)g6MKLdlEt~g~%(yR3fpU;t*+v`PGePD&9(QDXF8^SRG6m6U4VxBSU0stO zUziM+W@!f}byvKx!(~ePcjz@Ye-(OW)QF0y>7_C1^*(8{y=&IhUe4F8UBhMZ(hC$X ze)e`V8OUThd(b6kvHhJ6af*hA76^>b81|P$Cg=Yk-|@-F7~(ZRBfY~CPwoqiOqE_U z9Cm7|R*MflV7;)hv0L4)>Atcy7+RZae7De@fP;7s;|oX2hLL8j5WZf)QRgtHaRSUn zIfB$F8r-vSayo$0d*_8ekyaBxGjm$vVv(}YF-)+292E-xYA!w(DFgj+a~1 z$#H9zwo1EcI=>DR0|V&ULKq$sgXDI)s%z*3>~u%n)y&k7MrjP6i*pfnnw{A_H=3{O>$}A!iHt zy`!J63QubI(#HdP`-)6&ga7n-!@ZNo*tL6Rr$(lo={3=&=&{A zkoCPo!@YHxfA&)cCVyus1}=jgJ8dl|Xm?yg7^sSGxM(ztMan&h4_uon)_mxS9Q*wZ z-f#rfZ~(^ew^ZAV5*~a|0HDc@e${+RXSYIkJ6;MckxesRs55ew{M(#&O!I|YKLR9o zbbM^&;DF-J#ntGrjQwSIYM=^FnA>fOqI>P@+{WGd&2cbI6z;XYX_vx>^QG_*Fy zbM#cd2Rtv=<0uC%JE1&%e&yu>$R_@eXReQK9;Z1iEc+!mUvlbOZ#&ByzNy5X!J;_s zuJ9c10SS+Hp0~A9ic`IR8ulC?j(Ao&h-+5!X21dV@Y|ql+WFZ}a;Zc$!{)0iSG{gP z6B!u+Q>>U5{5h`P6Nv-k1b|*4j+(R~B;f z_!G_~V~yqRFLY6Te~j%iIeOOR99=GOu=8`LR!0F`E{70sFru*a;S!&dtTZ}$M0fl3 zZ!vW?BT`d6?||^|IrEc1&8N2LeNe@9ladn6kKaXubq=f8IBOXp-+s_LOOlZr&lKZ5 z{jwD@-dER4=OwC0PL}C@NN?SlQD30>?AFKWW#ab^fK zLN*?WC>khI(tb0TdqmPly-qEzKhF9UeQX--pcY$4?zssSc0<2Dc~T%k$MgS`>+a zVwtUtf}VGiuU>~5TIpHaMT^95Dwapl=>+d;GyKkafGYS{@Z||nA}$Z~{M42PWBl3| z?17FEth_yBGTVB7=eMVD?C0X*0+idruRh)k{6HiBd3%p@eo)uqc)P|QY~!%qd?gMcuUb|%>HbVI4)9et`_ zw0l`JEZ9@03v5uSLa(Ml)wIvcHcC22(b?CTQ4>j)qm(oj`#bz}c5`lhVs0>4zh6^c zn@>E^?|Grf!;$-D&x_7?H*i?CnuI;BNIC;5H3a&;K}}%$BVVx>K-{ z&BtW+`ahc&uXF_?s{TK!zA~(;t!sOOAP6FYpn!y=uqi3&k`BpDmvnb`2`CCEDcxPt z-68_gCEcA8((ugl6|c2uwwa~Dy{)PUbK~@EVQlu#Mq;)??%r(4;@VU$xrK#AS3)|+G2MHu z$*NT2Dk~dj`!;?Q%(-NLloy7rF56cJPZ$>Zgo3_0jYtA9#vaX}=>uwGzG+#YbQ>El z-RAaaG@`%Tc!KCPQ9{ITb^V}^@8JGpMvc&9uK^wHohJPbP}#_gE`j}t_tn)?(S~-) z2k*pZhlsfEKzft7GN-e;x?1P?G1G)r8D6ll2z3-q+Z-mhiFdOoEu0K^&#f)pzgEuF zA!D)GpH!`KeF}N=^KIv^(@nmg8s+7xt26ajfv06gDQf8a1(Wp{n^j(6e~7qrm!E&I zIemo+5eTR7;BkIz=IZihdd2cr?SV1f*`d9|&gdPh3LeSCI6S2SM` z^9A=4Ke{|&VrFKRn;lcxb-Q=(J;%uyX@i)N(E$InPJ(;%Tj13MU_e;DpTXBS_2ALO z`}glpEY`6>N3OfX6;lJdv3xE?yDS{ee8Sv@fa=g4V%OM%)j54(@+8<8%MS{~*jV&W zIqoldZSHY8;@0pUHfBBbEgTuWKi}QCy0*GGH8Mi>-4B-w#r(@q=TY`=B1 zr zJvs;wZ5!;WRUP;KRf!Aa9_pD5gNMgvOZOy-b<;WD*4Fm#%|3oaAZxKfrJWCz+uY3^ zRm7UpQv-RgH9it@Bc!PwHMT2$iEp!RH~YfHNp3JDo*}{$&W(+a1)OwyI(1loopgxB zV)g%G0f55}x~09oP8Q8r^8G6ojY{v?v2?h{x?j2Tbjy|AoS3WN$P?h!}jc zyZX#Q&r9S3oY&{Rch*i06(`I z1+n=#NncxQ4T%Yf3Zquur>)h#B;WjaZW+Q$S&ffeu3OYw7TdPxD;N-;kP!N~s>6;d z9qVRbXp+$|mAopAd>&ANaiLu3+uDjv8iDv3&?`IQ2Eud=n`Cd=9ve_nJu_&G@YChtGk3_!T)UdQG;sQk|eJcy5f123dU!H9{ehqdu3$qP6AsG^2|_H zD){{X54*|}6@Ps#Elmg{ESX2}((MQW0ip37SXk@9Ap;&g6=g#nJ+H;zb#y-JnA_AK z0X9()Z*Nb-V+N#TA(#OYI4*3fzqp?ZVY<%QQOUif>e6l>jqoSdCRUfmUjr5hL+%&jJJ&#kS!jlPPbB)^`z z=AJTleY0A8exG=!f@d$Nw>&dct4=5?DnQ3+C+Bd>?^*NE(9^NDS06k>0n*dP=K=yGnD)o&CN*xngCxA)+G!S3yR;ui=J0%}sUd%J$qtA|q%e|z!<-+? zItN!;Z;r1CnLK_9scOW`#}lXJNoOJk-bZlSiR8Yg$8H^Z2j#&J zqW`LNnV|y85!wQ5S0>#JZosFu4@*3PK+dmE?tnCM7sEY)Uz3xYyaenP@3JSW+I;!1 zh22E&Lf&lUeEwQh)p2-iOvXWx0ppZ(>jU}b&z2TMzO{Fl7h`$wAsPE)#83iPSli-r z*-xK7speULQ@A#o$>OwoigCO%J7(2nf6U-?UHOCvq_o!&5@X5h5{rq=r(@2vUAj9z zT4VAotYbOZbo;(^8x}(2MOY^HHGVSRk$}DUHtnzX<9Cy z*10BI+w**0^cUOK^|lJ!Lrie*UR-f!EIvNKG3wS$3Z{1jAHFfP)G}4;Zf)&;O0VJ_ zuryg^bJ~#msr34S6pEQ8(`!;=^+-6A#!n1WXv2SxS!*{U45_->Anh7Gteb{Z9ydb{ z!obj+BQNk}9uw=6EtUwDudgq>Ctc73qW&sto%{IANS{9&GP?XH>~I6So3Wx;B*MP} zm<(a~BGMhRZcbOGFSy=E2eHw2AWqkRxPd}N@#b&xC}vq(jmmVFz9GAx2gDKWo5+$`v7T`QIn2YLt^)|tJ#;sYk}f!)79OH zD)SFtzNjVu6b=@cphG61pSwz|s_10CgM`WA(BuTPDRpz)T<96oq3x6kirsDafaSZm zxAAq}CC^d=;Mxe|-sY}B?6Mh5=s?B0oE12byzpFmHaIl6w>B@NS>u6~l_govvMA)R zIr0>;x7s)h(kl8_$FEMc7h{dj7blC^=jN_v2Qt*qQT=?>&>!p0Z(;78?o*!VPO_Wy zSKqU+wD=qu`F2xx40_1fzjKzJM^?^S??&Gr1 z`{1_W7A%BKc6i{;tM4Jg-E2>F=hu}MHZ^NdFG{7Fr$n$od03_QAE&aD5#{9t+-d=` z4|j2Kd9yiM2xqXVWRpI^y{Dbwl&JUbNB)og!>4JlcRg6?B=Y;AI)#ZTW@bj9r>Bqg z^vMUhC^QhH%B1%z{tFv9>dwv%#0NO43Hj`hgmgTSF*e8gj@4(hwW|pT&>lT{RBky$ z00BuRA4%`%1Xg7~2iDpi#ml?z-{1RMUM{@)farzWH`L*Sqkw0qcgJXZcsI{n7IU2} zKZnN!=d76k=4tNIIlFDP7@3&I?d@u^yNr90apHuDToYefIte)w6V{cN7x*vYBJH}n zDo>s`Z0wcKG?0;zV?BKubaikFJEf)A0t#Kxwp%o-1r*N{+1ywZDxxS*$> z`a(X%cE|{ik&)3exO1aZP8)pK^K)+E93KQa zf85)iZ7tC^{=&r(y+)uYivHCZ=Y`Xt=R3KU_V!A@LF{F>3l6OCH;B)l#E^w~+8i^0 z;I`J$EW)dcmrMh6$g3;Lf6V18K-mlOk3`&$)zs8Lm^jW|Oyd9JnPrwyL6QhRNpAsE zDiY+xbyknC5HqmXfC+gVokN%l>|AC?#KG3xHtU|d zs$=GI1qY$m==V2h^;UPWHMJOoA_oUDB(~9Hq>wZl&LCzj_c7vL((nI@5DQI7^kx|@ zT2{Z;nM3u7;(fdBKi^3nb)9g{qZ?NQf{)O7_Q2Mnq08YA!<1%?^bUuC0nX@4xN@S~ zJX>fz84z#8QeNT=NBWselcvIdkEm|nm?`X9FVl7F&UR!Hr*2KO@a;WLv5AO08gBrLofU`Pr7iFpcB zXGdb`Y9#Z2RCE@us^XVJg+xVltwJAzLL!q{JvO>}&#)N+m)tdt?tZoK^=T2JWIf1V z`Xnr@^b6=icy>|_3<{hPe|d3vw)R^effDD=9c|%DXFr>R54bKTO^I+8nLI8&y*-#w zceWPeRn|wb)&M}mc$8@id=q+e76jY|NDy(UJFoT`kL7#z_vVF=kdag2;d%BeAODBe zatQQp9R+zAT*VCt$pecvml0uDHQvQjwm*KLN>awrU*UvWPLdiZJX`2Z7~GMPL{w&c z^1{vU?L-oDAVr?!W5&B~M~JO$%QCN+-H)f8ZBO?NIk>pe096LZAK2K~OQHW2Qyf7B zZ0*f@pCZZlfJ87Xu3aJF>(iirqcL3J^iI1iEO0-5*U6S>!W`lr1xYI}XB1@1k(Qmwg%< zfYe39=W%)AcDUx7lJe|62_K=Usp*Zx{V%Rj$ri*@gGYXZ3e^PfkTm0`w5FRk0UU;S z=2zNflaZ5Aop zpSxS0tr<}N;K|u|gv6S_iPEc8J3m-XBVKJMu_J6?fE0k(rLwx1T>a#CX}bpn@wMWP zIB<7JX3HeLv9zRjzW?9dxqBN`lV&FPmrKJi2|#~z=d;6h-qhzGKRkFeg#D=y13#9u zL}AW|eA{&g^!)!G1BZYAyU+_J!2{sIuGJ-fD@_~}$z28K@fW6O=E52fjXdwOCJ-YP z>%v1{Erho&m3B-3uQ-2kdhm%t;(y@?Fyy~Zq>*3~a6f3rng=IQNWrf;d!`BC8q$jQ zvxQt4f#aDt_Q6e=FNnoh`VY?r=y;|o$Y<>rir+4DuG>f9N4(2X4-O3#g&R1)*#>yM zE~5WBK^c7idwICg(9ur{RWTIBp1+kw6Bc!d1Q~|}lgIf!EYE!~SMrZ4$B4MG8Y5;z zf0c^3?6o;Hc-~7Lvvq2%Lp|5?G!&)Gb4yF}8PgfNV3bGD)YP;&T$2ZhKFxi7m~bbV zon7hwj-5Ew--A$*@wL)-cGWypE{@FQg4*C4&u4CIB_Sy8UZ)sh5(!1B5_j7raF4b+ z4^CEJtz%OV{X&O`*V>{RQ^|-ayK!L`YjrH@XG1yJ@;^H^nT{t8;6t>qUlyq!&ba!>q5Fgi@Q2*q$Qf&KSLSAX4k=N#eV{VJi89R?^V;D64y#yYeGGk0&ki0Q81k~bxhg|sI@*D4Hqtk=t zuoG=4)vTUq!|UsIVrgb``F+R~-|i^-1t$eZ{#hdpzrI3OP*=B-r-^@tTHR=+DAGrmnL*%dQ{TQfp8E8^thJnqX-5jMR zc=}lC9pp{B9)i(IbI$t!StZG^;BPhZ)?|yeta87ulaUbEN9}6=Gva~Nk-xp0Wa)ZC zQ<(I8Iv>6~>UdcD<^e^8I!JeJpQ^iKajxE6S4OF-@x;qw!`}uFOyd-k8 z=IKTMd?eR_?qaDruNVbs=1XByw>~9Ccv{(9Z;CGP@Y$Co9d&GBtg$gqtr^?*dBty$ zo-xSm;J`v?a6tQ|z%*c~!ckypY3ctFILjbs6Tb4yk`K0%Ma#ls<_Bc!Z0y^g+jXQu z7xt0gfa*yeFLeCgm!7PSpH}$|)v?Ss&goYlZ#)phAzg|sr^p2pvjY=Lrd=Ht9)Vq7 z0b~T2OS1wHxLoaV%52mV7ZA&0oCXiewq1Dpzbl;c@!x7LPZgpN^l81@BbuGx$tnin zVM@(@m`LRo7>7i1hp@~G>dj%n4`IOlB|ACCx##*WE9)#G8bsgdl$9h5Vk_Antlp_} zz7x;ho%lA7DO2G+C{Hv8m{S`^M>r;fryqU$_U#8z$iI6d3CbDV%-YQA@+^Hm=)mSY zpV9VOqfu8of{2fLZnh1PPctR(S>(3*9RYGZ9!Mb4dPK6QLmN0L<>|7q4k1}_d3v24mHc8>) zKDStJIL_#1D67RDh7@X4jRGHSI{S=^kdF6d1+mATV7?S01pWx%a~3ebUvf-Bu9@VD z(#0yg_Jzmw7l#e{ag}4)OH}jfa2%Bw{>}bCsoT70I5e!OKkK?a zed`jX-0ORjqgho%*RHUDBb&*m5!{r!O!tL^0`Cuisx<}m^*s6A2=HORfLO|4Xo151 zt?MFX?K9m%cejMCk`gnQnE?2Bhx2uT%JebXE`=7|O;O*8aWfxZ*Gu;>Gzr%=T?%T< zxT&CAX%=KC)++xvg`~Wcl9Vj1MY{Pigz!$QBzVhVQ=f6jpBf)mzx*XsI!+|XSJgB^ znTox%BHqVqy4GbbU16zGvRcYXXlAF&&sH<1X}B|^QS$uG?N=Zv1f^wS+LgvFxW4Wg4}cEy3$~IG=Q>Yi--QxJe+*iy$l=W@eT*VtD(V zXQ;QoM(e(i<&L*-2m@itGUilaIsX$iEi7pNywKo>KD=7fx4Be31x0ruasyLVRlvqb z1@6oB9`@NtQ)N9l+}lr)l7e_Th|fgFi{X`)fjs9GHFds?2SnO6Qyal@f>|=mOHNX4 zV*A}@DP5{nG6d|s8&El+af_GqAfg;p7HSB@c$!t#%OyptQdC|`cl%8jTh*IMzCmuY zQaSHP9xOcaXM3 z6dTSu`4$iC>?`cr?I@o=&j%<>y~!yA8~f2niY_@3Z+OwRMimq^OJlPbRt?le;xm>B zt+bvbtLiSKdL0j?dRfHGQ1NPeCbkJ_>M|@=vOwRFjZ&k=BWkor+t?AG8ZuKKqX}@*X1YzK96cpsWnf-szzk7BTU7@qF`kC z_NWcJy^VrzqdC4zHW%MfLG+C4hv*qTO)cXq4JLXGHT9uv60a0??ZniN>7bZ0mou;0 zA{Ae@Z90j-rm`l;~5kh91=3bZQZA!ZB<0E ze)4EyBef$*4nSBQ``1Im=hvQ6yY+0{_A>E3Sz<{plG%ylb=aWbptMJ;+@*o(T8L6p z{$MF(x8poN!>2ags#=`L7O9BrN6Kg&$WO%6MI}hQ#8vO%Ze&Er3}y1dsHq)JcIU2k7CMS1 zw5}~R)B8I2K_ZvZMnz1Oqj?7BHQV6@Z5A0>VG$MUz`%eV#}@Nz788_$(ig84t*SI$ z#?u!po{h=RI7UU8t_1Z#^B?bSKBxq-Z3Km?l?o+5E{sDn6*ltzB)LhJmN4@|lcuf4 zetaf(JY9}4zc~4AHjpL)=>3~VF7>4I8GJ2x-5tugWRvpVWw@y`FHkLSO`1y(O;%Y( zP#kTK>4e0yDuJyUuIuBhT`HxekXY4X6#%7-&(?!>dF?^*#-sBK*A36!8as}}q)U9U zu(g4b#gXMD#o@2=+N@lPTUf`CK`>%Q8>)%SGITXud^05^z$+W*J zdyIZWtqvwQ^XHY<=J5vkf5nC>l^OLMf=#ETqWZp}a63seUN2@;@G4%~(Vl;RK4jo5 zYVw<&oqAQkEOV?s*Zv9EK9i}nprb`+`{l0g1J}l7+m8I#bq~(2CX0E`SNhJ?ILF7i zs;*D@^q;a@=6&}fN{eGPXHd~jVlHE*l+bu-Ih{^P>+9v^Wg7P9Dm9!nNe>gQzf7bEwi!5XOvsC|gqj_Er=MsruNtAey@L>e zC?yPU2TbsbVfT%vDIAlygp9O{qC>0IT-SqWk1pOjZfu;I7U#H11}708e<{M}k=wmK zre9uKa`~R%Jpd_Gtrf0w2DRKS4=**@Oh=`+xlR}+m8+~8^g61>w@;rUr-ql8`-f*_ zxOL*%az^9xPh<_b#cxbk86g>V5g_KRrF_!GW43V0G+Hv<-jObx^2+!%nMWj6uIFB> zY=M60q)J;!JQ{2nRB<2>y}zHg+tIz^JOR<&qDUC?>v79Kf|2*Ie9@APelq#&q)!w3c3=s$sRlNuP?mZgGDFGAC zZL)5Z=@y+X>g{Wy(=af|9PKY~4Yq39)Fzs(4blF>D!4gXq&)d(lJ+H)vT@S13jg&U zKbysra8W%^;$jt&W=egHn$_rDsR_l>-Y6M>#-$)cOSeQIi<+Y&&B_fy}A*E zi^68D759L!llCzO8XgRqKuDcKF|?U`;kh4|ylQ7Yc_nQ*nVd=zvppgeuFf7hGRLBx zqp`U#-I^DCa^fOUVLV=k7L~++J0+XK%w{?$yqf5o1h}+<4-B>904*v>N(PS@{?#1f zbazm|6p-9YIjX2X9D^;6P23I6)V14Cl6J;>F3dgNMrPuLQ{j=T-gEgyKHqxv0mpkr;aamS% zx;aUN2Vbc|iPGbPv@>VDuGUoGL~9sl9~aehKUllE zw(8%vT-PQ|OH29uTx{tHheC_0>@`L5!|>yaQsl(SE#5qCBf7!WChOu1ZePim1UfCZ zT!%J{!Id6m6@T@Og0kMha7rmww?h-&%fq3KnTEQ@bgFM0)o$hrVMEiU1aB!wzlpf> zhtP){-n8%(5_79(O={_`Zj7b}1!_7+0Gp!1_}EHBtbOfI-R@AjERPahvz=Ylj-9A* z&hfbC2cm4p_)4>pTE~)0P}Xg@X0x+&JXqOZ#&leANIN;x`+n^!xMYp96`poGgt5AJ zqWy~n2ePyZNgw27QA5ix|L35k0NQg)grILmdK7kInSh#P169PmE6^p`oE&y-!U zR%|#C*P6%|37A4xrG`qn0R)l{p^yMsoFm7x-o@qRtoc&6cP~eN4Q}m1-ag9}W2_)y zm*?j9(Aj)0TV5Vr%y%yA?zB5fd8hbmd1&6k_;ZZ*ZxZZNk}8?{zrXj@9kAEOm>i&y zP_}ap=ZYkRnmMl? z9CJIoTzbD6d?8Wg?UL<>oeotCT`#aiC`RQ!Y+C1)+Z!7jntmT%jf!@XL-#sY^6cF% z4%Mnvo;c0VqmR!Rx5gvjABQ=7gfCC7*nT-Z+obV$h2NEE@P~5qr2rbUq3X4}B%OBa znbuV%omoQR_5PAZ%_$MiPpJB^t#wfn>sOv^#j_g6X3b3G*IUD75d29&ya7#+*8a6t z1m=VNa-%7IPw601w z?v_CG~Gn8>%dn6_1WO;UJxa&BH>Bqr#b4iS953*?Tyh*Ul9ay%la z-u5%*_`)w`XoVLjOQ|@njN#lIjXMy^Gmr~oP&GMH=WPAoroBX^g|DBk*+rOd7q^}8 z(^D zvvxnpnZRS&fgj$*sCW)t*KLR6Dh{EoErNcM+KI735j;yZ8&Dt z|9)S~eY+x#!!~VWtk~L7;%2!ZN=ZGS>OFu=8#$*&TcB$R0PmkCJCNP8Fot~k35jAw0WHa2%DMbW5e zQ`H(Ful9*fWO#T6`^?u`>}M&!b@}?s3qkZJ3@}mAKpDPMgPvHHj*ZgW?a9j+ypD(C zP@lP5aBO5%q&(vt!}U5gi|e^_S#2J{w*Ppba`C6Et9UD}<#zrY7#_pfLUF@}>#M|+ z125Ij&?;`Z{!aTjy?M&yl9~B*W|Tx>8j1Wu4QEvn7*O0M8tRevnKP`6`TVbW@ZnE z*mGdNdQ28)q%V)h5)ra3rXo_kudSs7Eq?H?89a960}PJB0AB8W!EAv8dD@4tS8Tdf zlkg(RY$pB9{|xs$iW@#afb+$cQ-${h4W$FGgp_rigxF|7X>A63YD<>GEwv~qT${C$p z%K`&uP4jFOfu*G@y_@nG+y&&Yr^kdN2Rat}7^JR2A7HH>*Lw={4A;%_DL__vdaWK| za3KgB*{$`HQc_W=Yu&vW(}(hQT_efiSd{NLjVzvZBwWK9Hrh+190Sv@e=+c>hYEv4 zf-95kitv;z6B;Am&Q@RKp>6nx(20m%_{+MOu`!KJ3dIr3a~OYcUO zZ)XML`n!ns-@fN|590@m=VeopTPgH5Hh>Yfw`XV?n1=ebFyn&5s=!gs&I$Uw-g$Mx z(6oX}ypIX(ES~&4TWSfe(ZYe$J;_ezMr*k)iejYB<gD&6sg-A^#-LK9=`0^OqptuQ1W9&jV8}JN zsa-Lqoe$ESO}eA$m1AyKRgUIXwBmkKW0%m6i)F$;j2~9;I zVaLTXb!1~x(Ip`tVtfHBpNi9Q>7;#u!?OmPxOnI%LyDX!XYRN|XJ{xP6eI~`)CfdZ z;;)&w7{+h*f6T;$1j2l&TRJR9?pA`K;f$xG!j1iea({KV)j~T%163`B3YHyRp=~b7 zCzyGsEjanD>@q>A?^@ZjdsYY5S#jpSE{EApfIl>8Z*($-%tMWJuIj~$7x9c}1fS#X z&}zt`Rj4L%4Q`Dq6l>Q%ma{zCnbrWk4+cP0eKzA>!kT+CH#*sepjX!s{wDDH$w)zs zOx&NitHyP8`li(fj&T>^7N5&e(b_L`GDubk+*a)sUtR$-1K-&&9*y^^hw-wA7lnma zkX#nElTLl1=Ww$i@;YG*+g4jJQ|~~&?r1Ca`YudgCR-7hAx)wo1e8JkBxAS3#)Xg^ z!&f2d8CPazZ9S{vy1BCXDX;SngZD8Cv01EM<*z-@V!6s>x8G&p0TF%=w{3{Dlh$L2 z2nHp@q03ovh35!^N1~jMt%k}kdRV7Vi6ZLT#KNuTe(={Xu~oYCcUm`A`7JL|4~nHXLnSRS8IQYcihIW_6@VVAfA}qrkB~~zoP+k zq!l_JvR`sKXGmTt`xZCLH*`qw)I?`qwYXPQL?5x|I7!7u9XENGQ$|-SsUs~#LH8;r z<1}EyP&z7gYtZ_O?vG5at`d@LI^!ob7DtlFcOZ|?&Uc%R0Oz{~3Y94e3%~t$b0hJA z(gv1H_{h3b9v9zvTJ$vUt3SU~6K!^dz&T$2={C|IYB{(iyXK=9N3O=;xp&TYS-SE` zlc8#?)YSKm5G8U{a4jD4J*b5Cq9hu$bGKeZFdKW-o$3rZYN?4X!CEd)T3XSG2<9+@ zAhLRuO4wn`h3#50CF(F9b`OFJ>gOuCfznf~p!F(H)Bu7zM*kxzBJW)XJOw}QtAIk7 zwi&-wnp3ZG(n4Lk|)2#*853; z{oB>kbalj7s8y%D4T`@2X0H&G+BctV^!%r{AHKX1cRnKF=LzYR=^bVr+}7sZO*$pu zhb=C529}m(PVQ#rE4*N+%3W=mNgY4S`3b%hKVV95Z)F}RTs5OlU$8y}hKRYA+RKWTrw&MQWi zRjsc1)<<#!t(wMQ({LmoH6rcW`w=u0~T(|&StM}*r zx(N4^(RFwWtxL0#^sU5TQF)JFMlt00an(07Ej?4MEF+9B-0Nz5!_3Ey{Y^83UZYYP z^ymr!mp9XWw_$7}{N{H-Uafqsg}TpCj>@`8I=UZ5vXq35P^zr}j$r{i zW78@NEZ|VnY^Gx!3vYK8Zos?XR$dW|4<2`fpm>|_k&$D)=>)SCR%37+&??Abu`VbP z8R3XhFULsRjl8qdyijZ<1-UBg&z!HQ@c0fJ+vpZ1n6XATc z4|MK?dnbC{!L02dqJW{D`RSO%?oVciSrf$pCS?^xHhNWW)ekSTp3p~8xgvY-U+<|w zdl++I$ znF4kP(ha{4lG0MbpHHRhod-ut(n_DZphN|uBnGdz_8i~Cielw2Pf`4u0&^is?P@+m zg9emqJyd7b3hul}wOECtIQWC~S9g-ZPw^7ps!7jD$8y(CaJwWcPB7Q=WifcUW+MID z^X{DKbs`up*Y3~Km`UI~%YnUUp(EC2{xB#I;QjWY!+x^08=}}gPb4oju8dgD-rG^Z z+>GTpGW*B4KM{O3%oo3h*wvk?->S{L2Y+X2*XoH$ySt}r>FQWJk_pRuPQo_4=&+t} z0Ngk4CRvYq!iO)M>ua%MZ?5teo<1a0D45*t;1ZDo8rSTB7`~r^5zT==O5!UOH&hz$ zN!n(EGwanbrm33XA6i5!rwAzMPbYHs})++DNfFK zDX!9!*MmYU-So;T2ryuLPpsALHV&B=H)MfY=9|EIF0xgM?1!0 zqXT=@$x;b8lEc_t64*Wlp{t&V;XSS>>`1g+au}*bAZd2lo`!~^-D<$-YnnA|n?^yZ zwx6G;D;Pfp%Pq56(e->G#Tpf$*Sj^pK-;^u1pD3rxcMc;P$OLDv|akw!6JwLci~dL zL@o~N{WzN7*+w?p`DNwEiAzSS=w?-)nqS23_(}taH}(2DG;n+)qvi3MX*NWc%3yIi za-GhnY_ogvs)ElIDZ%D}{e+>Fk;C4FniKAhSH_z{H&S4dV;R_0p4?2F_G1B>n0dbF zjFH4H0$rUYKm-p05Fr3e(Lv`~&ukF>(7o=Uu60X9=LFoEhDxw5M|LPM;o-hiaK_)M zXfr!dza}_^XhmJ%2hNXcSJ6uC)5R-4MBIM>UFKKh$Z(O%eP%<^C-mipq>;=-&RlxJ zhsH>ao5#Y&w1drsu3QOfBuz5^OFzj!|l;gcir-xgvk44A|`&{4ro+IpD9 zq;oxswa~8{a}Yi#BKhr*y7v-mbAC5>S6B@ycJaD2Z`gJ9EZqwve6XIyy_N@y3vp*& zeou}Y7{(K(Emd%e99SQt#j^Yq27TEyGbF@)>nc{5QU!x#Rpyk`F7Za6*JtEbv7y&DQ$?UnR{@hli2Zogof z3E(byYWy*DL-zKl!*cbLgu3vl%5@&VKAmdMr~4dazVMgPKDhLg+~`gk>FZDuw$b(jir1=hXO0yK3Df()T#XkaYmr?fKoDMvq9?hpXQo7MriG0-*E=`ep;UvU5~X#=w9r-S;?4V%Z*eT{aTGs`P}%EDsv^I5 zg^&`*<*@b%Ty1#qMANNbC0(81u-;-NIsb=n4?iT&*Uk7)8L(*OMi+~AhDJc_#TIH( zd0sT826e>QiK=S79&z3iFAA>3?qo+=!hO)?ErW1JEa}up;vkH44aZ3iDj=5g;@5ql zFpTw7nZga+;a!E+0q3QA&rTiW_IFBgdYyhhi)a%u&Qzb@Z7M8+N@=4V0Dbzv(7Mce%WmVEzdnH9o zQ(HsDL=wYz=1H$p!Y}G5W4#WP?D})})(p`kqp%&&gr=*-8#vOcWOn<1lri!h2#rsl z`#Z>?4YTFia7XS)iA+{b@#>BQo0$xdtw$;X%cT@tX-OLn!rFsg?g|iA>bO2A0&ex# zT#J8&^DYoSw}$-);qA`Gy~{~1P_CNJwX|-^JshDeWO#0I;QiU_DmgXidmQt9Aa#fb zSq_%&U4V@xIYo&=gKJ0}lBeqZaK?tum;5?K(Nr)u++Qa3U8s$T$@L?)^Z6^Yq54o` zZ_V$#54pJ33)R ze?mQnlQ2y+@;;>BHssMrgXJAZ&c;Ry?R)HPKNUT`y8}g>9?nfh^W$o-%5q1Da`YpC zUKft(nj8(^44}uL#-I}~TtPeSOqn|V6;^S7B?oz6PgZ5v#{m)*tyH4jUga`xEqzA` z($f=9q3#%Qooi7!8p6(dpOdVFllH=Nj45^v$9QbBTK7J$mMo=27&q$3(X{FgacU9d zI(LYgP0|TE#UIg^B)G=oCNqh>Jk}-BK$Xz#VVS~@a!dRw?ojSEn*%?EdzpuC24tV z=@Ey**OYLTxgYN1Y_q3md`)w?;@Pi-&MOCzr{m8YSWCl)DnyuKXS-voMA~18b^KzZ zdGjgv*VR^6E$pu#%Ne*8WFvAwg_zAc&zemSEe@XstOJHJjopY~qCt`1=!I5Pt07+C za~q1zM@hf6^a`nSU^oT8(HKuZVm#E|kN4iVcjR!K;uIW8eYKsYTWg?LYf#&@j^dt-A4z6IrGhE|8_tnwpr$WV`p3=xDvC>1k zi--{FmDC{OK}`OO6wt6?eN@Am{>qu)W}SQ}y!7BNFvWjr#%mC1nV9E|BPT)wYp0x5 zk;5c)EtCj-==s;B5lV@DbZG3UK5*)^tUd{Fvf{Z$N=^yy`6>7658+6Uhn9SeR2O58 z!5Q+$R})TBcB}l4CmE#VI)Cy9)`zZ^X?fI}et;%#qWBP4fW|KboOT&IHLJvqo1?Fr zuCMC;f>s~syW0a3Qc-)!Fiu8RuG>|n9Ha0vNoz2l@oDXWm!ji_y4LF>IXoy@dEX)W z6W85?8}N*X6otmc(s}U4Od!mtHb+CTk2A5TCoi5;5z95c>tMqV$-n-Um?0W*l-*A| zG_jhH6TA8+Im%O3>m?l-)=d>afOUNc4IKpy>B=3}6(}hwb5)A9Ye8p3(BDD#p8!)r z{kw_(siqIIjyJ05HNl>z{-?kK&lAw4OukGCmGJeGOloOwm6|yKJ|h~8MTg6p zLf+M2n?e=6Q9^tpZC7oz^_FxWtq8QLHjJkMcm`oTZX6;51FRdbrYD6b$ zh5#xwONBG>+|ETH$uF1FekBJ)!JaM0==?J|VOX~&r&-YqenZsMDq$i1b+u+}ta1#w z1h6;VcIkyMKQiIsS^`o&NEfgD&p4WMtdYE2=Od1Ak6QZJBxA6I^(*eki91h+wF9yp ztB+|&Hy^o9FcYy{KUBDfkdA#vs3qFmKIlc2N2@%8Sh`*9^PFgHFEz7)SL$WofkZNE zdvPDIjnbe#kizxV?sCjG21Plae66hKn%+>LkdWom%W>2&?dJ!} z_8`9Sq{;;25qa<{aRe?}+-+Jy{l_99pg()PpG6SDub=a^;q0)HD9DHm2$+VKtf~P1u)~&{lb@pe z?8d+vhF~24b&kSdnMiu=sn{{_+Pi|@2=mqtW7pXX2% zGwmbUdmIBSPupj)&ME6KlUy1r)|I{XHO8F9-cwbQ+MpPbN#9?C!roE3nFP zGav*qzo-KDdkJ6+xXdj}t__QrC*jc#EteLAJ|`~CUBw5zUmcX7m>ulFM`(TGP}Ro5 zH{ID~3Rk^;y%NZizJ4-UrcfF_1sV)JC6|mZTgc0Dh4>VBuxcW!Uq9||f59aTWj2iI zPSSjEi~@Q1&bU+IW?VViTdTzkwarLzQtUgm{-)8k%c`Z6*~x~YkT=~YVz*Yy&eMEu za)H%or`L-VxJI9(i^YJDIn@V$iy5R4{A8xppS$+XJ8XYS-O?}MdpjrJzdSKzhzdWh z&>$O_6)Z@C3!-``jJrVk7l|Z;4pD$JQJ%TYS4I9!3^sj$gd7or2T>X+rDBy}T z0~=A4GVrY*{n*L_U90xMbUQsa!nR8UNaQ!x*N(e0T4P$yiD$>V#h{+9#y>dm=Js9? zP%Te9#Tm(n9es_bk-K`i8z1=6>eG&UWD)9e=cnO3`H#;{V828<%f4xpq=fSzWTkm# z>AaCJ)2w=dLAj&=)ZVPt`d z=r3P#)`zmqK?s+ml$7H6pY5aOJDAkm=c?RSw~T3C@U4t%!;{ID@i??4y72V<<8djH znZN>|mzQ5EDf<^QSC7nuQf1Cu!!$JDOcnH@;&+GP@Ild_u}PWp(jbI_hm>jvCT%cK zPNu4cm{<7iUsNYp&cnjUucX$AKInXqmTJ>*d}ZE;Z~PF4E%0 zz-JbYjWt9ah8y63X}S##loP5TU{a|3AzqlgZxN8RDv-x&S(-Yz^D=5G<&~_GIh#bV z!sWMjK8aCi=g)yG0j`SxYryh!QQaQl`c^?*lrTv&<|us?sv%lJN{K+B@sjMA-`c6l z;*#Mr-a2keSiqZM78x0d<9W88eRj~tk4r>k>BxC=xKk2tF|--Am_@<_ABVbo;|UDq zac}Y010MbsIfF>nt(Ub>r3{2=0(U>jaGtQ!)2F-53P9pU9R1!bfZ6!G=-nZC1ton0 z(-Y6hSf1$m6$O}|<<{-4C1=@Ez25NqVtB{*Dh6}2CAI3*wUFh=L4ePpEAGum2i?~tRd=5ou!2cWCC|{MB~{8ZGQLdfQACMZmD^)jS-c6Eb@x&ZT6@} zH^Ukt=XQnlGR{CCwIbWptb#=DojF_PEI#ePMGlqjBWawc>`SL80|W}4=1Ybg8*XeO zp_ueix-n%7ZdDGb_@~^rR+6BRO=`MCo8;9S2!!qklucY~MQ0q2Qqj%@r4-fwMuVaH zx81nfA+UO?JB(v9#ZCQj&qX&Quj^^stoT>-Lp^`Utwv-Xp!6%{GV^j(H&`YA&VFFL zbjI*IE3H>D>0!k4$R&Wo)lgf~eQo0{X?}R^nFp>gH^>>6fqNbyqAVR*h`sk#;y#17FhF zGK$cyw_(?du3XW#6nqo8*~Qy=?mE{}>#?pPzLc_f+0W`>c<{|Lh-(bvyJ+JbWJ2*r zv_j!hF$_xg>ki(`FF5g{3`LNPilPi5VVt%Pi~RJ)kxd|EBwLo`5=0ERfva-#OFwLV z+Ie>5aDB)T_$SoC5o}I9Bv-F-O8>LP{jBYiUK$w=(Y&08LxIK1D?v0!R0}I52-`{E ziTSfNT}(ge+zCANN*}V!>^*`L9(Zko=+IYfO>o22N1Y6Kt`v$I1mm-sa@>rMl^lkQ z47oxl>3Mm-%UyqvP8_W(XW-32#n=>H&zzrT+iAd6FT4Cye@9egI(q4mDjJ^lKDE@I zc>A#imI2!Nmli`R&4P5tV*1NFkVq=}*KwSR>UGL)t3>(v2xjGLYbK!0v#5%uZ2)M} z{W#HS!ZeQ6G+Z>4(A3eC`Z;G!je3Ps#7oP`T+j-SVB~{}1?=s8>;uRf&Y14PHnFmD z+ioYznMx@lSsrcrxR(p&AjFv(*ApM;0w48^_I}-9vq9-is*m&sOne?={auD|Um2`a z!9&_BDD(VogoO?M4&|0!2B9j>-VRV-E$M*3#SJ3%27 zU!ftO}_Yil<8Ox||j^942`BoDQ2I;-{`lcZ^6#{XmLtHYw)y0u1kdlEvb z+WNWXbtrV$y4(eBj}s>v|2ZQYoCudeDmU22B7wwFR6*%uC?!}LR6JO5iFQvQ0h_oR zhuiO!FtkE!$RWLKp>)vqfV1JVJ>H@3N zKh}x)DH|?=Qiv>B$J5mi@Q_fe1DVoPOrFwC*_i(WVZ*Wjsd98cRiP67O<_lhFPn;f zf{yl;&oAr;NR(kaCAxPBEcEx_T;1u>%KCF6A{?v!RuPYlpG=KoYi~4olYfSfrCaOsF>f)B7a7S! zkH=d!DXyRMs6K|jZ4N)ypc>vTEft7HZ~Ktud^pp1{sZr}LOLsXM%hPKski3ggLkLR za<=!{Ot%>{FS%zMG7;jTIk#{rezvh#FzvA4uk&c{wo4jx&bO1Bz8z(wKlH6JKz>EL za%jC-*5}^;Y%PPsMJrQq9pS;d9?$~W8BCO=VcDR3SD{RD-lCmzTn@fIDo0VPcMaa* z5JC@^ymh%*jV;>vq#j4j&#f{L$0k3MBBb7Eld(lft)h^T!n2=X8{vN9w|-Lqt=#U| z9A#gP^~Y1eg}|@q)s-6s#&7g#SCPbT`ECp(E*C7#W=ciKJkDy8oX@!DoR`rd1xA?3 zhZ@U}sMA3njMEXS)kb5|FPK#S`XJzkt?ffz)Em3= zU5c?Z7tV&WHHPHS49c5psHMqVZlo;V>hl|3OYIWKRS(|Dd=30F zr_j}Hd5Iz^_|WS6j5(;4PV_A>dQ_bv#+O^@3`igxcKzFxn%(gq&;x@wCd2!@9aY;O z%=&BDM-t$KalE5S!s!Sisn{_HEid8BKYBsfXNqsLiAwm?ppkF#bJ3cpWJZ1BzAQK{?eufGzsA1;G`K3 z3D9JX=2YFn3R6?b*|$QVZXq{+PByokwsNkT=ozCa-L9wC1N{Bvj}2u`*Pvxo66YcH ziite-!(GX4durHbTPLyVCzCpNvo>p&wBhOTg-t3=13JHid`H>Oe*3x&9?vIWRsdE% zK7qqcy~*=KqhwGedreI(s^i8pIr?g+_4ekZh#tw;j_iFwlU073ZZvdvqUadEn;Gqe zPs(;-jih{-yz}V*XJld`#VDJdUOb2MK~ml7SBOw9)zr-<0A^jTB=e0)JgQLpow19z zX?(DGN7Kq%_4Z0V2jQq-t!6nf-m$C;$Xs2rM-*ERU zwM^q)HkrhUGGB{2T1U>RRu|JM=;<<36JnxKT;@D{L*MOod@{*JzDb*Jj&}!Q_XXdP zwrWK4?SaC8&PAO&d|B?4FRzLc*EML}v>5?E+b&P#YOQX+!t~sN-D0epbsxHao8>Ga z0clzQg9ety$(||Nrm_}=hV@sqYan-M#u1O!Hmt0Qq2e{FcI}!`AM$A8V{gK`wxj&| zDUYh^a|R(NpnPdvd^yLk#JozHgb&6#p_0y8S00SM&Xz)MT2blR@AE@G6A#Y>YmBAr z9%h69;jDQ4H)R!N%5q?{n+U6z2y&Co>US3NX*-8{Sz{8JjLO!YpnQMDt`hr52*uV_ zUK2`e%jK8J6f^ zw`?~l8Qyrg=i+v@s!GW5)o*ZPT+zwNX{OXXo<X6>mJKYY2-Cav4Q$7_1J1Cf zyFrZ&B+?IoYXjx39g;Gx?g8%CtN5qeP|kGq?{mpVjUgCdAhZerH8LzLB_@Vob!E-u zvNzIX>eoMbOj>Km^abh-q9rA7O{P;ty2<+9=S>zW>*;;hj=Rps{PpK>PbTX2H)GdzhP`M=RnvSr1jr;u zvvq~2DBDesquwOB1x7O}J6~bli7#-Tbl|9fMdVGkkN{sf-lJ95Ye)|zC(Urf@Nq7% z<-Zkff?sA?khz!1?%D@nWM&x8&=+ksw|Mfeqn_G5A56G9-P+8hN7_Dx*JqH<)#ivC z8#=p9ctmJ6B_ZDEzw2Iq6Ivve(ZJZ?eGEZawNt~6ANY`1{l$EyR*|NXU)G){un~C2 zsDJM2WuFL4V9ja0Q?+W)1vlt=j(3y9f}6p{@59XAi({h*`PXovit8s&aU*LaXy+5q@bsV;(?5uiT{522k~;fy$}Z3OYihdpvc7!j zhj53ERl2~tbC~yjMK|`v*gRX}ypuQy6#9B=n`lN!alc8X<29GF zH(HIFfIAp+Q?4zz4ul2$vdM#vgF_T_DdOu`HL6#bP|%pudQx7(tfrQuwnv4u@hdQaI+zH_1&0f4x64$;6NRM7-z7pWHFFjPzJR36%!vs>HDqHWz&a&@iuK_^M=?iP20FNf+*s=t24IB!JTlI#(mB}>AS zZIK9JK@-Y4-^y87V>)2KT?3wji%-iA8^<-IOn_avPqpx*eiusS+EX^dk0jJE0p3uV zuhv1ah%~F$qAJh5!MXNqD=*-UsY=x3r`Oo@;jVx zSq%DB9gL~KurYF`r5B3BXegB?R%af02TO8g>SXsQr5};2cbgaCyd>^0#bR$JaS-n+ zdxH2OQW#0?7AaEyyiut`*n6I@of%CF*y{!^EQ;?(kGG=ErccD!>FJfb7syv!z$}O}QCx`2e6{$d~BeMqd^BA3MW!xRtPJEM9 zn0jXUhcarJ?}MgOFV(`r8n@Z1_!}eb_h!Ik0PI856%i#YiIan)(-zILfxGm5Ik6e@Kq4(cM?`IP8W4S2%M@G*;pU`?2TWgosY~ z99D~skDmo7%1KA-PbkD9oEN{ze%XcX`#sH4?8+!V*bI7JxRXE($b-bgLx}luoA8+A z8`3G?XrB1uFK4+)3yjm~>%}Y{~f8neY zXQd-%;Kt`t1~m@|ure8Hd~Co3fb!VuzcYL9!pHPBn1L4xRuSM9)zWcS)^Rl(O-9XN z@_0q8u%X`EAVk~)plyKyI*Hqy>Y?I1vni5_Hi|%q*oGgRi9Fhj*d>+e#kwuT!MDQSTTGKZFou3rWY3CQ6mdn8dBZ^*QHCY6;BwR|Y5I5>VwS9-y< z|4l|s+jFU3!Y@>{q1LX#ZC$oPS^{~SVD;uSn{BBvr1#4C41cqne)og(=3@}-75vRj zexvO9KRJ(ee4VY>lE-XT#W{mCYFdDChDZEmPCgXHqi{#kluMRTj3T*LGo(|}lugji zVUEIOkK^Hk57QW=yxFvhnfFb_(%d(#cp@Q&h7#ckgTqnZP$?l0bw1hMLI;5ukRmB) z_j&^SwU*QLOReE1on~&}>Vf5fDSA3w7W3>R>1^TK)M!dd@hGjSdm2xa=Y$CCaoxeI z5Mu7!{2epk-&UxEFi9opD=p8H_#~ypBhr8D2^nxlsnh*|K*|N=7vL9Z9G26mH#s?w z)%3#f^uoltFPldI@oL`LNPrMtM;}K4&?#9z+k>vF-7;!6U317~8gHc! zCi3kk18h*c>Z8lQ%zt@}>UMpJUwa#uhx_71PGKU?W*z+I*JC71pE)%Ke#XM~yPIHV z_!${YUIKVJ+*0G$Lw%AgC>~T+)B+pmz1~~z(qM@tMnM!U!>yi@XqiuPSh7d`d zrSk1h&W7H^put&5fZ?$(+-SeCE$uaw0|Rcz89z_t73GBoQ4r2SQ4moQZc)WbpF%yz zssHu;>36>XuqcS=V{s$iyXUBWzp}rLxX`>q`Jv6hvq1LG(+q57|4oz`Ma zY2tqv>^G3z(b9zRy3532{VozH>ohYsmvy|bwo}d}9<2DPfrS#;&l(lccW!-au)r)c za#J{{njO(q{FB&5r$_q{_^-AXpnu%yumj(CBpn%y50yh?y_dg29u`AU&UMBaqftlu z;XGS_0Vqd31BD|VJ$|5*Y9Q{YFCg+#dsd)lU?7+}n6T8fqt~_XW8!l{;?~9+B-wcV z4$G$G(`)b5%_TueNjk=8`h`Y%i2bL51&`y&ICeJkk(lOh-;M|EPBz|hm`{hFUzRL) zO&1&E1QV^(NI#E{rQHPwK&rlZd+(X6>o~?^`F7G%_-|?Wi{gCkHQI zy$xHIkl;O8eEa~d{?d?I+9|G!hQA}DK>g2G$aJka&vMr-ejD?~@ScskW^F`PCZE)3 zXRv=@;BxXQ(NlC}+M^rush2)-jTdC2I!=+0-@n_(isaG|-##dBx@K8(zrbpOAJPaR zEvPJNDz~;dtyWCdlq=I;ySiN%bVw3oI26{cZK2j;WMnX_4cfT{z}!LSHjY{zHNA&U z2YZ9_nz`jz@xur3{DmJydBd@T=M@YRRcO`zhd-%VEk-EStG);VqT8nH+V7p{L?byj zm&r{pd|Egc7!gM)sn{bycB#y1TSdL1+N;h79l@rK4gmpSBwNtawafPj(rC6ITA#{_ zy*3I8+6tVsIyu^~f8`%vvC&NBzWPF5WPg7IJOtbmzK>Hd$YQ6vw3|CbPBvEZI8%lT zFi1ijcDg5bb6$t0eGlpB9Wy- zBRx_v5ra>fN+nr<-$;q!3>oyx6+^thA0p7>tM;iW8PJ%>$nw(s{JaetS6Xrx_^P4D z9IfhX&3QiBevie20^45t7Bj>3l3m(rgV{_*o@u<|L3z$8cBV3GgMqKHB)=zVWwcrS zHEDU|(UtB@{b2kktMNl0r!}5n^pQt!MTW_gY4fIg^B)c$@T7FlwTaWxh;p336X zW0$iJ4JKT-?pNn^nmq2r{I>*g(fvHrA}fC`uC7J^TP|QyK>_vGJ}`$+4Bag^hfb7w zG|>mFL?~ep2T)M{vVw;=0WQ`DVxc6<-C;PuPBKATScvi;IF=<2h|}Z9Z6p z*sg+;OYe`8&CNtbsa?)@*Gne~4vtR;pp6a-{O{j?HzvSQ++bL*<;Qms80_5q8lIHY z0>l)1F&W0wIA=ja#f}SXV?~3@($bQ3i%y^I>Qsdb=QufewrbU&+VS%>El<{e~}5o!!)?PlogN`j$4A zEbn|2qt4)Jw6^3;t=$kLv?`jD$9^}}t`Cok7^AiAeNCyNm}`B5znt_+bIZqY#c*o} zuIf~MB!F@42C3LkuSgko+|W_cGn~pY+dDdJ4?gUjZ)pkn{s@be0E0UIyz-jrF(oJ7JlKii#sV4GUQt*#xWz_pLke<+(n-9rM#*kb zpjdDO+L+Wyax{6Kxp*m?a(*bvO!9rid%HrJD!8;SmA>(3MU8yG;>v^DhWm{6u?1Lpf#FT7 zD63{7FWgJc#Kd%$iU+MNZGfkzAcO+9JM)dkRE-O#R-LBt{UZQBk8QWdUwTKVMy`;v zGmWs{WX`;bfWu_j%o8z#8KehgmBX5Epm9eh(jbwS^y^!b%5-7nWtp@Y)JsF9lm7F) zi)RGh$?Aml!oA^WwajS0ZG9u*x&@t+#nt8cg7>qMnLZ}ZQDiWbhmA$+1tx=jXFnr3 z5Jov#9?1amcDy`dplNTsZOhnn&+105AP@R5?$6`_vq8OJf%t~N!9ob>c;UX-yFeAQ z*pnxjqsF=rTH~BXPF+2Lv}JkuXlEV`n#`YM$r;6)PZrv_FUVqjC~R4M=yB^<@%Ht} zu%E-2edu{S)|#Qr=Gs(WMT8j^chPTeRkEI8g(*}zEVzTcO=3lRbJgb|$4qd0g;NtO z;fY+e)}DJVLt#lD2>m@B?o(6vcLW`RdiI6(-7zC%AHn_@>uc-n;2roEQg)bIKDKOF)Gyq(l|iPw18?A8kZk4urEQdcVKn?lVZ+|;mK?jN`!%`mY|GxH z(T@_3WQ5K1^3QdgFQ+{|?$NBh5D~xR=bv`lG$V-!P{~%>NJx^AKp}GZeSGIp(q9Sr z4CgA-tK@&w{rCE@!dOH)B=4_3au#!e@Va*F)Ae(FAM3NX6^Q5^W$Nf00;lc%-*IxX zS@@WiJ|2A0^x+iIc(f<{3diU<%j%nl4%Xm}Z0ma+nRoE{qW%2DC7c08O^$X01e9$* zfp*{at}YD{iN8mgF8!h8{&vNw)@)i>bT2 z;jmyDn^z|>ShUe5lZ6ARB7qlxv*~g(E7{NAe<_%AzFBFh>Rz_|lx*n!BCniw{+s4c z$A|k&}PfC~}P49lYW|$-$>*FMs z-bI0`_%X{5)%vOXWc~xAKNFewRZExB`>kpaeiDDBK^`{@Cv>Ej6&q-^Q>^tfSkUAU zxVxD0nLy%#Gwj&;X#8cqQrS+Ds-JH!@Pf*}5;x^H!@OTyEU@`4W_Ld6DsQ)(a&v6F z#k0tRcUnOTLg)=dKD}i7@}O!SrKCh93oDEq1r6;pXga?>>>>l)u3sd${)%bN*la$= z%X=A`h&hfEe9s$nZMlRhIa}}M_kst|Ps~eQjJrK;+~GCtlJM61BT*~IIpS8U8?#xR zRn)D~L@zZ)l>U{)>g z&d(TQe<&En`ryaToA;dX%jX-eEk;!kRqbd^m0{}HcIx(V`{-usR+rkK#+X^e_+T=+ zJm9uSsU}vohL|j!_;s?m<~Ims^enx+yy1RQxgGF^|Dlb|?VLkzm#8d8Bee3<-n4gE zVsPI=G6meM1((oJ@JmTTlR$s0z8wk{Ej69eUn0}6UfKV2by#YMV9LyDC_DAdsPcZ8 zn3~UVnHpme!4?5PUOYE7D2`NYJqNCXa| z9vtet5C7^VI1#!h@#7EgPbU2<3FPU1y)Ls!zJIdL?=>q-nWaJN8gqDaT`e?|uTf5N=BNrTp! z*W8>UvYq=?p<)|`HJpm8LCyEi=2tvLNLVk0Z8Lg$Xf^)My1R+R%8J$X_+*O(QwQ*$ zdXd%DT$N_i@4-ku=mbFn1k);F|1!MN+W)7{!W@?0h6Gp$SX z9^!}fZ+*NMZF2Gs$^TBjd!-AVkOPe3G8X2INN9)23uDxH&J_*4)Q30f#VV#NluV1e z@7vjsn*k0z zk!5|@on5$_KS}$Sg8exv?qBz#giY`94_Ol{0cS_MO3=^~lR19kqPQ?K_bp`Rz^tc| z=`3$=uEnoDGiLhoWVzc~5b=bxGvS9_v}Aog+0)m3Pg~X*;=Nty*)E*-(@z{ZTfKq~ zFt?B{xWnFn4ZNx5(8|w-hUz3zf7N3pHRnI|V3vttnHOERpeEtLw-gN1t-?9pa11HZ z8b}dYc)mSL9w{Q*0HJJRr9Y1!H(dUhH_>jl`|w?7#pF-L2A>Y(3~A?EC##yp&8z}h za&oG>7M^^Ks*q5DTLR3`K&>v-zhBtyY=MAzZ&AXI_O^%6CT@`fqoSqPDVnGUvhCYs zc4GL07b|zIF;N)9j>V@xCv9XK5QxrqA-qMSSSX3qQW>&H4~8>o%gGtRro;f;Srrt2 z%Af|;La5LHn6tLJDgqi?3qoEgm`RUP_QiURZng@~snO%&?AQ}o*b`xJ){PtAJxV+I zf5NnwFn!Q3>`7$7VLVd5GKk{_7ylD|(;tEl`dNkTF0;jD@t!BD`+bh9@kmhn^*L$Q zJ_$b&EvVkw35vEHK>;*;Z2?znMhG)}E*D`_*%a@Jps1SS-Euf8m4SwI&^R*qHk6K4 z7759Lm+TZj%Y)4Fmc?IuDkHjZtX^K<{U*qWO4pt52ZI!l0*7e|iAw z8&k4;X|&Sd<*+Xz?kh{>%uo9w3y-u$lhH;h(55Or6S*_CLkf;Zx(d`yR8V2>Fbkg~ zQQIrRrGCJ$kHmCsj}z@NzTtcdZtb@o=I*^&WDb(ovj<~JwY*mNg&gLK1Ds>JV#4X+ zlH%eoX=(40s~{L%0r8fF#d}xr=_JmpE-*%NNNQ6C|i$pt$1HI zIX7*hm)CQQPMRgFG91DU&!T{+yCbGU;6uG<@Xu)m>xx&65ry_S{29C_3%^4hD0gx# z%;Gs>6UxiO1yY_9jj~zSXx4~GFyg3&ph`2#;ByxeYi0%#M+YVl;}_y^jvDCIYQ`|) z7bYa&ki|Q}v>1OT5Ub7)*!4F4?7DTC?J>_HUhd_qV(s!bPI69&RpnKlGFYdh8}0I4 zAoIYkYH(RhbjS~(AScIjy1iV#OLqYhIw~Fw64Ue@afzYNLn&#*asw|}=pyIwZJj5JYLtbdz2)+te`2+|C&#Ioqzz9R(!I&e{kFoEj$C-+By1YSg#;?@4}I z!Q+XA&&$41hd3qm(ltu3hPcAP&I;2zQ(V#wwr%%-U_FM{iA5%k4Xl&#D2IeUJ?v8S z50)e6YLAxEm`o8peTGZZqvqsXi!=HQG7vAOJB5Bm3ibqLqA=ZUDWGF{^O)w&Bq|7Y zbhYfLqKgK-MMhz4IIi{eQh>F<^`T=DUgsO$I&Ga94o5b0wX$rWyCu*Lo=@?T`2mxq zoU5DL;n7JYB<}fpEAb!WSj;3C2gBhn$jKuk+m=4H`(c3wOka?EOa{qC7OTZ~nR3ap zU%q6IAEt-DmEnqr5jJtgJKa`IlZ`X9sbu>fNO=Zt6FaZbnwpl83}zP&FCX

    Iydgg-c<2ssBb6D27K|o*cW2xk(ca4sUnt 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 HP6 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

    RCJbnES? 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 %mgN=X27O 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

    >l%;DE{KIQJ8H(B`MpoF-Q7 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 z XC^mKK*SpnV#67qI%%ACh>ix>c&*%Y|hO+H-oxQlZGo~5^#+vwB?H+o^oCZg*8dQJNkhE-vU% zNYU6$^mM;QJ)mdxg#^swU}aY(p>Xx>WMNBkTOFf>0KsGaD+lX5$UNHW1BwMc1g}Q#b&vcMj`_)HsnYUSa<7ilWb@^t~(## zFvBo)Li56-)M)BifyrrV7b-P^DUR%IJV>#O7>f1&q8=k)fj^A4`et;6%W5qwrI|0Q z0FX8Uk@|1Fw+|_Fr;@FYeTl0&XBzYoajRHRQ`6{276X|o`;aqtjq5osqgz)ATCWAj z>l307Svx@mLow@Nx?%X93Se=iB|wSzh7pIwi4xW~1U1$Fm#AT(BV%Cw_HeEOwJ3YT zU@*osEcp~lT>=LU42sWGvzTJE>qkJr0>u7oG?JuYi>6ARng(n=M16Y^$1 z?Na+lV#99r>`r#C&^(wKO^; zPh~_;S*@L*sTmj$xjJsk=DTiWQXQ=o8s$`Cg~5%Dr|gcW?t z;XH;)W7ghDJ70?%oK)7Q+l!iXu_9W0re#-YQHr|wAy4xKL2H_e@_qw%$SzIF+ki>z z)5oG1Y76@s6T@Y;!Lyp6aa{vMT6n_TdhKsra$94u)=Jm>w(jQ;@fx5~{l8*adLeHSzP1Jn0 z=;cUoTRpVehGxW;{-e#vQ}`!0Rm|Wa>QzLUS+hm*Q@o%F;HMcTvaz`EPYQ&ZR1ut{)hTL;GVgmpa4|dgoAa5 zvvpV!1DV}ASc_DU+l|~`(Zs@F zC6`Q`DF@x$mDe(u&0_1XLrpZC>%N_ zg3i$_zYyg~jKtQ9g~otf>ZlF)v{x2!24-}J(9tQGPuCXiq6#9VU}2UuQT?v7pl03g z0@=UA1H7I?@7FxFEC)@MbgST-wMTlIf*%q z_FYrHc$&K@{`}6uVkq#Dfg0WSkOH3%RYMc7b4w7nJvaR^9^-uSU-PQ(PdKPQ-Gq>? zz-uGe6kSDd1R*p|Xp&zS$?x;#S^R@rZf#KF5`S*dwp(CUbCybOHqg%y*`Psuiw^l_ zuiIk!uJ@C218wa2)A#j!>H#+#^2NunEoTbKBShYEJ!Tk%;pt;E^o7l058X# zP&A(nRSVIhFvVPa(>R8IAHmrFBsbDRnuzb}5kmHN0v|}Bz|^R%zDcWLcFNDlsiDx@ zHbIl)KbZUcp_U@0s5CcpGXA_hZkuMvahPLfr3qcSJx+8|)k=U>O3lKd>+u=ccfq!e zlxyA{9x1i3*pij;m(9HKfJ)a~mobWNi}$D<+iFK_GV3dmJMyB10b*e!E8ogkGS%0L z83X_UaHK{C+(1pFex?b_aWxwj7CTYQ#`f!Hcu}j!x(ePT@%XwSZ zrZXk+<1LSq1Qe6bXIM!xe<(CjgfzHZ!EjhfSz>6=>OiySe{&ZKQ9u=;rWB4_-4s-8*zq011^9!|&0A8OCv6>+wA zz6A}(<@Bw3;LX)bH}GrGA-v_>DoT-S zid-s6#naIuL2&C;M!TG=q>M38Y2h5?pP0uH(@IyLuKq}O+L1>t&%l*`8CZyZa% zZnl~#Nv8E_Paob+ZPaZ*lyJxTLj;xjeSqxiuBfQ~aYB(SQ!S5J;1y2miQsgFbXVr4 z61Lk1N)2>N;>=sR?t(Tu$l{tzJntQ!6E}y&Tp2;(G%}mGN7I*J7dXj)r@o$Ga+5r) zfAO84f29p)!@Iu)S~=gT$Zkq(Q!2#c5dG{ID(UQ;W*u`h2@f)S4MHpZ zyZiA!gnT8I;Q%|eBBmE!Dg41RM^fNYaOo+i{nxuRmPwVvM7Ap&Fu!}dM+aM zx=!D_-0+sSeq}kF{O%pwLVw8m6i4gt8dTALi*VHz&r~J&XaEwmh$9>r&JUO;GNs5? z85*ZFTW)OB!>yTeX~(K4oW|v(l6h&y*5*QQ)hNSLS|;k#=b%n*4F5mpr0obTZ_#EoqKas=Y{b%v6j+B4!g#7p2^K*l1xc?R$JtL=6 z0-%R_kOOmMo_79iuHJ{$eV>gMz40O%G9DOjrDthVlC;7e4ocNZN!6;i(_A4H*h6|t z_XROfgNS;Tn<{ny_CfbZyr{$NEz6}_E%o9*$`26vh4>_v5ot;dGOr(&I8F#+3Ed_M z=*EZ+Uvj!S+qh~?*hDk91&RWEdKm*VUXuR~^i^GpE2r}chPjGo61Pm47P0GGR`kzl z@F`+Si&b1c$Efw`#);GYqAd0-9&{WgdD|mnR>*;2g@i9qg0{ZO`<9yqSO#ESv8L>& zENWzKe0Pk;Ry=2>{NBP~RFjvWDiKR$f7elfRL-o7Uxw7;WZSob=mF=KxzAIJ%aJ}X z&HQvrbL#&o1G@K$sPfn#bJfEcN#?tbow$J^py>yk!<$L-@fcA^) z6CD9#UJ2R&u82=y;s|n0CjJ={arrHHDp(Dn=p_vd54&=CJ6W%t$TY{jUnPB1gOa>5 zQMFjg&`{&XwJ`-zm^<^yko zVtzdIZa^?_sY!KFWfe{I@=|GhS)MNQ2?ytVCmulZfNaBJ)pRWd3O@S3UgyY&D~r*; zW8d<6&yHXc0Jk%ojnAHsrXq|12$IJMd=}i;LF$GR%^#%5g>c#YF()kJC6~{UM&(Zl zDUtG7gWVE;@1X3eNAob@KH@mf4!k9QqX|0QZf*zpyo9tBO>%dh0tiH2BqG9+Y7v1( zA4V6XCVI#3kuoG^6}z9~844uKF(Ymd$2|`6ez?AW+-V5;R8&!tW3!Qg z-74zrH~w<62caC$S4RZBNk{`9XVe|!M+lw4c9Z$uq9BF=QZ}?j3;@jxIOyeaWMl<3CUAGS_lXi`TyB!US8{uF(F~ADkgrk8}BEa*k3pT}i zG5mw00~i>vh>|4V*?{@q;F$SkT{hoXsn?W~Yo)@n=HGR7&wF%WO%UfocX1K^-hR}} z(EIer^}7l>Dl_GvaN1Qv96v+p*R{I-Bm76)>cv(5qk;~6w%B;mlWf<)qhS}zS5oc? zyC{t`_c%9dCSF_jG7^*wSk5s@0f9t#(d653-hdE&_kNKby+$xSXR|y3H0C{&vWEu` zSTozrT0^^Jdgz5<#y*0D-rlRInSvT~*7!OjQ(m*R6RC85vLC!=%S}@7{z{2eE5*5{tkGXcq}{Us=r4DS0Ua8E z^%eIQZ2$UsKr^P-WNoDMv<34tTjHus%!nC?m{!XF-Nc#JGN@I#GZ{#A~CSBJ; zQ}VTlc-{L0UiU(sgHWQ8qCL-CbNn1*t3b@mwaimre=OWc>3shvcV1lkzFOQ#Pv7iY z8%fYwB*z|X7Bp;=kSepx)B>c!*l3Ob0pUPYmN><|p?& z%j%kAWwS`D`+VifUHrR$-;=&Gl7F|?U&KR3DO)3IOO^~H!al4MP(a{q9CgN^LeOvU z6oLD;G~47J0kl{U-s19_$?&0WUE-V|X>n82>dGJ%e>k)m@R67lxpg`1J{4xhfwk(Z zT?8@jJ>{pVX&Idyy2ptBSRC4uvBMIx7Mdl5fLB^dQ!0 zrDyC7Ir=1JwW-9jOCp7*htCdqiqzav^Wh?a%ttBPm}F6~H3)KDKRD;zLz?LGZ~G<} zomYmu#8}IU>M=n(Ees4PNa=6_udC?u00)i6|EAx+Y}{C`=h#6YPQF@-;d>xlV9=ZP zb2iLC3OXIaiT~pQ938PcX0$@XzB!*$1!6M5-Dz=6NP5%h7Xd373NMjnoA?h3-jnRe zga9ehamAdnmo&%_IBKaZ9*|_S3P`Wk8xFi^$)oheOCC7Zw>S{5`P#yk99lgBK%+_Y ze?hpGj2x)8P#>73iZ_e6l8=$Hg8 zuD6FOlOvYqbIey9(1j2iAEiz%u}(>$Q-`^rv*4kWn3hPO9g8tv0dxS&%U2hkPr1!j zEEN1S+fhYNAdPPz>QLc>`F2o{;kpQqa_M9xHMKgbo(rAlTmi+!f(zN9tX73w{9cs+ z9AS^&L{ZlEpBsIc53%c7ZEBKqb;shS6>$DVqtXDHJQJ z5o=4oCsqE^Z}W6~KMbzgHcI;UyPh!qc30`U@^7euSH-0aLQAND9Y7_?kY_q~^4YKN z4czL98tfEZrJiEW4giiTfPV|~Y}q|&4imT%7MB@krOTX`;;5f+w3>M7^Et8*=WbDc zZJ?IMtR4KJGq%`xjJ36rM*P%aT3w4&WE9+oc7)KI@C|O3QTs#6dcE|3Ep3#e4)T&& zDn2BKJvaVAMA%)a)r~4v1B};Qs%8sBb}zhV?N6Un&L{aw?NU%VYh~Zo0KfSuLm*m5 z0K;VK_}#jWV2S4CuZoDOc%*ogt3{-h2bNBY!cW{3q`SL40O}$V2eFK2)JD3|H8pUAaRAYwEVw*N7&;w@Qgn(W8?kpbqGy$Oktp^WN}Yg-X})XyNn<$;yO_a z*u5pN8!4fUo&}Ivq3G`lL^W-7>4#f;PQp^IT2(aQ%WymMzl(m$CAChDU^YKLUvE3Y z8KSO&5Zl0Mm%2%*qJ`)eUC#`NN{rf=1QN}3b(rD^RXWIBjcFE=|HjqfDeg1xi5VEA zHYaF8=Z*Rx%_w1zL@jxW%dczf9 z4l?~-kliCtBG+L|Nl}K0sBt^ACXjqBLY~27K8t6yK3B9d@WR;4k5I(VJQRKxY-a&$ zxP038o+Ra+zEsKuC571?hXtB2lqlK9U)aE*`cOAIku1&rS3^@S*FtZ2!{h~#20mj5 zdVT&@9TLr&bjQ+72U!2jHp}9zf&qVe8m1Ms4xBL!YC774l*8e(hFZ@@ue85O3K_Dv z3@&Tq71#1$X$mGkvSYYDnF&vu$Qo)F{_mVMcQsuk5QZ1REl>khvEeCr^+{# z)Se_mFhMC&qQj|7=#4A&RVbKqo`nxz&jvSb`3jfcixLT<9)_l-Ab8Fr^`+wkIL!x8 zwbh+dOVs&N&+#}q#MC8OJ2WX<-Jm-C*&$GBzZG>H!^<*+QHY2wrDtJ6gKW1As8@5_ z(fJkhab#sEbu@rm z;L(B&#WZ0?2!Y!7&DuOGHq&SHX>Hx*0V!D*f4*Q<{2NWfUWos~0epioaGj5$ypmtw z*nUY_*+3zsnF%lx)(Uh7HY>hXe2?J=I}S4b{ZE z9Q%!h!Z(XL1pyRy#3!S++zNU_jxtA`9gj6sl>Lp#>bU#gV8nfmS#wdvm`AsU`W9Ee z9AC;n7@U*{6$(iTW2&f(LdmJ&FZFQsA#v$RMMK)mEA_cMafCet{b&bOQ-M9V;X_OK zI$WhJj@V6Lk|-PZwamz@ejGXm5*h?IL0dL7Wh@FyNrCr_DcY9%yVEzd!IP53Bw=eJ zaWRZo>eGK@ot!Mkb**T|bBQn!)_v&ye~gonk&CK-RajVP@=C+jAl?>W3RMCN$WH+D z^GSXfja`jsbQuLVnAIjHiT1_qS%BgHFN%iLvL&3sAxq)|9UE-W8u8plxlJ?w2ddwS zms$G>$#eW=0b5gwJ8H4y#GmMKEJTa@!q}@h2f!dvHhODWwX2_1OKz71r=Mbx^p5$B zj1m<-%%}6tm|<{ewX;n|Pr2d9RznS=RNBsSM@ZP@22Z8q^H|7Dm-H7k#zYR?Z+r9j zuvFjDV^dgf54%uKNpjt*(OYHuq275ArwS_&F7Epf8p<2D|zol|h^#s35jFZ|r z71?6Ul^cxvs#Hw5_!T<4ar`r}&m=u_koh70Du&2O8NOLJEzbf%;7}Y-qIou7e+V4l zhdab`IEZITsZt2{Gn9V!b?)G1Tw?snTnvpHEQN1GFxtiMg^{ud==ULRZ zF*5jH)%9P6yCg##0!tASn+;Yo(!`qEsIox~(cAl=k5 z_2s%!La2&M{6(cl;>ev@n0KE^Su)OdMT9SZXA57h!Sd?B#!$slF{?9DFJFv18*arO zM`_BUq#d_lW!~&P6YiswG%D|0V^4~h(YHpt+b*vPRtxfyv_aWBbd^j>XRlMmCd9!l z#39JRjny#LAcT_OW&$sq-~8hI+$4X{Z*#gGH*CDsjU`%0X}aCVjDvaHvRyG9IBzv- zfm@_b@90Goi4BiIo8p!mLS83<32O5wf8ywulapT`Vf-a?X1~=J7(MlNy)6@x!BJLK z%f9=U>LmP!e;NFRl874tXvh~8i3U)QzW?_u<~CSFV32p;Q~F;bmX!AX+d#{>!~EYx z`+MD$r?RmzJ9wK6McNo~N%1=&GwI z8AuO$j*g8{)Yt)aXBf;|9128EQZA?YwAi78>yU&W)_r}--x(m274O|fR1|j)gGF+C zx%HWt0sCP<|B&_&!AjDi?M?1b<~xC{!+sL6Z1w|U3q8w6CiX2uXexXSTKKUcRW$?u zy2^}F8VFSwrvgJtazrV~R6af^da+D313Afa>GULwQj&0&^jgK0s(-xA=q^ve;Nm(b z_Pb;D$d5Q>+oYLKTM-_7PU29jGF$zWk2kUrtqhqrA3<|DJMo7kl?oBJqvH+{Yw0Ov zjE6gOmo(fc`f;Ws1Cd{+u{Vmp6RQ^L=E(8ZMGMf&t45ghkG~^F|3srG$tpP|iVSQ& zARJ364bU1*RKM0wfvX8oUbF5>77j@}F zM$L!X7z3FN74mW49i?U~cq(wNjNlS{3B=|Bs;sQ9Vk};;;(~_yp_1xdooR4PyakOi zes09&{s7cw$gO`2mb(NaMNMpyVjZGnNaMHF07DAGY$l?zjBKA3n3Rlcnh+uC`I0Klp z_V9uG=axzu9ocXQ_8c z`R!9MkQJ%_&CdQi*WW?^4t3h2h1}ALTT)N^Zy4ZNS;^!8={q2HV1)UaGQcgHnd9xC z>>|m2%n*o$EX|rSNr#_UjAkKq85so6M&+%1dA3s%O$+%pB^dWrOf+ODVi8y7(>78( zHWwaq`Q6cyIptuE9OwC(U5W;=ubfcV`mFYlqHXUY3yGhSkA{t4J8k&t2b3v zGVt_F{Ur7 zG54i(O*Lz<**saC<+$B@wO;+X3GfW~grC^15j>-B;ZWPeRRr!KV4`9PM~sgvHGu5f zf;fD%7@`$D2YwY_Po7q`p%V2b@WUdSaXZ>l4gs>?K+}12%xsYv7{(_hZxu%TjHDuG z8jB1aiseFuDZRu5041QKK;y8~2ZJUafhw~mc`PrQc36}#FHWZM253vt7B zTG`40VPP`+;0REXa}^*(kIrrcpVNiadUM|KSrw*Ut_}7L&tq&;dZ9M&Cuk67Be>RR9nPrOK?M@9%oIZq@V6& zKt~izGjHnmA7AleeCUcy{aSI*v#cY0;2MVkrN`07CIMKP6gr#iU|$ar)%tLK*M(LU zwKE?Oz3*v3;9zOwpw6F4E0H$*u>ieM?W&)>ZvmQ`n>!9+uwJ#_tASF=&j;hYtA|5h-+MPj0@^0o!hnDdJu)Ds$)udSj0$X zBhE^v*%Ma6UK8CC0vFMz+FB7*LETqWy}WVA`mexg#Q@815&rkX(is zrL!LN#KUe=(g=a@f|RMqgpOnpNpvH!JF#!8o->ApVX3~Hpa~0T=|Httj=ggR`S4WT z$yjI|iey=PLDnw>m4aRmi3_E21^Kqfjh*$*@YpeuXBZ5VA)l_dB+`?0qe)`7S&{e* zezo9==v9@A{iQlKqxacKHw3Al%lLk}fdo4Jo3TX}-?utA#{VOg4)Gz<^xiP->cNos zoyhuJg$~xKrO3~s^=N%>=*8YfzTzuHuQNp11i0K31T?h$Ld9E;^!CvEYlQ%C1NNGS zGH)sPGArKtOW1u6i9uf7tn8zkGN;*}FGtLXI~&WS^B#z-F&~k_;~_;+Q_I~c@j*rR z)!bUBfJ5g}e3Ye0fFU9NITZg$Y_>)hJv zwVFu`h+GtM(HfY;)Fy@BdM~qdZGdt%@GbjGimLCD_x=Jfg8v1JOcT^gb!wjJFH zlQte1nXKxUyZ9``zKDoS_b^e=a+;4c=o1?*X|Wk`A!J1(b`#A+5srLuM%vxHaJ^lh zUnTIb;S*DaReO<3zoZ{GNw}(TVa7`0{A4oe)*Z`@gDrVM`9*!&3v;(C%!i*$!qlS> zTQrbgt-5O_I_#|eHoK!SG|)9nx|!OkUpenISEYc;q zgN3QraPK36ufa@7R>52hPS*ieAtIQpF@kUe0cAJiUv3%R6$}U6*8r zqn62SEh)C9<0nsOa}UlCPXX08Mxvb8)>O!J0f(zO*3jaS;x|d0AD5}3;3~=aJEx{Q z$4Lp&YYKhJIHF=*DbT>h5J<5s?HTw6WmuqN4F+aYhj;B?isHIU{>^PB%j==|g z;K*?==24t?1>MNr#y;L*5$j75RZVEjC&I%!KMf7`N#xk}dPT(SyU-3gA+ODlTQ-c( zjt0NKeY#?EL?XK+@X?t?yb(kp0Ylj``rid5!^t4u??!EPj&FC^()lSFc_mV4=rU0? z&F|RS&F?(<;-(s@&!cKj6}}wQuf#_iX)1A`M5o1qzKl(4r0s2Xq@u2i?$t?G%CSM_ zMG>*;9uf?X^!=Bed|9cwkz?5KkF}%^BcxdOT8ouhdD9-M0rb~w;N_nAmqpAyRa~bN zrZReklKa=hfs(7VG{c8E$-~P(T{`#1I;B#B;*5!zc=7uVp5>xpbc@DPpQH8=NzDt0 zE}>&K&09z6CZ+JExBM)V-inaZU)?WDk%sGGfAYcmLvBX)FH>Cuq4SK^-=(IWdXTx>0Kn2Pl6!b~-5*w^iqY;-@sg-jj!3cL-9AzG zeSla}Q`^4WVd0#4mc7uQdP@AjP)Aos?aQ=Z%H%L-vyIcI5~ce~W1Vz~#jJe6^*@b@ z5p+vrF&Hb7BkrgMihAQklFHbQEfy8vJFQY0Im88Uq<^gR3JX{!sA)zB(uqoldCz~M zZ`Yne7AQEGtiH)k8*G?X%1nzEdm-{Df{1D_KR8@+@rXpq2ix0*{PuAH*}iJs9w zOOD)*_aOgnQz8fMU4-M!T12t1`_JgY5Wop7d{OH-PSe~G=68L$U6KrlWg0ai^DWRq zdC<)g_7vW^o+$v5q#k4NRyFWWAR2ZLuS>|emw5{<6}Zbpo>IcW5!ac(3M%~+{d^tg zV?gT2(pf4cO)g@nO88s`J0yW@BgKO4V4)3Jo$rxa7Rr>T_eM9_xLp|%!DMvjn+fn|B{CZxeY=jibL0ElUZ$W^Q4xXp-Ef%lwGGqigY>8ffGVtt8IW5oYQH_h{9B=Uc;6VcI`Vw zQ$`9m0pf%&dhG)A_SNCVTOtwsi+b6}mQ1yuB6Y?W3zZ}tvO8SW=ZSmqvlPS)}SI)G-qVrtnfuuaRGjW8rHzw{T+iPsZ@1CZ5}170-eu} zils`kcke+oWU*98#^Cb~OP*}a6sNtqAw!{oqv;DkUdV8*9!k`x>uP-79X*)o2TW^N zz*Dm=JUvF0mLAsDYCFXOV&J4t+vL5Zx!g?Qy?$2<*4WT-$G`jI{N?U8T!9_!m|lcv zrr5s+7m9`1Gql?h!V|!4EDf@?kjl9_m+sVe>Bt(a@+lu=sw~DXufI21Fbcn>iT1dv zv}JZWbw?b=L&YA@elN)1YyI8tQU6-155K?B&G-4(t!`&bBJX9X!;o4(IljO$GaO=U zqlAvKOSuh5+&o_h68r()bCEDkZqWT;%;Ag}?-d2FhTGPksDEOd6^_FO)3 zz=iBYigTcpj6#l>xs`XZhXyI8^4{PbPqH$yFP%n}5vLvwT1AH`6ua^Bn5xy5fkvb2 z3OaL7(3u@L)xK^lzbG}hfFSXVSSyuQE$O?(gm6%m+doR-fp<9&N#)z|R{ZoFmvm#- zR6=~|IUzaLtK12VJ>_qu&x!z1L_r8GmhrNd?;kyncOL&X4;wfjHe4*>Wi~cYmS^H^ zMM<;D5jCTaOD#{~oif^}o+>V24}UMEa}GzgJJ?~fn-{lzZsEjk(!NM)u=3Jxb&ZX& z&#p)>Og7N#ttxR0Lu6>?&35yrZMA#2bJz{|EUMlLvs>-=aHgK^Mo5-uZxgbSt@Ayo zMlWX{+p5Xw=`*~a=1!5SVJL2z}pmJiw{5ugi}F?#Y}SI&N=8X`fE%MfBkRo@MuY zKBQphuDoZF>Ng_~q}sUixh)q9EsJdX%eRm@1LsHGJEjv?Y&#A~KEEAV%pPIkO(VBs zl1zf^uZ4eHIc7p-ldUN?X_2f?|74u$OEd*3XUe&$i4mgo=!4#Sq8k1|IJV^Q72S@# zqG{Jk>5d9%|Bg&xXN6ngu8XkjX3O~lBc&f~R1PtTIy^vgslDkbUI>clPJTgtwA5jJ z^*X(Ern3;Abwj0^l>1=C>-bo|3pj*qQ2(bot zsIXCy;U6x*Uqe;u6MzmTYCKefD0#!Xv&+6j`XiN*s8wi9abp!Zpqx`eis+de}b5UhaJ#Fr6>X zaPMw$-(M*!x17Lj-7BG^S}`ZH@??*GIlS^wA8Aal3vPgeUoy9v>!Uv--PCyDUN{ z@%?V|Q)!MjBOdh~elG0lIIY%-UtTjDN@8b;tuLq)T1J`EJp%PGZJhAb>WJl2edo0E zG$zS$O^1-s@%Nl6sHvkhoWqgcRo|6~4`k7p`;wcX^w3M?uk-u?cqwUga+is$l3|Ol zUvq-?qfi#fLh7Ja(L!}zlktKlR&^Hw0jxvt;^I@vR#zX1W-eo}yvUIxGx&F+E!E?U zIw|fA>Mz zu>2W0a3T2Or{Y60@u34U4$#2YeAY6;=8M`WId07&Hp9DLv$0^m8>MB?ncgDMNKWWA zAs}Q}ysN!GsNrM~4I%t3%hf!0e8mMG($kkYTv~EjO*bbd5PQYbsJztHrplJV|0Ge? zu~h#72P$Fty897bsB+-(w7;xo35~Ev}*;0>n8T^h?ofdls-j^SUqD~HFM19vJP-(N0le( zr;rODDUOYGEiaRNIT0C2(|0MdQ4%OAeG&o>k39e8@&1}%U*4MvvA7z#;Hj=~iVDe4 zUPQ6YU!uBMf`+{$xTaIY8zbc?Ycv0r&lU!%>D1eD8pW+>e1*~rv5^!i?PZZ;G zAF6-e@|jt%xh(Bb{FMueC0mzzP_Rh91Lu!abY}`$s0^IDz~S8aPRePT<{vRW{i*Z9 zH^7o#Yoz`YI=ojmx^-f}Sk=Fjl(bjnokWb!ZF#KW5D+sREu2L1-f}P~wcQ@o>;p11 zE~2?Q!DHM^m8y$)ct2-2v;Y`(^$qUvRxlhc4`%9ntzYdw)S&skRYFn?rXFR*szyw*SZO<0l~N@6wDMY&Dfcpds*&$c@R`Zq;B)oD@VPHbzQEqS7TZ^e&viVby*j0AZ5>F-eih)5^zpT}T4Lq_36M&U_( zu(bd0bcnKluVz=+*4Pu(s($b#s<7|g%M?f3#TIke7;Aoj7q$6DpZ4mE<^zeIlS;lO zIiI8d&UB{v+kf>KXdd=^S>C@>Co`W~gUJY5uEMhhchC`ppUVDndn5V*_4w@hA)8wz z*bt~YDt6^F5pbK=tLV4L<8|l!nNd`4_Gi#p4Fo(P1jSy$NXTOU88L%tg#lN|9}Slr z%W1|W$eYjJd#d_hiSIIaMJ4smK9|z550T@By!Wm!15KI12EVg}Z@pE^l{AvtSI*!f z!r3Nk-b+M~IH6DT)@{G~dv3Z2z{==rff53%MfGm=mCL<}A0Nj)epw-7V7t=m0(zne z?h+jY`45)ce9HGM^s0T><4J$8_A-R^mol2oP)1`$_HOE>Bbo70cJIBR4xSViG$%?OUie&nz4|Xfg2ZYCK zEZl0gA3S*Qx=1ZRhJex4qH&_RC$Vf*@w*~Jm{sF-NI{kR^5b8HS_-KX6(%!V*r4p` zF<)nRy2!UZYs)Wohs$x`1ii^7=cqI%A>-4JAjyXr#F|5S26dnkLb{F_s1crr`%8bM z5}JW}4wuoFTjB89p8fUcqVg?uG8!3itJOnS`mz->72)J1CCls}EJEktzSilcf~+hi zIi+XU0D+;^eQqnmi-L4kQd9)~_YTl2mpEpvC>>%msBb`_hxk&*(Pc>N2hu~0oTAy; zLgwB2QA!$zhTgT^4y8=>>U=`f3)dwE(;0kE2?Wvm+!ib6@i#B5XX;`ezh!^XdEuI> z6-L~BFT&v^5GUv{0s@u5l;_cwiPa&nezp%WDY0|V2p-?+;&B>xPD5F7miAe%*0x|a zSI(_*Jul&P2u_VtP?p4hh-Ss|o)bKEJR=nqTu`e|>wJcyF+&(Bm;P0P)uUH6oUM%{ zqV8AK_MNoAJldUFhEwpz%_o6UdI>pbO~6i8URB51tqv7^Ok7(7cUj(bf}ZzMva(06 z%q&7_puTnve+Q?WuAZL8WqMes-5sNa#etH`B0*=aBfk4Yoxdz5dF~U%uRm2^BOT~y zkBW?(`)aaTY0=i!mXrVV$rCj1u`$)?=x7$_X^Bw$OqpewUaexPX|vj!iB=y!6ccy1 zR?G-FQ1Wf_WIH7!q-M#rtTb)41_g(_W=;qI?j%H%yI)!9=;EG%UUO?n)ZC@%baMK` zNy200D>%QtsrQ!$-!ldhW7wb8`XSv&tBeo1;hIpvann)a*Ti=h4!B`Dxr|pqK}B6j zKqr2Tez^TaFx>-r6VkdqT&(RQSh>3P62$P9HE1$1-j3VaUAX)LF&8v(@1+8PEur-C zk7EW}iI@*RiMxs)$zl@Oy%BNr!Y|dY^^inS;p$bX@bxcsY7{qIOW2Wz@JP_afp}Gm(YFb7sPgv z&-%s7Opsz@B+<2MysL~p zOd5;NQu&4pOzt5dASCb@d}V|?9{ZFE`)ByI8Bn-)XX1{?rxoV4*(w}zN>{ewO$BM` zOu3#o*y--?Xva(8F50ZnB4Pnmr6{YWT^TWmSZypKLL*kU;St{+cbYCNEW)EQzDg?8 zsBup1i3dBXDJF(MiAnNfz;0D1iLO0_aQWOQZRO*DP;TeFY3GF!mbW$OskIKd{e2Z^ z%&L);bn*-HC_A|W`9=D!MdFtB;c)z2XptO}*k4~4w$)zG=b!B3Xw7NQ3we2$KozdlX^PNXNl}}>4xEK?X@AiURg`0X6D(d621QhT0 zGv|}tSq0TZHZidSjXhT-C8hTYSmA;G{@)vf`6YmU*eq&9?IsdyM_=xqUrY%(JF_FZ zT&4UGi*=~R`fX`R|72@Y5*mpsgU_0_a}0(EttX1JJLkoU~4MCQ(EtYj?q^CuDxR;jm>DO8BzC_~piEeS3uk(1K(<&XEIwSj*GU zYoI5V5{a~Q=cBXhCL1YdBPgVu!!|IlmtLvRe=bm8RNycI9m$kC!bzKty6>6%Do0zS zmouCUCx^qle*|x#RzYhNP9~eou z-Fe2$Cg*7+jYsP49C}`lRxpEHPZbL0XPZO9a<@E0=3R@<-f=tQi7W!WP6g|2r-5sn zp;|33$YBtl1CZ%P?KS%Jp|$?nwJUKP(%Dhp%yf6x<_R}}LnfL=a>S7+w&1`llGyiwj^LQJVm-$J+o=rDcw8HdpV_^Pl!0{61ulB`o-lH zPde5m>ToHjXc~CBFA)k8urF%W?A)Vy&4W0|(ZaO;R-NHJd+w6dG>Jl+MmtuJxD$)X zyLY1_9>+57H%0^^u<4dxi`vxJR4JBA;Sn;aE%BWktq&JOj5P^bsJS_Kcg3?N%%^*b zflKBt#n&EF%8f!G#C7MH(|`@eS7CMt+}4DgZY{S{{d3a8mA;;?`PS-cW#-3k3cBnR zPLa0uHQ{s&ekc};z_VcjjUo<>jKr9+>nUXb=JM%Rl|_|^5*>c0?S;YFAd}(JY{(dg zcSZ&kpi#@j%SQmG<-ylC-((;xso>HsXi97NMN`805_HocQe1cM=>^@WRr=d5 zZHgtxXGxWkGBz(d%Tdd#+VsG9C>Rb@07_^4{NUk-+atPe(qsG60@i z{fWnNHW56}(W%bK_Uu4Zmy}^&nqFf9oxswI`i6okJBTG%aUH)4%}s8Lp|MRD<(poA zl_L3b+hrDKEAcii{W1E&5?{1nH1l&iMk8Ham@Vu7qLcI@mg@*bvBK7XEYMHrdbVb5 zzke_D@Ujocl>Yi|&-gWjq9tEtU@w6^`^75;2T!?W8GjJHVksE0zwpA=Eag9zNx}L3le*ckA(7U zdt&E_o?NmR^a}b-L)<;ykyceHnjCfLPdW<^Zx)2$kZ-BAj)=ILpOCe^n$X!iR+tR= z5UD9zWa3XeHFIQZJY?b+`cG0xoZi3xAb{Q^H~(~~Ub$RK2eh;Fv)VSE{(y$&|BS^UOzd`*3|mN zpF~RaSmSF9#MQ-i^`xfiZGC!sC_&Fz;Cm@Pqs0ZbK77dGyUo#TfY{r+l;3kXT&gap z@W8q@Sdj^M=z$fIQ=zj+2L#|vXl-33x5ZRferSqVC^dB?eFXW1$<)}+U4#?V5(37p z$ib~~M@WV@T;9KM6aZGGTx*>s;WKO&wQoG#KFnS2K8t5j{9fFc|2O8;#E02w;Oih* zzcQs_;2gn*9C;oS@ClqXNkj;flc!ove#v8iptPD0Fc}v$-ZVAai+gm?rxs}HO&qgwqb|KJ6}K^k6m%D15GrQd zKE$TvZJD$>>9d}Nr^IgIl*>^_lgbVufLA^5q`a!Jo_{#H+2gu%x&fCh6K8L61N0SW z?yE6S<|-`F<^hYTCtZ@rA06^pigfZKGkMw&aA z^224x-5y4*}fpk zKnlSvd96RrjIGI0BmZ&@=W*^jlUiwv+hq9z+BT?m6>vg$$gn-NN`}m4{r!g^kz2V*v-v}YI>DXN_Tf(r>LF=3PgLWvU>Rvf7`jcjJS2MQ z6t?51)cKILP_fKR(BY(1e|#6X!i$GC-*##+KtbuJM%c_db;D-8VXuH_qGB<3Sz!>_ z(6UFygZZsqBRmI~saH^Cg&1RQLoRCjIXuGnz zlOck-<|pPnE_W*}19VzJpXSrq$>xkmTz-a;d?J8GrSQz}{*WkbOy%Dm)MyVmnJwF% zocF_-+tW$l8^zu|9~^x7XA9gjZu+RlXX0s|*EIB}@^e>BxpNfN9Z{cFnSn}hymcoY z=K-tIz(4+WihMwb2+wezup{?bkRn*rB9F-`i=GwccM0qkq;SnHhXJwwQ(j0*s(0_W(43wH7Kn1{&4l1rED6E5Z3uoo_?mYK>H&w;EDMjRhrBG!-JLX zMYThjSp~dmf%*BT3EVd-o@pHMdwZl;C9Yxl!$}{F)^N7G7Xtf|hXbI6T;O1&CY#y0 z`60uiCg4`{w1REvOKz#Yu0)niKjx?~8(lg+9uaWsL#bZM)hp(YI#} zg5o;OA_p_Xv<)Z{tKcb9Pz2fh+5WxPU(|!==Csp)MF_aY0Jl%ER2&T~kHHu@iuPPa zGm~b`hdXvg_nZT~unu$~32!=~=Rwo~7+NQMBv0f%0*~pF?3bZJJf0jA+qt<1Ek9!V z59+&rxPm`I-4TGRv@#}qGx&Ae!(G^w)?w%Y6tiQbhUk0MN(@ri&YE;wk{=L4O zIa9&g#oJUs1U{o0{szPe#ow}?z;@*bWWAt9NyW}3W z30^QP^{oEQIEY&^U_51)ZNqV`Kj9043Sl-arcxf;J>^bAI6r*#N$qI^DQ^f?GS{ox z6}hdMvY>#__`M%5SRZ53Mq|Y=y%ZRR3?tx!ssj86LkbPrzY6E6f1#$tArTMd-#v0Np|(xLzW`p67fAAW+Hac* zM+Ey+m`!W=yB_-Y>Sz%Rx~+1IDv*)(dH7-rcd*>#1e7|}X-4?I$s(1S z_V|wv;rTgA2fW)(12tnmXbbjPfS27Wxzx_uR zm1MFK%kvB#RD!)npP}=NA1U{5a*Fzf4}$8QY-#wM*Kkp=DHcv9NpbP< zmkw<>j0Q5TGZjf^JulxBuxuI*Tn1b{c))2f#n8GMZ?<)YHiC|`8pp@26?I$~lWy4m zS*-eCq`JDY@dYf8H}{`emF*{bAU(6#p_q%!Lk6;Ug+~2R+BA|a1#cr6iOQ|4oDlzY z`9Z2X6G{YRp$lsX#H04>Gk%UZ4jE33P);j5oP4P2_Tj!(1X(-4HwtAe4!zzr&FN5T z4V8Rqyx;TTt+3I>m9589U0Sfa^}3rHkJ7!4u|ngS51mNBBm?kSv9~9h=b9a<7#^d? zu?B%W!4xkbC+4XPP(1oo`mpYjg-PAG5oD9W%^#0TF+gdlc`E+A1vC+kqHzq$AY{fz z{=MdS-7L3xn`$3`w37!#h_f#T*<3ZuseD!b){;Q!xp#i%W7XLHak@q$c7n@trWXKB z8nG2HX6dIom+f#7kBjXwf~G%QfTpc+>jflmKd3cuTmvxP%lt$iJaAOZQ(<*0AKqVt z7OIzi%wwp%H^^MoB*)$SS$eRZAE50h!>%X(bJ|`ikN!y9+uO_*SiH3oJ$x2?nPby8 z-2m~6ef*m0@kaSTC!{_b`%V69M?vBHL@-?kXS2T#8U%(VB#g;MM1+Ua0i`IPej;R~ z?k*4{ZL$RAf!TyHv+H8s0V0lvm!UJi@aRD^cA~?Uu~W{* z^dvSSvnm`4_L#=kAMvM7v40l9mKWh#!yBZX)cJwA&>24wc)&&0_;boY^Q)a*Y2W-ES@V|lWAe3=&o4f42 zv4GDpfgwyp=^h=q$5#J882oHSdJzN^7U!Lz6!0HE^n?e@QbmAs%s5{^1;|9S4i>-D zZqBM5t74(~TTtxJ3;0&&?hPPP5h7-fNe8-^Q!a#n`N!daKp$w9D<45$v+v)Teot#> zxqZeCx*A5=6>fNePm6RgTpsl@@-K zp59ON=0+ZYyP4n~0gJ{~`0KyBaIF{wviVW>rC^v8i2qzq-9r1PYhG0=wKJiZ4PBV5 zFjbmQ{}_8olOW_m-Iv6r1L6ep$r41kVNRE9D=j7rL)pZ(y2N1@;HaLv>ikeB zb@g)pUe`x@oL3zYdJCtsHfHs%m}l0wc=x$$PWF$J0^P6B>{f4nB-d-LR`CiS&b#f} zE=kdPT-3+TS62bI@YR5jWIH;+*-GdDn*8Dh8h=E*mb(unefa7!QTpmI zYv8?m_d}O|KI)ElTknA#3KdCfwsK?m-3Bu!Z(f%n3XYSXk|zlzyA3_gy{d%Jx3T6c zYcFeGy-wwGB+5wSn6F;d-qk#nV*57+D-_CCAuf@+vZMTsL937q4m6s52$yb?_3x}Yf(y{*3K(Y0sOc1nPVHc$1$vuA|jv#%gki18w}J(ZaA#WN9+g4 ztgX`}%9-O9&&IDWi-%9IJ{?QyH{d4f6xGo`!WYyq#G%ff!AdaCzV<-!lG)`Pi?mucs&tR5}{fO|KA zido+IfmbpNUi|sQVmsiU-0-{eB+$Lio7n+JYHD0jyZ2rP5nny>3_x}wd!ZEz8#zt9uYJ{61W$m0a%rFktgi0DB+-@%%r* zhsJM(Myo)mqN}U>1x(lsBI#VOoMZn8I#o$tEU6CiPWgmRF5AQ9HZ)||vq>PE{btyV zOxfC+Z8ZOl-YoR`ZA}h2zY|D*9Vv>PD8m~$8UxRuwAzdk*Zo$Kn6PA^ve-~)=G#s zeYat=p%#}AJzUw_uG-sc1*q14_#-#<|Y#AJr z!*dm_GQ(}Y$FCW@q|H__PIlOqtj8K{EwcmV$golLB*V0){DXV14TS7g2Reantm^Np z8^3gTteh9QKCwy7wFg)LAj2dD=Dpk#n{BR23>4-`bpr_S;bhZ!LlgU{J_HpHWyA9% zk!qte6K@>50*+Sou)jI`J!OD5T0DG#Z*72GNDOmT}&-w85^5R%WXo zj(&|+^N0ec)7FG^_uY1l$U`>l^L}TX3klQjDFpLae(HY#l0!?K3v^C)tTZ+ z5T^9?%hZ!RJ9u$Tn42@<-RDwjaOZ70HTw!qEZin_ zU8k+bc^@jpCX`mXTe{F9mhlZW6_xkR(VBeXP&UcYPqzNHHvM(?{!>qfBr}a$;ICn( z=Yci~+(cb_neYS@jVMb$-7?vIRr;A+_I!(jUnC~Re!rsK2@lUv zD&OA3`RFA-kh&_z_zXOne|=j#Za`KP7q^51`X}r8v1xC@F~_SMIhd~Qi7T4RR?(t2 zDogs^{TGIBqq49nFV4HYMFGT``%#p&hwA0mgD_x?ELiND_EErS}>Ki(@ z{QA=GIo5r400?7V&KkjH2-2(COKVoF>zWrAX`$fmz?*^ua%570F>I)~MDxM2qw4Y$ zFELxw4lzEdY0&G7lM4Qc6yC+%A7$x)iPeRhr*vmy)Gq*I{ur{ojX^jj`VB_u%KmLa z-d{}`>nFetcM}_CV4ZLz92~50R6$_5UF^qG-ozvBWw+} zu?0j$MTNA6gLdnCl6UKR02X8YZ5FUSX0{=$*TJu*!KO}>n|E(jAAYZLFtfCBP99jj ze+7jL^t?iQm2=&ObC3QdfM#_3Q1*L6S*vTLV8;9Q2wX&g9Lbf*6!FE8&+YxQ9pgnZ z4laFEBqZkul3GC6b#q9x4EQAi~s3J#uf4yTV#!)mgEganM01Q43gr1^Ogao5$LxUxMt*xzVJj!h4e*XMPc5%t}PzFC&YQ9BCYco4- zfK#qN9mb)Ufpq~^ zSbu^7mmeO);-95)DRBU=Fhb94mcn*v?_aKDbQsg?TV~-B`W_~d0XLZX;QGF$z*W<= zKrG)3ruIm}E-|zZRhe01YxE&V#4pM4xDj$$*xr8NnsM!Y`Rfaynm;{6*dNGL`EForQHKjDlU&i^3yYNgq&YWI`fCV0R-9)T-1*+hh@sfB+r zt|iwDaE$^yDoy-|v$-Z8JElep5*uGs(*jxljS?*v3A%j&C{Y!6T^OO$%=+#Sm?ARa zKa60s``o@JVgcwg23a4?c3k>Niq8ARC>)ZpO3ud&luYk(yK?giWuAz??m%R!u` z^|!>)y4_xw0T>Vfa4h-TLz=%;)gX#h&7j{BgC{eev6(~z>gcQxAQ)2!mU`vV{4rza z5T!qiPw~>+CH*k~wd1PQ-~(Ee);53%5%JJW2dW7~Lw+(?I#kjQ-urZb{ z9AGyhn5bKBDV}I(idp`ECJoT;MxmvysN-X&-AY7}#g1m^^+{5MF!t?TJr$_ypU)R} z&-hKregA%nCpucYhY+BZzi}}L#p*I9Dj-YWLDvVJ*g4qD;sBr(d>43+gP%}F3Oy`} zB>xOVi};t6+ZEQssWZvNPqswH;W!6W(*%6x^RTT>i>mQUj~l_>6tqB{2!zdFSZd`! zMS5xdz5oYyDD)3UnVLE+oNON()nXi>yZgi}jCA}#MmYHcFVCA_e<7D>w7;t$&a$-i zR<#Vdr6t4Gz)OYZZz%lo@0a?c+rctR67pSX`2719zu(k(|Nd~-)2DVPWXc6<%e(AD ziGX?w(vIxItAB>29uN5YMQ!Cg1a0v_L{$CQYyjX1enB4Ypcg#Ul8M9cI%ORk^M9VG zEwSIUbP((3{GlSg`85Mv9$^0*-u(J=W#JFR1^a(dW?y%h9rDz&OE=HQzw>}%vvBW2 zBaHr`Q5w3s+uL)3h}ibx$fRf+AW8tphsV8t|AmrLG-MOz4NNzrzIypmW#iBFIdO4l z>~D+)HtQ+Xo$4D=z)9^d7NtbkQ_St>G@I}Tn?fg_7-EtHCvaj+@7j2v1+lr$Wx3FU zNArH{dw0da_4dS2krkyau+*n%1I2(X3rG6YO7y0|W9@9v4?ygPC*D3F0q_)jB{=`s zM{*Dr4cNax4u${__s>&^=I{qc#cRC$e*{TbL74vRp=|}Y-}HOu&opN0Tu6A`c|fuS zc@88sN{>#Lx1eS?^P~9yYkQKFC2!}HuN=dwg6$1Bn$a|p*tW~PXd(dH#b;84!}J50 z`RZTT=;&FJRfYEJN2qWh!J1_j-(L_q)&xaFd8G7xucBV{wx%Tf}e=Lx^(izbMHABqxqAQ?F;;r4>Vx&?tR|@{)#G#&1m#f=!@`WN0X@C@xJ`W)MT6 zpIF$%RKd)BFldWR;eY+BnHWumJV)4N-+8LR>%6W=E6u&(&C|2Vbv~Dk*H~CMkWN5R z+g~_4qg6nF1J5^lRM_uomTH~lFT(GKRet?SdP6^E!bw`O-S@5HdOEe@vP`hTZ6M8* zlhmPeXmYbUm-`K*B|ydfG_%2K^Z1+9>)H9%(VstGR!!Aq5cZ~Pb%s+mx+21ZQAIG& ze8F$tab{*_wM))d?EI%wJa&c_Q^gHwYK?`S&}DIt5-+d%itX)*v#pg2V~86VHk7qq zz0a^r$lc4x!O7vxn^A5QoL{Sgf*<*jz+iCd^rYW3VJ}TyyzWa<(>G0i4z9*|6B84r zKfg^Mw=J4&G!XQdX=12.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -25,10 +32,13 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -PYTHON_MULTIPROCESS_LOGO = MY_DIR.parents[1] / "diagrams" / "python_multiprocess_logo.png" -PACKAGES_IMAGE = MY_DIR.parents[1] / "diagrams" / "packages.png" -DATABASE_IMAGE = MY_DIR.parents[1] / "diagrams" / "database.png" -MULTIPLE_FILES_IMAGE = MY_DIR.parents[1] / "diagrams" / "multiple_files.png" +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" console = Console(width=400, color_system="standard") diff --git a/airflow-core/docs/img/diagram_distributed_airflow_architecture.md5sum b/airflow-core/docs/img/diagram_distributed_airflow_architecture.md5sum index f0df07cedd4b0..436ccc21c2c59 100644 --- a/airflow-core/docs/img/diagram_distributed_airflow_architecture.md5sum +++ b/airflow-core/docs/img/diagram_distributed_airflow_architecture.md5sum @@ -1 +1 @@ -887125381a232d742ab059c2049f3176 +c9291864de06bc4b09f3a0ed89609572 diff --git a/airflow-core/docs/img/diagram_distributed_airflow_architecture.png b/airflow-core/docs/img/diagram_distributed_airflow_architecture.png index b1b46d3d3c7cd25be504e4ca7ede0591d61115ba..388d98138e226faf3d9213f2358d0f4f954414b9 100644 GIT binary patch literal 174855 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⪼2Af~4pq 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%0AB=0IyV9WRA_KG9&@#_1_wAmT#xCixyP{H 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 z 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

    X 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 z z8??KYt=JQfmdigd+B4Osd>iqRw3pnS4d+X5^>$877(? zj7bD)c6rKF&&o6{fERPFc^!64L6KLiRm;Oo{;8jC2PqEi(`lCec&jSzdpP9IWt+k> z@wd9g^n;BEzb0JX=6jlH^<3SyJE7C6zSRl}78&}1FrSjbBc!J6&8XT;*sGcItZjG; zCZFw#k`v0~`*?fJJKRqJurT?nmR^<%^9%i(+|z2fuJW)!H+mASh{0UHPA+s`vdV2T zsq2DYnJ?8O9f*K#Qt0m$)f9K~19kr7N zM~^Y814P8s$MWuz3MH?v@dYK7tGyt{H?Vvq1R1^eJIT#=r@yn}gQepuuGi1Sz6pN1MebiG z0~4Ci)Yiv)=?`LJybuV<{HbfK?G5!aydZ^4rFUu&5j9;HBuEV18X~*Npg`Y7Wu5Y) zuUskbcMCX4UwLcnAS_tnkjj>DzSvy)S11V8=B`d=qxly7l=^xrpa`IN+1`0-mf-5k zWk#Ltm6@%3P%P|*j0g>uQAnEkfuJPE07-T&qMF(t1pPUh8 zWT7M?jBl=%YzJ0!%x<>u;NajaS1I2Q6GT<zWI33aPN1;2)`=ozMcY3CiPBTF)>HLn$rg&KD6UJCls?Nz9tn9i7;VAS zZ-x?ja}-IZG55{Sf70=Lm^$B|UGY*nzijsD-LNkWRB+$uP9y6X^5n~p6!yJf&i}pA z`YC_<>xUnd=)0U|a;i&yZv$GM1?lltTaFbNz3@U*7{C)ro+z6u7JO7zDc_yQa(7DP z!~NV6&>6fk%`#p091T6o$pV}-UYBPkTVD|0A!U(DNPbCT(_0hUp2B>*e=#6s>!kqf zACei#b5sxZ(y?s2SM^^Wuri{PNtDa!6A0IG|4>7w)syotPlqRVl5eEgi94|!9%)>u za%N{~j-a!%6LW4=9szpzZ1p37tQ*bx$Z_vOKK2sS9z0;Z=(lln{*}RER-6VBadE^! z&!UgSynWqxWKIWh2H0WA^}g~w;ZPv0wWsk{hz zGVQT6%*JTfw<0N=pt79Z3Z=Wwm0Bb}@eMEh3#u<7Fdmm}ZGN{A&j5s@T?&Bh9+c^M zWf!JmmZz>OUZAvGfHj-2&Os93tKh!b5triPf6c~%Pe2fke-kdtVI%PDa>-ENlHYFs z`0Jnik=p0G-LfYqbI!!KMw8^I#qJ*{(E3H6Ke<-^)YRq1qvdV+>vLq8jG)cIl>z+i z>F348nWCs_`dC~yMlDXO}BdP5rVqT{&2}~@VfUQJ|qy428-`CmI_WbsB zN5|4by;a#K$~CSUtC<{^+K3Jj#%~HTN+*|icR(A~Ew+mjpS#5fdiS0b5@m~Qz&|E^ zcnTL-*qD7W2s7U!LVUMP>l~3mTM+3K-Jv(k%)SjyS@LA2^LVd0Ui(TN1U z)H|$P+nLV3w4V1B3qL0W&p{G^a?qd9mn~c%+J__gy9wqU$FOm!o1ij5#trqTF^-Wf zk6pm8KYc@s9@}b``&8c9;-a-jK^SdlOIyrn<1J2AMN>zq+#VmbAE{NTYmOd@oX)yy zI8|=ZG2^VRd$6Av5sE*f&%xZ8c7GVi=hh(2+T}?GZa3_B1~^HO9nDunyuWW7#x$RL zCMD$+9ENqvBu~A3ZKu|VQ>q0cB*g9Yn%DWS%crN$dm~Ik5%BWpdthSH*;$g%$IG=J zGS>yq;b8C)KAn=}boq-9N2K%T={lg8gnvU5M<>|cSSfAIl!So`F}zRI8~*$(I8eNh zpp$IzXx_)LV_T2(IiyfFLUc^xj?UoY?dNX<(Xz7oChk&G zGwqFz&*5=#^W|W)wA#85=I7h6bQ(nS2au8dQn*%bo$6elFE+z5G2!v!1);;q%6f?h zJy|q;x%_>?ZIwCI^#NiLiAK=BM!VH1a!DVcKjUj%GBQsjrbOYlpwVRKP5+e5l1HXB z8mf=W`t;0BjMyFvvr>)T6Z3>6a=W#S6cNG0BUJyUqjP0~4hbV@Sr-XCut=4J6`PeU zjWo2G}5E)2Xq! zqG+OQTJ2BY!hhyMPq11bbJp>R*A;HE)w zNQK=5t%e{7tCS3DYIH47y}fTEK&Ig7>MKz_9d3%h0{r!;788(ZLDz z)`~1v5Wa5AKE4mWB;x*KV`uNUzm#|N{T*EYjbtH8;Ob3S0*A%5XDOV^9vV7&St_4F zqKRIzI!M1c&_;9 zMNd!9%Erc|)0|u+aQbl9Bb%XND<$%OPl!a42`M%olX>jkig9M2dWNdxq%YB3iS4>MOe%9C*;L~rd9?d-=BTZ&-h#q`ifl7sdwOL$%wUul9_0>tYjHh7vip&b%Vw^{s0Xx=`UJ6ca8j?d^^>hOpBD$DPsz@j zfu41X-5%$m4lLB&DS_#;p`Kor(>=qSi{)&M0397F1iY*jx&(c8en5te42t;GTdfz2 zS{W6tn%p0{*LT=d7&LcxS1WCI6qa6d{MJ8-Sn#NOqug_O;GNE6aM`58s8f#u4jvjl zyY1;U@!#Mr;wqc)*FPyKHJ$fkdkrCSx%L}IVYn)`4sgCQ0`7Jne?QOefwW~lKKztT zO1%=P%pFT#Xehn)(iRc<5f_)+@UWg#1w%O7is9CI^yZY(vAs-+NWiV*prO8j9_m!# zF3@_vMssW%D8k}%QYJ2&niGpH!t1gx*FWVlakOXs;PJ7iQNGsMN)|IxR4M^v$T7g9 z?fypA@HzPJ27>Jg^`&^G!>LMzaDCt5E$pXI@LTn+0AZ8fprhREUQ810m$O*Dr~8%Q z?nO%NeLUdNL7&rcRemGif~1dU-511yZdo#El2y4}NAqQ>J*sjoQ@tWx7(PNI3>usk zIJj3d?4NG9?)+LY%I+N2Tsm6>E{3CkAxKJ0{FcJb6IhF~S5UQOJ>SrLF)SoQ{NQmL z+xrfaXeg0Qb?*<~)xP#!PtfOu#s@Fmr4=s^xY=5$)68jWB+-kI4{3bPb@m4u8X7|h zS|&poTwH7xlXWb$9_PP%gCmKLW-D+03W>X4ZF_Id-+226W4%RmIpV#!T5&GXJeqFa zT6}m*Xdvi(`gem)m8)3Y>+-rH7ZtY&9aE>=kmhPs=kD^C^=L=?VtUFSFm;4Qqf8WB zFGthit^#Y%>+6%d{QMypLUonw>7kDK`TlW(@!O?gBB2_iPGV5D7#7dC=JJOs9Tsz` z+^t`zN7nOha5=_@c(KaLLPUS8aB1oUk?GiazRtJ-cRMTZj8&CT^xk|#U=+K-q%#}@4L`qJS9*~OsF7V!@$@x$(^4ibG$V+ zT=vtorHqUmo`u6H4~ilpt23y$e;*VT6udQ?Muw-Rx@O$upx#~{7fnugGOiy!l6#?uBe=ek&0w7w@9doGcbJSEzu%iwZ?${TUn$V&G#D>Atljj-Y3R?NCg(L{P+BBP zx}mDQv$NC6prKY36j>D3e@+u4N-8fY*%uvnR-{s}zq!lnwQC4*y#e5k|`p`c~G^Bz#A(LMf3y7?UgU13eKgl4q@>6GlP zUTR8_1$xG=MLg8_Z7)sk)P{9H6S8)t?z@zDh67701_p;h?5C*UU)R;56`#Lp5_)_} zd7#ARysNO@lX9$>dLy@2fX^8+;^-arx9zA%i(MqQ`$F^Tx^dI^C#VJdtIBL7M&U9g zd1!qf&!x9QtgkOLMV$4ceTO#+M z#8}tN%xL?&=D7yZu!rDB_si8lk3f`rz4wbvAhT$_P|4F;Azh>r=A(&od0CPd94vdW zOC^)BGttZkx%W6QcXoD8@Qv6_w=ONcbndJEOo1Iz9jBZddWfye*+1JSNg9>&Gj|8C zswfP6qx#s^Yo$jendw_<<$Fxj8}wvsKAbYLjtx#I)5fK@I-0GQ>uGrOZJaKD|1O&$ z_%XM#u8uqDQ#?QqV32?Te+C~vJ3T!IN1Tspm%bfPo~5`P+BP=Kqnl9WxjUKT?sokD zYv~wEagzPv!}R_ zpY;47F@5n$Hi_gViie|_&%vg)la!e8WNs1H!=7n|CLUN;a^f*k5h=*|`StJvBAjV>;jiq`azneB08ZKdo!LGux!L6xCZB z`(nkvDrOwaH=Wng_Ow{1mo?8-*XvfEHLGEcRnRu58M_V+eU1e2J(b*Z{0qva5TxSM zc^#Yw@{dXv>XPE)7Yn@Znigb$m~Jjq8ML6j7wb!*CxyD6@}xEv)o|9_M_yaN@7iff|360g#q*rk7tB&~c?_b6IyG9vF5E~j?NnG|UhMm1e;RW4`1z49d~E0#PX6ng zs&C1j3t{5hLI>^HCNm02?yB@SHxtFyrf++2|O zbbFL6NRQUT1J3sYJ&Z2}>ZZfquvuJsDbJ3d(lf}e8Rx{eZ{d))0`IfgTRTs5w|rm%zcdpqR||8>&UF@)#HRP;$|SSWg?Xfhmuf3a|)nD_d6 zs;auWcY=zY-tw~PhQrI#_*2^Iiu^}XoTC|^<=VI+$8S{7&Op-V5JMxQ6U?a7N4?1n zYi4+p!>2sKKg%J9EXj6gndqiX9ywB=Uxww@@+P`i9OJ0LIJqV!gcfD}BnUqNzS1=O zEz-yG2ZXPeHq<0a7`eH5LSD~{<*5HMU|c$1>`jth_v8S!Pm{w+>1chXe>c7sq}G23 z@$${?vCt}YFS}gITdzESj>`m{t5j#Rwwgczo!mQ{TrX%d-v9U^D3Pmh!8kQDI6oj5w!RV07r^jF&XQrBCdY$r>3Xf9jG`(z$B=pmJT*fdZk|IA z#u4d~POIBqcgb8@b=Mobb6=ww;=E6VD%GJM=%4v+C*my_^g?Y91zV9(*N9IAX(gMr z(OlrNen?76qM*5B;hir(`XkC_2t?kUhd_6Bo%Spyi*&TMG#d1cN^a3(qN78dU3EwN zfnA;`R&6zIzU@~j8ESQSjLH!3$pU{Z``r4dh4>%vrcID&ny`##*<#4Msz)y=Ig`Pgb|7!~^DYay(j`zRn7Q8W-%KONkn5iW*csI0(9!jGqZ8a;TnV+4knCEk ztE(p^CG9SpfBV+@_$dA`TH1U!FgRd7RTyVsi|TNOGnh=oXLqV?NIr#4^xSTLy#Tyg zqwweI{!F!nt;Cjx); z=H`K}o;3z!cU160Pb$BIN{<8z|9tymi^c?Pk4);fFvXv;>CLXs@m_+KW*cC!Nj;9Y zPri;Chk97Vl?XEE`o^n zdaw;!dk?u1?`AWl&#QXnu+EX_^dC>j%gc&xsE3`{opbR2ym0H zJN+S`67P}T^KmJYd$(Y6`E92Y%4NJfqKAIJH>0NM^DWHd{QBgl)1LX{@d~f2hnw|u z)6Hod-H?oo-#bjf58_Z>C~ifK51O$|3a{ng?Z@{mR&r%Tx#x!ucim!QRVMfOhjMde zDhOP)d{>8q4`!PQTB?35TV={&n~0diM6C9P3_3bMi+Ki(5b9(moULB)Sk|2yN<%|K zJ9Rb%lM|}rCL)C%{x+G74}2S#b2)O}on9GiLusSm2(Cu0xsi0nE^^4nNFt%nje4E=c55;s%+(DWv2Quq=u(yx@>I~h5ELnu?Om!We@RFv$q0zjgu4>QCC6JEYy7_Y`@9c48ckbLXjEZPH8IiFAL2{)Z`NLztww;&;th(E zN>D0ZCc?!vF|aDRn4CE8y+JJVm|_G?#||f&QyOwBYgH#``)-KAg8_jn_DGADr^uJ6 ziqW8@sc(cFp*{`&gb*O0xjdR*1mGekhung$-zw#?ct2PE+2`p-Ke-cD4wj1Ya_|_< zCRf%D#zUWgh|ufMvsBQgvy&JEBsL#qJ|d&Je~*vvw)r&t2N(c1*AMWJa(V&~Pm;Y? zkGU13rDfjsbH4+J7xKN=kO|N-UUw>#G3{H;$mj^ZzjJchG7<01IMw65Uc3hO<7_=P z_P#6%b>GUB8)B->pv0Kaij3}cL(9#lxhA!xm1Q6GBoulA$@pR+%)R;@RC5&eS^Zn% zu5MeqhGE}VvOmO{^XzBO=?xr{95zAg#}*^!CDiwq?*QJ74b>qr;$6y0N^{*{@o*5p5_qQ7E0n?frY3CHV5N zboBro5)9>Ou-Yo6@^h&_(5yZB_OO)CgNkEcbgr(cJ_ykM*-z=yAa0HmW8Uza^5KR5OvFkG|d7-i|U~6j(>CpI}7T}`cLQB`X z+SB7|JF2L2Vvh^wzJZ*R5#uSE&ij-&l3ipUn%D__)9fN-I#i7RB2VTHi%_vza>KvT z<<;p=(*JgGhwPPVNVN`AueW7#rB3R_hdg{f)b}L6WVrTXtY>3bHH@`IknFy^XJ6#J zJh$ay{=Q9@$QpvRs#tOw&UZDz0JsARatdWwE&;K?K5URSgvNs(`hZ1Pb)BGdPAFj( z{r$VCnc2IqmG0Zhw#S2WF1#n9G|z93B&4MgAmbfnsV-d1wxeT4(yuvQLm%+6gl+Ht z?wlz8+!z<4=l5KR&SlG!DNygE+Fa|YN5vVucN+r#0$47Gi&Rdxv1J%IcXT{%qmFCq zG(O}&5y+Dh3@8wqEK&5hiSCNWiRZFe`dndbB__66hH4KzaJ;y^$fZ-MF`GFJuE^f7 z?+Q`Oi>KFVKRVvM*b5o=wj8hA$ba660NXy9#<#_wwSKtyQ|5C^WN0$ClLl1K3v}h^ zWLDFQ{1-CPidRy!%+$1?rRXPm&oHlra^HypkSN-BOcQXK)IG>1J=^ zZP>Tam0Bfxmlz4#cP;uV)s<8}Ts#yUBrNJW?U|K`F`nB(By@Cp0G?rEzbMmcBpS)` zvTD`1jmT%8Y4W-QfeDD$^sS7NQd8|8CK+D5h><4?+T&vk_{HtMN)BN^zGB+<1ED(` z3yXS%AxlDT3jbp;;ENKvp43Y2)Q2eu;)=3smQvfe%t8%Sn5+9+CX@@Y=QBS=X~ zg7wYH$_flbn5uKTb0#CpUQ(sslG)mvrQ)I3hzw5=3&&F#T}bn}27|+azzj6&>|yBT zaqGBFXfHc@_NLL3d z+RnEG4%>13aOdX&a$H#Ma97g1=wd2TGiG_i?eB{({``*1c_ye3qEjPJ7|+6xFC-#C zb8Ap6lC@l0*T@rAEv+BW5|AJ+`pB5ezWaV)iYa4N7s77Uvn-`t#B0T2xX8HL%?)moo4O!33P~pf}#`u!UG~E0Z0C@ zkoHp#_vyNwq2@NNk1ct_864Kr-}{g4lG)Aw$eu2sqn+m~?etae?czu|giYCqT>Cq! z4lV*+;6IRi1D~S9GQ_6lcY=p2S@EaLuh@P1c%rbKKVc=1b7Q}%cPGA5qYZGjk3yvo zbH{j{r9iiD74T*7<7vnTQa()r7#UWjd61$9J2O5uKEXheWpjatNoxQ!{4Giq#oLro z5|gEBj~i>TvW!DRH}no)zb}^DIgpY3o*x)!7747cGQQlNtS%>$$Q}E2ey&wuK}T0~ zA6dESqzjJ*JWA2t&e+(#rPWRN{9)epwUz)Fbn9^OtD-{1rhnr!XMH_07}K9faQ&*H zwyNI*s2KkJSfE`Jxyk$nsf!ol7rB{p7RGcVhft$%H1uM6hI2ewb&8iL2M3m8i<{&( zKZLq>ScsIm{}tQz&H^**ZZ5fyo3pO80B*L3go+AhtG^QMpbxyCu-tTv{crsW3G%)_ zf0nuIk2LKRtxw_LeD^KG+g_fgCM<&z7CGwu$@;VT4C74)F|E*l@+kkTw2r!hJ<3Ki zrj@Cwu2ta2mQ^Zjl(aYdB1>ZVn%H*If=ZspjiKOwp373d{Aocs(LrY4at;Oq&h*l- z(|-eOn37U&*P49AYX7pXcYo3Hlonqr7^4Ni;Rtg$56-pUbCG#ECD)T(qu#*K|8^H7 z1>ixx_Fj}plr)OOh6h_o3-r0;oJ>^X7G#nC@A^Oe%;AX{9$*7LFMC;EDSF-m0_&LX zm-Wo*XbjcWA);L)2xWbU`99m9IPQ(zfZH1eee6E~45Rg8OJ~P?)5q+fdUsBn+4YsR z9)LPy{U|61g`7f{vMlm^6Ux4T5d)tVIw~y{SX(Lr|L@VfK(Mn?W~p!bwxXPQ+<@OG zPWWwk#iW|!GrAi&mW~}>KpO1mevf%awS9VXG_c>&ScNp?f$AHAi| zw^w~vFDN;!|H{#0FQGOZ9qe3?@HPaj;sfUn%>GX>=18Zu6kt?;@yOK|*eZV<6~N%h;B7poV4G(cbuaL^ZAMqKsbo|f%f82^-tTvX zfoZrAZMp3K$7P&nyhGAM!a;Z?B=S|*mkTHEC7}92lA0zS2L}K$P8OEY+k&tv2LRsc ztq?u#$nHRYKcBb!q#b`oOgDegJoz3Wx58UB2ev9NzS^VN#-pwxRgo;)p@AfjUKwik z*ew&h$v&y&0YDwRVa=}*!Kx-T@4D2vVZ#H9Vy#dYrC5`r6PXOzP%%_6rNzC)x$$L-4ew2xDVoAM`6e z&~G{`Dk@?U39jz12mGV%db(V+1lPGpu?ixtUC4kFw|Ak0hg=`*zPEQ0L)z&W8ENZN zxO*e9Erk>aONDr+6^`cr!u7|h-^V9$SZ>=>a%eD370{I7;pj!WNArydv8hd-z4~4~ z|2wSt)OD7rtWrFskq&}R0ND`ntc~9fwAP5N$Ahs0}u6l|)mHPh4&&tv0nw!t&nM4W-cx>}w z{cqbu-_a=JY!`%H{tXcbXB8Zb7Q8&e7mR4o$Ao+Zjl|b;&XEw_DkUAS$qk%6EgjuI z^;R1T!Q0zFA@nmh*UinH-FzgoO*{=`5eWG`ug8)UYdAS|s6-%Y&DIY!X^rXdi-XnL zY9_-v*C%;1|DsRrc^2#3ij=zf4XUM_0A`!twN9Nb8T&He}9wnQvL)%Ymv8RGPG(Q0Q)9>ffoMG z+N-wq(lppl($cNAZ~nJPI{BiF5hr#P!`9kYrMrrwFL-Nco1OaArO`JO`kt$9#=$y z?)=7oUFMy&=JOcSU_qb-M982Q*za1ga4_=s?5;I3w1EIGF*Q}+!a}oWc(`|zgz<13 zpiY|H#;XG^Hje6=n!~vwDhNpag5W)<3Heo6*F>Sp$=Suk2`vbM4;L__dkw42CyN0b zp2~B9gUe`jHPZ)44N-@V^(#)$E&EEayW4qh{su%U?=Xo$3KT@`jr9%3cQ5hQ@A9dw zZxzK6gM%&}80hKkog^eA_+8f}UfCSQ52oy}zQt`VD4$(@tVVCRDcm#swsNS)nYjU09H_U9~{vh*E%`~~-`@bIvzs_M8t z!;c?7`rlrq2m%5qq1=7p_Mp)@B_)XkmXd^|LMqP}B&2PJf1m{F_kBwOc(}TvCcb}T z?{S{naHQ>?>EJZ32#^TiMD6O@T(NLk-|TV-4X2J)X{wgK_j_0RV9*H|zApWWxLl)w zp2!FHtK^F{_D7n^s;VC8bP(cHH29>MYoRuub_qX16+cjuc{(I_(WVk{03l^DV^8M!XhRvjze$vm-JlC z)!z6VNH0*vlxRc6p@PkMvPqwidWVKupv&(7!<1n%l)rz_Y}-2)zBkFs!)w0=Dh9!< zuhCW+LMbV!c%uY*or|U~<(J4rqLYB)~q3Xwb(a#dMB6iG*tU>y6Ch8h zS7%2(?@S!6so{j^>gqC=>$HNK*^J>fUf$BGL>be&K^payjvl-Y^!OVvNxih1wIx97 zbUd6sY10WNTWszZ>U9BYRj69hms4$i8uVJa&Aw3C6)&ZzmH^eM3kUahIMF9VoSC zSI1XwIk8JnYi*-dTl1r_kx}*Gs$vZ=j!*)gFMLgAYhv1bF1(K1Cf@g+jIHHd{}j@J z+ssY*6U@#w2CG1#vZ*+Rolc%A4Q4=1{@swMD z@vVrGZ(VG5KAgFuWZzGLc_84-&wz$v5E~ejE!5oreu|Ecj)n&x!pe%GmV3W*hAV@C z0kUa7t$T;!LD;=o12S#Mrb`j6C|^KQ|Ay)Yl37_>>)se7>l7vN^7W-k!dsmd6zlQI z+(}Vfa_o}|0F;Ti>r5Bt0ei^%+39$1ig31O1#?@mWR~R5$I}gmo51Fq|6DzABdTcR z(R%)OXaw`(Ps-0wjDJ6C$*osfQqoLI+8p2u3ss9a-EO~)3VmCuFk1sEjb0iWhU8sd zCy44*w|K$nLs`=J&&eW16JXLn>-yu<^ThMcI?C|ZW`yh8Au%AIC4y7{CNhGxFjj%t z5qP5F02yz#vjgbOzu_PY93PJZ`OXjrV6|3-9r4ESz+a_iX(Ry0Wrsl>wggD=#l>CJ zpS-f~0)rRW(9Z5R`hk;itlzaP0OxQcbm{kRwVwXqj(N~S<9|3NK&}APl!A|#2h3C_ z8R_lCp_PpZB4jX`{n2Y96j?DZ{Pq#iz`y`7Vt`}c=2m*7(Eo=uE8GA&lK8UEY}RA3 z0&_LjN@eLqvhHHtKXO~$Jlw6dt{Rh)XdwJPH}-AcZO(+sB*%sWANOBMoRv!p6eM$SeWMo1-M^6q=fV@S>|~s~J6Vy3$L$ zsym#3!%}Y9S3gRE`sL;epT~sZ(Tz>A|K|fqk})WTK0zhSrrNZm$UPbS)r2e!f=6a0^Ys>e&=B0=6KW~-smi% zx1^S9voT7!Na@k-@e3H^4vR=00DK(3`~3%PoFuMCPsR+Uslore=0BJ+4(4B5BT0@u zQKERae}f9VcYQqIW*RRKvtv={;DMm)d7_azE>I3E z_aWNMHw=2MFE0xtxt*^gCy=0GAcMSr3}YT1d!~-#r-3gz3ARNLSYhA~ik5Y)8y$Kg zK%T>Du0E_kM!@s@`gg%NLPY)Juyn@i8q8Y?iVMIqfh6%=jg=#ErAs8yQTC6?hx({J z@RJE|Rmf1OU!vebPo*TycbUSxCyd%k(|DW1zODE8oL?goG6`j*{KtX)bKGd*!1P|Q zF|C^esVv@oe~-E&fLo>r0P-g%M_aW)Q~~8-?b6H#Ql*cEf;7 z&&|-h44tm4GnRf`3le}3plGz60{r?c{VK{(uk2 z?o5r$@Ck6Inx(dY?_7@5Dfn^s+ir{+>F9;qIzugifQ0ptN8 zafYs?rB=54#cRR7L{ZXFaIHXR*SpgRI>i?;0KcRpCmI?Xf=sT@VR}wp-f$8}6@VaX zd9pxEQbifAt*!MpW0RO1a?kFi(Yh!A=T8Kxak#msxy=54MV)SI6J9XUZEdly=LhNp z1+ZAKe!7FFMzu$a9w(={At82Q#)AMtH(j;8d(L!rTi-vt_5WP`ht}phw5mehImo?? zp6UCe%*_0+`ETFS(*B^vDOaVJH;`hl2vjo&KajFy(LbV&SCf~M7sf((g&-zOGnOOC z^gcN0sAoGMlbW>Lq|;01k=rB9YtnnDU5{}yshYDK;g8yxj1Z)p<4!dJG2Qd$UV^`n zH18i?C%5Y;@eEgc;fyOf<>Ev~90(-y!?or1pWGr;7xOXlowt_kplxTNrAqhb!Kuew zO^8~U$0>|3GKX7VY?hl_S8GHJm*@2v(}PLmPiYQM2>9|n;DyNycrB#2+U2v88WW>f z0;XKv?M@WSuXXR0O7r4EAZ@n|&_zBeBNOP!YJUs{Y|dD1OdkL7AF>23N4@3-ryGfw>Gw*wzbLe-u{w^SI(KjEF@Y0m*zDG7KIO1Qb1Z9;Q*ZURi+l6b5vhGnjNbJYVLt$I(M2lYD+P2R(}1 zN^4Xt65x`>RwJ(2gZDi;sG9nW``PxXZw|wPd*7WA z&91?EN>h=M8BFvkA2lx+47Lvo;h%4mlL$1le)gpE`+98-(hwK~8U>PZgXwl>>Yy8v z0JJXK)B3RCb<5Z3+CiAkvmmFv+rOJ=&srDy;^@liAG_Ixc&@Vj{Ouha=u`{OZ*boa zac|AHF1U^tDi=i$UT(jT_2xH~JNf_G`wp+BvM$~@j`FD^3V^ki6bhVh=53qLzNne^b!kAT83UiC<(oV5Fn5c@=lob-aql?E>>0+x%ZxP zcKz+WPkENc+<`BRm9C9f6Woq`kc4gSy}MAk&~5G-N_l@7%_VRvV6w62!>_~PfLHQ0 z?lrLrlMxD2I!YXX#VnWM#@6()$~^rH!@HY%)B1%b7}bE@RmxP%H4&kB1xb*AUlQpV z@f`kcqnbM_uyKFN%T5#RwNnT6(F1$Dpj2maOl?-Ho%_D`@co8pXdp9a_@-bObEMa^ zc@u5v**HU1uwrdeaRh&=uFBNfHb$E3(%IrqpFZIqvCJ!oT&RFc9EU)(WAb_|)mkEEg8Y`IGqqyQ-J(r z?$2fpq210?gti!ZVNkRQ8ouep5L2p#Hri3Tjjrg^X)xB^^&GttnkTi$5g)*+7Dg$q zuhmSBmiP6xdIrH1@uHLE_yPSb1TBN4r{s{ZAOE#Y-kl!9Z-dDF@eGWl^QUW^=+I0= zqYQR+hxo`TeZ0WG#De>#?QBN~nY_7p6h;sIhfJVN*;Km)Q5|*lSA4biyyu2PpRtaJ zZU}Th3)N#&G8gmkC&0PvB8a5DC{^B+n+S8>%zn9$1q|-omD(1QZCjOpD$LA%#XKxU}=^2?)%(FsWlTmw7ecw#w_FXmPxVM&EP@P9*a<$ zL0z=`Hf|w8g|8$1`!bOU@n|s{XnlWYkbUG;z@_i7w5pqe});N8_|lcL#2cl?HXaK%ha=HL`oS};v8huW_8|kBA!^E{w3_;rm5Y#9*!xu94=;=^rR}U|MQ|<_?)AI zgS1)g2KB-NKB-QbRB9&U0N$6Ij1p964&Gk2L5VOKrw(>^jr1`=bt@ip#u}?p_M*49 zw%^*$eq??|`HPvXEFSA1W-L{jK9E>od85lKNPMRz5gaEFvPJcy$#PfQRoU2dRhKgzh{a^L7Y$USZi~!nk|z zB6(ju8qoLb_D}@alV9Go*{M&FYce3f-`^y;9bNSJZ(FrSdOsDV63BWcj2ic&IjW1t z>;=y{m|BMfwr5|o9qZ3EwWjBXuQx2btmc?YlvcSVHDfD=xO#=0=UZ*Fmrz zC8Ax2yT@s$3hz;79WwROBVrP`q2YTcyKbNb_2G)@&Hv)m@^ zYqFe>SDe&VD^@(jU+lK1~BE#zp{* zbZ~TBpDZ?4leDU3|8Fg@o1#8vt|sKQRnC1g@Sm^56Fw48oRNXyS?vy;A5`XZ68INn zt}kXpJe@ty+(~#k8&hdu4}LL1!y*P_Tz} z5T#2w!NkIjtdiUUz4pAIb22|ckYNn(` z6lX^5q5wc}ZeSgNKs_N}=USY?PFndu9`34=q*0!ZiODeCiY8v-T78tP0Aj55Rm|0v+eMj74|$fsO2(@=kegokFfM^i z1>f+Db4j?8-?@#NGoCztyfM6j*;(55p!_BvAOO&Wv}&<&QEw_#3uA+9i1>KZ-9>G+ zKBO`m1*MFMi>{0?nAvg4Gi98bAEb>ORq_c4hHz&RlPn(~=Q2EA^}Lb`x){>A6el>Lugqm=nMYqad-wGob%CFkw>w3-W>G$b zyIgZ1&lN`Onh~p~EmC@FDSOe>QzuU*OIub0_r9&Aium55ROM>=`SIU@IfkuKRjxw- z5C2K&@IQTy7uws~D-EmPiaH|^#mVwsYDG4$%4lZ1AkM6DDUt?_0-iTg=~lk5VLAL; zI51|3p^$eUi%O$3MPnP*qwpS#Irb5W@?jb0$cCkEb@5`G7sXDVI%Qcs-ryXHYqI1z zxAE-${coS+#gv7ZOhV%aDN7MDuONW*9 zNLkc7Fnr{I`aPTLfKiu^uAP-JT}MveUy*fR5-oY4v^f2Mj9owvnuljEm*2RS(*2exI(N<^+ zhugvPnC0>uRUsQww9rwk=L!?AlX`n*YYN?PaACx7kW<<^-KOy)S=`5@#6s#KpOn>E z?zs^&*sqtztV60p_Y3klLiZ`x#4~G$jYLli@p3cPD`}}=KJ(q?)ED3b*jVXcD-e90 z;1RbD{I<7(+zuB-W_e^NVVXC9g>Vqd`t<23^HKBiP|@iF+kT6%DY$|Uj!$aX=WT^U zSLWnW;((rFT|1sU5xC+G6G6-_WBsjH(ytp|*KCOqkR3jUR<+Ym8~kj|TyVm_#Qlmm zMVmeP@)C1N-=HaYBGji}5k!NCe~Q(+w0PQLg;nYU1#Hw-`?A<(xhc3An4LP;N=Nmu z)7744RW4Ns_#`W3EKffTtky^*{#Aa0qZ8GFwe=iJs76dy>)8D{z zZdFcQ=(|YRty{O^mPen}T+zLPV636gCBU8jSgQ%a1fYkCOfia+q>KO%i3PYmW#|~v4V2mYBf%o>9_WaoOIB` z)Yy^9U{aL{<4Y;fYVLT2+31B#gzao{P^D9k5UuCq2#fkBfJiF}Zndfd2RUJ!itN^p zZ;?mnFRNSeuRXrHDX%s9sKp3u`}NJ#d-JI%(~G#PTt-UG%KPgb!~VFetjw5SIjDX* z^IaCFf;A;i0vGcU2o4&->{VsGQuLWWVA5Ac8Y3OmwhpGl#4{0l?`4b*z*wp@`( ziPH8gnZH$pP)@4GyZQ9QDl~2HCFUSxjb z7?}(-T0h4y8~$wFWK~yz!S2nsXeC_HOZ^fWdmwW$Zux~8h)F;&{1zd~`BBMzoP!B% z+VK_u~ryUV-Lx z#E_c>Rc&WuYbM6YKaL>jKaMFvSBVX!WAf9oe@%V&&w#uu8_St}Dr=*;~DGo>h6mx(IH;CAhgK!crckd?cBaT8*tOiPLFou-k^&jwMI& z!iJ&W3$V%|z3Gaku$={9StFb$D~6Ir2v4@2`1|jqVVd_Rj8Oc-!=*;FdMwMvAZ#}p zux*%8buB4D)?;y^o>>5j`Hf0($Mwf2jL*VB;gjUK;EEZ=7;546%NM{_DAlX zNKaw(GE9a-5*(o8tmEZQ6z5clf5)09FsodEWNl`uzRX zP^|wR`Z<+f>Kt@E&3$=9rkyVR5HB~# zxmOQA!TMKokQ*9k%AQbGFzS{=*MUy2zUskZo-1Y-8$zBUg)?{${OvU3Bu%eZ4v7fv z;dl{lGvCz*^7Nx4l>C;T6qqTN z`O9;~T<_(f63cR;%!FoTS=kGqn`=-g9zzF6^BSmssokMX1d^N1 z%3U8G&HDucndbjZ@Mf^b!TUDdw9CTwk7OM-bD-()wm1AX{Ke5aLWYm@iG~ayqK@LSGefm3zHbj87^`nS7Y8 zdUqWNEv(x9dH=QQdw4her-3CWRmLFCBfbU9O8Pf6=Q;Y`bQh-HUraufyWH((|K?n$ zTg!m&WRU^QQdbUtJ!m`5Ai* zL615+K-(3izx4?9Tz3z;dt=kwTB1wMnnU+C=aLZ5#qLA?cUcsYD3lE2!+Qvt+GO~0 z0?||{G%iR4~P3^Np(}&vv$!z^@(MTXvT3O$%&W!OG<)pP$06 zC0aFGLhhaL9yIV8edaahP`=K53cUY;=8xmsdJymwU3H0b4C-8e$&DR@bnh%t~=aLWva!>n7!4ofhebp6|sLkWYWd)d_ z8q+odcUh;NnBrpRaa$uB_Z364$2Y(PY5KN{X~C15OOlYBFp!Yc{*Vz6=UN&m=n-*( z=Y1Ryqns9x*Z{LC+txv?DUbf5yEOYYb8$yW7+;Y|+wxGK&d(YH-IT4h&N&HxLfy0e z`;dpRG2j2}T0Zj0-n{%`ssifxY2sQ>ifFD8#`_hiU1(lA(;Vf*~G6?_rT%WVfXckd`FQZ{~2)*C3BU5EbN z(3U~pJ~xa}@YwpiuYO8ly?bxZYyN})PBp%K{wcxz&mT4AvoaQUz|U{DS3qWX*BFEb zkN>E8&Vyyat-Q6m(~=Ku*k%7IhxSxs2^8IXcfZa@VK_aZt$l{!h?s!dZ7;Jp9Uax9 zO{zKYcjj>!%FA6dz{^g;lZ8Rj{az=)!k=E(Q+uyojleRc{^bBDbF30gxTXWpOcF&=}^$``nU|UR<}_3o__u2vgWL(LyJc6>q$HN5M;IcXPH)os!}D(tdYF`$)!F|fzM(G2 z*i;w)`DRmD!L7`lV4=0}%XtEum;D4EeJi+M=%&^e=lH|HyqT9WyTfcy^jVNG`-lw$ zRe+*XCx@wTqWL}q7vTNLTccNGD_?9cllgZX9Qmpz!Qs$FnjRI6mY=}U9IJ+7XMDO$ zORNg?N?eSu8|x@>Lo9z`3!m??V|}Ht?o44cQpBP2FxnYS<>hN@X0*-zya^BH<ZJH+A`+Uu0m5&>&_4yf$^hM z_&^je*Qo_os+42`#Wf`DlI%vyI=Z4yo;lQ8w_|#DF1-CMa^{Da0u38x*QS=O@zdcK z2;ymj9?;Qn(YV%VQk2Adb{@#>m^DJt8mS@@G>bgf{J+y+u)OTPq&8ACgup4ri`>FW zmk#^l-GdfwSU;yJ#EpVx0%AWEW=Gn$^3ftpdh5oFL6u9t0jR!64VpW(GRW;6@dmlt z;6E?@%3$J<9Gzt8_;_xRU_=-Ib3e)pnymK+T^R=3OGf4a)0$Xdc-cDW@+3m}U>lQ@ z4UC~>dWtLwg^Z!%P}wLwpaUC~ZX+ik1-|XVUZmJQjLm9;=f6#M#A~*h+NfJwKl%I) z^laJ*h~xRBlcz|dc6N*ZoK?DAX#7a&G)Q`>2ky@74xou)T*Q}0*|ggK1F$z|Xrit! zOMSK4vT@tQ-u{ri59=r-JCq9X{UhSACEJ7*bFl9m6-T!m;b;*KP+RCdv_k!ELxs)* zS3by~^i?C%({lzOkd+IvO8~CE#XF$^qN|-xJ$w7=p*o}zLVafET77W97@e0Z27~sM zkc=V4MPGPe+wtzRwaU_Mpfo49*95~w&T*;mE}+qDIybRLv+anB zH1Dnt^11*B7l-KoUZ z=xp6Iv+|3_Ib)*EB8)Aq73O?^!vU>PUkw|iPI_U8I3oqWk6v4Y}& zKBIwb`pk9xj2y9!)`-o5Gd|wF2ISDqHejC$j)!irleO6zS|>DMhp6qSBM&El=qF24 zCVa|S2W+y*Uk7U8cBV5adYzDM+X^a$U{xZ!dBcS+={hN-P>_){-_NYvZi}QjOH$=V?m|6xH!#g20O~{mfWBU7S~M{+ zVUVo}W$d3i#Xkq#TD0Tt^Q94@EPjB}B>eV^e+HKZ!1Rj2LWeFo-XpC;@YkpCt>rV~ znP;6c1p?gGrP7bQ>``M&ezJRY6u)uV34CTxjdLKHB_Ap%{Pi zTfq+42nrf_0%0a=O_{zarNreTH-jiX)51y&7ular&L^bRzXg1 zC%A|aTQeyi)Hw)>QB5QHo@$BGuwd+PNjPU0<40?9u~~T*s8>?waW)`txQ4_oZS1V^ zAZj4{iARnSU-M)cf&629N5@0JuCnI<$viDGDl*wx7v>NZ;t)AYZsNy#qJ7Uph-?A{0P^us856Lmc8ft^y~5zRLM8O4izh& z8KFa4KJrp3nM?%}Fba*tff}7WW6NUNwL}2(T6S%2cGhaB&Ic3%)CLP+4WLvTi@xy; z#3S70ft2@IJW;*HU>Z2pv1eFLA5_#hpFE(yO-n(LU7exiZqauaL<>hb+Tt}e z+T$qQvhhhtY|S&O0N%9PP|mfDL$u{)yBfY4Xv%7(e*a&P(c9G}rWo7Slda)EZa{o* z1u6*zhPgXqMMI?xtDDJ1rKvFr$M$n{bC1acB13;;>W&a}+e}3;gcaVNi<=T*w&p#Dbr|7xsvsKPk1^ zYYzh!hdVwYfx1OPS%>z$0XaFHez$q0 z{4-|=qG_@z8_oa%XdQfQ|Ci$sw?m@{4%L;n4w2GRx)!IZBocIqt@Xcv8UvK-2Iy6Z zyTc?XOx053@NEcck0P@6#ZrGRRCR6OTbK=;6q^tSEoFr?)vIjJCZO*6_Md3?tmuI3 zyI>ms&=e797ZJoXpM$#n_zmJV!?rM0UA=MnnNc7ke@Z3>q;+1s$~k(ZYz)+wMEpB0 zjKJVStBO8tp;TQpdq;;-tE$4?*A$*B8fu_+-btT1&?B{@^e$&7v^|oIV6q1hsk^^}$65vX0eJwsCse%vxrMzwew$t3cMH{9Zfc6` z^-EyV{fEgbgQZmgMJ6NGL9HUXY3%e3dYQfoG{IYYVSlYt!lQm|Cui!&SCf*m8%hCj zz(`8Nh*{C^feUf-2QFk9%X#;PDnl|(MSf>O767;LYF(w@A=t?i?LrAj8QY|G^&RJW z#+wCnvQfRSnvnND_gO)uEBp__rOYdGEQSh0s@=?yc=sqh*IK4OrfHYR!DL`ST^ikF z;o#t)vc32N&e&%8Z_a`ox3KR${Oal|*|AqLb%9^zr~k_KI$lU0mez0pgG;aQ|#@bfVlq0a8{y zF%dYIR6Fw)@C|T`Pg(~I1F{hY45e|=Rmm8f>c9pdgDx$hSYS-%*3CgPbH&W$e z^}$3eaPRMwT@pY(bSEc|`N<1UM zMslxC5ethzAG2&*0plQAJ|M9%&0lOSTr=@U%_Q3q^XRJ)>VfBgye#P+E%zFKe$(X% zK;`M7-s}e6e`7O&-`=5BSE03Cw0)OSzEVnAt^D@^t&viIB0*HZZ{xfRdC4-|JOWv9 zAUD}{yaQwGRgzHhi%OAA;QSRp+xlatfcd?{SluOw+D(6T9=r_E5>Jc=BBrOIwBZ&MxoFb zF#-v|Y(qvXW*6G$k~Q(w<#>2x^>JT-c+#G-Zj8wJVY=Yk3;lZEtE1&$rlass3p zOuefJL^2Ml3dB<*Hp&NArJxGg@Bw=N^)1kQpzh^%q*@Y@3mIWjk`+MCkv#%}!(xjw zv`Ik_-i+92k|+DBijIN%WsCsTu*Ov`l&?o`x|t0Y3jnU%=V;Xwy_|6Z0_p!$b_2-$ zzhNd&k;X>n5$PozkoN%o>t(Fn2n&+DMu-sy^b>jk?JkctklQjtH1hQT zhholhD-d|uVcZGGLoNVc%5JVu3Jiz+_DS!5?zZ}f(yR^4U0;V(W z&c)@S=)WIiTh@$vwX;X?JbU&iM85d}XXIZ;Nnu=BR&{rl!91MXnFys1Qje6t+`vmE zNESduJ5$h#3ft+gfz%%GGrPA+Y)RFf`+AhLRwE`O15zcYq$7g2i89DYgY5TlAoNQk z6dF_dAN3U)3k5!vwBQBa7@(S!VXgLGApMfr{~VY@zUC>|Y24kjzk3j10-G6clz{B#N2_#B8`>%ma+$ClEER2R6a>4Rf_W1XBd0Rrr zt=T9ITxNXI8DZtNf_#l|PJ=w1{-0pNPqszHrTPHW0vZ)C8M!<}O7{VpWZSUD?x@>+ zz~y_t%=bhC{0QziU}lHz-B~RI!v+*{8PZk~02`zqkLK6JSX0Jb0S;w@JbXI{X@Q5; z(*q5>l!^oL^{{_yiG4%1=GF?ogo#?$2LQ~yz8>kT_e+#P``&>-%%FDd8dJ^eJJy9I zOhNDs`03TJWst3L_?BewmaE)+GI6T#EGOLJfOuPM^y(@=&f{Mqn`m(=I}yVE5#8N6 zV!uGXa+zS_;>Fmpcs44_bL!(=MQblv!r0>#57vUp2a7F>1G0U?QJmvQ&8hd$H7uzITy8_Q~-#d zU_h=x?aj&f3}JI~gL2!fx+9Q>X=fyCDa43~{r!*1GzKeAAN4cAt~1fB?$*UDmm%l= zOF(^9XfaJYQ3U_!;$nNFqYz6O(BivWk3O`#K5-Kf8Y3zy>(o|kelx@$Bs6^HTPhsl z(V~E!g~sL12L1OzBT4D$WLi{5Pi&!awsz8I_Ux)C`nDb3J^Oyx==1!~#u7`35D4@! zP*wJIuhagD@ZmR*$n^vAaCp7D1&rn4^-utG;PA?c0X#aq3^jmlKfJE7)rft)Of>j^ zF9h0rc%66n?{)vt?q6B>Pf-5TivKLizq;_B`TYODS5R3chE&7g^9J&4rfaF|sg?fu H^ws|XEF&jS literal 192331 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

  1. yW#p-DImzo@8C?bb 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�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 diff --git a/airflow-core/docs/img/diagram_distributed_airflow_architecture.py b/airflow-core/docs/img/diagram_distributed_airflow_architecture.py index 831a9783a85e0..37521141462b2 100644 --- a/airflow-core/docs/img/diagram_distributed_airflow_architecture.py +++ b/airflow-core/docs/img/diagram_distributed_airflow_architecture.py @@ -14,6 +14,13 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "rich>=12.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -25,10 +32,13 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -PYTHON_MULTIPROCESS_LOGO = MY_DIR.parents[1] / "diagrams" / "python_multiprocess_logo.png" -PACKAGES_IMAGE = MY_DIR.parents[1] / "diagrams" / "packages.png" -DATABASE_IMAGE = MY_DIR.parents[1] / "diagrams" / "database.png" -MULTIPLE_FILES_IMAGE = MY_DIR.parents[1] / "diagrams" / "multiple_files.png" +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" console = Console(width=400, color_system="standard") diff --git a/airflow-core/docs/img/diagram_multi_team_airflow_architecture.md5sum b/airflow-core/docs/img/diagram_multi_team_airflow_architecture.md5sum index 824f07b0e0157..b10d471780b21 100644 --- a/airflow-core/docs/img/diagram_multi_team_airflow_architecture.md5sum +++ b/airflow-core/docs/img/diagram_multi_team_airflow_architecture.md5sum @@ -1 +1 @@ -c50412b8cf43b84752d4acbf9d7a40ee +22f0feed88ad6a955d5bebba08469bf9 diff --git a/airflow-core/docs/img/diagram_multi_team_airflow_architecture.png b/airflow-core/docs/img/diagram_multi_team_airflow_architecture.png index 75ff970e95f121d99cf9039e5565c953cb47babc..2ce11092f59ec0bda4bf164afdf3e29cec24d2f0 100644 GIT binary patch literal 578476 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%0A!oe(@Wd(IX@}SG1 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 z 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

    1c{$(fohbrM$x~tgF2X$Lz0oto+}kJ317mQg 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%0DsS+iv%oE_U16Ec)9GoE?rg`Ui%4p!rq}k#ToD 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 hlJnPQB;xmQ7~U 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

    +YS7HnX1@~w=qDKH7c>7OqENCgOK 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ℜ7|FOPS zB{$in+D9Sz)J1IqP$Ns3^Rj=nQ5HhP0%nT_!mp`oC#wc9Tig{b;<0nV0 zqh5A~4vNBMh1K`DfDuf;#is9|XbJONQ_+G-wa}Z3}BLV`7BrxRwMAB}5B*Pcm z*t8(|?!5`OBnrMC&xLP4+{cbzfOEC!bPwAMFtyI-;6By>HkJRnQx|aRGjIohz>?qd zsiSf1iJ5oT&oJT@;)b|5x)gYLc!Pbzd@0vfd?FdrRrvsh)qwm&R8+I9g$06Tckbmq zXX6uX&V9~d{oH=fBJBpT(#zJQtQw{kwV&fMh;#@b)ZDa6d9|+-TjtiExcGpY(|ENT zo7Ef|#HsiBp3tfJiPGz-F>!H9`BjQH2rLz=aWTI~(G?egEgR8g!O`N;YT8&qvS^z# zsoi{J1+!j7mZWmnqqndC*BV9`U{nG8J|dN7Cvn+blz;kNVGOCzB)o$Wk#c9}ruyJu z+EaC0J&XB5N}`{qF8nvQ9TOFDe`JuEVbV|`fhNfBgj_J!(jGBwT206Zo_Q-kN^0S1 z`}k*_VCIe30{Wa%YBFeHafkwV8ph>rt`oK(!E?wZp>rB^$+uNpt;Q^ZFqi^T`FMisQ?{6$-$yL(q5>kzz$~Kq}J(`4AnZxM~jh#zV#>J*HC5(7i_! z6{gA5k5Kv?STS@_mg}+_AJtYaLU#BJqzUyQf!b@*pyErpc)#3^N+gKz;)%}`ef=}$ z0%&TC!2B1&C6~^nt9>GH%gu=h&|#j5z?GEiu^w#<(G?`HtBC@%DUKv6F~8D1LAU}l z3uU{;u7!n{Ebk5vkdiB_t4I7q+RfY;0$i|SDxdGQ@S^Zh_?+Am1+P74|9;|e02e_a z_cfS(7LId%?@64OT|II7z0W?{?kRtm#rj~m$+%lHD0uD&;(6L171COpa`WUS|t?~?eQe^$?)ylU5sj7Uz|iDQz!$2dhIeuR1aAx zNHr&fKObf_#kjagC(FZIpr$LKq)0{)Aknqy`uT9aoX~%Eu_|qrk1zjmsv-|go#L0; zp?@Scck@>~Od`;ChO9uxBju;qYqBIGd+~5O4L|yBb;MUaPavn?0jrD_-?aA_2|)3P z(N8aIvA70Bbu&c27h-hz&Q6P-qc50=Lnm=!`j8v-Ly1kFHXJL>*$WL8nsR`0o4yv} zw#Y~--LQC^sN%W?aw&GZC+m5Gsr9OEe}H-l`nLGZ?d~eYZg3XIXeKDWY3qLYeA1NI zJ*d2tPs2rltKoPdq%M(2aCc;Qyr=B+L)Xr{{4XBhpXGNbcJsZs@q%b}|k0mNz{K!~%kX-X4Xyy6MTcb_W`%&rb~7J2-A5@hZ6hKY_XZo+)PM z_vXD!3MtJ1T6RSEUX!@wyn9J$Dd-XuMd@TbiiQ9$tl1L>*=BlYD0kL z%0B^-lGRD>N>*(ODpGGX{3i4|=}z^n4>YSb*pCom^*mutb(<8A{h7h*(w9pa2{h47lhX&nJg9X|@1G58f1?452(19k&NUlO>m_8XVE$d(r5fmMlN%!0BC)#(s)$6!~ zdOso}t%Dv;S`lpJeGq{l{-5P&+Kz10s*VRVAnq-{{d?zO5pXRv(EU^^{ITTVD2A(1 zyB$8b1;s%_ql33lx2qvQKzd1OYo^&zTHw;?1e$XB2u|mFEstNaz`iRXdw!0 zP3fKetdzK#98VcOfeYN!ym>|v(6aPi{%}%&5*akn_K8lt>XXr!qJ9UqwRXMahYxQ+ z8$ww=@Bjj#Ch|a+31>tj#0{2XYJ%R)a3m`9ec=TBtTP@{!&>nuTze)maxxa15$-H7 z5)SjP)wgTGYXT3S|I~g3ehCJ2d-nD1M!DVAVt=NX!-H`U(DH$?9`2<1%I2|s+x4-2 zhdHb5G2^gU@1ss0ch;Tdd{u9DEnKd53ktjgbdHv&qYnSGVHRMHe)aa{)YU=X-92h0 z0lHF9nwAy3dlwcH)j81R{m<+dn%b-7#<1EwX>&X1eP0bk2x>ousR8|jUok1a*XglY zQev@?nIdeCZ=;RsM2( z`8rs8ICGv+;g}u-E)NMSMJFH#7#q|DO0Kn~X=|)^xiGP@$>iU%6gbQEBv+)rnuI(p zDf_)Mk^BO))fB)&>!-wImI$B`VV~5T#zBYy*LTiZ`i95!rTvM%VmER>3;Zo5vrjEW zH#qe94wb;gm3mA_gFynY^Js)Sit$d7LDpH% z_&PcH^n0%_SlERX%nWqJ4n%;}$$00>pxECYC}p>Jm$y;9{QueCmsqArggWO3CjQG` zkqb@kW$WNkjI^zGzLywQ@=y|*flXHwbAWTxn+|O4uAVzSyRWWaZmwZ0xZul|+dt{V zIn6pvyD{m1Rp`lv7Ymm7&2_~9W);5GEP27&Yl4bz;DO?1@8coCqVsFx?p34nq}NOHI<5z((hzRCZHYIFi* z$~|ZvyEB$d_dEIW^}62E^JJNDx9#U;AicZe`-9&d@$K6lv72Wo8OF5DdRIZo*A(e_ z1Y!loM<*xDXZz`Oz+oWB22P;eY&0;aWja3VERw_bTnhmh`^4oal<0G&R5(X1BRj0u zo)P<)kw-=uyZ@>gt6jkvtB ztTuVV%XdDsap{kWj24UhMFBufDRl*GObHQ-c~y}1O(Eb@#_SMXEM92Zpnyntd6#xm z+ah8Rn1uvz727T`Pnu3$KKQt>X*Zbd2x=&?guHnd;Jf~Cil?96;mB!S3Zvub;0T16 z2f>T=MD=chn(?2sOl8he8vt^0I=m*G6?~BB)hmE@H9^9_7?-oI!*PRwP9KQklNoF@ zqL@Q!`CoxID-pMS?YT$>_C_+ZrwG+X-=zgQ{l zzgQ{Le3`^lr{MHbvhomXEGoS}t0OH8-`lnp*>d<1D}POX5GeUv6Ok4AZHh*s3V-UO zA{zW)wZx=-L+0IndGHLqcO0$yB-cE?Ta%JyiI(hXeq=C1uPQ`6RXJMN+gZA^8edYm zM9CQ_&ogVNAzqXTs2xmf{km+&Q{W+ujoCWMeU^CkXI;LGXcl^e0g4TN&R6>kN*R)QlpRn%eu&brfKLewr% z3-R%CLrC;n);SraI4BKW4~S>)Q|quO_!}NQZS{~>UJ=l06qzZ79t8A!@{Yf+f|Q() z5|xHvlq6@UEf*mi4zyAsW6dc!M{kM!-Q2^MRPXd7Q~y?hl}%udB<|Z?jg>VM){o}t zruW!WQS9I54>Pmdrgss{zYpA#wAsbFXG}L?$BNC_CEYFQiw;>bKk4MczC}iCBOvEj zn_k`&OcCzSH`%xd7pKlzwUKJ9Z8q#p!vYHCL~dqIi2A3S3k(jg8M)J(F$GjS-3VGX z5AXp45JRo!MgWI$BIRQMVe-fURckW-ixNjCAc#udQdiN*>5ZP}GiROEB>Icjo(&-M zC?LCwt43jEOh6Yy0Zj)5BIF|M8E)RGSLp`#XL-KiyR81`Y>3}W_S2hfYQF0H-8lU~ zf7{#jNWi-$q31(VFy-O0U5x@xoOE_72@&+8wzlT9Q}FVXFMDqObu<}g<8CME<4+5L zzG#A|Cdu{;!vE|SQM_3L*9^-2sHLUFBY1Dc>yygae+mphT;AL-5H zvvXmxN9n|A>kfd0HhS&-=K%NQgAW*rg2OrhpqxOeQle#8q5H8w@kxeKak{0>&=N`DE`eWv`-h^foZ~v0_(*5iWDl;VCu_P{<-l_ z9B;e2NZ)Zfsb*BYWRwbf&6ebPb|j+e8g8WsM_0k;SPP!RZRdF#vVp6@h}So`f* z{zb(R2s>n$%@-zRC8^>79?5P7JHgMNcfh1OUnO-9-Ci#Wc z&?g5CueH!4uniMHB&3@@$2^}R-^kFeiV%~cVq?Dn4bam_*eLS=Y1^xxvp|?|A1IJL z^R_MUP*uS}kLXwpK0qPh7}riVXCD`Efgp!}7|4s{_sdjvDjY!G0up67;h3Swho9@W}fHHmLSUOQ z{~gT!*Z0!kW+6p6C)lqlhKJX>sei70m6SBM9b09*jQAh+o}}fD@%#=HY)QMink=@U zSL{Z`0p_SzOclU+v27K?0y4-D#W7(DTzS)RaqU9gO~eD&N8F9K-m#zE(qElG$*z-~Y(&5We z$V;v3?zyts4Ss(XJNqIOH2O86xG`Fscf2lU{mG|e!}^8}3+sBd!>KtY3+oEGvWEI4 z^@@l&LM&8cwQDtTWqXmiAgiM|=aai9Ryh+k3~AAB`R?5(5BYSSn-#})*SJB@&EUa)w) zYaJ~`tK9niZ0RGvrH!x%x3eH9IAvFm+eT1Txniy`W6Neft1^iu7G$Y0p(fdQH zgbL!WWy0o?qblgLOl4{n7EpM(+uOnJF=*3_A3;lZsvt)1x53Ft&WA?^Y*6; z=^5*DT=WwnWFvZBMj=2G3k2M5(zdO&N<9jPRciwKZYX~*I2sv(Dm&!SM+$KFld&1K z&>Y!aL<1Bxblq#1cuyHpO8M-K>&z;beSI?SuXuQVYyMoXD$4YfIec$bK8t(-!ecTr z>XDGlNmcTT=2x;e9C80ti)7L6yCcy3pi$7i7AUGgcwS$F)v`FGhO4Gq68+3OW{K6} z?G$(9);gWG!Rc(7Qt}I0use5OT0tRke0TO)%qdpbac&YrULOVFfr0TL|KFurF z(FUe+KA2$oy)gD&=Lsw{4k)xICRNyMK~0%C1aCsZOjfqiut_(%07))84m~?l$Lq=s zvn%lXoRyg9y*H|~!x&Wu2UWHoX7Xg`f;1Y~x^|PgrQ!{$luQd!KYxvG_aoQ;@ckly zGxZ*URU%X=I*OC`r`(aJ;KV|`)wjachwCO?*tDjpA8dr&UP_FgX3J|aK_KL=2u|XI zVa8?WJNJ)?snYL7{$7|_6g&$AXSM68puk0U86C|Ep<}t}P38R^@;sdY<7n`Zg3i;! z^_=rOKu9t#Q3lUxGitSK*RJVG<4|RXv;6quE>I&v7@P?^CC_zxUT7GCvFqKrS4McJ zBK~FoZ?J@n9dqoN=3VFywAIvrZ`lJ(N?81CY_rduYCp$PQNMB~TuJwZ+?2V|@^^`n z&9QJjR`<~P}5O4 za-lWrc0jt=zVMi(3j|>RbCL#`SMprfKjk3gg_eE{ZLmp!`g^&>l#m~Uky~5rYD~sG z6=N{G(_OW-ODj9Bmk*{NC{loO8uvCmU5~CsUdO40RHK4|FCLG;DPAO7|8;%vcp438rAO|;_+scOG1_H%1u_2EvO07BTC4d$?$L7TM;YN zepzbvRFJGrrx(u-ND zwvaV_`6ONPwQEX`%jY|T)4LlBj^bQnV z_3dsn`b1Apjz4Kr>;N)7?IJrC(8S~|bt4Y{9)=>CBPpr!nc+{WR15{ZRHofqs#s*f z06-C`s;v~WSz6EJS#;Ta$l(>`lsv&YO5BESVRsM6VUo%ehNC=;=OmILa<}@-;2WW(k`ImT_(5gHw(Hy^P|##-193lZo?1FJfc_+CTpYrxZqfmq_coNT^>bURo_b33~kw9LMzKqJ+EKhbzE2S}=7T3SD!AG$5= z`R<$!r)1vi`bH;wP0%TRL)zxyGW~j=OG;>!!9M+ym$;5~E>HbTYOvW%^6y+q@11S+ zCqrp4>DUr5JPdOmpn8!ekLVUE*r+k3qlwW=>AWyd}AW$bOStqn= z&)hK|hv~B?>uL(1u&!2Z^~#wtc$-vlMfr(h3l)f}CVN7E5iI*|Wb1kDFy0Z`z{2A3 zRn70MW$EN>2PtJ!p?*Dg<41gd$STPeV`WTHq>@I(?3-mwX1nELNcD}}36%}4ix&UQ z#jgz8L%~)GnCmyespa85K}Z}}r|wj@Dw-cB<%cAl;(sK~#dCHEV7^GeD?}}^I~>X$ z;u{$@e^xu>%@h5ouDjfz>R@OXJr98w`BlN9EMW@Wdg;gFvC4!vkj1kAYosSmlBroQ zp@LvQ97I5n#KZcx*VW#f3}8e~U3mUpwjb}S%?x?JmWk2$Fy;4Lw6}FpG&HQpW{axw z@uL$^*q}ZfwUEx9!k}M~R3>DXLkDuU*6cX(*h{vhoweN7j4h{7H0JK3%SHNXY)l~m zr_{K!Js6J20+YbqCmT~vu(+V46f~hpQ*Kmh_8t>=i-$`MQw7VC;t*k;ILuK?%aXow zyiYJcg5~2z5~$&To=1n)bp{KVHuL-m8+A$30Zbs$Po^t{qkq!&JeB3X+I7 z))8Lfh_PD1#Q*f zC$jxw9NxIN<_GR7e82*8M)?}m55!?rfl9U#!N)BOtQ71r{TGElcei;$pzQP8qv5K0 zmmX@~myvUedy(qu^L03UV%Roxk?DzY$W|TnoGhvb|Ul z#5^%V3)lVeQ3$X}qLcZ4)-8y}U&syRYE~1-#GrDX<@=z=&K8tR^KQQn84w%g1qjR< z(%W#ob(Z)8jdL!JX%Qeo*Dvm(SW0MV{UJ2QuCc_T5>4yV9w)N10dK>*kUT-%Wx{Dh zVWY`P-H=wjym6uN$;~aptNpo;dd$8~Vpjx!U`Ol2@G>Lg%>WIo!);QaLBjQfygK>& zwK(QyCEhbHi2(EfCX4?2Q3}0f9qB~dJ{p<^XdF8?4|#p;+8pygP32WAWFzE~Hl=~C zBDu5}3bDBBfM}bvwZtjF3S$^jeEE`Z**)+PE297QDdq!BnsK0a0GZD^KCbon7?KY> zVn~X`5A%#5dy74q{Tz>yURAwD?7`wZr;<{HtdE6XTk5LiorQ4-X?U|| zv%HE|R_|<5f?z9GPUkh28}|ao1=TIIb79f-AVD0W0MZji5Ud)@Ab7ap{r3VuAiut7 z5QZJ}DWh&qbe0bhyU&teJKlQ}w+|_Z9B+tXCzDciv**557{-jI3g`oT6<0t|`y-vL zvca)e1F(F|-@^1{LggNZ#@2DL#D8?b%4f>P4xRq#t4XjbK#^06)X8fQ$(+#3l%=J_ z=l`8*bl8kZ`{zM>&zY5LL1b{wD^Dqm;jx~z{(0@&Z0^q=+FVt$KZT8ETeV6<-t6a; zmpgg4JJ$-{9vSVN(k2>}9lV5KD4T1216VgDv-mOU&Y9&>3N-*gM}l|`t2+}2YT%V9pa z7H9zOzwCyI*LOd3FTE@Nl8mML@rk(#n0u??ls|4!Y-#mM9MiF*0RubK@B0?yCuw%G_LSCUSJD^5Ef0)CbNatFNLYZx zA41h&cIoQgcshj@ECzcue?|(WTMW+`pYXl>qEKP3`zEC%+fLD~wY62}V*OL8?T3tV z7wb~0{AS3RZOJug(X4^q}oU0e7Gr25_gO9X%xO@&qhugh_%NxlzK+ zyv13eBjzlsPL(M7RjtbA*h2OFgeoQF-AsYK z*E9Ra*(kgd+XB6eW#S$HtARjxxkoErjM@#7rZL0?E*0#n|Dp3@0T;ynXlQhPSKphE zeXZ>i&ehRcZ*YXtryd3TV(iiM-Y90hhNWN&5W!oZb~k~7zJtQ|19@JRE9MZd|AvZj zD2XKV?jS@0(Sz{O-5ULj>2La|QMXX*U^0y0%nyj+vsC zy9Q=R9F5D7gPh3N<#GmMIJ<%m@+4HUla!0om5YCu9#ncEeRj4%aF;hn$J`TiN^R$rX03{{5yPknpq^fai=& z$C#|wngvX}j`lW(EM}*IBkUNWSn*h$;+7h%F*x;3ZVvMl1*iW9+js+WuWO_FiM>o_ z8q_ZA-e(;zdTtM35SAmr_(g3)6E{R$D$t~CD+iq9{hJGrx+g+TZzSM95nGdRrP?OV zDFGW$o+~EWCplgt`D1QK8-I1MI7FzI-^sfknOMuSt~LhqC_>2Q%WR9~p|yrwSXHr%Br=XOW28Ty_RtG0U2&&f?8+3CV^K>96iyX_`bD{lv zbN#?!APm&5Q`b6^RoJAIzhFe&1TA$IMQo9ctz`dsd}3;GP9R)gl$ zuu}HQsv4V>kp1pmmS}aaepUHqk6c36k4YoN`nJ&v<&G<|9DNKV_*%iu$ne8bS=Ut@ z@zgyLp+4L&_^{H+!COa6UbQ{hxJo$|#agH2Rd|F~7hkc|*r)P%F}Qu6D+kjS zV&t61Wg}4DXgFm!V0skPYIAA~W1A-_zWTQlVVag#2P1c~igL5xz*5csS1onIK&Se_ zdtRTY+31OkxV;Ec4}&)w<&2WQf6xEw;S!0ve%bpQtpCOjTaf}&7?^7kiLfV2%bb8a)bx^8_sW^&FECjM#MjG10EBoPtY9mvIVc*k^&(8MmpGs(cU~4Ib${_;sLFLE%*d#y` z9l33bLx+nZC-8R#MSsj2QT)8xNtU@mK4U#N02mqNTT=X$UFj%{>Eyu@vn^G|7<=O$ zOXy~bSw`wD1I*in{cvs<4j>iQ>^f2oZhjRF0_Gi`4m}^wO5Qr_iW+jb|9~f*60gUu z?^RD}!XUsXU!iS6@M5S`)Jhb))G($hDk?hDv~FK_cUZxs2D9O|l&MSeZEsCRZO8ln zadjo|Po_p@O=X}rioO^FDr-_P6MJC~WU&E2lvFBa{g%;n|7EJq^ zaBE8!y`YqkZS7E?h`{E`=;EYCm$Ttn<;eSt;Awovt*AdD2Wl;n1SDLGrI1vM|9~Yq zlOI0=xu&MJFczCZF6ARKK6xSs_=WYah+fv)0*5S{gpOYk!*+%bz2#djT_OUZ;vAKt3cuwf%y4`QuzgBU*SaCCFGKGAJV|o2(2wPavQ})~xF1DCp z{qnn7xl}J#${RWm*lhZ# zBTV-dqs6@27F!2I%MwdiGz;miHOV~X<;6fVBIn{_NF#77y()ot=*ORE@t1TU^v@S( zw0s#G6UEuy6&LF_5htf+Gn3_m%#~DOq325atQTdV*Y>>@z z)`Oqb8c!`cnC8t4X(Ks#JB4^W>>i|7^C$n9?BQ!rseBdz57%jRA*WJKUSsvxxlBLP zbyLwwoMw5G{We#F+VppqxxBZ+ogxzz6m@<-4Gnj<3U zNEI?PP<{SXpM3ILE_>Ps#d~=l`0i;$Gv+qwm%&s!pO5VrW;1}h%GutBq1$57>0kD% zCWtruMbgsK?cw@<#mg9NInYzOxf6Q6F(htd&w2G|^>bWdNYgwwb+Jf_Fxz|qHuprt zk-CKE7(ty_^R&9q!zbA~PV@-H+gxOCtaFOj$)8x>B1hOKX7r{%*Po}cMc+3J$`&qp z7rDm?$XFDIpW3`idzfGCr2>sZDz`13AZ>ya2l5}jk_=5P%|{LUhP4f^9RA=ST8R)d zf>O2J6P}b_QA!rPS0CqBB+4M9bA0WacnT-$T)Q?1)qRZetal05j@Aj3U(D9|JgnpJ zqDUya^Xoe;%xo-44Q=#>cE3=}C+RJb>DtNIYt}ETkqh7dYv_Fs0zmTQG}zNY$E9Cx z{0C`sg4|Fy?=Hpe6XM6{+sHiZJzgR5-olf`;3WL|#~IBla;I6^j|3nu_7#QamyIdf zG9UP)?!b{aqiwcbse^P``XZGtRothQwqMKi0nd;Tuk(DLl0&GXQC4Jd+4bV$F>e#f zy{2<~CT#SJxSPA%WQNF@aT8wfoSn?#p=ogQRvq0II#p)r-oHocw5$JKh%ci8sh6|% z$!!v?NvY8bSdExA6U-!y|FV2{R=^+) z@LkmtL&6iZxcom{P^TOiGw`ABZq{$2(gW-_qYAO6;l@UlN*s>|GM@zmO^U1i^Wik1 zF8y9B*XbW`P9HseAOgBved$0fH;el%zl2VY#1F63EI&YV&uVnx1 zp$`_~`qnkWjL!jk*~)QWd~d=ljovZVeWM!pW5FO{AlJLS%S25y#PsLTd5!43*FMB> zW;T{j;CsjKzJZ^EVG{XsA&1!>*s=XBblN^F~SO|Lpx|{_OHa0<$ftU zrr#H_Jb#?&46!VRB>EmUW{kQmz0BEv*T*xjO!sJGWUHJD~xaFyM`4u-Q=z4IG zT{O)y{A!kWKzMz!{oRvlsps$1t~9}5fQ@@TX!h^hB5pQfUb*Trqxs5M2Y=vm{z5^W zFE@Y+THdv*rk*Ra98p>1*Gs9{zE#n3Q~G*Cwn4O7^-@iVh}HI=WT|E6+T0*o?^u*& z>-(F8u8g$5pPYpTstOY%2^FqGoU>dN%D+h9bNg)yjFTh~{IMCt;3DT@+93XFz447d z?cC2l>G4~9cq>nrLIGL(Krb2e-&en|SLN52d@I38aAgmgtX0`1Z_N*wR{a+$C%*yX z^Xr2zH9&lciy`51yjeq7WWN4o3qqKG23fR^$_2YJ@#6s_;yf#s`PC%&?;8vK@5WaU zw!WdZ;Dwio`~_WOQ|%e6wDewte0&V3sie|O`N7tqz@S}cYn+=O-u%7#-p`@Zj*ReZSBDjiWGVaOj z!1g9ed*Z5*HspEF;=1LK5@&*Mox}RZh>oo8XkC_Nd;BJ@n#yXo;U`eFT4UX2dqrkz z?ijy*>77M>{oJ7;FYhhM=-B}q?6`{_5X^@o7MrmQWLy**1#6G+`XURCe*M$#u>x>r za?O>xci6EpVQg9^Nqu&9mM~CN;(weaKS)psAqr5+FJX49?l#u2r7-aPx2S4iMp!sBD$gDmb-QPD61tM+`t$|Vf}rOxU0dPy%5Im8#-Y_YhFwS5c;p95s3>1um5M|(#?>eHF93wm$!unvK=#qi!=#KBfq#O6vhdi^S*g>$n z&TfPpM&d13(w7H{kp^zt^-KsYCC6eP(%|6R*C#eMaJ8Or@PPutU{-}x17k@?cLrZ% zRMc553$5-#Bb%M^xyMxYXYz%MR^Y6zEk5m@l-?JuWb;)t9AWIjlQ<_juS+Rx54nhRap4 z8f#DZsy+9~X*~+=LgEpZ zOoFNFSiDJS$2%c7r~-+Va<37nTzc%iF{Us-6vHUISkGjv1#@`i4yGt|Jamr361&*~}J!S_KQW zsylEWQh)~`#|j{Wu-FQ(O>5Oyx0@RdYyHtg3em1BzW>;xKCjt~*;tX~y=TtO^^H>3 z?2Vj1x;l?-j`od*$zE=B(AL$@Y-Hbx7N}XmK-c5>oOgG^vP;uT2SjO9-V^-O`nkij0qGle_vkBiY->$7!7J2aP zu=jiFZCLm1FsWQwnG-X~LX$%z+ROCJH*SIY>Od$Oq}UMbTX79Z5;~t7L-Fc9J|&K% zl}CNMbEFP(Pn9vY8a|zgmLK$Ac`r3NQS0KI86~-OSpJ=Bw*u>VH%{fZK5_)L+?a&(Z*TF*#`1V z8rN_m>%CfASGX;r&D*`;eFJIjqZO`6GMlCm4Z$qN^U^N!&3L42wccR)LT4>%BXY#U zGu93>pA{?YS+`KT{xQ2MO@Y4W=?i=7kDtUuQ6HUEf12=}KKOua)qQqNx^nCQUsTF**`^V?K$pv$)WiDz8ii)?No=M;n`k{_0DL zLGZ$!{)mPvc{=`odEZ!oCgr592Qx#!in~HlqRh*4uICl)+ux;-I;0iBvB6NM6;m@) z(;2eZXt18i?8+I!P)XZc_3*2(KE;W=Vpp#L;0k(dm*7S-cLOdM_j6a_rhFigxCXku!C(deQF? zc_}Tdet0)Ukpl;l_MB;h8~35@umyeiJ>S2)#zD2}>+7M;8&BLG1FOq>^;^L)fy2*l zGM@4R%E}Wf?OC_&gK|q87w5e?ly<}Rx=racgU^OEJsb2cgY<^0k=OG2Y8+;v$El+( zy+dZ};=;CB3%q4~*>dCM1>DH^=&p}0*!G?B*&D05IKs^%A)%K=&z{U`PkD0|i#1I0 zD&|>mZ(uI7#%aQh-CwCm+WMN;NOLdL2pB=FetaoXQdY&id~;jGWyn%`cZkm#Ul_ur z%AQqPDnifZ6AMoE&WI^_^bA28m2**`&Wx5f^Kc>Nr#z$l4YFQc0tUSV__6Hl?7N2; z*p7zPVoh^aNXMM(GotT?gR?7~mk&%6+bY14tt&~0d&yvFPOqLcZWtruOz4GyC0FHO z)&V1{#@ zpZRcm0(ADNz1QuwII*4#CZqdkJg7h@IqEETz2SMIdAl3@*&zn)>2|iyCZpo^xoh)- zXdpy*yyx=;*!t-1OD@%#f3_>f8nK5tZ2GRMqI|xudrVnQmbpaE!I!?65 zvAGTvq^ADJE{hV-%jp3{kEOl6)(HHHS)PdHJ(Q?@mz1^F(s#e`bOzaNaj7ZsP-73P zYU*NuY)`)hg1yjvet_IO62s`abMkZAXKf>>tG0tfkw5(0;!s)1+Wc_VXL)&CAsZ0& zhh;IRkw-M{JKTx8<-GTQ((RDOFVil2iCxrKlc{c;FrFcF(LA^lDyS| z&I%WiDfngUQXw#=QhjW$Nv`uq5h$mb*+v-L|Y1;QHBMu(6|b=!_kL(HYKc&CKtF9YWx5A7Ti={^Zo(dr|7~`j{~-Blj`wj4YkqL)h?Zi3fbP?%Wqt*0?^op_a}u&2+#4hCojJe$+<|~D3{5p`c}+(1-7deyA#4`Mc6D7 z8*0>ws13^}JixsvZEp_tNQ`1X%)=)B4`E+qY~7%Wq#&&~~Qxm`-q~i7whWl-{opv0G$UJ1Hn*4?a2<(ZV&9sIWa1Oz(NNzeSxJOy71ZwTpr^qO z+2@6Q9_;RkjEv%uu1zHl0qB9ltiwR2R%hNuxWTeF`=Ne`dF}D@;@SmHr@W46bcmtK zEri4I zFd&iwWJm)uJu6fjfP(I^&+;0LQv&y|09{VG{UZRZm0)jlD79adp@I8~5y$ALt41kF zqh7U?qyfe7QkVIFfigb$C4Yuc&$^E3p6?&`iEJgfkF9@i2O)PM#ts(?>VV4;+iEuW zLVU{Y02)*RfL+w20W(msD5q`d)L*Pqy|yLW6)!<5Lyh{JVPYaisNa|^9Nh+Z$jGJt zz?erg`hJ0s=uF*d$6+MR@ytX6D;RdeD-~F)ff5UJU!f6tbZ1JPvJw=yz9N(sVAJKP zTxyOxM5{GXWR>Z<&9Gy%@6cM_a@|i6hv5JvLTWQWE>}f>+KrjNB3H)4w#vTH3Gq;1 zqqFEa?0cOAYm&*VGTlb5BZWN&>ECh|+%MCYEGa=!vNtYVOzOxw`Ptu!Vqi~H#QPxF z!xV?BU2sXePtXgML@`R2x?OJ>9Falw-r^M!(m3z}Qw9zVnjfxE2b!puUvR@yJyBeP zVS5tovGhg}xoD3{d;WZX?Zyh9lB#Nm#BO?`G$(9PP%pPdu(i*ea4BYtA>peP!qFxgx_>GHi+32E@$1d%?&@5!4Ff(hx-jfH) z8qv??5$Q<#y{C?FRQ!G4oe&(_r;ZvJ5W*u&jOC~rI{Tg z6MGE8q&$)+?5gS(hk<*_=GNotSF zWtYahn5J%Ud+19n#qfvUIN%03#v7SRE_MBwLMD2v*Cd4OCT`uG>m!p&?_P-e%pM?}|YTCkJf zb%@1hfwT!K9WwzavHAA;LiNT|(r2S!&e=XmRF3@;zP0I1neOXQLUVr}y9%Q;GO82G#74Crj@e0s zrg865-zgmDD6~jS$_(Ie*Iw*MNDB@QUfKpVZ@GNvYJG;C*|6B_?wW4fJsme@7uBUe zZJn$(4E72j&wM_C+Bh8Jk&K=!i`t z)_K0FF-8ww-XoW`ywV~_4CE_3u^az~R(tZ8Mnw5Sbs`{Ix2n~p)vfc^<_*|sx67;Z ztW^j;pGxCS1~VWKwI{4M9^(?9-gZ<1-;vXL|76y>w!*8RaCgKEFuMc}-+hpm^0bu7 zzb)C0Mj3(x%ZGd&4UL>Z9TDaZnf1!S%U}#(P_N26KMtxwEKe0Xk;*Ll&n1XDh>U@^ zem7s6e`!!PL#kt*_f{ZnT?XV1Sdk9bi$Sc-v_*r}42Gbx+t`O_gd`5#O!KGvyEghr zFpcVZ5<)g$lhV#F?sojiG2VQEVYqv}c+&a7Uf%}0wNx{xTlQV11YuYM^WSdm!%u<^ zzuzvnd>|5or}1raorQD5#gnB7@YMydh@#ATSdmu5+H5(}`nMX3(`djCI%==d*d&kY zw1;#*3BT6t>DDBRZ9K=!XPFKY}P#aUt0$ORU{zPaa1bUo(wIw zYjeVYr5kFNeMJ-xl7Jr8bjJ?94f%u`NbYeX%_b9dCqL{k(`s zOEN|oN$Va>7FvoHZ*Ct+E4LMXo0#~MNsND8ZpU{I=1>)Xs#_UwC*DgSW4GNOT}>z^ zy$x?oLjN8=@RNSu9IKa^YbDf02`NG}5+FHDGOi^%E*7iqpH+EC^E%v3$}Tbe<&)!74ja z==ZF;X?(fT=oAFP{e0h{z}5cD#}XN#@z;r9Jbd+w`v^D|5->lxJpZrA0-{kV%xw7` z#O14lo(s5%k`CN=4HFUa_Azn=N+zYaxH#K=k>5CV&u4|_9JDAt5^hvbVcr_7M~a!w zvI3B?xkIpXhe0~u!6H7VC?ad-BUa`jpe(=|6j|ww*A1!?%9k3|JJBdq1=uY9)3ogB z*EGubJ_e=m%y>^@w~jM;y12!lJ;@qN9)N)FB@C@x#2#nk?Ft}PWS5rC%>d}?Yf@~n ze$)2bd)4yRH`w&Gg6JA!s>dG4P`N42!*=*h8aUkQHpt7{o%!FGB|jWP6#E^#Drpg2 z=S>zR^cJPDdvDwXRrsnL-ZdIn%J5>@CJ{|u+Cd%dV3S>Qw!L4gsrj9I;q1Z)t$)4t z3srEdS*uv7hqqcOVcX*zQ18_%!%v38RzFf0kR;oRJTnDm(rEb8-nRr=mEGi)Kh zMp+J5qj6XiQ$`jy-r)t9pW($NuEe}HcfTb~2ma5>AMH0^9XW!8GeeRaRsbVP4Udc! zajArsPcK^iugeg62HA@&mLJ$Rw?=jJbpd1Kb8m;Ts-dJ5=+D5Kix^ou)@Jbj9;*yR zoE9$woKDyp#VCCaIF8FhtA|OV6)Wswp=N>IJ>4QMt(K~ZA{y#4lcGNAUn%4>&fQ9H<4h{}(KGE$7KMGO6 zX=-#}T<3H3~4u*hPM?MQ{3ZLcCIT1(9WbadhhogG}tZ zEhea*(%ss0%tFoWaW#&#C>9ow?4tAw+Vxn(-KZZP(yB@qfno0paQ z7SC(BetAds_FJqs0+pT^`8^PvuAycwd^9m@gd5od0=K`YV_#5CyQ}mohTwjcJV&W7Clb+m)6jEp8eE#a!9E!XyOH!SYi9bD1HRk zBKcy$)`MCf)TsA4=tikW&io%N4y>+6|310#NKnxzQ(N56Gsp6&1~RgZepgN zaS8`G=EITMhz>F0=a4w(Wr+wd>V&_1@A)&J*5qLR?X5MB*-Z=b1S+vx5Va)=_-f- z+Y;p5R(sPNv>lGbT!cXGaZ4%GnW8EB83`wdWA3*bsBJP6N?c&19A4iuv{%1HF8^&EgZY+5g40Yz%GfHy=I7s~C&kAYr zgAI45fL&?h-8Wek!xmaR*EN=hou00fASO)xEV#ml#d`1GDYE_Am4oNP zPwnd;UuyB+qD-s4mR}t#uFm)9Rf}0?xLj<8oV`1Jm*P{%$D}BX9c`74T@HRTwfs9r zFmuu%8T{^>V!!=OslCr`?UMtR6m^z0Jspyz6O>v zIc0fg`NRYf+#T`J9b*w$P24@>5wrBpfI0j})YY(ffSyJ7_Q{iDv63dar+z%z%XSRn zU(h0dd7y0f<&B}z_${D7zuSY(R2sggyAt%!vU@}5oG`E6wBXs9?fSi?uW&(?7_}5_oRu_5!snO|o@0&E_Q=rG5iPTR{5ZVv z_6zB~9phx{X{zfPCgNMVpyTXq$DKJL%r5OyM&aoX-5GAsHQAN$T$EB#vv~W%B*A&_ z9}TKi*aJ}h;lqk|Uv_h4@Y-tT=2}}LGm7;^MFpy)+1+dF;sx*0$aDdl7?|DjNBM>QlRTV6oTiN*^U?_^JJ=**VB^6pW?Z z2Z^+clfi*>&U8S6beGKFyvVCtrPemY(=6<{Z#S;I2=MPj(%npZKM@$H)Ldq2T-}h# zxgUBQLT6B<@i097?eiH3_mQh%cy73Nnvzlra@p}sL$FF;aOta~Nb$XF^uGs&?$qgD z^#l*TExFY~W0CrsFX{siAM5&d(&1>4!9KQQmKjA&1^Z&MBB4+{6RlJGK%XG}`DZ0A zeVz!W)3WtW3si2=xu=~Q)5B#2l-e)!f1TMw>kO@3yV@%zV!b#ws-s`PP3m&4J1I>TG};KZ4=DZ;_h%O|9cHUDDwQd-h>Xm zx^(M<1`L?!#;@jO`=O^g3!RvbMIy8_aX}V5U)sa$_dq^2Jz@@YRk-rSu4hyEKrRwD z>%S>%R2)2!CSZI&Yk4QP(Dx(R$~5VLjQAjx#3ro?Vqn@v7&8ckoV@5njXJG z^7wb@M)mm4o!xD#;oXj;zPf#f_OUezQan_++l{o{%|fDD6S(+{K0zSQRPI>5JoV_J z^Tp{J-aKoX9{y_kFZ?t>KmXeKr~^lrxJRGnU@JTkR|X&a`n9P39lriYqwhA0J1Drs$qQ*blunF`i_VgjA;S|SQFU$Axddy_ zL%zjN^0jr#wzOwS^7_8#GS`=_OE>&k&>dMjELmq3gS&f=qydFzz9#9ixS+eICv+Hd z=pT9r3id={MiZ7HaOSj4>(>d|fc|PXpYP@R_g6XzT$#X`=qMZ0)RIOg1~!RQgfvyM zYIwmeL^k$K&Jby|2alz^=1R|8b3=XZ3SM=VCN*;JWBZKu@Kj;pcG7{5CP(ryeVqv~ zlzU$^IPZuVhB{uoT_zBH@e*_as*6CNZ!fZ2i89DNaeDsk^qGauSts}3T?ZaU_X^FB zgZAOI(*^9k3odaNZ{79~Sv0gO^x2FX1<>hkc)o64U%p{V{V^u%xfuu_9oz94{jO{KY}&@oWE> zcf_Xz=Z}Mj9Kh`Q_6<9m1emO|i(jc2% zPn#r8*r4k?!Fdjh=Vcgas&%1Mi_!P{sdJAahRt;zI=CmN{X2+2j{n>`^m{~kRP8DZ zkz_|MaZeF@{D?O%KVJmri|5a03>Z+Vm$WpY3Bop0bl#iClJH?ZYfdmt^FD`!mNwj% zBaHeXgSGZaK06q0PFR>1iB(BGE_W`1yUdDsV=}QrOWrI4YzDa+m$X}olLB15szHU- zqTe&#t5@Gz#VXx>iKjotM2IRA^Peqt^^5BHPN!Nz`)?% z($bu2V)>wm`D*s@3gq^eBRk&}!(id;+n=V(OqWxmkZ~2Zc#cGha)1-sqGFIdJu1CW zF)r;X03W4}tQ+ueH3_0{=0m9mNaRRC?;?Xn=i1=>t89{y+@H^-;*C8NP+p(XDl6}U zL!5is#0t7*-dvK5Cw7poo!%H9r~~H~SCu~=O##9HdvWAeS3~6$<#_~d=vrxISuQ_4 z5G&$v3)?$_IXHf`P}UM-YU{GxuKzg9I;DDQQ+j>MAmWEQX1ks z#wOtdt?1lBT?O4JP=UR=HpNe=KTQDx2V>AWPX4)P}?H)>SP!+|hYzV56pH z;It$S$_YgrKBM+do|nKPmLto{ynKRqFuTbg6c=oSr*;;Uh19a9T4Vdo_Gn!jA#TSs zAv&H%je|voF11+c-KW&$DT9KjNkm=#w6TYt;`QsR;LN%FPEc=n9-0qQ-baApj&cC= ze~nE%`%)u#8?h^SxyC{rwfdtdHPi@lPqU(OtJp5*w||oFp}AWl6GOY#ZBe)GLQOw|Vw}oHxz* z*0co?@VvYNeI2MBR(GjHcC-1rFsmG&Z4x58sHmu=$a8JJr$n%>mteMN1B%k5sS^>o zIXTP9ylQUS?iI8kw!E3#Xv* zgJhSv0bHirtUj1}gsN!c?tZ5#O1(Y1y-tmDK|_PW4#id7IksiAALA4%W;-}Ad!th( zs2;#)S(M@*cYAvuE%c$aYw0z+7roSt-LUUaIc6hY-=1_-Py~|I;!+LASx4fDIvNf| z1lDt>&z>7t_$Ixz-eOll3?)}s&(a4)zI*)-W_ZN9bug|1n1utdHbKg05mmRquucUK zf!3Cfdz*T)$lF1JM6Zz-0wrMBgwhnPs6$n;ZxRbDzcEWBsOiz&J`<@!Gr>3P2J)YN zx&=xtEC<_-s>xGj33g84x1&dnbQx9Hc81pno#tT5iXG5r>ySywO7b)o6%}=?B9z)J z%Gg$#8Hr(o+WHFhhRyc$PuUKV1G1>8UHClJ^f&&GZ_eWV<^Cn4ggLrt3c9)aNj(W(`r7%#<_=}qr@U~OCVZVud#$2jomd8fF}UA z>3mf`w$ThwJSv_fk{2JG1PC z85Xc`E-lp7z8h{R01r5zayCeQcMZ*8-4{H|W@k?-x8+a5u5NZ%H>Jw+BNPW7>x-CvIIw*X&O=D2yizOjCGOO{f^$+I;9!!os>7k9poq7Zw|#e}D#QIi*dbJ8Vl zjl1oPwN;FEJ#Xqco%AmMTG~wxaHxzy--~bavC>YNvL#lZO6 zD0q0p?W~*GAvn1&TM;Ijppg-237GZLfkhfT6J>f8%q~%EFnFxNGXZ;jlN9qkj5zP% zf-wr)-V%EYb(s@wjLr`ma;k`pjV*QPF$c3LC%f_v!1HPPu00|A-+!#~#9`s|W<>`HBY% zLux_MV5=^$+0I2+> zi%NUPf^DNXVK3zCeVW$m<`}uj#8KH4<}9sIj}04uz~*o+9v(H`v`G*<09B2Xfxn1$ zMB@Do2G}f0`d4GreNr<#@0<56t5vXOldipUMi%Df<{4BQU;ffaWaOyD>MU!(DbUf$ z+@7W$iSTsMJl%4hua!~5cK88SxNnl5)Qm%b@N1r#Zzoy1+hS{DphB>yKF@E28^a#arTBi z3zcAa-vZm3?y`fnRfd0436MX8$44kZ?C zbIy`Xf|C_qiDDKmStb^0>hPDtg(jp-v0&N=nK)h|zzNI`HQ4gY&w! zwxC!p6*{B~Pq+`ZA<;I}Or=mpyafj%T*p#o*{}+W_R9G#F*@JV1KHCXh)8`IL4n8J@URX z!#5Q}f$k1%lKAyTJuD(dytde2*8B43z;c;?Ah0_(wUHq;h)zfEhsprH14UL2e`NB= zdHv8r_c1|iDyn8PiUuBHdU`}Ji0YU$hIVZ@j6<*H6Iy`iYaaMfSMgc6Z{M<|x8g7i z^ZgaHT9XSdm?!}|?ENg^k8Wt9G8amQaT{4{B>cs)+`z=$@ES3wK0M-iO6@k9b4HmZZ?lESL^?WAeEVXeKPXJU2F znf#QLA{?HhnshvbLrl&7@ldvwghi>@)^XdeOr^c*d&ihfb_ zcPPvf)_aIHp6J<%xnZgQA@do@|JnKw7HNH8)4{q8aExwlZef%#w0e-_)ShU|v%n0j z_504wC->P(@I7EZEb(}gZE5l z&*dH&*Fvrt7OM30M$JpErhr&yZ5u?XWnPI{Gwx+Q?G`edM}{k{&B7|W5&=d~RZq&Co$V#Cq}0S zZEkuu&)b6t#AmexF$2cBdUu4uroQ{KQTy`rvi?=LWWqaw(R!$BNk?|meAm<2i1c-+ z?|F~)yID@aX(0vHYdCp$gfvo8LXGDK5nQV8I#)LDn@0h!Ssm}RG@OTG=L+Q*6|CAu z7ILR&mV1r3et)3MUA90VZZGGI>&tLRc~vSpd0yn?yu(qO=|m$6>AwywT%)_47bWIu z;IT{5uL3U5>02ais`1gL+CF40Ip9ItLYT#$Tt^H%Q*?n0_m4F10Ce1k|*tHBh zljU8~A|Cky0;C}D{oXba)g8j}C_!5-bm7~3*l3O;eLDhB=`pku8yi~&PXrgtdclq~ot5;aW18p^TGt-t z05zDhVDIPyA*ze#LKzLLhQ!@)tzNW|^sF*O`os_g`J(u3bvjEN`-|Dz82+FfG?D+r zQ&CSu(*MdVKELAc{N-eQA3OkD%%q@~@$Tm5-6#;>03xN1JmXqsK6w-{BY^H_&j1>a zt2S(wPRcU!TqArK`^;a@rJgW}GFPnqYvY&$J?Bz!88U>j7NPWN@gik#{ZNS^!reFh7DpPl`YN z$cXY$3J5!oYc^|HRp+S78YFGI*MN#O{-lb>gM~Q}+%~4ohxH2j1e`Whv;vA9MI0Un zHl&N#TkKTFk-sD*hI8(a7dyb5xo2ZC-P2Js@U%U*9E4R~euzF=@gwbVe%;LRx@m5GkNcFoUH0ZT8h`jhoG?w$_%O#(t zi4LcokCOIy)b4~uczWAlIq^q^R{_GcgqBmE$-V+cgcs{5&#j&WHZ==a&FJvf1;n91ChD&A_n2(cN<_J)+ky%ioAo#fgf7U@<)rH9Hx#d`W?G%d8N~3Gf_R zomz({JzEAAU4`nwb(dN-viCA`$@-+;A9QtX=-!84d8`_Xl`pR-E7P)BquW%P83FPd zsIkS|upb zPW|ynkKYy%73u&LwP~O;Gc{|PcOim0qVmbh8#c610sF*njm;8U(kSOKTZXb63{416 z2Oh<8I#D_yv|@0cLRyT)JOFcz@yB@N2@Z7eilb4bGi-DlJ8Dwd&D6hdx#Erc>+0^7Q6SR8~jpu_MrKh)b9h#OQ!vK+3jwy6cyp7o2 zwh*;zeOLElEdqoHTOy-~MjK{-ne7yYHMiXy#?0)IdE5^PtKz}JvnQDSQ)r2owz!_n zmQ{dD0Oyt^<2KDEJ>rV`sSRg*M!XQjvvOf zXmvqx$~yr?gR3-BUE(}gBV2I5T)Se_BWTXWGi#hiNYl85=NoR=R(dV~NJ(&-<4dnY z*!!J+-0!*dADM)LeNq0Ekf8+#P$|^3(Y~VAtF@l1*^cdrT4rV$H16f(Nx+tf10om) zEQqLCce+p0iE(GbR+x{$;^Y2Y??cCFQ$JJX@)zzIfB9ob;y~Q#Q>Rh^bb@I*J8NSG zUxmEtV!&=?8;@?3AFuVi13)WaooL<}s6gpLW}L`H2^hMpr_JQr%Jg#K{pve__8aLh zmItd003#OJI6nKt>yGK$Zj1J4;nu=*af>)|O3HER?apU38nJ!Y6FD^`0Ww1^)@4@& zZm9MAYoBQU@g8Vfv%~7LFerWp2)XRxqwFP($E0w{(4GzBFfyx_J-V5TiNo0 z>0`{x&I%eP&r7=U2um773o>Q*O@8TcZoGEtFV1T?A`wH+V-TF-*mRzvGO@- zZ{0r{O$Yb4iZxHZ{p$s)W7YdRhr-NkR^EkTjOorSvP)++`YbEMx)m2OaGFQ;Wu!-B zT3M4u(pF-++mxqQs~H&}t7ki&Q z3!;0i%)GS6tyjxJvGGt|ko%?6kovtU9x#yKG=9$kI?dw&U`7vFh`9gwBB#hw9-1hX z<*!hoE0}osQs+Ymoy~u~ccS$-(uO?k^f&0^k&#hT6uyoGoH|IpIaV149%g`p8Zh&= zcZEo?;VTx-&dF)V4dgSyKM#$L=G1}1EA;J{{Q(zn z@G9%?oBgND5a-W1Ltc?aIo$(hPG)7DL+lX$*xX#+VYl%Ru+^e%AHP9)J`R73NuZa5 zx)k6S_$%QK261NDz~$E!XKv|)C^vRYSWWdV2Rd~-?1T8HZfv;m-+wRX|IiuQevJ;) z$UgMd{NtGE=>Ozj<+y8PlGfOybHpv)c5{Uu0lk%ztsW1RtiJky#*<@Q<{_8=2%Y)d z9~JObGfjk|2Pg;mV?}imu-(TY%yVEp3|}7Z|JZxas3yB6Y&7zjqDzd)G6HoaopXPu(@78dU3%&ihFSWLMYB zEGv%NcNxxNGv`Rr@tR9hyj$1&{HgW_rz5)0KW#*(l6e4(+CP918o*1WqM01UT(wo6{l{K z!r=Pv|KslbZwv;A+6?vo1(GB3;mRQw4(AzS_wB=j>yb!&@!Pj&xpa$f-4FgdUJ`%{ z`7V)@^)gYkc-Sr}M(E}tljB&iS?d+i)Xumny z$7^drGgw@E%}R6+mHwX_&^+yhfx`F>i@Th zvW08=DZ3p$rQ>$Q-3;EG&H|ZH&^aXA=u$f&(?lq_X>c_*$I{CcP zb(VvjT_M`7g~9X7(;oviB#CR99QFRZxahkhV~$2UThEWU>0V?$9PWd9o{OUadyCOY zRlFo^dcS2yif$m!g;-hCoq2mg&bpoi1f3gi4`)`t!a>`|$LDW}9CFd-2=0SGf+tuY z_vti|s`!_eC8_7ANwU1WPMSSHa5@9_rd$I@+8kZ~kN-V-6DTj)e?Iho-~QhW{NFkG zs|ZKG?S_*QWAN59a8jdHAH0pj5S6PD@E{5h)U=>R8JW>83L5V2;RM2hAP5tq0qyAV zQ$LJGOE^^HVKtyIf)FmB+OqTx)&A)Hqi=o|K}xnRK9SU1O^WVdqIrJl1myldzjl-j z?{f459E5Y$AnkmplD3XkW>9m^rP;o|nX;;THzlFW(N_cZD%i0riKEtd$1i0E6Tn^_1tRRR~YhuAMW;!&zRH>>g=cHuoakEobtCzXQ%9= z^VyHqe$%FsueM@iQ_7y)l-{bGT2M6ii!wClQKDj~5d0sG!HWmiz@D~lI3Y=IQ7R>4 zU~DK8JZVrSKQ`>C?H*pfD4F|Gu2{ekie1tPM6l*WL^VweoZ&ut!1eD*fE3T!gdFxr z>)Umm-BpxS<}ex#`*%Kiv}Q>-ARU{ly^tN4*Npu2&qSKFEiMK8h#qy&#PI7eM^l)W=uV$K zrw#yXZM~rHQ$0*+?2Yg?4q7tiWq!30j7cE3bS_c_ z-6jNmeUez!=#dH(&8-$?U}0{1ce9bltVnNa!;3}1s89_o{!Q7_Z5>s)7z$B<8fgF> zAQ0%pMqthgiTl5|U~U3yS^GN(Pfiw5b*k$@M}sk;=2h-p?@9*j;KS?wKOYTrGGDe7 z3wkR*eUDhz4Il2#;0*GB>uC>t8<9XseSW>|HvVzuuEM?-e8^JK@v6>-YLs^E!b9;p zIk?oE{#$#ov^RCh0`8rI{E8gXi%;`4M+i9#W`oL7qcc@w_vaPUGN&=+4!}KMK_Mug zR&3d%1H+<(zgnRMvc~S*s8;N3r~Z1;-V!eBoawaFt1mpixB7T5N(&`xch24JNQD=G zjxuedQ_v?0sOquuL;w}Iaj?P2fBXR3!BWOuPKL5pz{)nllZ3qe{)QdTZt$+}D+vEP z7L#`?iHBC&Ap=cC3-$GFO3WTppAm;@Ts6ajCFJF^h`>dvD zC!gnX@!l;Dgw%KA`=MaCC(?t$0mC!Sct#Y`6CGgB7N-0+tovCS80ZH?dDnyl2r$ErUYN+ z4ZLG#N8q{}T$Iv7!2!{L1h|E{f^IgQ3qPKh)>?vkKlU!tv+@{Z04&yvLxDQWcEem1 zRrX~IfQ1OqUCH;aT`k*e%1+;SqJM6sX!mQ2BxbljKe`FGIpCT-O}X1UZUiO|4ap)c zU2}mXlREKPKt)?ff!nBfF1uYwyYfV8uBoJ^PhNdybWklNZ1CdY;+f{qWUJW1K}Nhe zkTa=G<-Plj>^y|WEv2=i7o1cx>ac=)oAt@jv z+ppzzv(NS2wpvcPQz!DI<(s9zpMv zAlsjw>zv5mYHEJ8uOsmXp1Zq!WQ~jbWr%Ox{MRt(jdjTj5R+dVRT>$>!i#`V zHfmGZ^t31XwX0ii8%wcX{xQV?eh|2=7x^x0gz=;CF1-S9?}^ee36FdC|1$w+PTdYr z1G~Hbv94@e#zs(`|Nh>$oF(0W+Bc}JHhtV}3 z?R>fRDG%iSIK4;;iof#O&>cpwgXi*SKnV!hj>+T2gPvIRucNTm_-LV1wGI_>g>^M5 z*Dq6o-EaS1CUc~vXYNc+lK3@=K<8hc7ttHkZ5W=Z1!tn4#cQCDC}cm*42XCZql*=o{#Sjx;FiL`C0C4A>oIFa4`Hg@D&;{Sa_K(D z(G8#NlVYXsmXexck1cu@PC@Y%{#`!ZyegV(d0hTtRG~M+F9=UZMk8jJSo6}v95X1u z{U}Jo4-9ztKcOP0UP4|$*8oWr^} z;;VDWLUaKeeEJIwGjhMYg|IA$gZ)SI6W)pp;^+>nrf4OISFS$$o8j-1;HvL(mNpk9 z0$Vfny1EG$wU*(l22_a_%N0@dth&T)`<29;2rZrU=6~khPC=}UofRqp#mS-Mo+!If zNsb!4iSJ|JDCI&}f96if(4E2ply-k`3gi|k2>(^rK&1OqEWYtJRzPq4r%W<>q(Q&h ztU{h#i2d$oEyV=XN))c|b~-MzBkq7zHi?$ffurZ9%#iYHom(`x9lh4!H^*~y_I!s| znbX-9xk{`&QQFsy2PTg}UUuzV*x|T+$Dzcp^Q$%R^%w6m9q5wIby<>|Vmo-; z%I>ztvbRpg(E0}%Tqg!@F71g&taYvtXHkTaaQSEQw-Wf-quaFJN5e5@`kkBK(l(a7 zES4oowvfIDp$j#x{Uu{GzAXxuitPsDFlH>Aq0#bDPdksDynjX1?Zl|z#t5TH>*-|j zT-oRKd+wJa-O>mFgx+x1$0DN}qQ)CD*}crNY48w_2}Taqk)nrvPW8R0^R?>_kqA-V zyl}zVuj`AE#~`dGvtuV#yJ(MDh4pj@8!%{Oe%IE9T8$E>eSF)?ofnXuZu82pNWy}R zv?2)s{O98NKek+dYubPQwJOZ_%qK=Khg(es)(#^!GTHdm^LaB_g>AW0X%*iz#h~m< z^47Ze=Byo5QHxHV0{rDffjTP_yt6x@+D_dEJ*sa1)#i!C6;t5%dOJ5GH)Am!whn#2 zarEIDQPy=Hv)?t^6@`R?QgP@mb@#dtD&uoeG*Zq;$BOb zC|BNiZ<56%+bmzMY+vY4lr2ng*)Rz$bmBAzTPsrRq_kanoWgo0POV)H{&+K+BQkF0 zG`?R8elZHPa7jkb}nxy zLEBtQ5o_A}j>+OT**EWTtIt~k2C=(q8e6$N^XiCRLpI@-G&^3g(KWB=@>&LBFlEtE zm<{*_20R}ITD~DEE4QcLtiHKU>2nU~JU*VDKjViM1)o7|+Je*6 zAm=vO3CLHDAk_1tKQsx-JW?8ywh@hGTiw^Gpo)G+DG6Dqnfx+LuhI}8nebkLPLBriSkDKeZjXNBF)h)rz>G6>G z_b;jql@LfnNQ)_p?Vz3N3F*e0S?qNbY~o7&6Gge1JyvI}N#FKD`bc%^WAlO)($ism zt8J_C3HLaOJEc#~Q$P%!6K4C`5>{X#ei`o#9BySjn#N1t5 zdiuLso^eej^zT`*dp~nc%{XQxjzM1ZiFihI61c6sM37^(&z+9Ld%jp18IIPlEa0`_ zXf)>RP4Xkb?mLmjcveLdN9fs+(SFqKd!3n`Nq;N`AlCzZJTS|H-Oli^-258N+Em@T zfhw%80FRE?b9T7$?L_%k??^cB4UwyV`1+7nHoC9zCpywb_%6w#BXm20`N8-L1oGFC zDMMQn`!8RYEC3sUA7-vv+e&3GrL9mTgz@SXf6(r+x|Q{J#cp_i^lWcv$>PXd{S3vC zelY@inowR(3l#$7+29TGNK{!i%FKWHd1IS}+(UV->$QOC`twzBu#c-e{P}XzVclOxUW18|H|jf7az*3e z%Tw+*&RDTTjZhh|Kg&+4%iRAv++!>Gu^U-S>WBz(#3shgqA$13L|{Te#&~rfXX3)Z zK0|FN)iPj6mNw$@rUdFBg#6Yc#Ii}RRh=*0S^rMC_QvF1bXlN3Cd%#>lN419Of$Pj zW=){@Y4CZj@KuVH;^r_>+$dRE#KlUE?HF#}%4R~dnDO1-c;JDxH4U@zoN+eG&zUC` zB}XOveTa*fLHd4N1_4`w8NG=}>6WY7ipK~G_1W&=UTZRvl=J07Uc zxLlB_Y}9R1_23}x%e7Sq*=}PuXmzoVg^X&WWZO9~;L$JA@J#w>Qxx6c;_BGG7I*_< zGUP&!=nytUg5%0%5Ieuw7HXFl$|}Zs{XIv~{oX1!SyMjx)xL*~k7O34r8zHvK6+&q zuaoFzf?_WonduFkBg=Yr?nAWC8m>T6Zh4EkY??mYE54!yt!VuKeP`vCLh~A6kQz`1 z2FR_L+D8jFFh!QRxG*dJ6vu4$2u(w|@ZF2avFYM+d<_+anGvOxV*?pCirJ|)s8NI=J_981!)sV!@uj2Du?Gyp289;bjV+K}=hApox6lKGC&p#$~cU zoOkGhLpD`;=Y{_W`l}$t5fsV}uV?SPp+lpN>yBp_B%DWjS}}=_y%nNqC!k84eu;d_ zJTAq|XrE0=?fv=i`|V2UAD|AfLYu%f49?LJ{`-^Z8ym?PuDh@r7(_ScoUqSbq4Yd)ar>HT?R&ITZC2kN zW2=|ZFSczu3xPuPtdX`wy9bT!iSa;pxVHKFYWghg{EUyW5?=%00=!~_E6+Xmb7!|cY3ckfnO?P1fc)Royp0reIFY9^ z%Z?8(6X2S%h+}Rq44Cr^6O~U9?)e$R1APopmp$8KpK#zR6Ecx#OC#vhSxNTqS2PU` z^kOT24-{qM2%6!wZ9F6AA^#LNU6@_?vA3*s>k7N*=F*wrjqT;MUMoq)hs8>!`S>y7 zn~lbFiHsk11yf$q{;85%-$xZco8J5j+uUY6S`_QObvPI4+}3M|u(*I#v2@DDR`!9I7xy1hxIwrl5Sy*<1zWnvzghEm(}h3+|3$SE(@R9rlx|NSyS z{C{QQCdnkKqcFTjPi%Q2CvohO3r}<$Oi$+czFFrYAtBC>i(=gLh?G1^TF%j`I*f97iAIg6G*T-m!6S@ZlDDqI)e!oB~oEq8qf zYRt)z|AH8N43dNB_wLx;y>?xLHI+kDD2aP+{+bcqv@Spq#Lt6}LM4hH-f137gM|nC zM8<`=;PU9nh{-uZ9&{l}Z9LoS4%NelB*kA1eRagMPH@2R?tYLXT>e;nOTl^IwB*g( zxL)M?o2uhnmsDP{Q^ChpGi2lLz6*??Yhz=Y(dkgqWuO;3=*kqb*mw;!w#{P)Ptwk% zcLT;L%y-z)VC&EqM1+Th5hAE*4hg+Ax>@kJ4|6=?j$__3=DLEly+{)7CaobpxhQJmuxSIuo+vwAgwFbP#>`>3D*+`|;;M!G1h3x4~&^paM$T*u|5 z_vHl&=*nA!!AjwBvMmM*)0MzYpm^EafSXm4L6G}zW>jgbNA-7IKX_SO85P}9n)eV0mHlw6TKlJ530rz@%W(s&|8Kqi2cev-Of;)&C$Ra=3E#SwyPU z0IunR+qhwc%_7=dk(I)QRWu4TM+Iix*=xBzqU1P-7~OL(2GOlV;FC%$TG10UpteDC zOz%M>q$x>g0R6o`G5`t3v9-aZMat zgB+o5tfy}6?ukIYX3tX?bG!uk_-W(vML^Xy^;sLuAHw=q?4CKzy_?dI@x*?(NPpPl zC)8f0%%N`Dhs&@JeQHf#prQcUGneh}KC@RF6jXBPby`$Q7Z$h5t;ZV>97Yp@mB~&1{d9b3R98Tt*q^XYx!s_AicpHE}D1M#*E;>Y(nU=N_OtvYTDmtGS zdzkhcA3PINb4NLv+^>}?vh7_dzeM~Uj9h=XNC&p8p_WGc5dHajtfpZXRSb_t!1I!n zZ+7w#biD(9?a|u8BTm9UNlF3ttV46Qa? zk~qN85tbG&*p2u2?Z+r6KKbRJ*J~&tHd-cASVv3)w<{QSs5BbD7$eYaA&>b;c62hF zWJf}#S`jo-&D1g}kgby1lo5F+y3T)Jd>o=YRR8_m*ntxgY^<(*tzMh`a_zhi=$7mgIIL<|;hcKCdf5Z)7gR2wFrgsf z0Ve0wkMMw;xA3cW+7<*h1p^McP}POiXn1MOz+CQ+*}|X?4@k%1?bEkYa3vT?1wQw%RE3J&wiLe z?X{HC>@(`pCD0?+tM^V27CBHZJO zRcGiWoIl~)&L74HZn)lIBr-ivyQ^j$3moDFNufk#D|Oq@rRoh?du#wgqxIF-Q*9-# z3pRqlge%6p!e!S^ErKm+%l1Thq^jq<8!XaiZ{jAOjc>wySucrH^a)X*^ha2!tu znZQ)%>m|{eg^4;w=m-E;kX&XGPy)XFbXl1vK@I4dz4+#wnJ?1Mcgb~YePaQpCYc9l z@cQHXRb94?LvY~du63Lv8Ia*$1G>Tsjlg6*V>?SD=RFQHiHR|Q1!&9g_@4Sgi+H-R z-p&$UvnIY59^m>(J@7$D3bxJ2f~X`O>$4l%9&Y6%k~cOMpnya58iH6D>e_3N z9jze4MBahQhjJu7);5=QU6{=+$0`>1?p(WS8a7iQFrRF^AGS19t>9R<*1flEw>kd0Ium)_&ovVK{^~i&XybBCr^FhT7xeQQ9y;ymwx|az z(PzIH=A$mktrjhNg1r4h*IK_2MAwysj>u66qvvss7yvBWS&8Jq#=m8zOYZwlubmoP zi;bTsN{G8_^j>bMPLr-cFWc&ti*8f)ngR=j-ZwF|3;MGPw4CStqZ_DO0}O1g>$|3y z9LPHv!Y<4R+Xg5hu78{rlGvND^_fh~7aQvj=xn)siELr;nsM*gi8mYJ+!C3fQBUmT zNdqhir#?%41XX>%qi%`$d{tmv(SHXbEFjwy$Ew>BwL*jlr_poAK%G_HzwtJ+Z{ze0 z3(~BGX*nYDb%ASiY7~aNVoz?Lm#g#AaI9W?E-Tj+7==L<;9%GN?++N(s0wPs%{$D( zXpF;lrw-bEJDlj{C=*L14}SS$9VW#jHbyvo7HaHiX=u2-F=fyVV|N3dGDS)RoUZ&s6XawIAnqFxP zr|g~GCBcBdD*gt)!D3L9{I6523StsW-cXklLqlq;0$97AQg$BQ0sI%Vd2!S)DW6g( zfu46)B{{E#D7%T7EGSZ}>a}#CgnVT^bTT0NN=M}r`@GwgLa%iWATEz0=n4(F2i%b& zPqqyPz+S1)jlhGo!2b5aI)t&rPFRRc;gs{Bfoj+OykPjuh21v9WuW&QuS$<>6>^Pg z-|!C|yIz38J&dD$y;awE%<6-c7K22UDnD;OFYVYzJ=9it`&A`2er3VJ3{^y^eq%(2 zy75rI>3U1VTOZjjVnTwgR_jStNP@<{c*DS9KyHccGOX>$(!_d9>iO?2q{GDEv6CX2 zDK0*Vn)>;2j99rm*qxrkRMlfi^oDKA0mF}-TChKhD|MdGQ&G2{3k>shEY*>$-$yLA zgeCudRWB+MO}H{WD88V8lzoxNiq1+XLLY*BnuOG?@&%x*tJTxlT6`G?>t%8qsg3~(l!@yYZf^gt&h&??&cW~0 zy51R;0S;O&d%eAWLSy9S+}^i>y;zTb(6B1}LV`oo&9=DRuZ zd{;4)BYN6Jr@uW@y)xZeA;js6SENDGFOM{lQH7^1J8f|9G3~x@iSmrP34^QW#nOGf zbq7-a+B*#yZ|o~~nDXHVq#nDBP$RNK^)?QER|Ix1R*bzjD^^yS;4~nn=n*H!19goL zJ~g7hWOeN%NbFsnKiJz>b6ekTW&hg=&?$gqGp@OjN}P@mL33wmwkuXefeyNi-hh8syN&Q1yZ6CZHPYtq$>fEqp26BRTg~Oz3KaXG1e$~c^jmtqFD46Mt@is; zH8niP=G0OP_V;Sv2KavJL6N(*Ht{f{LrHc9D*#O6P*Fq6I|XOZ2$Qftz%xV!aFx{}zZ=NVYrs zE+kB4?wlSDe%)%boqv@5y5{%^Pir^lg+6#fSWh<@oj~s>a+%q@H&=}u`=XL20=!=whe$gA>Q*Pt&8iWUVQQ_s;HcSvHTPX)-9a%eVfNL# zrM4OBS)xhx5f=af@W;7>-`vIn0JZ@AM{6B7e#rT*e=9tA4-g7@c2e}%{CCa0xkTHc zbV{7Hm3p2)Ys|^n4og`{9kpjhL4+fQ#``rcoMt#V}s&oVH=*78S&F?ej8R9ot z?^A#s_}s`06rUq>@JINp$=0%N()N<)HD8^KhrBnyl-VqcjOo=Y{ubbW*2int$heF|4pL$g#)gW)8E+lEAP)TxR6$LuPKcb5gNE`! zRi81$V-xU(;k6@tTNWW??gZcU0CQnXRQRJdmrGLczV8gleOvVmtCJ0p=vB;mGYw2i z@=8zL&&atqZ4S;5Hwl@|e$*xM3V`0`C;>e_b4fN_3d z;L1&Hs9BE4;MYl!2)!h_^~mwv=ovxbIC^d>iJJA}( zaNyBQFkl`va1<0K|EYysV~4`f%NbRDfnE6={aUAl!dt~;UwelWh(Bv+KN4jJb?&_L z@A9~3yZ%N9kuM>eD$0KCzV*Cmv-|~|#t4~}G^Adn>8ZM!#8ybT9Z|lP;b3@}S60}l z%E)+cqEV40<|a!@V%#00_sf0@p-K8u$f<9jvQpvnZ9bbU7MeiCKq?52J~&ur|4r3;%QYkTtT#(bJP5|5{MM9` z^kH-lv56hLvY?JJAY8Ya=&D){;wF4o0P&2w`_`*>M|&F~Up=Be92FmWwMU}jEd3Vg z5)9N^1aV~UQ2aCv)a^k(HD%HadiF;ZWo5ui4aP<7)q3(u34gww7hz?l;Ta{OvMvTY zD+wXt8*K$fIZ<$>f-;Kf?MIkXkMixC9BC1!rT&LFcj^ZBrVutc*2)|+Nt^cI|^sY8R0yhx}Cz%{c+`6 zE}z;f10U~x=*l%%i(-=1)0fyZhTM1Z8z+QUNOkWGd%)>k4Pjg3HM#>1I?OH359NjT zJ{IK3G1kHukey)H?uk`m9Tm#8l3ZfrC#PPKTajMUOi%(i(%|3gE32Q<(VouxpFv$Z zaeF;0s0ZOE2zHt)jNSqBa?#a&%Y7^rIvE>?5Rw+8$FD zqVg-I)SME!;e4L|+NAD0ym#ppo1q~ZuU(6NYA$gK@>L8t*u&IyZY74L1*EL&ujQ6B zWmp*=^4$R-3Apz{%5;(E_;`Um<6>0V?^IGE&=yHb1jt<{ajR|Z>5sqD=DFi*GyTqc zK7is10uV5<@HX$u?l`!R){e{P@FB=QSpY;OWDktpW&b47JeT3S+`XE8!8~X0)+d@a zXZlg^g>bA7kr18U@V)y(z`@sc0weW#c9MfiQ2FToM}UuKne&oobSmS$m)-40tezwl ze{FJ`3EOwV;olmMB@bUS$0TX~z6ZG>e;5tctp)|XaXqY5U~Lu^53}BzER8LEiLsJv z^Ho}!hT1N6TeT;Ku%@uHsH54ewi;2inicjO zqR=}&K7>jbyd(V8J5nJE93=jy#QRL?ol`boff%@2v#_?vw{zq(#cyv9T7A3?*4Un< z0EA1O(poeWV8m_uF#scJs(^yt@z|h}?B4i-(GO4%XM(Cx=k%t2!NBjhoal|1#Z;eJ z;$m@J9SI-2ze8F=@Alx!pk%>HzIHe`RaSmjqL+Dd35RbH+a2cGo)U(Fv1R9}_#GKq zuox_}Pj~itQb0Zxxo!mjTn%Yf6QCL{xmJ(78qBllAZBfsJ3#bwgfd;Ht4QO%x;~NT zh(cCKWs#U^CPJjTvq2`X36+gnrubi|p%iegyxGKS8r$qGZ1^QIc%WF1Ry$QTQcVny zN)QuQt3SrQ!Z*`$T3#{dgVcLfj=bIfJ>yGD!@%%wIn_}Mz_jwMPLdJ4*qz;Q8wZ=) zq8{IWsV_=6iM%3Jy-mvh-aW|H#!ry#?ikiuS%-y*LQ1Vc(b1!Fw>9eRCYeZa63ujS z!;AG~iU_0R%+=^9{32PcM$9&tK1C1^qwK{!+P8?#3$C-BJxGV)EUQ@K>Rxqi^Viq0 zTM^M3jv0^pdb{e-08!E4J5nj0UXpvgD{ZcY&2QlFh*IkZUTf)=nA|8rc2N|uq&_co zsR|rio;zp!+q)O|R6~U9;qqTKT2ReS%UQ-_>gFCUB~37f@c376{g5NfFL3J`mpnxQ zL_=Esl~S3*hKrzJCzq}i@DOJ%GhX;xR8Jryg?RDS(q%|<%4-ha1z1^y`RBiV5SR!j z9z0gxo#vHOOLvRiD5&O$aLksLj;Qs#ktuOPRM|*Wi9?k4%&H>P3zg}NC@=r(6i6}APK?jcV3 z|0)Q@hufy^n#4-v9Tr2xx_6sOeCBs0hDw|}=Y03Oo~_HW>vnRFUiNz3f5DCLe;Khq z`}{3PXW$i@;^C&MBZOL3V@=^@P(^wZ6{TK7921(pFvp4Vw=ZV*!Yudii?#bs)&lRcub*wjlqVi4N%cwJ#4NvK-87`rM8`rK_#=)r${*x&pDC{ zJjWLuXXZDGx0>Ep(Py2}NmMAc3<`yw^0lVBis{)uhG>bv?hc$FukmYBm+Q=>#%ble zwl*H<0=3&ui2;2e94s7!`CXy-0D*u|_g=4eLESEzUG+sP2sQPpY;;?Fisr0m(}*|! zl1uq%j({PPD@?N3?6HB}q&g~(i2^fl;<4J8@GAG(ytlEKnBDr+IoQFP$s;KV+8%L3 zQ}dh@q(WBZz4^CpjxmMYT)*%MeX*(!&~J78v4aC6k3^=~Aqn%K%2d8QqF*doSg8)+ zjLSF4S(!nV>ae(@fNajcCZWc-IL1Bh0@md}S3@wVUiT4~ZIJgSIaCZDI%n1?-`}SE z^rYrkJfuZz&vuN`dJx;dw zJ!ow^pC#~~TFaSXlRb`i-Qb#8{4lRzSu^`LjYr_QX54ZE_;ZyKkc!S zNAb`A9RqbRnEhhvWdE?LM{ZtK{86L=4lTI&S43G{bQm77=D+w;IO#itMM2{eSJ%~> zoQNNpfb`h;WzO-0Y&hIDYnb4#^3+Q!IKi~6NLEi*w{O!3QBg&I$PV#|S+Z21^*v>a z&OW2($8v(h_!vYHfEkS~!+^n&oJ*M)2AuLk#n-KT%~qgn12XlNj~h#40e~-RTQu|L zF9qeR07>m3hWZP(sw0V7=WhRyZ`Ns59TmxVA?Q=vsIIA@r%wJmAuEe>RL9cYJs-*3 z2-Ww^@;?!=dtO#1ujtdj$vg7;{wO?*@}(5yJ!bdJn?7$s*iYTM4|yE?dOU^fSz2d5 z{m%#8>+0QqDd)ZzRQ6x(CnrtL{fMYIGgcTx@uNnYAmMVYoZEvFrx3=Bp6jVBwFHW3 zQMs=)obp^<^159Ettr6y$jJp|b*8BI^V6<$O4YUrYK*`+5YRQvL*f=X{1k8dIf&Cu zX=&Y!^-aJZ>de<oFXb~~CLesH`t{1BU^c-bxc+ ztQ40E3-A%hT)xA_Vc4v8IXntSZteXV@QT&?6=gWdsIs2Fh~1z!uPG87EW&AUJcWDY zqo2yoznywJaRs6bf8KD@eQP}q!>wQJL}IC{?M|UZ?+Le+vFC;2-MaK@Q7sn_<_OAYl$?FMjOVr;d%ehtB*He z(6xuvux}Mm@m+9K!o5t4<=y>Pe0#PFG%~#$a|I;bfoz_9e{ffTh4b=m9`icp1N;%WfqvMAZ? z#2wdEQGpu_9DWrvs`d7D#)CI+mc0ogEnTEA-h}Dz)IJt_T8d$+KBvsMmcRa_u%|2H zqga~YYGdR{$k_)yYl{8A=}d|F;RPtna0)CF*&Xwlvv1y!ko>QY{PO-Rqsr0+MTZfA z*jI^Ss2I=GoZK5j`(;>Y?J_ zg_yQh`%i+Ag93SzO6v#Bu%doK-`m4g57;37v9p*~9t5JvVthLmqiu$Bxo9ldaS~;w zQDilLlC_IFwVE_xJmi06({z@@I!CbahhrZ$%FI_@k~`S@kS8rI8}RM7;w}Z+7x9^V=ufv*^^6Ml5M`Zz>$HkNHvFL}vUe#u!;U8Tt zvIrgxhsT@b(X8+OP`q5`)%NIkx;Sl*=a$U+QzT-kI!eml7k2b9@Y5tj zc~bxSpEvyMbYGWx7a*^R8Bijf*}s&4kSAASVGgc|3sD4o=)!EuT8)eI|NS_W#91~t z7KT}}d1qsqR=z>Yz~B+frPy26KGkmZ;Wk6Np0-T3w*o03Kl}!hxW6C0d8Gg!?hd81 z&FUmq+dD(QNaNNQ#ZP-zabLiSUnX2zMOiOpr3~9<<1C8~)2n3tX$B4qBC~V_W&6wG zr;lr_hdhxZNyYycqd5Qc7K?%P6FnOhZ>)O(K9PKW?n6(*1Hkr_^Y^y?%pI7~Djy;u z%RT_}AF+9$r>F5mP|94JrYJ;YT0#nP!{D$cIyP3!^^^Ln{2r?J|Kldp)QBuwd{UfV zFH{(>Bz;P4)LV|NL}Tx5&pbI|Or3pJ!FxQ{swG4vzSo|w7~GGXxydk3`E%~wr99r7 z9ZEYk@?k25A>z=8Cw*5SUjba`4+eHYoMd>A0to5((l9;EA|z-rtd-s3hiY)>A%48T z1JC;5#>T;PU84-bPMvlmyILxMk(qs7(HW*#2~B*fMH7Q&f>QFbFY2)vv~taJfKoqc zx*(8jl84}rjk+qh$(@}OX?Zt1y~a!l+DsLe0nT;W&Qli4?&?|Mj8~C`;>q9s zqx`QZjylmme(=)ny>l9o0&JUSB_qDGTp=x)F7&l}No4dbxy4NR!w%THKW`u1+a$>3 z$Y+AL?#{Vh9?PFrx@O(dSwoLf!+8^!aus>;ZKXZM|St$cOh*g|NY;$pB0mKa{Tx0_jdmg;O~Fj zru+Z*)xQsq_e#;;NIh8D3i}FayjXLV=>`?{wgyJ$N;s>H059u;Ma)MFQ-NJqiWs{# ztb&kz3=1YWmzR(;SY$33mn$GcL3cy3=pUBm(?QQO$WFKh22y*!eJOV1%`rd8gDBtS z$}PXn#Fm%K-e3GXj$r-wJVzZC{vE;5YpWpL63f|GO||wE?=^k52+;0-`ta2R%-Ft1 z6k=j)HSb=Sy;a9T>CRQcoXY&aPrnz**Yo+`Z&vJqK65{QuV;q3ZqBN89W#}!SQl9! z{zy~U!BfI4K5aYCkDz*~#sf4Z)@G$<0x#7L*J9VmCGQ`Wgdzp?!KMHd<9P!*C;zKN~KUp(kwRjUzB74!HSJv4Oh_ZNhy z(*ZA+1Ww2^;(xRC%s%GdZTVhG2cE>0L@nE zUHhU2vteD~4to_WN-jhdVaxuXEhU(OyN83hd4?f@B2wJL|5wbdiZN%)0_-OCaHd88 zmd`gmwx?lioPP7=>6ucsK#o*#cg1J}??v|=B7-NZLgy|nexUAv&RA4f`po6dDO9h^ zd|^Opdib6*)?5y45O0> z+H8?UOuM(xyHD*(btP=*lx%^1Tk*ldqbZ4z9i7GI?KseIDD0c1m!#j%HyWCT#E4lF z*Ur7ylY!Ct4s{Z}jN7J)*&5B){T{1|?wIOUI2aaS9iA>7^uDyV(uo1R>45M=O>h># z*lG&IF4Uoh7y-J%PsPTl88LF#^c+LT&6bNVw=FM!|;3Pj&Zq`)S*W$maC)z=MiHi(mD}6r$xUJKH{{@7odg zIXF3ct6+un8@0@Qo8MmwrIaPwK8-{ADl!UgUr<2omcm@Vb%m7I(8JU3R=t&CShj3qyjQYH1_4IIy<3EG=zq z^Qi#lvCXwJKP%;c1cEU+svSQ}TXHZMJH#*ix3?kevkB~=$&IiJ2v|1L(# zpc|`+>qfUpmnMh1%~5%A626LH?PN8Qr-EY*>x`ln1TJT zA^3n{e9fCntsfcvqyl}mf81*2zd$whX0q9`&VQ?QFkMQ*Uaz8aGzMwsrb1uT^~+$R zy*=huwg$UWJXd>7?{XJ+z)oIizD=?^b5eouaw)5WvbHvUmsssEUu-VAEL9he&x0Ys zrsZUTuAG9ZR@)U^McqN;#c!^Wep}U!IpDyeL!AupZi0K8uS}%4thSVYDXLXRX|%+=gjIO5c7rK4>5{oTOWdj$5PPc_G_=Z0`HDixhw5$3hsOh zX3GK$(HQ%}njb*|7{g@lbXSkvt%Z2dX3O%+_XnaI>5_?O7z1vpNtL{B^~HKFr%7MB zcf)?Tykn_qG0rqnR7~w_YBG$9YiOcH!^kLYi!neaEkT@{yLx+KcQ(GSe)9GlE8X!jA|P=ZPazJFd(KYeXS|1&g7xPZk_(>*Ytzx!M!ALMGhv;(E`p?7@vXQFV!{vjP%TH)3$KQ^)wdcYFThroKE=izC}(9tZSu+P=b}(xikvq_$98uP&-1z z%`Vz(qN7ep#ofL0cYIfl{y+f=g=!6MVT=cwT`{VrtE+pcTa%Jr%0TB56f|?}-Kw~X zSPOJZSSLFVbmQ*o$GIMi56*Yj5-qxV4F*P?O#e@NSN_-3mBs1U)^^%r7nhOsW3i~H z(25BH5@t#fF$O*b1Og<%vP29a76=dm#FkcOT)-+2Ap~k=5d%bJYe)z z4Il{+NPv)qF!v?Y{xW|8`RygS@7;ILIp6a=_ug|ZRLL%Ze=a(8j+b!u4lAMaTQA5z zPO6ecoF1h%E@!Eyp!R;GH!)kMwJe7I{qX0ov2YWUo%zri0c}>-VpJ%SLOGO6C=hO| z_gS7Bb8SnXzX47$!oPm;K;7w{eh4`Bn@87#EpV-)(Ro>B8qq*s6JQrL$D<5WUthI7 zEolEl3m?|^6gWDjyg1+A-yb`#lO@;R05Eu6HN#bnn;#t~)4|D?SI_VBHZ`Xnx7%+Q zuafMOm2jzw+}smo7D??7TZ3--JKOA zBq{is#bLYXl;=j_JoY_o^(E64D^FJ-$buaMIBlsKZia z%f7M`7Qb5mh|xS6!8}R~x$vP`Zn3MJr{}0FlY${vVdIF8`%+vU*1@Z}O^%=W*Jk2; zieN0+_tW*-0=&)jXQvGy93J{DuEmyMW(H4HU2t*_0={;DB~!LvE>O48^fMZVO!|qk zCERXyD4+LqDp5LgI`Hzr(^umBUwV%BXdQE7+U}UI=Vl@ zM)5MjJ-1LQZDd9unJPGO1XMy#9GagRS(Xdf;1R1OZ#9r7CMKqbZazFF*C~&&y>4N+ ziE)aMifl`#6kY}@&Hq5*Zp)G6GYZiuA*$0dd5qZyb`;OJrpfErmEOQCp5VUR1qjOT zJ(Tg;!j#7_;p9s%yhM^ybYqjsT3Is{lMN$`YeH^DWC^qJNcI{szd!m(Rhyq(Ui`Dl z3K%85H#cS{?7MHSp}6@JuDYS$MLo&=v7Qx2-(ATfq^@(aKb@SuhAev)5Eu{%FcyWS zDiiYZ@+xoNZol!1O~T|9f?Iz~bim8<`;<9m2CdwEz729i-b5lqIK~I?R@BZOj($=c zrN8b=RPdV;=Zb25*22up&1>f!1o$UaXpVYNJS7ky=t}*KiI?JNyvuxKSR+m3o-7WmPeCw;YJNs1Q3?EBZh>WAK z3`bH%#=Q8ILMqnh+cRBBz4a#(c%$TA7vo+-UJb9zkk5IZ=m|vd?nf3khJ8D|Jv<)1 z%XZVfzHB=Rj3p)7ec{pe7OJ0Yu=;xG(+?Tk)wxw|1+686Lr_RWuoyqc$e-)APO@4y zM}MITixErI6CHH?>_~m3Mr*knj>kdDA#C*ZIjaBNBCSX)hjZR(AgQj`~H9_3@~v3D*oP)In2=t8G)APew-? z@l>-?k!9^op-{jJ4;4K;lkZoV3&xH9lDcK|wQSR}$OiJ*xm5XRIDay%!vKgTu_$9q zm6Cbg=Ln)BsH)wQj?I6}<`*_KHHqfAYe-MeK1RXXt2SRBaO(`6`xG9iN7R6H0NoUe z1`pmd<@@_y0YW8;?s`t8W4*E3A6FPHhxwdQYc=0SF_Z9tBYs?WSw#9~q@Hzl@IX#? zQ63Ed$w>ynjZ7w2ve|+@!GZRb_jlNOBUXO61&_gzJLpqdcPqMAbSD&rKrD6|zg@E6 zoNy@RdFxX0*%WSsos_pJR*(vnDA!NaQqsCbkgqIGk2`Hf|Lnvw%6CICZ#Z>pxdkUjcYbe;&_6+?r|B~ zFO;!7OX#go)lkHzv&scE+_>=%0R_pipoPV8R+q!R@2Zc9jqP;e$H!eTwc-trS|5o{ ztl>?LKwZwVjz3j8l=QBty z)uD~uap_tK-r0=UO3WV9sszIBRlgdJz8-cj9fitvmbPDZTlw|q;_F-HZ+}&y z%knMd@qplxD1kyDK4(ljg+nL{L}?w>=(?1J?XFKeFYSOtCsSp~oyRQ~qifDe@1L(*#4Tj)Sx$A;(JHzi;iTP0o?DOO}LdCktI*QBhGl;gPRu zcR!tP&YHaGW!*Kir?`Fo^h5ac8!7GEpLe1x-^ws2)sVXbhc0qQ9CD>D&NX@CddGWU zaQNhm1MQ3Iq_cTSnhy7KF{7H}VA8;M7dh^0Y5L=tZn1@y3!G5H;*r?Q{OVxlV`PwI z<(4UN+F1SWJnWl5?Xa1anp+HSR#*p>d)-6glhb{jzN zE~WgZv41G|geNOd&f8_M?fK$ehSZR7D45LKU5Tr0_<7H8QdLO3os)hpzm5=;2iWL} zX|03FMJI?6tlKpus^>S|MzhI)94^EX1x{3@}l%7)6U_Guk)?05Qpw)E-Z>DQ~6fLg~Oo>xnQXMkj5j#LVIT@ zzWA3)hjMv0GbD8@VC}gB1TzJlPDmK~L0jgZwS3UcxXteFmA#~O@`03%a`A&8M!z^f zSZ`F;5mW(+j;x=1ANxV}@YXV`}`wCf{l9)7Tf*x5V5GT!$mAji@OZQ;xa%L|!foU)9KFwR%ZTpc-8-!-?I z)WzxujP4pCLp^OZtxi&dkKWH4 zZYIe;G_Uh|_Uu_msxjj_+}zfnq%YheW}C|GBd~6=T^hj0{eq*#vOHcEk8EY3YjmiT_M#Ms2}ML;P{6IPF4G323%%G z0-8YOf!1SH7~zcxmejxTJ8~e9DKrGnf8bW2WP=CYjLB4YnSb6Vz%EaryTp!skRZT6 z?QJRzI3XL{He6YCvi)t7tEIV-sD~pU6r?K@ip9BMw^i-3PlYM$uiJdG-kl)8c`xY$ z8D-=Se~A7HYY5Z7n3#kFpwWIkcTNFyKxLW2rh6+rlI$Ev)AtO*I6s@aKG9{kG%?wG z8F&4!iFNSh)?)@~t^d4ny)hme`tZgWHtb^qA2#su&6WkoE;jIS10Of=@vjlsu!jwM z_)8l$@bUlH!{XW~GZREtAHNr_x=Z^6S@`wa!=JuMM1ck`*xy^@Vw?(CA4}cgOSfM9 UG?r{)C>-zY>GMs^*Wo|@4_#Wm!vFvP diff --git a/airflow-core/docs/img/diagram_multi_team_airflow_architecture.py b/airflow-core/docs/img/diagram_multi_team_airflow_architecture.py index 43e2e62c0604f..ed25e5efbf4e1 100644 --- a/airflow-core/docs/img/diagram_multi_team_airflow_architecture.py +++ b/airflow-core/docs/img/diagram_multi_team_airflow_architecture.py @@ -14,6 +14,13 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "rich>=12.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -26,11 +33,13 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -PYTHON_MULTIPROCESS_LOGO = MY_DIR.parents[1] / "diagrams" / "python_multiprocess_logo.png" -PACKAGES_IMAGE = MY_DIR.parents[1] / "diagrams" / "packages.png" -DATABASE_IMAGE = MY_DIR.parents[1] / "diagrams" / "database.png" -MULTIPLE_FILES_IMAGE = MY_DIR.parents[1] / "diagrams" / "multiple_files.png" -CONFIG_FILE = MY_DIR.parents[1] / "diagrams" / "config_file.png" +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" console = Console(width=400, color_system="standard") @@ -77,8 +86,6 @@ def generate_dag_processor_airflow_diagram(): "Common\nOrganization\nPlugins &\nPackages", PACKAGES_IMAGE.as_posix() ) - organization_config_file = Custom("Config\nFile\nCommon\nOrganization", CONFIG_FILE.as_posix()) - internal_api = Custom("Task SDK\nGRPC API", PYTHON_MULTIPROCESS_LOGO.as_posix()) ( internal_api @@ -104,7 +111,7 @@ def generate_dag_processor_airflow_diagram(): ) deployment_manager_1 = User("Deployment\nManager\nTeam 1") - dag_author_1 = User("DAG Author\nTeamt 1") + dag_author_1 = User("DAG Author\nTeam 1") with Cluster("Team 1 Airflow Deployment", graph_attr={"bgcolor": "#AAAABB", "fontsize": "22"}): with Cluster("No DB access"): @@ -113,9 +120,8 @@ def generate_dag_processor_airflow_diagram(): triggerer_1 = Custom("Triggerer(s)", PYTHON_MULTIPROCESS_LOGO.as_posix()) with Cluster("Parsing"): dag_processors_1 = Custom("DAG\nProcessor(s)", PYTHON_MULTIPROCESS_LOGO.as_posix()) - dag_files_1 = Custom("DAGS/Team 1", MULTIPLE_FILES_IMAGE.as_posix()) + dag_files_1 = Custom("DAG Bundles\nTeam 1", MULTIPLE_FILES_IMAGE.as_posix()) plugins_and_packages_1 = Custom("Plugins\n& Packages\nTenant 1", PACKAGES_IMAGE.as_posix()) - config_file_1 = Custom("Config\nFile\nTeam 1", CONFIG_FILE.as_posix()) operations_user_1 = User("Operations User\nTeam 1") deployment_manager_2 = User("Deployment\nManager\nTeam 2") @@ -128,9 +134,8 @@ def generate_dag_processor_airflow_diagram(): triggerer_2 = Custom("Triggerer(s)", PYTHON_MULTIPROCESS_LOGO.as_posix()) with Cluster("Parsing"): dag_processors_2 = Custom("DAG\nProcessor(s)", PYTHON_MULTIPROCESS_LOGO.as_posix()) - dag_files_2 = Custom("DAGS/Team 2", MULTIPLE_FILES_IMAGE.as_posix()) + dag_files_2 = Custom("DAG Bundles\nTeam 2", MULTIPLE_FILES_IMAGE.as_posix()) plugins_and_packages_2 = Custom("Plugins\n& Packages\nTeam 2", PACKAGES_IMAGE.as_posix()) - config_file_2 = Custom("Config\nFile\nTeam 2", CONFIG_FILE.as_posix()) operations_user_2 = User("Operations User\nTeam 2") ( @@ -154,12 +159,6 @@ def generate_dag_processor_airflow_diagram(): >> plugins_and_packages_1 ) - ( - deployment_manager_1 - >> Edge(color="blue", style="dashed", reverse=False, label="configure\n\n") - >> config_file_1 - ) - dag_author_2 >> Edge(color="brown", style="dashed", reverse=False, label="author\n\n") >> dag_files_2 ( deployment_manager_2 @@ -167,24 +166,12 @@ def generate_dag_processor_airflow_diagram(): >> plugins_and_packages_2 ) - ( - deployment_manager_2 - >> Edge(color="blue", style="solid", reverse=False, label="configure\n\n") - >> config_file_2 - ) - ( organization_plugins_and_packages - Edge(color="blue", style="solid", reverse=True, label="install\n\n") - organization_deployment_manager ) - ( - organization_config_file - - Edge(color="blue", style="solid", reverse=True, label="configure\n\n") - - organization_deployment_manager - ) - plugins_and_packages_1 >> Edge(style="invis") >> workers_1 plugins_and_packages_1 >> Edge(style="invis") >> dag_processors_1 plugins_and_packages_1 >> Edge(style="invis") >> triggerer_1 @@ -237,7 +224,6 @@ def generate_dag_processor_airflow_diagram(): dag_files_2 >> Edge(color="brown", style="solid", label="sync\n\n") >> triggerer_2 # This is for better layout. Invisible edges are used to align the nodes better - schedulers - Edge(style="invis") - organization_config_file schedulers - Edge(style="invis") - organization_plugins_and_packages metadata_db - Edge(style="invis") - executor_1 metadata_db - Edge(style="invis") - executor_2 diff --git a/airflow-core/docs/img/diagram_task_lifecycle.md5sum b/airflow-core/docs/img/diagram_task_lifecycle.md5sum index 5b00beaa9d888..a19ff4c1e4d6d 100644 --- a/airflow-core/docs/img/diagram_task_lifecycle.md5sum +++ b/airflow-core/docs/img/diagram_task_lifecycle.md5sum @@ -1 +1 @@ -ef689d2a19fcef658dca32076bb0bfd4 +2f0f0308c52315026f2ac50939247857 diff --git a/airflow-core/docs/img/diagram_task_lifecycle.png b/airflow-core/docs/img/diagram_task_lifecycle.png index 6f5f4e25a30265cc451706846c10a1ac223ff24f..837a9a7a06692fd7461941b7491c3ef08172e704 100644 GIT binary patch literal 604573 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 ?J(?*WF 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∨y{=9;D=SN3^X`x5R$-!4 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

    RQ!D-m^_AwpV#6S5uwtU1L%u-^KHHds3 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 z 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ℜDQHD)DH&*!OP57FbV<1yeLo9nC8M*U&l$64!W*ZG+P6QNzWgCV#PVlH1s)R?b4A+S??aT zndOvu1uz?Bjb`n8rDAYZJc`->95Mb%&?vTJ?Nu*JI8m9c{UxV*V-p0oF!5v^1E1O6cyBXr3sL_ zH0}G>4^npn4!&O8*2qzv$%$p1oL2rln{zws*x9w@qLWOEC&_*9f2k7?)M59Rv8c-m z34eJzEH^c#`Lp3aU%Wm(Jr?2&yAFL?#HA=t21P!fsmy8gldK z)ZB9bm9}r6{36XYF`QCkiI)-v)TO;lD=rYALln6N?gn3G;SVur9SX%M796~Lw>!AP zy)AJ{`}gtZt z1hRz@+mz%tTf(=Cumy2^G*0`{)F%Dx;u8u~vO@J19tgTLKW-$eainO*;+a&N@ON8g z;#}Zg2(udKSuf3`mG@7f$^ft?1S<`g+%g7UfYT*&k#K|@+6sHjGZEXVGneOwSdSk4 zXp-mX_@XSZjF6o&2kM{1U!SQ{W@DmmwO$}G_qM(dO$c80m>QgXof3(v90i285%Flenl9VO4HnR*Ygzu!7aOqw@P zcY!Tw(rjfq>Wg)oP5-rj3;R^<@;dD~YLN>?J|?cDy}(j@w~>9d8`~;?_<`#SN{8@- zBBK83u8+b~A~)Nu_*z zMP+a974M;wu$kxUhDBD1e56m9M3Q4n1*&KN8=pYZZe~7pnMC{cYPgjK+&I+x7|V7! z7RIWoM45TvmmzbZq)H!+-zP2cH0+Xoc=JL!VOcjH$Zi_$ zm)}Unw5RrZ_#%buq_{Lt;&j)0hZ07Hm!5`n-`s!y!I?GV4nEw8cQ);Wo(PO|v?%pc zJMDXV#*257K}X}arXnq;ev(g4zfQ@PYmE?z-Du+&1DKqw;7Wn-I?<@g)S94&Q&3PS zfHf}MFbR^)ctZ$$!Sr|`b4G1}a}31+SUK!ir7kw%Aa;HHr?(#O$LFMkYCG;%b-jF^ z;gVQ^mxb-ai5~Lq5JB0!Y~zAXt1k-?j$+{009UfrJ#6shLoG+}(a%mSU%E96EEj+R zX76B5id}t{1ulm{fM930CF&HSR=K3A>QyIXw^WNN#^!h+yE?bu1HN2fg{<8kXU_^b zy$t;FXidS133g>dX8@cFvM?k&5V)`fgm#0{2e*LL=`{n`V`kt5V9s%{YOh;=TG zzkdGswYQ>a(_3#Drizdh=ij_x$A|H|G15^|@HfC+XkR`E;$t%mTyOr1I8;?|EaLa! z36TMotT*wIL^nUTA$!*41bbwLwv*l18j0lJPp;9yQXotrfILci5r(0=>?F)wia z#tkf@*Bb9=1I+;FWqEwZ%0t2hub`lSjQ{Tal5T>ED51Y~ALj^R{mPXqR?RyV|I=0Y z=jVFVlrLZY^!$v^+)R4DEEqzxE$CqZ#WNRSVJQIDjSK!6ZKi;QO2^>u{SKx0Q8qTN zFlQ`)tRVGwINv2e64ceQ`}X)S+yBT6R!Pxioo%(nE9Qd=$I@(q&;6_B9PAs~$tkCi; z-C(uB|k~x2S1DYHy@$ z$3pcB(ODlVucGe7dWOa2jZuaCoGKrF1hO$dIL`iLeEPXN8L24%^C!30i!KexILlv-D6wPsB%<`Jap7r0$;GJ2CETcTtOPy8YLg zvvlD8zac-s8Dq$LS!H+Y503$c zt;rb{;s#T_7HjVkaV$h`o6~8*eb37~{%m{h+X7sv>wm?3XqZyzM9%OYpJ3b-Tvy%Y zPR41@_51RK$Qq=aeA+05u8I&8pqQ~ z1rY=V1*9bvkd%%w0i{$nUDDkxF)APp64HVSf^_H5NSA`rB`MM!L%jE(d++nU=YP(3 zUEf@LJ8n?+%skKUjqRDC<-8p1}%2o zCBV;~79+gq%h8gtwdH{s9Jq17VHif%>pdXLK{E{uHbdA`xTPQtLcK}kt6vfYlbiqX zVb}N|B{|`zb(4|plgFBf{uwA3FF&QXd$lH;kQ#8=g}VBrV1)C*X@63L+Xztu%>m^I zw5E`5z^Z+2$Q*=s;833uHCbx;bM3!W@l9QuozfL)pixxT%bd zQO69l_I^`Rc{FX?ZTE(Op`R0Us*QTWp+>-l>oF5`K2x>aod?v8r*Rs~Mme#)L|J0uQaq9$!3Q zGLBkUv*Dnf=qBAr`XCYMDrjBlHt{ky8cUf&>vL(1Cmr+Aq*~U=E}47PXRFwMlNy-o zs*+G%BpBLQLkEHFY?KR*T^HvlACT0Ms$Ng|!cF8lYZ zx3=7DQJmcoZufG?Rw~i7sBsss<3l8R;|ii~(+dZ04@GxOTyi+0!<}1VBx&Ee=(YhU9MrlLJur$CGTTJ$Y- z+zn1p>_ZPrX2#?n`1;Tg+y52(r?YV<`~R&$)nys9P{t%3rS^E2jVdo{6N!h*r{+SY z*IkKj(#^E^J5}3FnF(a6OQZ$cK)DIM<$Ex1?$>q;1{f3sc9K9+U&0W^TwH0eVi2`l z5!e|osHm*`3dj%WbVWo0K#Bspz6=Tn@#nfh^9b^c%&&q}e`^82E(7W>&|6@u!op2~ z_@x4C+`l~w{^NPWe9?}dmk=knza7JXT)z&@McBiSCYF}WZyw4G`kt;e;MIj!1R_(| zstsmjZ!oV46vGw*!yLJj8ya?_r)HH@Rs&Ubz6_1=8+HKrjog{GAE~hAj~C2tG~n$# zIZ+^il>|Z^sv?+=!%X|EHV}ikR@}G#U%gPwK`*YM(Vn4{S$2GchKT%qPg{kd|6Id= z@1^x^gaCK-`@@x=m%1ja|NqeBk!NHu3Jj&klCIphOuvMF*Nbgh)Cs}RMjgFJmDWqY zlt%1&S%|0)Y}Du8#DaUL5R9njR`0V}SFYg#iwj;3*FzD%m5rc%y#tLFo%<>_pu_bG zX~1nl`2aSVUUmE$4g?I>KU{6ZFgZF{F_E!>v*n^Z}q1l_2KOZ$!qGfcPWP zYKgYpt6V4hr~Zj$fezGz&hxVd8e!lr=J8cELifY#n$_!1oUN+EsG>9lN15BG*|~1$ z+6Xzc?kvnxO{}G9PYjQjg_6`*<-f%j_&1VD-+a(lPKq^Hy-Ycc&NS2 z+ODhfsw_KXK59gub&L)SR=)hahDS^T6YU))w6R*^#@%+S4R@2Sz~tm!A^7kw*X+

    qa@(tvHNeBrpW<^?PQ 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 z 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 YzR{<$&sSYU{@>t`@qhDwI{VxI1-ng4NdN!< literal 529144 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 z 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 lc0_Au8zQuJ1LpMs{iDsFqVN+U&gI!kVny z6SJxVltz7z3om8>|&9S|G+HwzQYKlNu1|foCGw2s(N}qrrgON6CM_5ywl89 z(vp!y=CKXlEBIAXZ)UvOd&`*2Po9w|$Te9ev%a3YOC!EaX)%OtsAzJDiuy*kjcVF$ zX@=(;rNU^9cT+Ws>g-R|rzH_&`fB>y8B3@o|5f(uS6OP(0p(x&KYwxGuE}aUqAczC zOZmH5LU1cn%5|^LvV6+~Z`OvX`Q5K@=v8}{+WefiZ6}sWeMBEEZM$kf`;*t0b+Eup zQ%|MbpZ;nQ=Qq2tvb%lpD;sfjb=z5^%NpN|Su+ijW&V=@4S1c!QXo;DU*g%4@P@Qp zWTtMu3Ab7%wzTzt(P{w>xag-KQ)Pn|_$?Czuiaq4<{@NYZ zgs4l>8%CLZ@gX!r;ogolHns@<%w6Wkgc#^`Ub7=M4;xg{Srg8;;I^PmnW<;I=P$^= zM}_Yk%O5W-m-JpT%X$~|bH8@9)7|BAwEe?K0S>@ku z4`Y#_L{nvjZaXlOlylfS=Mr8DcRyu_n3$L#5INa6Ioz(anUqHm1!U(*MnbDfaA#h* zM*XYK!v#1yC8g_fvx5kQa&LnRHT`anj%HbXcQt0z}!7kq9#`3QUaG ziY%VW_rPhV$g%_deUbnnn`sS!siJHlkgE7ek%bRXG^lh}M=N7L!0|D%d3`C9)Hr(X zmPDQW&DaPM$U?locKsT;0widiHvRllRqA3;mA>G7R<-%IYZ~95C2u&MuxRrCV8jPrVH{>m+LD7Vr|v(M{zEosd<2}1m1?)E;l z(1R^2yJR>Y$+uP#jx>twTBa=b5&VII0^p@^Ga(BK3ov5!F77a=c-liMrY1X|nU4Zw zU$3m3EGqaMHRE!Ym6d%OFmHPDdkEsip&b`gl;IDLKBcF(tnZiZyYT*Hrp**}kDq^i zvY{a}v(=RMVP{DQnOq-MQrlmBvhOl_;~#OY>|Lhj2ydrz^f)bcH8crX@EF7tjW|n< z2&(MM4Z(w~zdSxFe5@pi0%gNQBD6*o$!w)NMTJ%4BD~x@!h+TgRnlE;%$g{F6+C%f z)=Y^^9kqsc^lxREmUj-QIl4cMJK1#7Dj?{*X~GsB)W2#c|5HD%Kt?2bff zkHH;oX$q6VhiHVDj|olE&)#oVCnXL!P5h~IKUHTTN^+(|mQ)^L+3eycgdWYmscAbh z7S(b1&qG>#uf>3SfqUObn)UmOyCJA z?lfe-N99CGEu{PIY;*m5pIqPTRODRbe2!e?luqTC8E$5JgO87t+abT6t9P#oiTLUG z&jH-+o5_+e{qs(>6?mf0a_`H;et6Je5uzT7CXTup2h#V{ z=49Bu*I4f)*Sb25sKmT*9_kLG&dbXgsdIYJTzyer8bqYCNEfK{^Yc@MwmAyYgi2WP zJ>yGE`o;vqn=C}P!Fzn#mJ5$D76~Ub=(H-Xw5`M1ZZ~W>Xi{2UUS7BTLx>}mjkaN3 z{+75BuUw*RmecZ}*M99J&?~H@)?yfqJFs^RTcWB#;Imt%DJUto4n3*cH&0@xedA@@ zKx-iE#zPxUPEI~FFmNMOA|Y$xKF#|Dw-{q+a@^S1*bafoi`gky7_XZLtq@YmB$=wL zV653+pFBU=1|M=(PQj?Ebbxe@rn=TcZlciERSui8xXYdLX)^eWsy2TZFs z2K5~ok)d7q^5N?e>jnz#YMHsv%B~|?T7n_7e2XH9t%kaJ8-8Ok}+)6W|wySd(pF@Ql= zF-Mgl;t#q7$bD=D#>U6JApQep6SNA=?AzbH2LKg(QbmO`AcmZEJCRKW5De_FdzG9; zf}MwI*ChR6iti&rsC4#DZmado;tGt{%kshbN-O5nK3%zK)U00|tDw!WpUN@8uuh%h z8Fqs)d%MZ7BQI%iCgY|fB1y)0n794h&4&uDah6dklHoS`9U@!=PlOH!hccHq1Nsw{ zQimuzWKC8xg}5(02Q+kg$AG#*Ss4V8wv6l`kqR;a%a=Z__~4?vUbOXCl~)M!@@G_7 zbTl#j%ExPn6zTu;!I&(n^;2a`oLsBm3RxT@PmU4tD64B(eU~7#!exSjw%BXn7G5Co zI5lr~gTQ|>3`<5*)X4Cl=o>;5R zxlOF@*4CYct&L(nmb@jKGpuRC9TOMQ)hc+krPFG6!;vdd*5}x7{e1g;pVLS9Y%}DF ze%wxe%VKcrY^}3pO2s9cmS9rM$M1$Mx0P5raRZT~6K=C6>y4MzRN(H_jq<5#XfBkZ zNKiCai5`-HG0h=G4X^6$`G7r(#m?V!8g9N-1N^@{T&kcT_|dg&q})NA^LJn9soOWB zI-pxNThW&^9c;AWITVmLwt zo5FOV616oo-aF}Zb!SJ*z%mUj?~10{J`DNoHnF}BX7Y2$_<%%nz^zwKT~wtaRar=Y z8S$PC_bY4(p;&(M>FT%bHYm`@{9G9h&)Q#JSqqi(lFoVG;BH%4{+0J!4c4E=nb#EJ zt~|0>NlHad9;bYPquhK6UGw#4_h9-3W!+Aa7}wO$HRKWgeG7WFT-@dW`EB$<4M^3Rg#yivi6Jqn%dSC;fY4Z)|({KnRl+W|W2`YLMrD&mBgNIUCrAIGuhE^bfTlbURQTj=Yt z5C+4ZdE#`bSkjdDPyVeeo{*e=op&ZrO2ZHx3AtMdx%RQ`F4fB>-K(|3V>?3aGeN%> zVrxeVojLW@tBb2szp4s%XZ~G1UEJly<`=ww-eHZ;JLPGHQMptFwy(6L&+^qSPxI$6 zMdrZn4DXXC(aO(R2jlSsRf;E6^Hpw>I;aT>o7vQ#jRYx(oUWg5r7!T=DCZ3XC=AnF z^QD(&k1^B#)bpv8A!2kkKAiPA2b>H>T>^`C$7pF>9vURbvJMxUttPyg>uWQ=_+dOr zBNVHQz514-%L`%)b*sHCmTo?dnH7ZN=vZ}aPPN_k5z|fiii^M7Xn2bdn*;~K&)GC% z@B>>Q#%*bRT_IDMSVXFrJy8+?HmfInWy(2YHBJ_~x=FH3i7E1>#Or6kb%V8FqS}EO zHX-@HSfts>plx|sW~MRtjlrBEof(OU=)R1m4=4<(T+8e=;QCgw0_--Vc|bqrxc6Nq zx*QtpWPRr4B;r<(;9oQ(gV=VIz^qJ(U+lE8KV3Bk~;reNt7??jbh1k4j$8c zhu+3e4W%cnztTf{Rm~@Ca(=qm*Q05;qyqar=jtT)a=}HkC{q(3wyU9JWGCIdo7fBy zvaQ6>{H>k%?w1nKb-WOL{p$HwoOqJ`(2EC-mMji~GoTp=yqK66TLDkle2}r6%tS$B zDI-PO!a%r!h3DzhK)8P(V*&X@v~;E;-i%EM!EbdB)yum*Xolw= zY7oQMFtJ7_JULhl&lh<#fYG#)-?2HSX<*PPGKC$E!*ZQ5GRL^pT|DO%kur(6uygJW zv`06?UT8gxHNIP|vy@!aFf?qebmz8`hUy=SfU<+lp~VlIgY0KM2g_QHTr|0_w=iSZO2%bjQjv;WEERNcELTXO4j6Y!Zst=no%QNP_R*xr#oQThdch)PB+PXKMC-W?*-slaQaK5>q&NA8)3Zn*V(&ty=$mAcVr6k@ zrjcSXu)k0yF9?JoOBQ((rH#`trHp@Ba!oJ5Kh>%m%ZOQ8Y(JjQDg2xp@*yDTHqCe? zf00e|V{6n+h~vJP(Rn$n%-FuO0{ZkH6eJw0>S*<+B4UEuh~Ut)UGP>+G&M)_CCA`1 z8QHl^laHner0+EQOR}DyE=9v6h%Fqi65`!bTlh)Mv0hC4vRnVl$e3oOvl^*eWke-Cc~9yGrKO~Cr3YDUkaEtzLkmj82n^r`uBu+;1kWHI>yMc zOK(SYTnqbk6ew{VC{gd6Sfko(39w~@d!{DhW6A{*Veq`qVxWj-Nux2hLQ z{*t_B(>a4OL+;L&+RyY=?)@8#z~2he0q_;zTmZvgcbSB=&jt`P%>ZZk3x+MkSU@D; zd|8Ghf(L@QLHW@A@VIk*U%^~YjL=_|wOo^Z@}Q01d2P(BSQ8MckAs)ca3iHN%`GiY znh3mYA-Nj@6rQH{tekpK!AC-qstJhbBiD0%4j4KxaKf<*+z!<`^n?d9A)IF$fg+Ah zPU7iGXJ;fF!D+BvzQL!0td%nBalrz0Ap$KOjD+O=BKGJXm^eq#_s5b=E$2_aN9H)5 z{oeX2`TTR*uqhX%W0e;kS~pzrUTydfS&zG-nW|sxZC&D91^%h&{3$LDpcju$6S}rV z^q4|4Z>4Cefc@`p&_Awa+IHF>z)L)=?j#}dYk>{hN$VgZU)ntidI<^r3JTpq>tFhM zdamPPm8v8pf1BF^7gXhhy9Mkdkd=iX>T1vSEn*@I>6EA&K3JIiYQ(y_d3mdW+PbK3 z7HLFV;MRp1GrP4+QlF%*YxL86%OhG^_Dvw3jP3Esp$~x9?eZV%#++VER)o%F&fidN zg(Gbu^)7*9sMpQ3TdXI;awy`^u{R#cQ8T<;O(UPpKt&T7P}JIp37EHx`{eOq8SvYv#_3*dOEzIc}xfh z$JnA>l`yRQj$;wh3J-&h(Bdumd_LvWZDTzq#HsGrvHTnpmw$^Xq=%mHr^D_IGW19U z8&U?|r%j3rp%ZySHrc(4W-qZ?BKpWjILq`cw3TY@tkR`(;ue%IPV^VI9nIi5afm;X zwE*6jk8PH7OE1wi-em(<}4vV1v<@p3llO zen|AWgl3pSl`!B8Qx8V#xIMy*8}@E3F|^iXky=nKi~o6baYsrE`Ylf;s5tlV!#)a6 z&J(=JlHWM;TlaF!UD58Iu%hZ|rMS2TvYW3T{iVv9n2-S3@brXLo`?26K0bVj#^;U! zDaOOly|k|nY{dQMPT+hfDtbxrChO%nJq5BPM|BB6axkn5J1wa~*Cqx#eL;u>Vu<)u zQer<|;{+$@XVs{q)W=;OGy`tvy#w7Bg`8I;GnI=qSD>~5PZw9^y{Hc8Z!*s3d>c1xq3+CJ`tA7Q z;i1jLPtVk=Jpg>t-I2V9C=GhHcg@8}=f|gVdzA<=W+JZs7hP}6cG8Unm$&_BKJGIuli28PAm|N z=uU9g0(ZB#d->q07AvL9PP+uG)Y!g%`S@x4_?H&ocJ8mg%C%)p(wi>ej%pTf?w`48 zwUrf?R$30TKgRcdP|@lejF>ITR@7~`%@rmNkPhBiPQ>B7^6xth-@TJ8IIXkQ9f&)x zJ{(_q!_BX8sOd9I%@K%9?3y#FuoO%xu7#??>H##=DAd_JKBaD#O90XWcES2nhapY_pHT3b$=YK>USSi|p@oj0o0mV* z>N7d7WWCvH?h&&hN)XL%eSm(k{=n~nPr6pEqo<~}d$e2x_!USf90j#v=G>AO8otPY z?zz3KEsXX7E@?@QO{Z%&dPrBi3)1$aOM$|6QJxe z$u`ThtM&P0V{4?Va$13Jfgp(eena7@uu|Y%;h5)lDdUyy+=&S$y_-i3B(-ED0$Z7h zBkeYNdvTM0`*qqo>e`rPk2sPKA6w-3Yt@&{NUS%0m0WMMWlehiHEsA4CF+t5+(`g{ z2H>JJ*Zam}LO|ul7UAH1F{jw#r5~Iqv$x;Z(SyNlb5LCDOpm7LM_UCia5qR&NPK^L>zyXUa|9ma^RGlf zn%@C+j^Q!%rT=PpU0fL<1sjepJtlATCpf$;?ad(Rrpp;cl8 zy99|i;M?}l@q(-MJ+S;dW|gB*^|WuFyuNe=(#q6Tc@yvNOxwEJ+HM?d&H_0*J3E`B zYOc&r6)&rB>2Affi1?Ts-lzEF|VuR?rB<2&$`oJaNzvMM2Bpu`2j@*bcxl zdXzI+$8}GWn=-`16Fr>s{kq1ytw;7M^WOWkf6g0-^Y>{i(aMEG=37m{Wa)a@YO^2N z(K;^`i5wiyzNEHZ@6UFm9LNjYi^HoqEV^(-(j@$AJfImozK)IQUgr%BN&x2GZ#ehT z(9i&GZcGRGGXZLA8=G#EQcw=FiYozmy9LhNY5QiiX~s=j?E{vu*Xx3_C2 ztnor;R{)o9kdy75Qs>;SXI_35lrbXCnHQHuAj3`u@l@(DvGa6Tq7glI*)4N7%7v1w zCo`h*2-IEQgY7#>!uSq%w3aN~ucE#ww7w?{SJP^GwRO#$+)g!Wtev4>+_K2`kD|;Rz~G-|JKDRm=icaO zBsJc7=Ld_p@y897+e42~CKIg&rxt@zT(u_MR8AybfG;DXbg7m#SLe};aQo%8@loAoYB!5e(RYjwHePPJ zj;%V=J#gRYjK2%vCP89`y$`A0fYYc8$=M*=w*wlG_3cCD9Mx&e*C=&>Mu9efa)lat zZmmW<9dlcUr-U1r2$e-&UFpZ!qluDP^=HQ6Pcv0letjt{_8u-fjuuFkGbZ9+i9Ock z-}$Z_I`-*<=|T+x?N#7)nE+qAN`4;o+(J{1NhTs53~7PVOo6atoAcRmQ+94{Wj*t= z3H>huGSL_KtZB~Lt+0Bsz4T^| z#6ACl(QQm?DzRiItMxkGg8*^puQ0C2@&N^9DU#fZmIe|u8Ahp%&+#ZoLN=dWg?g!S z^t9;ws0hjfI%?{7?Xyva>oDb{Gu^kl_(3oN-fB2&93Bh<(n{=_3?_2uhg4g891EK7 zOqp1eT8)zdbVIz9&_}Cbzi!=Ye0ASwYP=o&4@>R@nN> zrK`ElRWKUI;6~GZJju7&nCQ>;$7otBSbjFh+xhnhCH|@PulDv(Ceg>snv`qnyUmeC zOV6P=s^bibR#nzH`)U-r6`6sYOBjjue;zk8GZU-t?KWBO1FJd5*Y3AvY6Zp%`}mi=qbeEWtda%OD9vvLcb}ZS6KUFLp()WmqaK z0{4C;P(3_d=>@v<|BWAYiX>!_;)nyl&JZD)-3RpnEO>GVBH|7`>UJ1r5aJ9+)KtYP z=mH9jCIdvdOFhs*){@=>vKBz8e6X~Y=fhlR5G7NN(&$cQ_@nm>NXhqp)7Hr$AXi6eji7>7iZJ($Jz1c7nn9q>gI*sH~8g9Vab|6`^>L!FI8ZAGpJW)o<8To}BvDv2Ar`V7i0} z72rf*_V>cwmGKHtw|qRu`THO}e?wf!yu7Bmdf1eA-ml*BLRlio|673LZ)J&fC7iwD zWh)#Pm7x;&Bo$2EZd^KCTwDyJ)@8!2ebEtG$w@{3qD*`>swoXV5_G2wHE_~Pmi#1`1b^{Q|RsieDl~Zq#c01x8uYXHT$U-3V z2c}ATk7OUO)WhZundAkn7?3w!x^xMoCY#wQ-jvvwIL|605K>AXKqz+S&Uk~*Ih5OY}KD9Je(@w3oa#__em>eu`enKecCE0pGSpZ9!lOQjQ{P%)1UuHir5X3DtMp?o*t)_Uh|5d=_}M@FA% zNFXO+O|R3oc6ZXsrJ@6~f!tlW-LBAG4D<&!<^KuI2#4u};Xh4}&}4|0y`{1Uz`tx( z)S@F#ymUryhY@SMH2k5e;C2SvW!D(kwqvD8prm6`%M0F;L*NURW470#eyl02HhZ0+ z&cg|_ipenu7|p5s~O+AN8faTE-vzHbjJ;j>C>02!O;pZLKu_Vk zJ~7_k52T$5M1IR=o=;YWgYGq`WQcEY_1BlM>mjsGx6w55dKb&OOu(z^4#7PfI#m!6 z%jBdDJ>LQ8tgk}0c+D`m=yvh)Yp>jUPHYPZJq+JqzJ%1605WdIyEa~R? zdXh$DcIzPP;jJiXy|KzV5Q$%owojRcq~g;A2sB|`mdMDU5Tf``oJ;Zx%Hh=`TT8(q8bu1iU-(TF z5Gu-76NphGqw(&Oo3R6`9b4I#0fP28NuLe#{A@_S^OuaW%4N}rM=ZTwwJG%25t61n ze*o082r`q32j@Yj_+~dll7y4N!u$eX{^FM&Q2H=ZhA0Si(cvWtxNJ7h6_$rO0fkCY z?3%p%k2n%FcFd*eqPE^#XO@UVPWjpF!ImAPN~!I5EZmJVX6>bbPFmL(=Z$HuUZS6CWLw z>2p+4>H%zFX?ZzQ`L2lD`_6^KXQfyY%owIBMtqPBQp#aZNm~hzaJ?L z+^OZ1h?uQXQ#?C0-a691*NZRPVRe z8_H1qHeW6O&xKxmFRiB$8UELaF(b~I|NdikZH81^klPKgSv=#^t+hWL6chXgRM~$M z)TE-(U|%e@1~(xv3i2{cO5@YO0z13wUOH^~d;(6Fs~7A)J95dfrngr)IF0tB%eQS$ zj#wZX$vJcmHp6{Z_K%5!#HKMp5uE_}?N9_BjW(Q)f>r=kp&q^1{2E>OOr@Q;qkj>1 zRhQpmU$`>Wc`-8n&NVb#(iSe0(!-yrPu%M!mUn?4H{g;a{Q9*LFkl${%<>*XTA@V|}c6DQPGv1>JZ49Bwaw-EVrx?5rFpc*9~(5ZH~CTWCm0b#%_WAisN+ zu>!@eWd%ieeokwd+dS|C%*&u(xCtY*iKZtj6vxi~~hmtbJJX+zLT(&m(%O*C@p6)kp#GxoI<#(E2;znnc zNsM{^3>IoDnRA4-5;xfzjhL|`Lxsix?s~(Zlq7K{nrmBU;RHEnpQ`u=77>)MIsWd; zdSIvln*g(WEE4i@3h({rj{nd2rC>KT9St}75k07KA$ad%Nz~zJx6_%%j4_5lx6#!svzn?Z;P9{3*U*`8 z#BLvYqVO(gNCGk5ARd9aGmV*$1*dF)IZw@EWiUdX8( zf*KA~O#J+VY8n8(yQ@WrvJk?;B-KzF4t2$mUuuutOMw2LcCU69IqEhH@C)#)?Hw@| zW6CKJUG)nIMC<-E@p{_D$7O78Qvr3D@;r|AE0>9#Dngy2gaZf%{=VC&UqgIBm_Qj? z>#`2xuiuz<%QMOm>qeu#`R7JOlIRAKpJSR&3B}lxDO}vaDKI`qL*tUwyBMg?n%ET@CIlkL!@&PV zoNu8g8zLTqPB)J&pCf#IW?+q~?ouD^C1mkRd9o0IOz`J$6JxdBZR;*iN$wGQ~PvaJf|My6ox}7nU3;v|`!Lg0Sm$6LF6lB3-vvkSkb&dru z+q25S1Gue!6Lk@2jl!_)OJ|nk}=*}X~1z% zz)yX>9z(>>o!@u0*pYyEo}HbAkaI!^V{T<7e}p6nN}q@zf-H^#{RVHS0U=@s&fwu% zJ~_h&b^LlYG~x*yM19B zRQW-mo^4xngi{x!b>ygyjE!0HQf7BWfGP`i`1JHyfEOWY8D>ksG9l(o5*$d~fPQ+; z06*DGK1`Blj*y%`A?8rWsg}JN3yAnU9dHrBUxhFBaTJ+=EWZ2f<80L<79wnM;A^)S zdBx4{v7%7Z-0hcXyW01((a?qGK!(P=z^S)feRubEBm(NewXqU;uDNq3)csE;`cr-3 zDZIF;AsAqQX;D>G#SUmT;9`lEMs4HLnb^Jt6j{~PZoqCs<$0TpEz$W2L1VhTTUL;g z>bFd+Bxl1H?>qh?4)RyYMn_}U273g~3lidv4=t3bX5J)BZzYHRpnt>lLBKWV0t4*cX4Di=f|p7gkz$ z)H)mx5bfRI!yv)UNgKYuyL)=FAfkXEf)IR5K3El{LX3EBK&mu!9Dx2O5Vz|p{Lsu- zkwrCc0CeN$gO&AaN=lmtH-g;|kHNY)z@cludsN^+E~LD;lW|q}@z@g83QbjIMX`1J zeEB;~VYYQ#v~Iy-O-r756eHEQ=)Dz{0vaT_V3E!_d(diwK$JH8DT0U_?**^CgA)r( z#9inlyjBYgF>Lq$#Sl-pFBd@b?}RQBkQ;8OG@Y^p_kQ|78O`G(98ZrOGus>y*G_I* zB~0scv*p&{zq9~9XK@cs9+tY2|CRna!1N#=Wt7HbsS>fBcP-5}@3L|9X9X3*=mG zZZ3+DV~q|A4~HIQzVvV=f|GXrW~dFM>7^3JJ9FW};ft5@i75kGV|p$tXC_Oo?d;0b zTl~L2>a(jNBEI3>=YQDQwz=K#i{*_kkS#(M*x9iZc@`(fNha*SMYCk-59#t*K*m+z z2ND}lbXHnf)(<*l*Of9;%E$`cIoH?B*I_@m? z-b(D^v-=6M*wj?8d%?!D2TiRCv|;;A>0x~EuWS3SuN!FpX(+l!mSRFY9yh*Q%GkbS zp6hI*TckwVcU_2tUR^)@hcTkv`2&&WNBMl+mODG?*D}> z1t5PCoUNeN%vEK5^L(ot>P`S*LXK-+rRRLIPn5a*2Gapc=P>bVj^v}3WENnYD zI(|7nI|lELu~w#XHN;YZTxiJ=#e-$wdSX^nd(^KkwXzLm%gFflh9y`ULu{O%8(NG=^Qv5M@8q;RzUqHTrDP=d6k0DlBPn;zSZU zhCJ_vb%_~Y%>H23BtU&kV-%eKKxt+Xbo-o(F!)`V5Dm&Kx9E6GyZA|&H|9?`irxoH zoYDvRbRP2M?T}?BN_&o6A9KlDoxld($+3 zC%+m1MIQSM%0vc3U>)-A?n4(FdO{ZANlDnv$!Z-I!bVpwm^xs}#h9WZem9@_{rmd< z{hQAe|I=Y3>)eZ(OmDr5zc)c+t*uq-uq_y`x+S*s_whWA5##lvOyvTt(yULPU^V&7 zF2u$49t>9uO#)#cz8oJPZ!%EKRE|JsX=ucD|LC}&9#L5{bms@{Qima!kKtrYh@G!) z0SRd`oONZE!#vT__nxMRHgkc7C|^&@V}6^h@)#>SnN223Ih(W0WgMlr)zy_F4FeI1 z7{hHq3~OCDrOwV*#$7yB7V1Pc((8<+24jRjhjJUdp!%$35)h5{nk({=gp75YRaDmL zcv;=zYR0T{rpGP0k@q`HW|2gal#ThHL*v`{_}UC!XCo}u?ZO;)j-TY1TV870#CW(K zd;Vxac;Wu!3tR#kuM~n7>q_wO2~k5zMU1)JEva7f^0mnZfIKplwNzCz`W6MKuZb%` zuz70g^Yw{3fB|+~g-M*caHTue^Pt-^>@?LdGVf91L)cLOn}6c-V$F_ME&VYpQV@J? z9f(|WbQ;xl&PJ|o;`69S&@(9YT9zjk?DdnOr^E`U3+fiCvzD3P(zEn04nlwf;+dLS zIWQI9ze^VlQH29jAtg-9j19R*qS<{{F)Q0kEBks+n|>&)$h%DHQuBE%p2U}Ck%xO; zkfeT%Bhbdkbm*T!z%{Sw8L_%c#_5NQl@5Gy_I8LWo8`664^chxvCD=Ll3!=1r4Tw1 zrhi^4Aew0v3P03UXm-E28|dv_Ma)fs2N$i#V(;Lveer@;t$lrc&_J6ECor|yh)Xj+ z^)T!A)%ytr^UOv_J!qoQg#wG9V10~X72p+va?=I(o{DLHq` zovI&9ut){@WBj0TU+`@;q;yKq>dONDIJSKO7xS2g>{bU-V^m>?PgzwqPrgA;go-0J zFDuIglzPA}LfQd|_%8mqEP@Cjb%e^*frM6o7x&lp>9l<{P{c(;#F%!6TgJg@hQ$_?B>oFQGu-dj`P5 zVFCNF$sgxha2`YCnsxy&MjdBgHT1o9K^()Ec;^P|V3aEB9jJ-s<6q8qCB{ZXG|kx; zvv;ogb{R^2Wk}MFPfSu0zU?!(Gc#=58bG|o6AG(C=d9grRtdet1UDJO;;JEXu4k*U zMHNGQd~`xig-4cNrC^+MaP@kv$W}Q{9LP_J_v!$g_o4qaXlAxt7FWBP6yrV8YfVpd zORj(>YY-e)ad>ZdbPI<*;c2VIC>8awtbbm+hvldAK34aA?D(MBefzZe$ei+hQAO}Q zi?LAOS9Ci1wK!rXPQ36Vjy3wNM9t48h?SwfmU7?01P&WOm;G5=3ln2F4Fj5c+V%ik z?Gch<9I;@c&r!+7!Nk~Gji>%EjUDPDE?)e%h;Y=|lb`8nA9NI};FCW)x<)Ux^k`u5 z?k+jm4~|52;UKq{b%B3}U96d~lgThdkdTmo0K}BnePgN#oJjk!5*cQKBsjp`Knmry z>lerZziV4g0m{viK+ zn*ZrZi2=)|n{b^vSn#EBnGu!#j7p$JA{+P9VyJkweRM>K>_j8@)oDbWPh4Y%*{{oN**gpt>OmP7xQVg$uvoJbBqI0if5QaLFDQW4au4>g{2s%| zo=>y^#W48TAZO;G&pQqWbBC&mwO=-{RE&c>gzdWwnc4@&a+IpinzM3~4h5&8UM+W4 zHpM(ozdZh3D)W;!;;%a0B+S=8(5r9(+eo-p{qbg{hh|o`neThN_D=NU@tJ@fyWJ!N-+H%L&ho>1tB!#{GTt|mnxY^ z{(QYbCG{`IQ=7?baoGnaP2qdgg5FuyO5$!?1wlhkl(;L00^9zM%dENsF_oYx)zd5N zTLiA2i^9^vA_R`pZ43!nmtHr53cJ(fE=1-QYubF-eA8-p70a(~{(0#zXySk?QV`x0 zb9Szf+EJf0uRft z!$>-_x3ja8lueyozh0+kD4l9E3^BD`@~#HfmhxLS@=Ys7EafY^rb~WNBc$-%y?y9^ z6Zp#(&~yaKVm*mrQp#lGWes4}O;uv;m%g0nHEPsgR-SNv(z^|auhVa{3>}Gf1$vD|GK^R$kC^CoRr~d z?faXL+Gk}4tsEFP_@X2U@i3o%s>*fi8XFN2l~zIpL|UX%kdT({5b5qN2`K>q5orWZAR@ViO?P+qCjSMV zd+&F@@8835IOhy?!23S2)|_+AiShI#zpp)cHCJ8hn@ObQz&okE!J5ifPRBg2E52LT zmE(s5=o_A{DDR4Q0=P@x1_mqWEfPO4<}eT}W<1dI#$z!_7c}~ly`_$j%P<^%17%j#>UnmdNfSl3|usNK0AKKrLWE=;6c_3;VsrCRzD+jPXfP0eoMw2cx-2Kw1 zD((_BdN8qx=XKeDUYgu_>@`$b5vxQ0+ODVH$KQ{)oK0aGV&iEvYPoF0TgrE5#NUqP z`he#ySvJ4jxAgJY#-1h=Wxeu)v)}&X1%N?t$is{SpcHNg%O%T>ZgA;yQS_TBsH*ZZ$6X!C9FK(zP_tcS-D zNbbM^N4%(i=*bIqs#ua7McU1cjU*7;z;y(Jl5$zaI*j2~gZZ-RJgpv1kBQ#KDujGs zNC?$I!vh~vHPZzt@vz0#A3RH9)&knywYR&zg6s*E7r!h z###NIE)EadB}EFN1)fh;E&Br+fYQN2DQhU6_?DfWDL z@9)pg2LpZ}QDQN`l16D4l$4k6pA{`%tO~CC)?)e#Rmp?ZP3@q; z!{Q^8y&nNyKYkGED9*y>{h21G8pK=5bEuD^=M@#d;O1CNNMZvpy+@5p4J3?>peQbRp715+W zkJYd}lf~~ML4j-Tdbr+|7K&^c-uv^c=5TqHk)1;p0?$+nCc?zz-ZxG{aNZvnpaPlt ztTpFEZ&NauB7xF$a$U3B-UOgkfDfmeqk&$bAetup0bN6Sap8t8zPP-{ZZqo3qB4DR zJJGYC@Y5Gig7t5htR&~6pmU`s6hC(5OEM+H^Tk|4RXsb23d%m%4dbcG=_d=(HPCDN z<4?bu=BGXV(?6D(S~B@GyzXuPnO@(&a4$%eGnndZjSLY(Zi;qJry(r+THy^-M+DGdNsy?O*rI>Cf@cN7w%A$JTF=O$||-vI%@% zrTbFfk+)i}`WTn?b=uE2cRjjIh)j$KmgH4+;J!t5)yKNL%4@KEvg!H_>#~H1{J*M9 z-4}RRB5G=};2Xda3t)z0MdIhoq@W;ZrFy|C(zihmbiIJCo$~!q=K&mP-pz48N}{Jg zlh@8vZn`!bp3CStnUdMz@Es!A-jNb(nGbRt8~EpcWKM3Pp&9|7ZYT~6iy|oJ9V@Q- zJongrAP%L&HZLXdEHxe$O!)wL9s^(#D@mh_JL%h-V5fF33Nq9cdo2>utE#=*##uBh z*fR!atho{_xjQ%(oSvSR&z~M6{M+;%O_{ic(#B?ID$`D}%p3DD#Y)ZWR-@Yj$WMkq z!qUd%wSPO3(rZ6NCtE3-Nnm%0q3w1^W8JuQz5lgoR7M(mzD|Xqskr!?4(2YUQ7yf~ zkEnTbW8*%+n1HtDC6g`qs!9;jpv$aR=*2N0mMWKlasiusW7g~rV;HrCDO=72Ik$5| zlbcq94r3A;Mx$C#ZzZeSuln@g#qohLaE!5?U;l+aU~q_`z7H;1Eq>Q5wNEQ9M9($F zB_`kHgCl3yUy?zEr*+t|fa%X>^)*3UIE_^p;=_5`>cxJ{Ci3=L&r5(|V(h#420a$B ziu;gabiqX^%+Smt?nPGQSSURPvuK$wdwfCaQ;pA&a{>B7I01H_XWWqtYNCm>TKtqz zXHDNztnd~&TK!3u>uLVC;p|aowW(Cj!&`H)zYkJ&D^K?ul;Zt&^8q|CYv&;4lS6gc zcF$N}dUlgPoNjFMP1f=F54}Q`tpPPuaOX4&oGfsVlg?~kT8L-lKzzqS^G3@*4tCOm zhY7piX5uHL0sx%N&CLzA%g7`P>L~D=JT-VQY>T^ejR1lkf`o5jUWA8@Jdil;S?A$& z!wG+1i&B$5TbTJ*l| z>YP1(`W0mw&+<4tD9r8bFDRA%s!GqF%oOn))F;q#ao$bO94Xu21NIE|V*t75DXj+W z9v+tet2HKyEMZ=YX5lL3VUt4t2OZTH+(GfZDb1dtQJ^%cZJ~p~tO!NMbIML*Ry+|k z`VXq~qNuIy%SEd6aP|Yy1xRmO0@rC6Q`t~NE`g;2l)OJ?sWd)byS8B{#Sq6~x9~n_ zveAG9y0zz&l$iJNR%%{5QOpV7C&JQLmQm0!@<2_)J<)BnKoTcykw_5Gayv}eMUyd{ z$2Q1m9!umsWr^jWwz_)yB+8iNuMyZDzj5)) zEpgMnkt0}do0;bgZQS~RBXDp=AvLimW8{~AdE7ioC?5qrF5nmiV@Y^$GdKi z;DP_h)7$ch{}<`>mix4F$QYh3=7K6@aK*l2Xk>4D_3>_Wa@6)*`84Lv9ZRdq6Xb^+ z(u;!nb8O-HT8so&|E_kFri12TrlX{&Ypt*c+PL>T#-AFx;>}r}9OW4ExG(YSl((rd zCo*ch`1&3o431k(BxjI!Bb&|+d0jvmzqND%QZav4LLafW;k*;3?=tJUoJZS|*}}TO zX}*Ko!<9S1s^vA_8F8DQoVBHw|Ez=;X6s>TZ)-K#y?xl2PGrRMgHdwVUFlt=q$@k3a9 z`&9m6Wu+3GO0IgL5N-4pAHiiGO7WUeFF{afEFDF zOA};_3RVL&8C586F~Gpwd}mq+0R!yI2k68<%i9(Oyv}KPMWa>zmt1mU7@jh-!($wJ ztQyZ@MYenf!@_@mB0t%!ZI5CDF%*Mi1`l2s<*gEH1*T^OF78LcgT_=7gE7PNmW$tU zFOF|sS&Ub=Wx0N<(D*y(8NGReA5Iw;_oQEqrVV=e-RvC3T=IW_U(e^%`nW&4cNk$Z zW&pA=Go(la{yC3-JpI~F?@w=`nV#Y-@7eIS^Ro|csy1Cz@cczm%$-qgH$F;nuHmE{ z(wTu@GpP@ei8XzC2%h=~nvfGthZJLCJzazU_4%PCOo@j_FcpeyvM=S;*7>yR zO(TxJa8#MmZff^aZ@qHq?RddIbHm1KXm@|1i1_$Bm>1!~haU7!DnuvYV>M(eF0j-03Ff<+hnC(>h@*ik zKr+%XCcKL=>1z6-M;0zA_jqIAa-Rk~AE-e3O>5i{Rd7@HW!ZH@S1p~V9ACe94SWRd zB_s6;-z?dx=2j*Ql^h@Edm~RKtvnfSU3FXGbC{88D;sDVJ?<&LqRgaI%(`te+L_j` z7Mu0*5*i(D>FkWIYN38h&U7ot6xmD8ZEHWfGQ7*6L3<19AmO&9Pr3;d8?c0-7Bm8c z5axVTgzrZ+Ndb}6+y!MQk7+(LwQ&rue(h+>!HEieBMsS#VJGN%`7uYE|w&JyrGw zg$Pv{Y?Fz3C?T&G;mt>_!3G&w^7l@!c@CZjL|8n-NA~f!7jK3M!)ri<#&DV!E9dFs z*fD_tJAd*j#HE1ZlG}Mr7e-epZ_W3AsMiCbm7JPdKghBw?B_d&hBN`h1QnN*A&a;i zCM}!vE3&{Qck7D&kRr z8Pc(tz1bDHJJw!w^Se1!Ep?MNPp%KV%=`Oibu-~9fWK3CcUm*G>ngk2?iFKWYCGx7_~0zq7yoA_lqNA+@erfjqEILVxD<@xIy-8eCSAFr-c-*Iv-7-)(wNW+!o_CR9E0O(6rwrlyTB4Ga z$weNH^4KLHnDRKTJ=iAcUc*0qGt9KVCbFOX^XkCKa-{U_&=R(SStA1}RdgT+-**X` zu^S3Xe?qj~+J+xQei`X6UaWSTX^qq7RsW|cJl7>5f()=M2>(LE81O`W`|K|}t(}`# z7693tdKS~z+hg)r!(ztLEu)M_W)~H1!}nS@v%hP=+>{E_r%9IvH4WVfSD8c>k(ot_ zn&|N4q6#o8VlrK<+UDY09KV*gJ-*NW0T95hIk-gvtAFX`{A)l&K*+MtodW_*(EK}; zX;O;s-2I`;4B)JGflje`zwZtH%-%)xq1nn^=*|FRh?Wq+^@9|Q__iu}B0z`zuMw74 zRDdo?KI<-rB?yxBuKG4^s)^CjY+zghwGROv-f#VH9gL35`tnWt(IG}M zbORn^&Sn{9s~F+PliK#9(~HY$JVCLS2xDmd;(0+)(O zqohAFzXVn!M>!9!?%yx`I^eo=b!5GL5$ab9oESinxrW&TTJ-GRQ9Ae%Tegy8qA#R$ z1sD8ZD7k^z0c&?+-F22hdw=dtfX?Bp--wApjAD;jGT<25SblX-u5?%yf>J^3iavK}nJHW48_WhF`O;2rSY-U}i z35w2wnqyZbrRaY1bee1x;#)!b&F>#UwGk)a<>~0i4zTM^*6SvHp!%{Dfm?x>|E(}% z7BmlnkzaZj9k>%s5$g9Nwwm?+iZTA@^7XDb7gft_+zpT#FJno4Cuul}gKw%cdgt_D zt1th{l3EW!iF`&zgY}?f45J)g14QFtHIzFnvYYoY+e`?9Jh9~2Ec^ZFzzmtwGn|K^ z*qU;{3FcjMxkkGT5Jq!s=fB@PH$)1z&{K*RG;#QY}>}jax zg9pAX(=1;<-G58W%cycsvgME2wT*9ZF>reIdU%@un&Pl6JUS*`WC-&#sPs^jJB8lO%AWf{#B<~`<2abO zFf1x7Dtf}fp^~L2K^d9CP%*gTYBqR!AH}U?xK(|nShZVJA=!>g;X7;f`W`EPAo!=L z@vhz?>7Mc#dJ~fV8hggNFT6kpV8%BUv~wZ_a$3~`BW9Da<<~3=ye2QS?D39d0%-~# zYYhcDeC*4qM!3&Q>a%*YMGOC)T&0f~W1Q=N6}4%&$^9f z-$%E`vHRB(`;?f;`ICe$I)0HVZ$_HV$P zaX;|?U%!GLs9ckg9|YKkXs}~0{{Uq)PC$Hoym;jMmT91Pfy02JxjXgb{{!Q#+|tA` z8fndbr?iAfc?}(qe%x6@{l9r-uMsQ(vy+;=x$RshiBVF$_U?R*U;1Jmneyww10 z+FlE3kci31ipFv%*MxR28cV6%-CGN}T7BX8nYn=MW7HY1690XLNTXP*?VxP?8)V{jAO9B`ZG!2klr<|v* zq^+Hllr*y067%5$yGiGllfCd02x5dA(z7NR0Ly?YXB_meJ63R4{pFyKU--#3nv^dn zEY){>{`fi#C{)r&j~G=0f4CCN=Y>d)JWUd%YI^ zR$A}Q?bPSEep!ggX^xZiz5Qq?ey5=Lg->ao4X1gm;>6CryoNbWFAbRKoql{NZiZl8 z+kjt~K7lCvlD7UHlNCT5xEc7o2FU~UW8}^l5?)5J9A!gdhuF(nZ?vBTFPCnx&Mz2T zn?c4YJ7n+JYrUfHku{TG#v5@fEnl!-e%o2sZ$RZfVq{8!?JorG41k;u!Ym4)SKyz? z1_@}877bC}1?mXc<{|atL(X+zs1GSk0_dqIp_H#VIW6<{JIw|F>ViIa&hc1AkG(VOT94C@Q$UqdltK2&P+ z{n|OA^Z$Z-p(dUBz$xwKaW1~z;2*ZwmUGzt{^L?Ktl2ZXw{iLlo&JKozk1fE)A)*8 z7dxzSC+=8P4LeOvxDiml!iyQLpqGfOIhahY-qKPTmu&vXdw#Y3e1>2~)X zJpbTvpAPDun_l-LCFbXKy_S*shni%oPk%kZ)N9*tODB-NyHfW_hmcXr#mH@Xdk1Up zFw|_Nt%>!mzBn9-56c!x_vDs8yxsB%+TZBNzl8D0OT~N^>7<;;*v~4?VS$<9vFMvf zsG+WKW7DpPzr=GIxBc&hpZc2|(@|}CSqm79kbcvQ{h#M>5`^hN0#SsmUZrf&m8F*2 z6|=aG4u?`&V-zoB_jdY6O1w3~_9T8Y*L8}S43mLn$7GmSJ=J8v2=EzYoMyt!=3T2B z*f0T{n^KN4_%IfH`t9-NrqDqzVr}Nx-)E@%)5ZPxNKB@Oja|no z!ZlX$oAJuq$hxaXzXaho424asm!g)X)9+FH;xEhW;!+o{x$ydH#$hWf(&1muQ@>9( zckPQ@q`8IJ;?lycwM((YqN(R{K8~CZsJDRwT;Op028AB>-rfHO+yxxGM#&zI z?Fn3P`Abn3Sv_#P9}(C%shqQ2=YQ=q#0k)Cz?_ih&ZH3O85!Z^0>=>5q4iZ4D)tk4 zgI=xDt#FXX4>R7proy1bY;#zOWZ{Cv@x#LJzw5x`wyuHol>j#op9DPUI7eo?TG#(1 zo#48elJ$kVI0t*N<%`QObp(Al=>B|V_#%}cV34%_-<9A+E2DGXkDLEp2u?kzO3fjJ zW!YmQ&iA%)zTd#NiRA1tdOr?qoTkP91_;P$B^b|zFrIMEQ-3tJc?LX>b}If)5KC|~aCLzg8s<<&zP@}0X_;sF&s|B-lB3-{)z#y`2?c1Qn$cxP zDB8LXfe<*I7X+aTOg*d8E7L|F6<_{mGyRVf>qjCjURdRB2bkJ=N{abEkW8OU3DD`solX3X*_!Uu6uc0zZ+& z>R-mCJ8+YNFCmmP*?!xtc{oUY$Lb4uu#L{&@HmBT$ETn44Y``wZL!j&++}X%QPc+w#HG z5A>T~T>5;qcAoXdl-Vfl z-Oc%RXV2pt9hKH34_~%sX_frSgJXf_blHmavM^=R(Q*%fYlveKJtiaglAn;TW-qN2 z8yFal?7j2c_9*U3w%RNGwz1an3Mb=<(-0?pL8~uCK!=OH9WUn0XA=iv(!>udZwyg| z3W$tFl7iy+s%i{DT)mXFq7y-zuM6Lw{vZtT>%H@1+S<10NptW+J1+C0wwpDMWq=55 z{>e`3HM1x`SI}$55({nlH@98OkOm<+MI<)hVE{TogL_++7sjiDA@*IXz+v_>=Uo|C z;kCNDg{mO-!xL%H>mAyIqXcq%Qd50DXC59x8Z~lq-Ete2;{X1Pu_Jb^9n1n;aIakU zNs$T3gAM!r(%-G{R$4yD*tFx6q%uHk$CFH7yJ*&~16rX_?$8%M$kC@38gKC9+ad!+ zxDhOXFFDH}=gv12weVk827L=JSC`Q7 z3Yg#)^mpe6&Z3U4JO{Kw0rhe^Iwu`s2{9>H7x`&{1gha+odUu-wJ;qdT{cwSjU^TKR^S)rB> zMexJv0`+2yGWXOK2{*{=J?UjkLv?~m63e#8Cg9d_nO$#z=RrmG!a`SL$^)@tkFAc1 z)st5fepiW!e~mMa(ditN4^FC;J9oTm-D$N$(xFgRaeW+qj;q5Z4hI4FMMmL$#8>n( zv-c-rPRL_g68Y?YZC^f|O4C_GAG+Y%SuzLFGc1b<9F)oAw6!;vk9@R4ILHd@Qbo;6 zj88TBM?D-a%}zqbo*d7VK!33c9hYHDXSg=UoIL?V&FiFsBFWoh3tF|4xA+U3$oo3guU zLhOvF7wViZM_NrpF1d(SDbwGAG8{6fBo!hkr|sROED`}C3`@#2F)ag$r%wuIcnkiT z71|*4qG07gN7BNR?G$UumP{j^lWtGI&ERiS=8dg4)G%-Ft65oXeZ&+CT119KR)P>0 z-Xu5xEeDJ9-~z3xN~CN`A`XUn5OPwX-hhMf8Ug+9rY7K|OX5;KCIqw@Uh@}v{gfi& zIT+72PR_@E`S_gjtVtcW?pxdr24#*ESiD@eVf^1)2a5G&fa}wQsBd9GRW4fK@^DbP ztcpKlkcUg)iWS%28-l3lJ(ik_$;&w5A(Q#^Ow}`8!&cd49g2@By`VmbI1SL#{R#D= z{#QLu8D*1kzu=8dHB<<6`cJk<{H2;FZBpeTgSR&)ZM`FFgW+s}PN@x@UjMK?Dc`Kp z9Z_$Npz_5RIpzND!anllN^A!+YM=`9%F6+<cX=FEprTOCbrRMCrXx;W@vHO7+h2w#fnBndGBY8| zo&o%jKQzn)M63%fDg##Bx$_&{Dx>>jh1+xh@?k1odNrg`aKaX?MTiw}hvZJpskY5^ zJg1Srp9v4^&32c-;ffPw!>XPkezY zF|2=ML&GsXb@sz-_5ODWKC?{I(jx+6nyw-v{QIYviRh_|a`kOr3XTADb(H^> zFk>DF91!%)w14DwbA22intvbmo(AS#<>`>Y-m22U;p?#)Z3>6MyNr@0zF#s0k*hcS z4qv~^LOei2GGg-=J*9G?RQb$Ke3DZddF-JT6O5-E9fM4Nb+BX=nl~7`FW-^;aZ3CO ziik9P76}0zNm}os3-1WVL!c3$5>M@bAGKn*-LME8^8n2fkCeiJ`vq#!acjT&aWLhO z!$W}S0YaSt7u)br$3|xzwy$!5-1P}n_`$q+E f_a_v+BGLf0I60RM`z@*iQfOSM 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.4.4", +# "diagrams>=0.23.4", +# ] +# /// from __future__ import annotations from pathlib import Path @@ -25,12 +32,21 @@ MY_DIR = Path(__file__).parent MY_FILENAME = Path(__file__).with_suffix("").name -COMPONENT_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "component.png").as_posix() -CONDITION_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "condition.png").as_posix() -SHARED_STATE_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "shared_state.png").as_posix() -TERMINAL_STATE_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "terminal_state.png").as_posix() -SENSOR_STATE_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "sensor_state.png").as_posix() -DEFERRABLE_STATE_IMG = (MY_DIR.parents[1] / "diagrams" / "task_lifecycle" / "deferrable_state.png").as_posix() +MY_DIR = Path(__file__).parent +MY_FILENAME = Path(__file__).with_suffix("").name +AIRFLOW_SOURCES_ROOT = MY_DIR.parents[2] +DIAGRAMS_DIR = AIRFLOW_SOURCES_ROOT / "devel-common" / "src" / "docs" / "diagrams" +PYTHON_MULTIPROCESS_LOGO = DIAGRAMS_DIR / "python_multiprocess_logo.png" +PACKAGES_IMAGE = DIAGRAMS_DIR / "packages.png" +DATABASE_IMAGE = DIAGRAMS_DIR / "database.png" +MULTIPLE_FILES_IMAGE = DIAGRAMS_DIR / "multiple_files.png" +CONFIG_FILE = DIAGRAMS_DIR / "config_file.png" +COMPONENT_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "component.png").as_posix() +CONDITION_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "condition.png").as_posix() +SHARED_STATE_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "shared_state.png").as_posix() +TERMINAL_STATE_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "terminal_state.png").as_posix() +SENSOR_STATE_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "sensor_state.png").as_posix() +DEFERRABLE_STATE_IMG = (DIAGRAMS_DIR / "task_lifecycle" / "deferrable_state.png").as_posix() STATE_NODE_ATTRS = {"width": "4.16", "height": "1", "fontname": "Monospace", "fontsize": "20"} COMPONENT_NODE_ATTRS = { From 6931f3a1a5e6ecbac967a7082dcafeb031c35613 Mon Sep 17 00:00:00 2001 From: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Date: Sat, 21 Jun 2025 16:34:13 +0200 Subject: [PATCH 025/381] Remove FAB dependency from Edge3 Provider (#51995) * Remove FAB dependency from Edge3 Provider * Uuups, pytests needed adjustment --- providers/edge3/pyproject.toml | 2 - .../edge3/plugins/edge_executor_plugin.py | 357 +++++++++--------- .../plugins/test_edge_executor_plugin.py | 6 +- 3 files changed, 179 insertions(+), 186 deletions(-) diff --git a/providers/edge3/pyproject.toml b/providers/edge3/pyproject.toml index c111dd424e901..302d6f2afafd8 100644 --- a/providers/edge3/pyproject.toml +++ b/providers/edge3/pyproject.toml @@ -58,7 +58,6 @@ requires-python = "~=3.9" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", - "apache-airflow-providers-fab>=1.5.3", "pydantic>=2.11.0", "retryhttp>=1.2.0,!=1.3.0", ] @@ -68,7 +67,6 @@ dev = [ "apache-airflow", "apache-airflow-task-sdk", "apache-airflow-devel-common", - "apache-airflow-providers-fab", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py index 2d06f78e7b975..a8a4f5b374018 100644 --- a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +++ b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py @@ -17,184 +17,179 @@ from __future__ import annotations -import re -from datetime import datetime, timedelta -from pathlib import Path -from typing import TYPE_CHECKING, Any - -from flask import Blueprint, redirect, request, url_for -from flask_appbuilder import BaseView, expose -from markupsafe import Markup -from sqlalchemy import select - from airflow.configuration import conf from airflow.exceptions import AirflowConfigException -from airflow.models.taskinstance import TaskInstanceState from airflow.plugins_manager import AirflowPlugin from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS -from airflow.utils.state import State if AIRFLOW_V_3_0_PLUS: - from airflow.api_fastapi.auth.managers.models.resource_details import AccessView - from airflow.providers.fab.www.auth import has_access_view - -else: - from airflow.auth.managers.models.resource_details import AccessView # type: ignore[no-redef] - from airflow.www.auth import has_access_view # type: ignore[no-redef] -from airflow.utils.session import NEW_SESSION, provide_session -from airflow.utils.yaml import safe_load - -if TYPE_CHECKING: - from sqlalchemy.orm import Session - - -def _get_airflow_2_api_endpoint() -> Blueprint: - from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED - from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver - - folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ - with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: - specification = safe_load(f) - from connexion import FlaskApi - - bp = FlaskApi( - specification=specification, - resolver=_LazyResolver(), - base_path="/edge_worker/v1", - strict_validation=True, - options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, - validate_responses=True, - validator_map={"body": _CustomErrorRequestBodyValidator}, - ).blueprint - # Need to exempt CSRF to make API usable - from airflow.www.app import csrf - - csrf.exempt(bp) - return bp - - -def _get_api_endpoint() -> dict[str, Any]: from airflow.providers.edge3.worker_api.app import create_edge_worker_api_app - return { - "app": create_edge_worker_api_app(), - "url_prefix": "/edge_worker/v1", - "name": "Airflow Edge Worker API", - } - - -def _state_token(state): - """Return a formatted string with HTML for a given State.""" - color = State.color(state) - fg_color = State.color_fg(state) - return Markup( - """ - {state} - """ - ).format(color=color, state=state, fg_color=fg_color) - - -def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: - if maintenance_comment: - if re.search( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment - ): - return re.sub( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): - return re.sub( - r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" - return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" - - -# registers airflow/providers/edge3/plugins/templates as a Jinja template folder -template_bp = Blueprint( - "template_blueprint", - __name__, - template_folder="templates", -) - - -class EdgeWorkerJobs(BaseView): - """Simple view to show Edge Worker jobs.""" - - default_view = "jobs" - - @expose("/jobs") - @has_access_view(AccessView.JOBS) - @provide_session - def jobs(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_job import EdgeJobModel - - jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() - html_states = { - str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() + def _get_api_endpoint() -> dict[str, Any]: + return { + "app": create_edge_worker_api_app(), + "url_prefix": "/edge_worker/v1", + "name": "Airflow Edge Worker API", } - return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) - - -class EdgeWorkerHosts(BaseView): - """Simple view to show Edge Worker status.""" - - default_view = "status" - - @expose("/status") - @has_access_view(AccessView.JOBS) - @provide_session - def status(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel - - hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() - five_min_ago = datetime.now() - timedelta(minutes=5) - return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) - - @expose("/status/maintenance//on", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def worker_to_maintenance(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import request_maintenance - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" - request_maintenance(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) - @expose("/status/maintenance//off", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker_from_maintenance(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import exit_maintenance - - exit_maintenance(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//remove", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import remove_worker - - remove_worker(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//change_comment", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def change_maintenance_comment(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import change_maintenance_comment - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = modify_maintenance_comment_on_update(maintenance_comment, current_user.username) - change_maintenance_comment(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) +else: + # This is for back-compatability with Airflow 2.x and we only make this + # to prevents dependencies and breaking imports in Airflow 3.x + import re + from datetime import datetime, timedelta + from pathlib import Path + from typing import TYPE_CHECKING, Any + + from flask import Blueprint, redirect, request, url_for + from flask_appbuilder import BaseView, expose + from markupsafe import Markup + from sqlalchemy import select + + from airflow.auth.managers.models.resource_details import AccessView + from airflow.models.taskinstance import TaskInstanceState + from airflow.utils.session import NEW_SESSION, provide_session + from airflow.utils.state import State + from airflow.utils.yaml import safe_load + from airflow.www.auth import has_access_view + + if TYPE_CHECKING: + from sqlalchemy.orm import Session + + def _get_airflow_2_api_endpoint() -> Blueprint: + from airflow.www.app import csrf + from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED + from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver + + folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ + with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: + specification = safe_load(f) + from connexion import FlaskApi + + bp = FlaskApi( + specification=specification, + resolver=_LazyResolver(), + base_path="/edge_worker/v1", + strict_validation=True, + options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, + validate_responses=True, + validator_map={"body": _CustomErrorRequestBodyValidator}, + ).blueprint + # Need to exempt CSRF to make API usable + csrf.exempt(bp) + return bp + + def _state_token(state): + """Return a formatted string with HTML for a given State.""" + color = State.color(state) + fg_color = State.color_fg(state) + return Markup( + """ + {state} + """ + ).format(color=color, state=state, fg_color=fg_color) + + def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: + if maintenance_comment: + if re.search( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment + ): + return re.sub( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): + return re.sub( + r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" + return ( + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" + ) + + # registers airflow/providers/edge3/plugins/templates as a Jinja template folder + template_bp = Blueprint( + "template_blueprint", + __name__, + template_folder="templates", + ) + + class EdgeWorkerJobs(BaseView): + """Simple view to show Edge Worker jobs.""" + + default_view = "jobs" + + @expose("/jobs") + @has_access_view(AccessView.JOBS) + @provide_session + def jobs(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_job import EdgeJobModel + + jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() + html_states = { + str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() + } + return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) + + class EdgeWorkerHosts(BaseView): + """Simple view to show Edge Worker status.""" + + default_view = "status" + + @expose("/status") + @has_access_view(AccessView.JOBS) + @provide_session + def status(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel + + hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() + five_min_ago = datetime.now() - timedelta(minutes=5) + return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) + + @expose("/status/maintenance//on", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def worker_to_maintenance(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import request_maintenance + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" + request_maintenance(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//off", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker_from_maintenance(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import exit_maintenance + + exit_maintenance(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//remove", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import remove_worker + + remove_worker(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//change_comment", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def change_maintenance_comment(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import change_maintenance_comment + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = modify_maintenance_comment_on_update( + maintenance_comment, current_user.username + ) + change_maintenance_comment(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) # Check if EdgeExecutor is actually loaded @@ -209,21 +204,19 @@ class EdgeExecutorPlugin(AirflowPlugin): name = "edge_executor" if EDGE_EXECUTOR_ACTIVE: - appbuilder_views = [ - { - "name": "Edge Worker Jobs", - "category": "Admin", - "view": EdgeWorkerJobs(), - }, - { - "name": "Edge Worker Hosts", - "category": "Admin", - "view": EdgeWorkerHosts(), - }, - ] - if AIRFLOW_V_3_0_PLUS: fastapi_apps = [_get_api_endpoint()] - flask_blueprints = [template_bp] else: + appbuilder_views = [ + { + "name": "Edge Worker Jobs", + "category": "Admin", + "view": EdgeWorkerJobs(), + }, + { + "name": "Edge Worker Hosts", + "category": "Admin", + "view": EdgeWorkerHosts(), + }, + ] flask_blueprints = [_get_airflow_2_api_endpoint(), template_bp] diff --git a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py index 52e837387502e..178625c4cf42c 100644 --- a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py +++ b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py @@ -54,11 +54,12 @@ def test_plugin_active(): rep = EdgeExecutorPlugin() assert EDGE_EXECUTOR_ACTIVE - assert len(rep.appbuilder_views) == 2 if AIRFLOW_V_3_0_PLUS: - assert len(rep.flask_blueprints) == 1 + assert len(rep.appbuilder_views) == 0 + assert len(rep.flask_blueprints) == 0 assert len(rep.fastapi_apps) == 1 else: + assert len(rep.appbuilder_views) == 2 assert len(rep.flask_blueprints) == 2 @@ -73,6 +74,7 @@ def test_plugin_is_airflow_plugin(plugin): assert isinstance(plugin, AirflowPlugin) +@pytest.mark.skipif(AIRFLOW_V_3_0_PLUS, reason="Plugin endpoint is not used in Airflow 3.0+") @pytest.mark.parametrize( "initial_comment, expected_comment", [ From 46385565a7f2589b53c6353f4f8a500a333d364d Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 21 Jun 2025 18:03:26 +0200 Subject: [PATCH 026/381] Revert "Remove FAB dependency from Edge3 Provider (#51995)" (#51998) This reverts commit 6931f3a1a5e6ecbac967a7082dcafeb031c35613. --- providers/edge3/pyproject.toml | 2 + .../edge3/plugins/edge_executor_plugin.py | 357 +++++++++--------- .../plugins/test_edge_executor_plugin.py | 6 +- 3 files changed, 186 insertions(+), 179 deletions(-) diff --git a/providers/edge3/pyproject.toml b/providers/edge3/pyproject.toml index 302d6f2afafd8..c111dd424e901 100644 --- a/providers/edge3/pyproject.toml +++ b/providers/edge3/pyproject.toml @@ -58,6 +58,7 @@ requires-python = "~=3.9" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", + "apache-airflow-providers-fab>=1.5.3", "pydantic>=2.11.0", "retryhttp>=1.2.0,!=1.3.0", ] @@ -67,6 +68,7 @@ dev = [ "apache-airflow", "apache-airflow-task-sdk", "apache-airflow-devel-common", + "apache-airflow-providers-fab", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py index a8a4f5b374018..2d06f78e7b975 100644 --- a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +++ b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py @@ -17,179 +17,184 @@ from __future__ import annotations +import re +from datetime import datetime, timedelta +from pathlib import Path +from typing import TYPE_CHECKING, Any + +from flask import Blueprint, redirect, request, url_for +from flask_appbuilder import BaseView, expose +from markupsafe import Markup +from sqlalchemy import select + from airflow.configuration import conf from airflow.exceptions import AirflowConfigException +from airflow.models.taskinstance import TaskInstanceState from airflow.plugins_manager import AirflowPlugin from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS +from airflow.utils.state import State if AIRFLOW_V_3_0_PLUS: + from airflow.api_fastapi.auth.managers.models.resource_details import AccessView + from airflow.providers.fab.www.auth import has_access_view + +else: + from airflow.auth.managers.models.resource_details import AccessView # type: ignore[no-redef] + from airflow.www.auth import has_access_view # type: ignore[no-redef] +from airflow.utils.session import NEW_SESSION, provide_session +from airflow.utils.yaml import safe_load + +if TYPE_CHECKING: + from sqlalchemy.orm import Session + + +def _get_airflow_2_api_endpoint() -> Blueprint: + from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED + from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver + + folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ + with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: + specification = safe_load(f) + from connexion import FlaskApi + + bp = FlaskApi( + specification=specification, + resolver=_LazyResolver(), + base_path="/edge_worker/v1", + strict_validation=True, + options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, + validate_responses=True, + validator_map={"body": _CustomErrorRequestBodyValidator}, + ).blueprint + # Need to exempt CSRF to make API usable + from airflow.www.app import csrf + + csrf.exempt(bp) + return bp + + +def _get_api_endpoint() -> dict[str, Any]: from airflow.providers.edge3.worker_api.app import create_edge_worker_api_app - def _get_api_endpoint() -> dict[str, Any]: - return { - "app": create_edge_worker_api_app(), - "url_prefix": "/edge_worker/v1", - "name": "Airflow Edge Worker API", + return { + "app": create_edge_worker_api_app(), + "url_prefix": "/edge_worker/v1", + "name": "Airflow Edge Worker API", + } + + +def _state_token(state): + """Return a formatted string with HTML for a given State.""" + color = State.color(state) + fg_color = State.color_fg(state) + return Markup( + """ + {state} + """ + ).format(color=color, state=state, fg_color=fg_color) + + +def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: + if maintenance_comment: + if re.search( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment + ): + return re.sub( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): + return re.sub( + r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" + return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" + + +# registers airflow/providers/edge3/plugins/templates as a Jinja template folder +template_bp = Blueprint( + "template_blueprint", + __name__, + template_folder="templates", +) + + +class EdgeWorkerJobs(BaseView): + """Simple view to show Edge Worker jobs.""" + + default_view = "jobs" + + @expose("/jobs") + @has_access_view(AccessView.JOBS) + @provide_session + def jobs(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_job import EdgeJobModel + + jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() + html_states = { + str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() } + return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) -else: - # This is for back-compatability with Airflow 2.x and we only make this - # to prevents dependencies and breaking imports in Airflow 3.x - import re - from datetime import datetime, timedelta - from pathlib import Path - from typing import TYPE_CHECKING, Any - - from flask import Blueprint, redirect, request, url_for - from flask_appbuilder import BaseView, expose - from markupsafe import Markup - from sqlalchemy import select - - from airflow.auth.managers.models.resource_details import AccessView - from airflow.models.taskinstance import TaskInstanceState - from airflow.utils.session import NEW_SESSION, provide_session - from airflow.utils.state import State - from airflow.utils.yaml import safe_load - from airflow.www.auth import has_access_view - - if TYPE_CHECKING: - from sqlalchemy.orm import Session - - def _get_airflow_2_api_endpoint() -> Blueprint: - from airflow.www.app import csrf - from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED - from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver - - folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ - with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: - specification = safe_load(f) - from connexion import FlaskApi - - bp = FlaskApi( - specification=specification, - resolver=_LazyResolver(), - base_path="/edge_worker/v1", - strict_validation=True, - options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, - validate_responses=True, - validator_map={"body": _CustomErrorRequestBodyValidator}, - ).blueprint - # Need to exempt CSRF to make API usable - csrf.exempt(bp) - return bp - - def _state_token(state): - """Return a formatted string with HTML for a given State.""" - color = State.color(state) - fg_color = State.color_fg(state) - return Markup( - """ - {state} - """ - ).format(color=color, state=state, fg_color=fg_color) - - def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: - if maintenance_comment: - if re.search( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment - ): - return re.sub( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): - return re.sub( - r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" - return ( - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" - ) - - # registers airflow/providers/edge3/plugins/templates as a Jinja template folder - template_bp = Blueprint( - "template_blueprint", - __name__, - template_folder="templates", - ) - - class EdgeWorkerJobs(BaseView): - """Simple view to show Edge Worker jobs.""" - - default_view = "jobs" - - @expose("/jobs") - @has_access_view(AccessView.JOBS) - @provide_session - def jobs(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_job import EdgeJobModel - - jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() - html_states = { - str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() - } - return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) - - class EdgeWorkerHosts(BaseView): - """Simple view to show Edge Worker status.""" - - default_view = "status" - - @expose("/status") - @has_access_view(AccessView.JOBS) - @provide_session - def status(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel - - hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() - five_min_ago = datetime.now() - timedelta(minutes=5) - return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) - - @expose("/status/maintenance//on", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def worker_to_maintenance(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import request_maintenance - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" - request_maintenance(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//off", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker_from_maintenance(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import exit_maintenance - - exit_maintenance(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//remove", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import remove_worker - - remove_worker(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//change_comment", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def change_maintenance_comment(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import change_maintenance_comment - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = modify_maintenance_comment_on_update( - maintenance_comment, current_user.username - ) - change_maintenance_comment(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) + +class EdgeWorkerHosts(BaseView): + """Simple view to show Edge Worker status.""" + + default_view = "status" + + @expose("/status") + @has_access_view(AccessView.JOBS) + @provide_session + def status(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel + + hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() + five_min_ago = datetime.now() - timedelta(minutes=5) + return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) + + @expose("/status/maintenance//on", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def worker_to_maintenance(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import request_maintenance + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" + request_maintenance(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//off", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker_from_maintenance(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import exit_maintenance + + exit_maintenance(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//remove", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import remove_worker + + remove_worker(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//change_comment", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def change_maintenance_comment(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import change_maintenance_comment + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = modify_maintenance_comment_on_update(maintenance_comment, current_user.username) + change_maintenance_comment(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) # Check if EdgeExecutor is actually loaded @@ -204,19 +209,21 @@ class EdgeExecutorPlugin(AirflowPlugin): name = "edge_executor" if EDGE_EXECUTOR_ACTIVE: + appbuilder_views = [ + { + "name": "Edge Worker Jobs", + "category": "Admin", + "view": EdgeWorkerJobs(), + }, + { + "name": "Edge Worker Hosts", + "category": "Admin", + "view": EdgeWorkerHosts(), + }, + ] + if AIRFLOW_V_3_0_PLUS: fastapi_apps = [_get_api_endpoint()] + flask_blueprints = [template_bp] else: - appbuilder_views = [ - { - "name": "Edge Worker Jobs", - "category": "Admin", - "view": EdgeWorkerJobs(), - }, - { - "name": "Edge Worker Hosts", - "category": "Admin", - "view": EdgeWorkerHosts(), - }, - ] flask_blueprints = [_get_airflow_2_api_endpoint(), template_bp] diff --git a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py index 178625c4cf42c..52e837387502e 100644 --- a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py +++ b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py @@ -54,12 +54,11 @@ def test_plugin_active(): rep = EdgeExecutorPlugin() assert EDGE_EXECUTOR_ACTIVE + assert len(rep.appbuilder_views) == 2 if AIRFLOW_V_3_0_PLUS: - assert len(rep.appbuilder_views) == 0 - assert len(rep.flask_blueprints) == 0 + assert len(rep.flask_blueprints) == 1 assert len(rep.fastapi_apps) == 1 else: - assert len(rep.appbuilder_views) == 2 assert len(rep.flask_blueprints) == 2 @@ -74,7 +73,6 @@ def test_plugin_is_airflow_plugin(plugin): assert isinstance(plugin, AirflowPlugin) -@pytest.mark.skipif(AIRFLOW_V_3_0_PLUS, reason="Plugin endpoint is not used in Airflow 3.0+") @pytest.mark.parametrize( "initial_comment, expected_comment", [ From afbe2372423dc3a14a0421d9620a38ee963b3a10 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 21 Jun 2025 19:35:56 +0200 Subject: [PATCH 027/381] Exclude ray in google provider for Python 3.13 (#51994) Currently we cannot generate `pypi` constraint for Python 3.13, because released google provider has `ray` as dependency and `ray` does not support Pyton 3.13 yet - so we have to exclude `ray` in released provider before we can merge Python 3.13 support. --- providers/google/pyproject.toml | 2 +- .../providers/google/cloud/hooks/vertex_ai/ray.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/providers/google/pyproject.toml b/providers/google/pyproject.toml index 10816668276e7..ba0d3a7f0aa67 100644 --- a/providers/google/pyproject.toml +++ b/providers/google/pyproject.toml @@ -80,7 +80,7 @@ dependencies = [ # Remove the ray dependency as well as google-cloud-bigquery-storage once linked issue is fixed "google-cloud-aiplatform[evaluation,ray]>=1.73.0;python_version < '3.12'", "google-cloud-aiplatform[evaluation]>=1.73.0;python_version >= '3.12'", - "ray[default]>=2.42.0 ; python_version >= '3.12'", + "ray[default]>=2.42.0 ; python_version >= '3.12' and python_version < '3.13'", "google-cloud-bigquery-storage>=2.31.0; python_version >= '3.12'", "google-cloud-alloydb>=0.4.0", "google-cloud-automl>=2.12.0", diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/ray.py b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/ray.py index 373c72e13bbe4..5aede4a0465e7 100644 --- a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/ray.py +++ b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/ray.py @@ -22,8 +22,17 @@ import dataclasses from typing import Any -import vertex_ray -from google._upb._message import ScalarMapContainer # type: ignore[attr-defined] +from airflow.exceptions import AirflowOptionalProviderFeatureException + +try: + import vertex_ray + from google._upb._message import ScalarMapContainer # type: ignore[attr-defined] +except ImportError: + # Fallback for environments where the upb module is not available. + raise AirflowOptionalProviderFeatureException( + "google._upb._message.ScalarMapContainer is not available. " + "Please install the ray package to use this feature." + ) from google.cloud import aiplatform from google.cloud.aiplatform.vertex_ray.util import resources from google.cloud.aiplatform_v1 import ( From 6eca233fbab623243995a0166eefb58653d3664d Mon Sep 17 00:00:00 2001 From: GPK Date: Sat, 21 Jun 2025 20:09:02 +0100 Subject: [PATCH 028/381] Dont use builtin len as varibale (#51992) --- .../src/airflow/jobs/triggerer_job_runner.py | 8 ++++---- task-sdk/src/airflow/sdk/execution_time/comms.py | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/airflow-core/src/airflow/jobs/triggerer_job_runner.py b/airflow-core/src/airflow/jobs/triggerer_job_runner.py index adc87e802fa6f..d96cf7faacd8a 100644 --- a/airflow-core/src/airflow/jobs/triggerer_job_runner.py +++ b/airflow-core/src/airflow/jobs/triggerer_job_runner.py @@ -713,11 +713,11 @@ def send(self, msg: ToTriggerSupervisor) -> ToTriggerRunner | None: async def _aread_frame(self): len_bytes = await self._async_reader.readexactly(4) - len = int.from_bytes(len_bytes, byteorder="big") - if len >= 2**32: - raise OverflowError(f"Refusing to receive messages larger than 4GiB {len=}") + length = int.from_bytes(len_bytes, byteorder="big") + if length >= 2**32: + raise OverflowError(f"Refusing to receive messages larger than 4GiB {length=}") - buffer = await self._async_reader.readexactly(len) + buffer = await self._async_reader.readexactly(length) return self.resp_decoder.decode(buffer) async def _aget_response(self, expect_id: int) -> ToTriggerRunner | None: diff --git a/task-sdk/src/airflow/sdk/execution_time/comms.py b/task-sdk/src/airflow/sdk/execution_time/comms.py index 0589f12f866e3..97ed1761ad8eb 100644 --- a/task-sdk/src/airflow/sdk/execution_time/comms.py +++ b/task-sdk/src/airflow/sdk/execution_time/comms.py @@ -183,9 +183,9 @@ class CommsDecoder(Generic[ReceiveMsgType, SendMsgType]): def send(self, msg: SendMsgType) -> ReceiveMsgType | None: """Send a request to the parent and block until the response is received.""" frame = _RequestFrame(id=next(self.id_counter), body=msg.model_dump()) - bytes = frame.as_bytes() + frame_bytes = frame.as_bytes() - self.socket.sendall(bytes) + self.socket.sendall(frame_bytes) if isinstance(msg, ResendLoggingFD): if recv_fds is None: return None @@ -225,13 +225,13 @@ def _read_frame(self, maxfds: int | None = None) -> tuple[_ResponseFrame, list[i if len_bytes == b"": raise EOFError("Request socket closed before length") - len = int.from_bytes(len_bytes, byteorder="big") + length = int.from_bytes(len_bytes, byteorder="big") - buffer = bytearray(len) + buffer = bytearray(length) nread = self.socket.recv_into(buffer) - if nread != len: + if nread != length: raise RuntimeError( - f"unable to read full response in child. (We read {nread}, but expected {len})" + f"unable to read full response in child. (We read {nread}, but expected {length})" ) if nread == 0: raise EOFError(f"Request socket closed before response was complete ({self.id_counter=})") From 1d4c1ae2c783b960ded46803cd9fb48027e94ebe Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Sun, 22 Jun 2025 03:10:04 +0800 Subject: [PATCH 029/381] fix(azure): check account_key before DefaultAzureCredential (#51999) - Check account_key in connection extra before falling back to DefaultAzureCredential - Ensure proper authentication precedence for WasbHook and WasbAsyncHook - Add test case for account_key authentication - Update documentation to clarify account_key authentication method and priority - Update hook docstring and UI placeholders to reflect account_key support - Fixes #51944 --- .../microsoft/azure/docs/connections/wasb.rst | 8 ++-- .../microsoft/azure/docs/logging/index.rst | 2 +- .../azure/newsfragments/51944.bugfix.rst | 1 + .../providers/microsoft/azure/hooks/wasb.py | 45 ++++++++++++------- .../unit/microsoft/azure/hooks/test_wasb.py | 19 ++++++++ 5 files changed, 54 insertions(+), 21 deletions(-) create mode 100644 providers/microsoft/azure/newsfragments/51944.bugfix.rst diff --git a/providers/microsoft/azure/docs/connections/wasb.rst b/providers/microsoft/azure/docs/connections/wasb.rst index e7e2f78b596ad..057160b30f0e9 100644 --- a/providers/microsoft/azure/docs/connections/wasb.rst +++ b/providers/microsoft/azure/docs/connections/wasb.rst @@ -27,7 +27,7 @@ The Microsoft Azure Blob Storage connection type enables the Azure Blob Storage Authenticating to Azure Blob Storage ------------------------------------ -There are six ways to connect to Azure Blob Storage using Airflow. +There are seven ways to connect to Azure Blob Storage using Airflow. 1. Use `token credentials`_ i.e. add specific credentials (client_id, secret, tenant) and subscription id to the Airflow connection. @@ -37,8 +37,9 @@ There are six ways to connect to Azure Blob Storage using Airflow. i.e. add a key config to ``sas_token`` in the Airflow connection. 4. Use a `Connection String`_ i.e. add connection string to ``connection_string`` in the Airflow connection. -5. Use managed identity by setting ``managed_identity_client_id``, ``workload_identity_tenant_id`` (under the hook, it uses DefaultAzureCredential_ with these arguments) -6. Fallback on DefaultAzureCredential_. +5. Use account key by setting ``account_key`` in the Airflow connection extra fields. +6. Use managed identity by setting ``managed_identity_client_id``, ``workload_identity_tenant_id`` (under the hook, it uses DefaultAzureCredential_ with these arguments) +7. Fallback on DefaultAzureCredential_. This includes a mechanism to try different options to authenticate: Managed System Identity, environment variables, authentication through Azure CLI, etc. Only one authorization method can be used at a time. If you need to manage multiple credentials or keys then you should @@ -84,6 +85,7 @@ Extra (optional) Specify the extra parameters (as json dictionary) that can be used in Azure connection. The following parameters are all optional: + * ``account_key``: Specify the account key for Azure Blob Storage authentication. This will be checked before falling back to DefaultAzureCredential_. * ``client_secret_auth_config``: Extra config to pass while authenticating as a service principal using `ClientSecretCredential`_ It can be left out to fall back on DefaultAzureCredential_. * ``managed_identity_client_id``: The client ID of a user-assigned managed identity. If provided with `workload_identity_tenant_id`, they'll pass to ``DefaultAzureCredential``. * ``workload_identity_tenant_id``: ID of the application's Microsoft Entra tenant. Also called its "directory" ID. If provided with `managed_identity_client_id`, they'll pass to ``DefaultAzureCredential``. diff --git a/providers/microsoft/azure/docs/logging/index.rst b/providers/microsoft/azure/docs/logging/index.rst index 16ed9b5c7fd07..04405eedf35b1 100644 --- a/providers/microsoft/azure/docs/logging/index.rst +++ b/providers/microsoft/azure/docs/logging/index.rst @@ -58,7 +58,7 @@ Setup Steps: '''''''''''''' #. Install the provider package with ``pip install apache-airflow-providers-microsoft-azure``. -#. Ensure :ref:`connection ` is already setup with read and write access to Azure Blob Storage in the ``remote_wasb_log_container`` container and path ``remote_base_log_folder``. +#. Ensure :ref:`connection ` is already setup with read and write access to Azure Blob Storage in the ``remote_wasb_log_container`` container and path ``remote_base_log_folder``. The connection should be configured with appropriate authentication credentials (such as account key, shared access key, or managed identity). For account key authentication, you can add ``account_key`` to the connection's extra fields as a JSON dictionary: ``{"account_key": "your_account_key"}``. #. Setup the above configuration values. Please note that the container should already exist. #. Restart the Airflow webserver and scheduler, and trigger (or wait for) a new task execution. #. Verify that logs are showing up for newly executed tasks in the container at the specified base path you have defined. diff --git a/providers/microsoft/azure/newsfragments/51944.bugfix.rst b/providers/microsoft/azure/newsfragments/51944.bugfix.rst new file mode 100644 index 0000000000000..5706bcc088e17 --- /dev/null +++ b/providers/microsoft/azure/newsfragments/51944.bugfix.rst @@ -0,0 +1 @@ +Fix Azure Blob Storage authentication to check ``account_key`` field in connection extra before falling back to ``DefaultAzureCredential`` diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py index 8eb009592a15f..7ff704e0f5e45 100644 --- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py +++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/wasb.py @@ -67,8 +67,9 @@ class WasbHook(BaseHook): These parameters have to be passed in Airflow Data Base: account_name and account_key. Additional options passed in the 'extra' field of the connection will be - passed to the `BlockBlockService()` constructor. For example, authenticate - using a SAS token by adding {"sas_token": "YOUR_TOKEN"}. + passed to the `BlobServiceClient()` constructor. For example, authenticate + using a SAS token by adding {"sas_token": "YOUR_TOKEN"} or using an account key + by adding {"account_key": "YOUR_ACCOUNT_KEY"}. If no authentication configuration is provided, DefaultAzureCredential will be used (applicable when using Azure compute infrastructure). @@ -121,7 +122,7 @@ def get_ui_field_behaviour(cls) -> dict[str, Any]: "tenant_id": "tenant", "shared_access_key": "shared access key", "sas_token": "account url or token", - "extra": "additional options for use with ClientSecretCredential or DefaultAzureCredential", + "extra": "additional options for use with ClientSecretCredential, DefaultAzureCredential, or account_key authentication", }, } @@ -198,13 +199,18 @@ def get_conn(self) -> BlobServiceClient: # Fall back to old auth (password) or use managed identity if not provided. credential = conn.password if not credential: - managed_identity_client_id = self._get_field(extra, "managed_identity_client_id") - workload_identity_tenant_id = self._get_field(extra, "workload_identity_tenant_id") - credential = get_sync_default_azure_credential( - managed_identity_client_id=managed_identity_client_id, - workload_identity_tenant_id=workload_identity_tenant_id, - ) - self.log.info("Using DefaultAzureCredential as credential") + # Check for account_key in extra fields before falling back to DefaultAzureCredential + account_key = self._get_field(extra, "account_key") + if account_key: + credential = account_key + else: + managed_identity_client_id = self._get_field(extra, "managed_identity_client_id") + workload_identity_tenant_id = self._get_field(extra, "workload_identity_tenant_id") + credential = get_sync_default_azure_credential( + managed_identity_client_id=managed_identity_client_id, + workload_identity_tenant_id=workload_identity_tenant_id, + ) + self.log.info("Using DefaultAzureCredential as credential") return BlobServiceClient( account_url=account_url, credential=credential, @@ -646,13 +652,18 @@ async def get_async_conn(self) -> AsyncBlobServiceClient: # Fall back to old auth (password) or use managed identity if not provided. credential = conn.password if not credential: - managed_identity_client_id = self._get_field(extra, "managed_identity_client_id") - workload_identity_tenant_id = self._get_field(extra, "workload_identity_tenant_id") - credential = get_async_default_azure_credential( - managed_identity_client_id=managed_identity_client_id, - workload_identity_tenant_id=workload_identity_tenant_id, - ) - self.log.info("Using DefaultAzureCredential as credential") + # Check for account_key in extra fields before falling back to DefaultAzureCredential + account_key = self._get_field(extra, "account_key") + if account_key: + credential = account_key + else: + managed_identity_client_id = self._get_field(extra, "managed_identity_client_id") + workload_identity_tenant_id = self._get_field(extra, "workload_identity_tenant_id") + credential = get_async_default_azure_credential( + managed_identity_client_id=managed_identity_client_id, + workload_identity_tenant_id=workload_identity_tenant_id, + ) + self.log.info("Using DefaultAzureCredential as credential") self.blob_service_client = AsyncBlobServiceClient( account_url=account_url, credential=credential, diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py index 55895879fac53..dffb2eeb4bb2d 100644 --- a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py +++ b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_wasb.py @@ -79,6 +79,7 @@ def setup_method(self, create_mock_connections): self.public_read_conn_id = "pub_read_id" self.public_read_conn_id_without_host = "pub_read_id_without_host" self.managed_identity_conn_id = "managed_identity_conn_id" + self.account_key_conn_id = "account_key_conn_id" self.authority = "https://test_authority.com" self.proxies = PROXIES @@ -135,6 +136,12 @@ def setup_method(self, create_mock_connections): conn_type=self.connection_type, extra={"proxies": self.proxies}, ), + Connection( + conn_id=self.account_key_conn_id, + conn_type=self.connection_type, + login="testaccount", + extra={"account_key": "test_account_key", "proxies": self.proxies}, + ), Connection( conn_id="sas_conn_id", conn_type=self.connection_type, @@ -223,6 +230,16 @@ def test_azure_directory_connection(self, mocked_client_secret_credential, mocke proxies=self.proxies, ) + def test_account_key_connection(self, mocked_blob_service_client): + """Test that account_key from extra is used when no password is provided.""" + WasbHook(wasb_conn_id=self.account_key_conn_id).get_conn() + mocked_blob_service_client.assert_called_once_with( + account_url="https://testaccount.blob.core.windows.net/", + credential="test_account_key", + proxies=self.proxies, + account_key="test_account_key", + ) + @pytest.mark.parametrize( "mocked_connection", [ @@ -331,6 +348,7 @@ def test_sas_token_connection(self, conn_id_str, extra_key): "azure_shared_key_test", "ad_conn_id", "managed_identity_conn_id", + "account_key_conn_id", "sas_conn_id", "extra__wasb__sas_conn_id", "http_sas_conn_id", @@ -659,6 +677,7 @@ def test_connection_failure(self, mocked_blob_service_client): "azure_shared_key_test", "ad_conn_id", "managed_identity_conn_id", + "account_key_conn_id", "sas_conn_id", "extra__wasb__sas_conn_id", "http_sas_conn_id", From 9312746ac9716ece629463a53097b420ed02567b Mon Sep 17 00:00:00 2001 From: karunpoudel <62040859+karunpoudel@users.noreply.github.com> Date: Sat, 21 Jun 2025 15:22:50 -0400 Subject: [PATCH 030/381] fix `conn_name_attr` (#51948) --- .../src/airflow/providers/microsoft/azure/hooks/base_azure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/base_azure.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/base_azure.py index c54ece1e041f6..fcc01248b755a 100644 --- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/base_azure.py +++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/base_azure.py @@ -41,7 +41,7 @@ class AzureBaseHook(BaseHook): which refers to the information to connect to the service. """ - conn_name_attr = "azure_conn_id" + conn_name_attr = "conn_id" default_conn_name = "azure_default" conn_type = "azure" hook_name = "Azure" From cf65598b8d94bb071dc01bc0399ed1eef0972252 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 21 Jun 2025 21:23:23 +0200 Subject: [PATCH 031/381] Bump the core-ui-package-updates group across 1 directory with 44 updates (#51942) --- updated-dependencies: - dependency-name: "@chakra-ui/react" dependency-version: 3.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@codemirror/lang-json" dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@tanstack/react-query" dependency-version: 5.80.10 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@tanstack/react-virtual" dependency-version: 3.13.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@uiw/codemirror-themes-all" dependency-version: 4.23.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@uiw/react-codemirror" dependency-version: 4.23.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@xyflow/react" dependency-version: 12.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: axios dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: chart.js dependency-version: 4.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: i18next dependency-version: 25.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: i18next-browser-languagedetector dependency-version: 8.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: next-themes dependency-version: 0.4.6 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: react dependency-version: 19.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/react" dependency-version: 19.1.8 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: react-dom dependency-version: 19.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/react-dom" dependency-version: 19.1.6 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: react-hook-form dependency-version: 7.58.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: react-hotkeys-hook dependency-version: 5.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: react-i18next dependency-version: 15.5.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: react-markdown dependency-version: 10.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: react-resizable-panels dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: react-router-dom dependency-version: 7.6.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: use-debounce dependency-version: 10.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: zustand dependency-version: 5.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: "@eslint/compat" dependency-version: 1.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@eslint/js" dependency-version: 9.29.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@stylistic/eslint-plugin" dependency-version: 4.4.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@tanstack/eslint-plugin-query" dependency-version: 5.78.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@trivago/prettier-plugin-sort-imports" dependency-version: 5.2.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/node" dependency-version: 24.0.3 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/react" dependency-version: 19.1.8 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/react-dom" dependency-version: 19.1.6 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@vitejs/plugin-react-swc" dependency-version: 3.10.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@vitest/coverage-v8" dependency-version: 3.2.4 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: eslint dependency-version: 9.29.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: eslint-config-prettier dependency-version: 10.1.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-perfectionist dependency-version: 4.15.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-prettier dependency-version: 5.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-react-hooks dependency-version: 5.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-unicorn dependency-version: 59.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: globals dependency-version: 16.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: happy-dom dependency-version: 18.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: msw dependency-version: 2.10.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: typescript-eslint dependency-version: 8.34.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: vite dependency-version: 6.3.5 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: vitest dependency-version: 3.2.4 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- airflow-core/src/airflow/ui/package.json | 88 +- airflow-core/src/airflow/ui/pnpm-lock.yaml | 4815 +++++++++----------- 2 files changed, 2170 insertions(+), 2733 deletions(-) diff --git a/airflow-core/src/airflow/ui/package.json b/airflow-core/src/airflow/ui/package.json index 2429adc35a0c7..0ab5b684d2066 100644 --- a/airflow-core/src/airflow/ui/package.json +++ b/airflow-core/src/airflow/ui/package.json @@ -17,84 +17,84 @@ }, "dependencies": { "@chakra-ui/anatomy": "^2.3.4", - "@chakra-ui/react": "^3.20.0", - "@codemirror/lang-json": "^6.0.1", + "@chakra-ui/react": "^3.21.0", + "@codemirror/lang-json": "^6.0.2", "@emotion/react": "^11.14.0", - "@tanstack/react-query": "^5.75.1", + "@tanstack/react-query": "^5.80.10", "@tanstack/react-table": "^8.21.3", - "@tanstack/react-virtual": "^3.13.8", + "@tanstack/react-virtual": "^3.13.10", "@types/debounce-promise": "^3.1.9", - "@uiw/codemirror-themes-all": "^4.23.12", - "@uiw/react-codemirror": "^4.23.12", + "@uiw/codemirror-themes-all": "^4.23.13", + "@uiw/react-codemirror": "^4.23.13", "@visx/group": "^3.12.0", "@visx/shape": "^3.12.0", - "@xyflow/react": "^12.4.4", - "axios": "^1.8.4", + "@xyflow/react": "^12.7.0", + "axios": "^1.10.0", "chakra-react-select": "6.1.0", - "chart.js": "^4.4.9", + "chart.js": "^4.5.0", "chartjs-plugin-annotation": "^3.1.0", "dayjs": "^1.11.13", "debounce-promise": "^3.1.2", "elkjs": "^0.10.0", "html-to-image": "^1.11.13", - "i18next": "^25.1.2", - "i18next-browser-languagedetector": "^8.1.0", + "i18next": "^25.2.1", + "i18next-browser-languagedetector": "^8.2.0", "i18next-http-backend": "^3.0.2", - "next-themes": "^0.3.0", - "react": "^18.3.1", + "next-themes": "^0.4.6", + "react": "^19.1.0", "react-chartjs-2": "^5.3.0", - "react-dom": "^18.3.1", - "react-hook-form": "^7.56.1", - "react-hotkeys-hook": "^4.6.1", - "react-i18next": "^15.5.1", + "react-dom": "^19.1.0", + "react-hook-form": "^7.58.1", + "react-hotkeys-hook": "^5.1.0", + "react-i18next": "^15.5.3", "react-icons": "^5.5.0", "react-innertext": "^1.1.5", "react-json-view": "^1.21.3", - "react-markdown": "^9.1.0", - "react-resizable-panels": "^2.1.7", - "react-router-dom": "^6.30.0", + "react-markdown": "^10.1.0", + "react-resizable-panels": "^3.0.3", + "react-router-dom": "^7.6.2", "react-syntax-highlighter": "^15.6.1", "remark-gfm": "^4.0.1", - "use-debounce": "^10.0.4", + "use-debounce": "^10.0.5", "usehooks-ts": "^3.1.1", - "zustand": "^5.0.4" + "zustand": "^5.0.5" }, "devDependencies": { "@7nohe/openapi-react-query-codegen": "^1.6.2", - "@eslint/compat": "^1.2.9", - "@eslint/js": "^9.25.1", - "@stylistic/eslint-plugin": "^2.13.0", - "@tanstack/eslint-plugin-query": "^5.74.7", + "@eslint/compat": "^1.3.0", + "@eslint/js": "^9.29.0", + "@stylistic/eslint-plugin": "^4.4.1", + "@tanstack/eslint-plugin-query": "^5.78.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", - "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/node": "^22.15.3", - "@types/react": "^18.3.19", - "@types/react-dom": "^18.3.5", + "@trivago/prettier-plugin-sort-imports": "^5.2.2", + "@types/node": "^24.0.3", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", "@types/react-syntax-highlighter": "^15.5.13", - "@vitejs/plugin-react-swc": "^3.9.0", - "@vitest/coverage-v8": "^2.1.9", - "eslint": "^9.25.1", - "eslint-config-prettier": "^10.1.2", + "@vitejs/plugin-react-swc": "^3.10.2", + "@vitest/coverage-v8": "^3.2.4", + "eslint": "^9.29.0", + "eslint-config-prettier": "^10.1.5", "eslint-plugin-i18next": "^6.1.1", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-perfectionist": "^4.12.3", - "eslint-plugin-prettier": "^5.2.6", + "eslint-plugin-perfectionist": "^4.15.0", + "eslint-plugin-prettier": "^5.5.0", "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", - "eslint-plugin-unicorn": "^55.0.0", - "globals": "^15.15.0", - "happy-dom": "^17.4.6", + "eslint-plugin-unicorn": "^59.0.1", + "globals": "^16.2.0", + "happy-dom": "^18.0.1", "jsonc-eslint-parser": "^2.4.0", - "msw": "^2.7.5", + "msw": "^2.10.2", "openapi-merge-cli": "^1.3.2", "prettier": "^3.5.3", "typescript": "~5.8.3", - "typescript-eslint": "^8.31.1", - "vite": "^5.4.19", + "typescript-eslint": "^8.34.1", + "vite": "^6.3.5", "vite-plugin-css-injected-by-js": "^3.5.2", - "vitest": "^2.1.9", + "vitest": "^3.2.4", "web-worker": "^1.5.0" }, "pnpm": { diff --git a/airflow-core/src/airflow/ui/pnpm-lock.yaml b/airflow-core/src/airflow/ui/pnpm-lock.yaml index 04426f880c846..cf1c8812d67a2 100644 --- a/airflow-core/src/airflow/ui/pnpm-lock.yaml +++ b/airflow-core/src/airflow/ui/pnpm-lock.yaml @@ -12,53 +12,53 @@ importers: specifier: ^2.3.4 version: 2.3.4 '@chakra-ui/react': - specifier: ^3.20.0 - version: 3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.21.0 + version: 3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@codemirror/lang-json': - specifier: ^6.0.1 - version: 6.0.1 + specifier: ^6.0.2 + version: 6.0.2 '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(@types/react@18.3.19)(react@18.3.1) + version: 11.14.0(@types/react@19.1.8)(react@19.1.0) '@tanstack/react-query': - specifier: ^5.75.1 - version: 5.75.4(react@18.3.1) + specifier: ^5.80.10 + version: 5.80.10(react@19.1.0) '@tanstack/react-table': specifier: ^8.21.3 - version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-virtual': - specifier: ^3.13.8 - version: 3.13.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.13.10 + version: 3.13.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/debounce-promise': specifier: ^3.1.9 version: 3.1.9 '@uiw/codemirror-themes-all': - specifier: ^4.23.12 - version: 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + specifier: ^4.23.13 + version: 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) '@uiw/react-codemirror': - specifier: ^4.23.12 - version: 4.23.12(@babel/runtime@7.26.10)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.4)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^4.23.13 + version: 4.23.13(@babel/runtime@7.27.6)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.37.2)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@visx/group': specifier: ^3.12.0 - version: 3.12.0(react@18.3.1) + version: 3.12.0(react@19.1.0) '@visx/shape': specifier: ^3.12.0 - version: 3.12.0(react@18.3.1) + version: 3.12.0(react@19.1.0) '@xyflow/react': - specifier: ^12.4.4 - version: 12.4.4(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^12.7.0 + version: 12.7.0(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) axios: - specifier: ^1.8.4 - version: 1.8.4 + specifier: ^1.10.0 + version: 1.10.0 chakra-react-select: specifier: 6.1.0 - version: 6.1.0(@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.19)(next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.1.0(@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) chart.js: - specifier: ^4.4.9 - version: 4.4.9 + specifier: ^4.5.0 + version: 4.5.0 chartjs-plugin-annotation: specifier: ^3.1.0 - version: 3.1.0(chart.js@4.4.9) + version: 3.1.0(chart.js@4.5.0) dayjs: specifier: ^1.11.13 version: 1.11.13 @@ -72,153 +72,153 @@ importers: specifier: ^1.11.13 version: 1.11.13 i18next: - specifier: ^25.1.2 - version: 25.1.2(typescript@5.8.3) + specifier: ^25.2.1 + version: 25.2.1(typescript@5.8.3) i18next-browser-languagedetector: - specifier: ^8.1.0 - version: 8.1.0 + specifier: ^8.2.0 + version: 8.2.0 i18next-http-backend: specifier: ^3.0.2 version: 3.0.2 next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.4.6 + version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-chartjs-2: specifier: ^5.3.0 - version: 5.3.0(chart.js@4.4.9)(react@18.3.1) + version: 5.3.0(chart.js@4.5.0)(react@19.1.0) react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) react-hook-form: - specifier: ^7.56.1 - version: 7.56.2(react@18.3.1) + specifier: ^7.58.1 + version: 7.58.1(react@19.1.0) react-hotkeys-hook: - specifier: ^4.6.1 - version: 4.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.1.0 + version: 5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-i18next: - specifier: ^15.5.1 - version: 15.5.1(i18next@25.1.2(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3) + specifier: ^15.5.3 + version: 15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) react-icons: specifier: ^5.5.0 - version: 5.5.0(react@18.3.1) + version: 5.5.0(react@19.1.0) react-innertext: specifier: ^1.1.5 - version: 1.1.5(@types/react@18.3.19)(react@18.3.1) + version: 1.1.5(@types/react@19.1.8)(react@19.1.0) react-json-view: specifier: ^1.21.3 - version: 1.21.3(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.21.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-markdown: - specifier: ^9.1.0 - version: 9.1.0(@types/react@18.3.19)(react@18.3.1) + specifier: ^10.1.0 + version: 10.1.0(@types/react@19.1.8)(react@19.1.0) react-resizable-panels: - specifier: ^2.1.7 - version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.0.3 + version: 3.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-router-dom: - specifier: ^6.30.0 - version: 6.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.6.2 + version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-syntax-highlighter: specifier: ^15.6.1 - version: 15.6.1(react@18.3.1) + version: 15.6.1(react@19.1.0) remark-gfm: specifier: ^4.0.1 version: 4.0.1 use-debounce: - specifier: ^10.0.4 - version: 10.0.4(react@18.3.1) + specifier: ^10.0.5 + version: 10.0.5(react@19.1.0) usehooks-ts: specifier: ^3.1.1 - version: 3.1.1(react@18.3.1) + version: 3.1.1(react@19.1.0) zustand: - specifier: ^5.0.4 - version: 5.0.4(@types/react@18.3.19)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + specifier: ^5.0.5 + version: 5.0.5(@types/react@19.1.8)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) devDependencies: '@7nohe/openapi-react-query-codegen': specifier: ^1.6.2 version: 1.6.2(commander@12.1.0)(glob@11.0.0)(magicast@0.3.5)(ts-morph@23.0.0)(typescript@5.8.3) '@eslint/compat': - specifier: ^1.2.9 - version: 1.2.9(eslint@9.26.0(jiti@1.21.7)) + specifier: ^1.3.0 + version: 1.3.0(eslint@9.29.0(jiti@1.21.7)) '@eslint/js': - specifier: ^9.25.1 - version: 9.26.0 + specifier: ^9.29.0 + version: 9.29.0 '@stylistic/eslint-plugin': - specifier: ^2.13.0 - version: 2.13.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^4.4.1 + version: 4.4.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) '@tanstack/eslint-plugin-query': - specifier: ^5.74.7 - version: 5.74.7(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^5.78.0 + version: 5.78.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.19))(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@trivago/prettier-plugin-sort-imports': - specifier: ^4.3.0 - version: 4.3.0(prettier@3.5.3) + specifier: ^5.2.2 + version: 5.2.2(prettier@3.5.3) '@types/node': - specifier: ^22.15.3 - version: 22.15.14 + specifier: ^24.0.3 + version: 24.0.3 '@types/react': - specifier: ^18.3.19 - version: 18.3.19 + specifier: ^19.1.8 + version: 19.1.8 '@types/react-dom': - specifier: ^18.3.5 - version: 18.3.5(@types/react@18.3.19) + specifier: ^19.1.6 + version: 19.1.6(@types/react@19.1.8) '@types/react-syntax-highlighter': specifier: ^15.5.13 version: 15.5.13 '@vitejs/plugin-react-swc': - specifier: ^3.9.0 - version: 3.9.0(vite@5.4.19(@types/node@22.15.14)) + specifier: ^3.10.2 + version: 3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) '@vitest/coverage-v8': - specifier: ^2.1.9 - version: 2.1.9(vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))) + specifier: ^3.2.4 + version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))) eslint: - specifier: ^9.25.1 - version: 9.26.0(jiti@1.21.7) + specifier: ^9.29.0 + version: 9.29.0(jiti@1.21.7) eslint-config-prettier: - specifier: ^10.1.2 - version: 10.1.2(eslint@9.26.0(jiti@1.21.7)) + specifier: ^10.1.5 + version: 10.1.5(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-i18next: specifier: ^6.1.1 version: 6.1.1 eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.26.0(jiti@1.21.7)) + version: 6.10.2(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-perfectionist: - specifier: ^4.12.3 - version: 4.12.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^4.15.0 + version: 4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) eslint-plugin-prettier: - specifier: ^5.2.6 - version: 5.4.0(eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7))(prettier@3.5.3) + specifier: ^5.5.0 + version: 5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.5.3) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.26.0(jiti@1.21.7)) + version: 7.37.5(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-react-hooks: - specifier: ^4.6.2 - version: 4.6.2(eslint@9.26.0(jiti@1.21.7)) + specifier: ^5.2.0 + version: 5.2.0(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.26.0(jiti@1.21.7)) + version: 0.4.20(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-unicorn: - specifier: ^55.0.0 - version: 55.0.0(eslint@9.26.0(jiti@1.21.7)) + specifier: ^59.0.1 + version: 59.0.1(eslint@9.29.0(jiti@1.21.7)) globals: - specifier: ^15.15.0 - version: 15.15.0 + specifier: ^16.2.0 + version: 16.2.0 happy-dom: - specifier: ^17.4.6 - version: 17.4.6 + specifier: ^18.0.1 + version: 18.0.1 jsonc-eslint-parser: specifier: ^2.4.0 version: 2.4.0 msw: - specifier: ^2.7.5 - version: 2.7.6(@types/node@22.15.14)(typescript@5.8.3) + specifier: ^2.10.2 + version: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) openapi-merge-cli: specifier: ^1.3.2 version: 1.3.2 @@ -229,17 +229,17 @@ importers: specifier: ~5.8.3 version: 5.8.3 typescript-eslint: - specifier: ^8.31.1 - version: 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^8.34.1 + version: 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) vite: - specifier: ^5.4.19 - version: 5.4.19(@types/node@22.15.14) + specifier: ^6.3.5 + version: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) vite-plugin-css-injected-by-js: specifier: ^3.5.2 - version: 3.5.2(vite@5.4.19(@types/node@22.15.14)) + version: 3.5.2(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) vitest: - specifier: ^2.1.9 - version: 2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)) + specifier: ^3.2.4 + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) web-worker: specifier: ^1.5.0 version: 1.5.0 @@ -267,62 +267,34 @@ packages: resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} - '@ark-ui/react@5.12.0': - resolution: {integrity: sha512-UV89EqyESZoyr6rtvrbFJn/FejpswhvRVcfK44dZDU6h6UY8CxfR/6Ayvrq9UtFdD0dEawqwWrXS22l8Y05Nnw==} + '@ark-ui/react@5.14.0': + resolution: {integrity: sha512-7WWlCM3SowtF01e9NouuO4T6SYuKTM1dovR+2NZuuWTlqTBlvZ+1vPHS6BeqzXriwMLU7QUU+Y0i/TcI6/s/Sg==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.17.7': - resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.10': - resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} - engines: {node: '>=6.9.0'} - - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/generator@7.27.5': + resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.25.9': resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.10': - resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} engines: {node: '>=6.0.0'} hasBin: true @@ -330,28 +302,25 @@ packages: resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/template@7.26.9': - resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.23.2': - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.10': - resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} + '@babel/traverse@7.27.4': + resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} - '@babel/types@7.17.0': - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.10': - resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -365,8 +334,8 @@ packages: '@chakra-ui/anatomy@2.3.4': resolution: {integrity: sha512-fFIYN7L276gw0Q7/ikMMlZxP7mvnjRaWJ7f3Jsf9VtDOi6eAYIBRrhQe6+SZ0PGmoOkRaBc7gSE5oeIbgFFyrw==} - '@chakra-ui/react@3.20.0': - resolution: {integrity: sha512-zHYQAUqrT2pZZ/Xi+sskRC/An9q4ZelLPJkFHdobftTYkcFo1FtkMbBO0AEBZhb/6mZGyfw3JLflSawkuR++uQ==} + '@chakra-ui/react@3.21.0': + resolution: {integrity: sha512-Ajw6GuUhfNhMagTM9cO1Lg/w/HSQUwsv55j2QvvvPw/dk01wHiGi1aihfuCLpa6QY4ElLNs6SS3f78xI9Fwo6A==} peerDependencies: '@emotion/react': '>=11' react: '>=18' @@ -383,11 +352,11 @@ packages: '@codemirror/commands@6.8.1': resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} - '@codemirror/lang-json@6.0.1': - resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} + '@codemirror/lang-json@6.0.2': + resolution: {integrity: sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==} - '@codemirror/language@6.11.0': - resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} + '@codemirror/language@6.11.1': + resolution: {integrity: sha512-5kS1U7emOGV84vxC+ruBty5sUgcD0te6dyupyRVG2zaSjhTDM73LhVKUtVwiqSe6QwmEoA4SCiU8AKPFyumAWQ==} '@codemirror/lint@6.8.2': resolution: {integrity: sha512-PDFG5DjHxSEjOXk9TQYYVjZDqlZTFaDBfhQixHnQOEVDDNHUbEh/hstAjcQJaA6FQdZTD1hquXTK0rVBLADR1g==} @@ -401,8 +370,8 @@ packages: '@codemirror/theme-one-dark@6.1.2': resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} - '@codemirror/view@6.36.4': - resolution: {integrity: sha512-ZQ0V5ovw/miKEXTvjgzRyjnrk9TwriUB1k4R5p7uNnHR9Hus+D1SXHGdJshijEzPFjU25xea/7nhIeSqYFKdbA==} + '@codemirror/view@6.37.2': + resolution: {integrity: sha512-XD3LdgQpxQs5jhOOZ2HRVT+Rj59O4Suc7g2ULvZ+Yi8eCkickrkZ5JFuoDhs2ST1mNI5zSsNYgR3NGa4OUrbnw==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -448,150 +417,156 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.25.5': + resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.25.5': + resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.25.5': + resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.25.5': + resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.25.5': + resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.25.5': + resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.25.5': + resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.25.5': + resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.25.5': + resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.25.5': + resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.25.5': + resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.25.5': + resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.25.5': + resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.25.5': + resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.25.5': + resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.25.5': + resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.25.5': + resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-arm64@0.25.5': + resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.5': + resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.25.5': + resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.5': + resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.25.5': + resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.25.5': + resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.25.5': + resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.25.5': + resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.5.1': - resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -602,8 +577,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.2.9': - resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} + '@eslint/compat@1.3.0': + resolution: {integrity: sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -611,24 +586,32 @@ packages: eslint: optional: true - '@eslint/config-array@0.20.0': - resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + '@eslint/config-array@0.20.1': + resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.2': - resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + '@eslint/config-helpers@0.2.3': + resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.13.0': resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.0': + resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.26.0': - resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} + '@eslint/js@9.29.0': + resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -639,6 +622,10 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.3.2': + resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} @@ -677,12 +664,12 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@inquirer/confirm@5.1.8': - resolution: {integrity: sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==} + '@inquirer/confirm@5.1.12': + resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -690,8 +677,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.9': - resolution: {integrity: sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==} + '@inquirer/core@10.1.13': + resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -699,12 +686,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.11': - resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} + '@inquirer/figures@1.0.12': + resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} engines: {node: '>=18'} - '@inquirer/type@3.0.5': - resolution: {integrity: sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==} + '@inquirer/type@3.0.7': + resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -712,11 +699,19 @@ packages: '@types/node': optional: true - '@internationalized/date@3.8.1': - resolution: {integrity: sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==} + '@internationalized/date@3.8.2': + resolution: {integrity: sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==} - '@internationalized/number@3.6.2': - resolution: {integrity: sha512-E5QTOlMg9wo5OrKdHD6edo1JJlIoOsylh0+mbf0evi1tHJwMZfJSaBpGtnJV9N7w3jeiioox9EG/EWRWPh82vg==} + '@internationalized/number@3.6.3': + resolution: {integrity: sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==} + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -765,12 +760,8 @@ packages: '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} - '@modelcontextprotocol/sdk@1.11.0': - resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==} - engines: {node: '>=18'} - - '@mswjs/interceptors@0.37.6': - resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} + '@mswjs/interceptors@0.39.2': + resolution: {integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==} engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': @@ -801,182 +792,181 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/core@0.2.4': - resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@remix-run/router@1.23.0': - resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} - engines: {node: '>=14.0.0'} + '@rolldown/pluginutils@1.0.0-beta.11': + resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==} - '@rollup/rollup-android-arm-eabi@4.40.1': - resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} + '@rollup/rollup-android-arm-eabi@4.44.0': + resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.40.1': - resolution: {integrity: sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==} + '@rollup/rollup-android-arm64@4.44.0': + resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.40.1': - resolution: {integrity: sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==} + '@rollup/rollup-darwin-arm64@4.44.0': + resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.40.1': - resolution: {integrity: sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==} + '@rollup/rollup-darwin-x64@4.44.0': + resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.40.1': - resolution: {integrity: sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==} + '@rollup/rollup-freebsd-arm64@4.44.0': + resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.40.1': - resolution: {integrity: sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==} + '@rollup/rollup-freebsd-x64@4.44.0': + resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.40.1': - resolution: {integrity: sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==} + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': + resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.40.1': - resolution: {integrity: sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==} + '@rollup/rollup-linux-arm-musleabihf@4.44.0': + resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.40.1': - resolution: {integrity: sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==} + '@rollup/rollup-linux-arm64-gnu@4.44.0': + resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.40.1': - resolution: {integrity: sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==} + '@rollup/rollup-linux-arm64-musl@4.44.0': + resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': - resolution: {integrity: sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': + resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': - resolution: {integrity: sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': + resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.40.1': - resolution: {integrity: sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==} + '@rollup/rollup-linux-riscv64-gnu@4.44.0': + resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.40.1': - resolution: {integrity: sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==} + '@rollup/rollup-linux-riscv64-musl@4.44.0': + resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.40.1': - resolution: {integrity: sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==} + '@rollup/rollup-linux-s390x-gnu@4.44.0': + resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.40.1': - resolution: {integrity: sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==} + '@rollup/rollup-linux-x64-gnu@4.44.0': + resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.40.1': - resolution: {integrity: sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==} + '@rollup/rollup-linux-x64-musl@4.44.0': + resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.40.1': - resolution: {integrity: sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==} + '@rollup/rollup-win32-arm64-msvc@4.44.0': + resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.40.1': - resolution: {integrity: sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==} + '@rollup/rollup-win32-ia32-msvc@4.44.0': + resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.40.1': - resolution: {integrity: sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==} + '@rollup/rollup-win32-x64-msvc@4.44.0': + resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==} cpu: [x64] os: [win32] - '@stylistic/eslint-plugin@2.13.0': - resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + '@stylistic/eslint-plugin@4.4.1': + resolution: {integrity: sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=8.40.0' + eslint: '>=9.0.0' - '@swc/core-darwin-arm64@1.11.24': - resolution: {integrity: sha512-dhtVj0PC1APOF4fl5qT2neGjRLgHAAYfiVP8poJelhzhB/318bO+QCFWAiimcDoyMgpCXOhTp757gnoJJrheWA==} + '@swc/core-darwin-arm64@1.12.4': + resolution: {integrity: sha512-HihKfeitjZU2ab94Zf893sxzFryLKX0TweGsNXXOLNtkSMLw50auuYfpRM0BOL9/uXXtuCWgRIF6P030SAX5xQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.11.24': - resolution: {integrity: sha512-H/3cPs8uxcj2Fe3SoLlofN5JG6Ny5bl8DuZ6Yc2wr7gQFBmyBkbZEz+sPVgsID7IXuz7vTP95kMm1VL74SO5AQ==} + '@swc/core-darwin-x64@1.12.4': + resolution: {integrity: sha512-meYCXHyYb6RDdu2N5PNAf0EelyxPBFhRcVo4kBFLuvuNb0m6EUg///VWy8MUMXq9/s9uzGS9kJVXXdRdr/d6FA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.11.24': - resolution: {integrity: sha512-PHJgWEpCsLo/NGj+A2lXZ2mgGjsr96ULNW3+T3Bj2KTc8XtMUkE8tmY2Da20ItZOvPNC/69KroU7edyo1Flfbw==} + '@swc/core-linux-arm-gnueabihf@1.12.4': + resolution: {integrity: sha512-szfDbf7mE8V64of0q/LSqbk+em+T+TD3uqnH40Z7Qu/aL8vi5CHgyLjWG2SLkLLpyjgkAUF6AKrupgnBYcC2NA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.11.24': - resolution: {integrity: sha512-C2FJb08+n5SD4CYWCTZx1uR88BN41ZieoHvI8A55hfVf2woT8+6ZiBzt74qW2g+ntZ535Jts5VwXAKdu41HpBg==} + '@swc/core-linux-arm64-gnu@1.12.4': + resolution: {integrity: sha512-n0IY76w+Scx8m3HIVRvLkoResuwsQgjDfAk9bxn99dq4leQO+mE0fkPl0Yw/1BIsPh+kxGfopIJH9zsZ1Z2YrA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.11.24': - resolution: {integrity: sha512-ypXLIdszRo0re7PNNaXN0+2lD454G8l9LPK/rbfRXnhLWDBPURxzKlLlU/YGd2zP98wPcVooMmegRSNOKfvErw==} + '@swc/core-linux-arm64-musl@1.12.4': + resolution: {integrity: sha512-wE5jmFi5cEQyLy8WmCWmNwfKETrnzy2D8YNi/xpYWpLPWqPhcelpa6tswkfYlbsMmmOh7hQNoTba1QdGu0jvHQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.11.24': - resolution: {integrity: sha512-IM7d+STVZD48zxcgo69L0yYptfhaaE9cMZ+9OoMxirNafhKKXwoZuufol1+alEFKc+Wbwp+aUPe/DeWC/Lh3dg==} + '@swc/core-linux-x64-gnu@1.12.4': + resolution: {integrity: sha512-6S50Xd/7ePjEwrXyHMxpKTZ+KBrgUwMA8hQPbArUOwH4S5vHBr51heL0iXbUkppn1bkSr0J0IbOove5hzn+iqQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.11.24': - resolution: {integrity: sha512-DZByJaMVzSfjQKKQn3cqSeqwy6lpMaQDQQ4HPlch9FWtDx/dLcpdIhxssqZXcR2rhaQVIaRQsCqwV6orSDGAGw==} + '@swc/core-linux-x64-musl@1.12.4': + resolution: {integrity: sha512-hbYRyaHhC13vYKuGG5BrAG5fjjWEQFfQetuFp/4QKEoXDzdnabJoixxWTQACDL3m0JW32nJ+gUzsYIPtFYkwXg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.11.24': - resolution: {integrity: sha512-Q64Ytn23y9aVDKN5iryFi8mRgyHw3/kyjTjT4qFCa8AEb5sGUuSj//AUZ6c0J7hQKMHlg9do5Etvoe61V98/JQ==} + '@swc/core-win32-arm64-msvc@1.12.4': + resolution: {integrity: sha512-e6EbfjPL8GA/bb1lc9Omtxjlz+1ThTsAuBsy4Q3Kpbuh6B3jclg8KzxU/6t91v23wG593mieTyR5f3Pr7X3AWw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.11.24': - resolution: {integrity: sha512-9pKLIisE/Hh2vJhGIPvSoTK4uBSPxNVyXHmOrtdDot4E1FUUI74Vi8tFdlwNbaj8/vusVnb8xPXsxF1uB0VgiQ==} + '@swc/core-win32-ia32-msvc@1.12.4': + resolution: {integrity: sha512-RG2FzmllBTUf4EksANlIvLckcBrLZEA0t13LIa6L213UZKQfEuDNHezqESgoVhJMg2S/tWauitATOCFgZNSmjg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.11.24': - resolution: {integrity: sha512-sybnXtOsdB+XvzVFlBVGgRHLqp3yRpHK7CrmpuDKszhj/QhmsaZzY/GHSeALlMtLup13M0gqbcQvsTNlAHTg3w==} + '@swc/core-win32-x64-msvc@1.12.4': + resolution: {integrity: sha512-oRHKnZlR83zaMeVUCmHENa4j5uNRAWbmEpjYbzRcfC45LPFNWKGWGAGERLx0u87XMUtTGqnVYxnBTHN/rzDHOw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.11.24': - resolution: {integrity: sha512-MaQEIpfcEMzx3VWWopbofKJvaraqmL6HbLlw2bFZ7qYqYw3rkhM0cQVEgyzbHtTWwCwPMFZSC2DUbhlZgrMfLg==} + '@swc/core@1.12.4': + resolution: {integrity: sha512-hn30ebV4njAn0NAUM+3a0qCF+MJgqTNSrfA/hUAbC6TVjOQy2OYGQwkUvCu/V7S2+rZxrUsTpKOnZ7qqECZV9Q==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' @@ -987,22 +977,22 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@swc/types@0.1.21': - resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==} + '@swc/types@0.1.23': + resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} - '@tanstack/eslint-plugin-query@5.74.7': - resolution: {integrity: sha512-EeHuaaYiCOD+XOGyB7LMNEx9OEByAa5lkgP+S3ZggjKJpmIO6iRWeoIYYDKo2F8uc3qXcVhTfC7pn7NddQiNtA==} + '@tanstack/eslint-plugin-query@5.78.0': + resolution: {integrity: sha512-hYkhWr3UP0CkAsn/phBVR98UQawbw8CmTSgWtdgEBUjI60/GBaEIkpgi/Bp/2I8eIDK4+vdY7ac6jZx+GR+hEQ==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@tanstack/query-core@5.75.4': - resolution: {integrity: sha512-pcqOUgWG9oGlzkfRQQMMsEFmtQu0wq81A414CtELZGq+ztVwSTAaoB3AZRAXQJs88LmNMk2YpUKuQbrvzNDyRg==} + '@tanstack/query-core@5.80.10': + resolution: {integrity: sha512-mUNQOtzxkjL6jLbyChZoSBP6A5gQDVRUiPvW+/zw/9ftOAz+H754zCj3D8PwnzPKyHzGkQ9JbH48ukhym9LK1Q==} - '@tanstack/react-query@5.75.4': - resolution: {integrity: sha512-Vf65pzYRkf8fk9SP1ncIZjvaXszBhtsvpf+h45Y/9kOywOrVZfBGUpCdffdsVzbmBzmz6TCFes9bM0d3pRrIsA==} + '@tanstack/react-query@5.80.10': + resolution: {integrity: sha512-6zM098J8sLy9oU60XAdzUlAH4wVzoMVsWUWiiE/Iz4fd67PplxeyL4sw/MPcVJJVhbwGGXCsHn9GrQt2mlAzig==} peerDependencies: react: ^18 || ^19 @@ -1013,8 +1003,8 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-virtual@3.13.8': - resolution: {integrity: sha512-meS2AanUg50f3FBSNoAdBSRAh8uS0ue01qm7zrw65KGJtiXB9QXfybqZwkh4uFpRv2iX/eu5tjcH5wqUpwYLPg==} + '@tanstack/react-virtual@3.13.10': + resolution: {integrity: sha512-nvrzk4E9mWB4124YdJ7/yzwou7IfHxlSef6ugCFcBfRmsnsma3heciiiV97sBNxyc3VuwtZvmwXd0aB5BpucVw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1023,8 +1013,8 @@ packages: resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} engines: {node: '>=12'} - '@tanstack/virtual-core@3.13.8': - resolution: {integrity: sha512-BT6w89Hqy7YKaWewYzmecXQzcJh6HTBbKYJIIkMaNU49DZ06LoTV3z32DWWEdUsgW6n1xTmwTLs4GtWrZC261w==} + '@tanstack/virtual-core@3.13.10': + resolution: {integrity: sha512-sPEDhXREou5HyZYqSWIqdU580rsF6FGeN7vpzijmP3KTiOGjOMZASz4Y6+QKjiFQwhWrR58OP8izYaNGVxvViA==} '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} @@ -1049,14 +1039,21 @@ packages: '@types/react-dom': optional: true - '@trivago/prettier-plugin-sort-imports@4.3.0': - resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} + '@trivago/prettier-plugin-sort-imports@5.2.2': + resolution: {integrity: sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==} + engines: {node: '>18.12'} peerDependencies: '@vue/compiler-sfc': 3.x prettier: 2.x - 3.x + prettier-plugin-svelte: 3.x + svelte: 4.x || 5.x peerDependenciesMeta: '@vue/compiler-sfc': optional: true + prettier-plugin-svelte: + optional: true + svelte: + optional: true '@ts-morph/common@0.24.0': resolution: {integrity: sha512-c1xMmNHWpNselmpIqursHeOHHBTIsJLbB+NuovbTTRCNiTLEr/U9dbJ8qy0jd/O2x5pc3seWuOUN5R2IoOTp8A==} @@ -1064,6 +1061,9 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -1124,14 +1124,14 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} @@ -1154,22 +1154,19 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@22.15.14': - resolution: {integrity: sha512-BL1eyu/XWsFGTtDWOYULQEs4KR0qdtYfCxYAUYRoB7JP7h9ETYLgQTww6kH8Sj2C0pFGgrpM0XKv6/kbIzYJ1g==} + '@types/node@20.19.1': + resolution: {integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/node@24.0.3': + resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/prop-types@15.7.14': - resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - - '@types/react-dom@18.3.5': - resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + '@types/react-dom@19.1.6': + resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} peerDependencies: - '@types/react': ^18.0.0 + '@types/react': ^19.0.0 '@types/react-syntax-highlighter@15.5.13': resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} @@ -1179,11 +1176,11 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@18.3.19': - resolution: {integrity: sha512-fcdJqaHOMDbiAwJnXv6XCzX0jDW77yI3tJqYh1Byn8EL5/S628WRx9b/y3DnNe55zTukUQKrfYxiZls2dHcUMw==} + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} - '@types/statuses@2.0.5': - resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} + '@types/statuses@2.0.6': + resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -1194,105 +1191,70 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.32.0': - resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} - '@typescript-eslint/parser@8.32.0': - resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} + '@typescript-eslint/eslint-plugin@8.34.1': + resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + '@typescript-eslint/parser': ^8.34.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.27.0': - resolution: {integrity: sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.28.0': - resolution: {integrity: sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.32.0': - resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.32.0': - resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} + '@typescript-eslint/parser@8.34.1': + resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.27.0': - resolution: {integrity: sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.28.0': - resolution: {integrity: sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.32.0': - resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.27.0': - resolution: {integrity: sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==} + '@typescript-eslint/project-service@8.34.1': + resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.28.0': - resolution: {integrity: sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==} + '@typescript-eslint/scope-manager@8.34.1': + resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.32.0': - resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} + '@typescript-eslint/tsconfig-utils@8.34.1': + resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.27.0': - resolution: {integrity: sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==} + '@typescript-eslint/type-utils@8.34.1': + resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.28.0': - resolution: {integrity: sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==} + '@typescript-eslint/types@8.34.1': + resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.34.1': + resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.32.0': - resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} + '@typescript-eslint/utils@8.34.1': + resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.27.0': - resolution: {integrity: sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.28.0': - resolution: {integrity: sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.32.0': - resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} + '@typescript-eslint/visitor-keys@8.34.1': + resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@uiw/codemirror-extensions-basic-setup@4.23.12': - resolution: {integrity: sha512-l9vuiXOTFDBetYrRLDmz3jDxQHDsrVAZ2Y6dVfmrqi2AsulsDu+y7csW0JsvaMqo79rYkaIZg8yeqmDgMb7VyQ==} + '@uiw/codemirror-extensions-basic-setup@4.23.13': + resolution: {integrity: sha512-U1CnDFpq6ydNqrRDS5Bdnvgso8ezwwbrmKvmAD3hmoVyRDsDU6HTtmcV+w0rZ3kElUCkKI5lY0DMvTTQ4+L3RQ==} peerDependencies: '@codemirror/autocomplete': '>=6.0.0' '@codemirror/commands': '>=6.0.0' @@ -1302,123 +1264,123 @@ packages: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' - '@uiw/codemirror-theme-abcdef@4.23.12': - resolution: {integrity: sha512-Jd7RpoUIMP01N3MRieVlUlMgh683E84lCGjHsDd4IgosgrZYfHJITJZVgOiRk+ei+lGUdDOQmr/jg3Zug7Lgxg==} + '@uiw/codemirror-theme-abcdef@4.23.13': + resolution: {integrity: sha512-n7rcYYitdLSwqirWGTC8MGJRO4esmU1LFLDul1qhKCbQyY6O5t+dzpCNlsH2cgiMhhr2so/XG/FRUGcMcSZQTw==} - '@uiw/codemirror-theme-abyss@4.23.12': - resolution: {integrity: sha512-oQbTTH+YV0os0kXDidhOgNeoMhDF7edF/O04wUO/75DTVcaBT+NHWO2BsR4R/vX8/FylUJEOUAoRYdX2mEfnVw==} + '@uiw/codemirror-theme-abyss@4.23.13': + resolution: {integrity: sha512-7e74zeYPo5n2KqT2PHiX8UVqfCrgu5CXxqycQm6d/66widnGS3AOXXM+utNRjc9j2ESHubtty4JsBfI86Q012Q==} - '@uiw/codemirror-theme-androidstudio@4.23.12': - resolution: {integrity: sha512-2PDjsaAvPxctvF5+i0eL1ntiZI/Vvi72aHSGIZNFMM5NKSCG6z+n9fn9Ci49Dy2JXkTnO8T20G89/DWhGd36cw==} + '@uiw/codemirror-theme-androidstudio@4.23.13': + resolution: {integrity: sha512-DcZmRGjFiU0mWCYqlrUPsKe5pWzoHP2Ab/QWckLTrHRDWuRjB+8bydqXupOWqfrxZqYM6dR5ptpwZCrMnMpFVg==} - '@uiw/codemirror-theme-andromeda@4.23.12': - resolution: {integrity: sha512-XM3WQkHmQr/h/uQlODiP6twa81UDNfNAmGcyWww+3HQIGU8eIRFQ1ZGGgT8tZKgCmdfMOC3p0/qr0d6r3/TfYQ==} + '@uiw/codemirror-theme-andromeda@4.23.13': + resolution: {integrity: sha512-KzmSaTEvc1IikN55OfXxaAYNp9puLsy8AjIXD+wUo0nAVhuRQXaw09x2EE7QIX31hOBOwyaCk97KMYkZPKQVrw==} - '@uiw/codemirror-theme-atomone@4.23.12': - resolution: {integrity: sha512-W4/GOQ5Flw7n59/29UD1uJV2iIVxzr7B/7oPTotn0/2BBArRbJNjOEWYQ1b/OgMl3+mZjNozaYgtr44tHHNSfg==} + '@uiw/codemirror-theme-atomone@4.23.13': + resolution: {integrity: sha512-k/ebwmO0BPdpCjZDPoei3+9FdbO8ChUgy4lozTtpWQTuG2H1IvGlH6ikLdVKdD3QjsL1IDkGx41Ih07clSZE9Q==} - '@uiw/codemirror-theme-aura@4.23.12': - resolution: {integrity: sha512-BnFsSAH+22CvD3AoQIEzRl8s07CR4SOGcrR2cQJWFLFSb7hlEa0myIEx9H4oEHtE1T40meKTx3pk2dpJTqL+IA==} + '@uiw/codemirror-theme-aura@4.23.13': + resolution: {integrity: sha512-fNEwb8Rq5VSykXmHabKH/JU0OZj4vVgs8Qr4/4xwmxj8t/v1gOIThJNd1/8ZTMFsmZ8aBORIacfwuqEquqDfdA==} - '@uiw/codemirror-theme-basic@4.23.12': - resolution: {integrity: sha512-KepDYk/yb1DPV733N0UwbngRlHmFjGR5gh4UOXZic9yI14ndx8jEJsa36Em8THNSCqhSpmn1zeCbnXBxhyF4rA==} + '@uiw/codemirror-theme-basic@4.23.13': + resolution: {integrity: sha512-7GYiryQZSZFpKuskc0d//Pn81z0OtnHhEQp3tZ5Jn2GQuMEHdZt9RomLLzqJTqOXOXVm37cKuYbd47XWcgejmw==} - '@uiw/codemirror-theme-bbedit@4.23.12': - resolution: {integrity: sha512-g5kHD1qTKCjINicbgLEi9MXR4r41klmum4kvFyo/SURwmjTDmetUB+MIqb0fvkcG9VzCiitxHVBl8ZNKxF8PWw==} + '@uiw/codemirror-theme-bbedit@4.23.13': + resolution: {integrity: sha512-7Yc3iQFEecbaQisy5YC+9aov/PVGSKZAEGRR86C+keC/3yxAe6jcg9a/rVuafegm70pKAhO+beGZGjot0k3DVQ==} - '@uiw/codemirror-theme-bespin@4.23.12': - resolution: {integrity: sha512-XuJlDs5fw2yNUBWRsjamExVlt/EsoZQmlZ97qYhK4CDvc/TjHZysVaMApGcwG56CJhGexf5BAxi8xJCFaDTEdQ==} + '@uiw/codemirror-theme-bespin@4.23.13': + resolution: {integrity: sha512-9VQ+utZYQBFTjXPNkWNwVwdjVCznp9q0bq6YCsvN/hH9y1iW5O4RlUqU6cmxJaNndkJS88FtpyO1c+HKxJ08FA==} - '@uiw/codemirror-theme-console@4.23.12': - resolution: {integrity: sha512-HnTjbG5+9tQf3Q+2GxsbVrrFfTjf0X+kd6npGMuiAzeakbJVQ+/yzGQVAg4mLU0nnGMZtoayTcdWcuacSIi38A==} + '@uiw/codemirror-theme-console@4.23.13': + resolution: {integrity: sha512-EtNsXdi5nVQ7uqHLhfpIlIHyGJfuIf9DkpcjWgLtpWYINGa9BGVwkNlke40tSf3P0J+QKxeFGJL0sdMRe6uhHA==} - '@uiw/codemirror-theme-copilot@4.23.12': - resolution: {integrity: sha512-ZICTJQCaFgJI2pJUHuj2NoEd7PZWsOGta1a5jk2SFwlr9JHPkOqrxZixwcoEMEuqtPGdoW+ezXa21H/mlik83g==} + '@uiw/codemirror-theme-copilot@4.23.13': + resolution: {integrity: sha512-vr3Ywydm0tV3b3Pty1YEKpvWF0InPuE0tQkynM7DVXxyit7SuSOXXjlZvAGlzUss8oospUpxYBLrSlJFyqxFXQ==} - '@uiw/codemirror-theme-darcula@4.23.12': - resolution: {integrity: sha512-+TsLGgPrwmjTyTXEOnjtNCsTpE1B6WDESTEeqFtdonLh2xkkT2URwpaRNumVeeTQ9ink/UBTIiGWmtAWiOa+Iw==} + '@uiw/codemirror-theme-darcula@4.23.13': + resolution: {integrity: sha512-eQbKRuFlxJRgpRfikMQDCyG+bk9iGbCmKnKTDxP9/b0qlRP3dnF5mdAe2VqBNapxju0Cn+cy8Wu8s7z0GiYzWg==} - '@uiw/codemirror-theme-dracula@4.23.12': - resolution: {integrity: sha512-ZTNKHvXCOdvXF62mLOkrumu5UeegK/Iip7lCwzW3ZdV4HgljDbnWshyLY6M8iLrjTI1QbYjVGJzt7J5lg5xgOA==} + '@uiw/codemirror-theme-dracula@4.23.13': + resolution: {integrity: sha512-Puw9aqYHA/r4iwIo+JMyIZ9taX2xkTAX4jOz8qVwI4x8LE+PvcF4jVLJkdBHmQEQEzZrKq4vrjrLnviZ2LStKw==} - '@uiw/codemirror-theme-duotone@4.23.12': - resolution: {integrity: sha512-8FUZQyUBJTLaxPU4trS7M658F0NTQ3rAjKCw4jW1N/LlUb9zedgxuGA8Ta/YWg05UbuqHKnMXpFlEXKlLzQqUA==} + '@uiw/codemirror-theme-duotone@4.23.13': + resolution: {integrity: sha512-JZWgBc7i9UBPgVW+35fML7YF8JHSG98PvV1wwa37J2UIQ4csrbgfvh/2g3EPMOPyHZrw9IrNZFLqpIWMJNP4KQ==} - '@uiw/codemirror-theme-eclipse@4.23.12': - resolution: {integrity: sha512-SVyvHPtrmS47IAnREuqG3YcAFJziLoFNtXg4dXX1IGjJzrT1ONGAn9vfMx0KNWOdGHpFUUFjiH8G3igI0VhZZA==} + '@uiw/codemirror-theme-eclipse@4.23.13': + resolution: {integrity: sha512-773gbWBg740h+YLaS7+78BoIPJzsvHYD6uEvmShMdN3bqUPsPtoLNf/+8SFGoF0PU24n9mrm+H8HH5twbhjd3w==} - '@uiw/codemirror-theme-github@4.23.12': - resolution: {integrity: sha512-yxgycQxA1fNVdrjIZ7H7pq+9Q+BeKLmD5oq5oOlw7kVJrnToOMBylv5oIWplVd2s2LFo47lIhWrVC9Ay3b6Baw==} + '@uiw/codemirror-theme-github@4.23.13': + resolution: {integrity: sha512-e75jgCl6Zf7sC63ntyl4r2GU6ekqKbyfIB4g6EnneQlIzJQiDTM+mU0/pDR5hLTyGQdxQpcDs9EmDqfEyejGSQ==} - '@uiw/codemirror-theme-gruvbox-dark@4.23.12': - resolution: {integrity: sha512-5SHwgUjpqSDpcWGM3xSWYZYZPRxq8XfrXB1XoHMkfz7pR5sXuJQ/sj09XM5vG+NiaCXGTvXITxq4QoixczpOqg==} + '@uiw/codemirror-theme-gruvbox-dark@4.23.13': + resolution: {integrity: sha512-GugvLaFUA2gAvVZtdTfYccm3DmADZZou9VzJMuyLwUCFNKMRTL5nSIRaQZlNTvJYp3tRrPEMoIjqsyxqbB4DBg==} - '@uiw/codemirror-theme-kimbie@4.23.12': - resolution: {integrity: sha512-kr+9nKzPgjVDyfPxRMjbRADrLhYjDsNyQIv4yXEgOdmVBxh6w2yzP0zFB1oEds+xzTsx5uLr1O4m2GfRRJx3xw==} + '@uiw/codemirror-theme-kimbie@4.23.13': + resolution: {integrity: sha512-ue4lh1z3bnDKYaNRPF0/OYHe5lSnfgpgSsR6uj7z2LcYaMmKIAf8R84SozWot7IN6IjfHLKVC5Zv0Iz0wb8VmA==} - '@uiw/codemirror-theme-material@4.23.12': - resolution: {integrity: sha512-M7yo5mE0QDKjWm02sN6Sw3Ld4/3XvAuJZcEdKYgqmiGI7GKL/nAV8HDfD8iMNm0HGnyozK402WLzb84oB57gAg==} + '@uiw/codemirror-theme-material@4.23.13': + resolution: {integrity: sha512-UrAi2ETtmkf2oblJp1cGiMXl/+S/rsQL/TF6+J/jDN9+fXIsluSm1E5Odg6SCWzdhmNgfeS6OxMcdHfkftapnA==} - '@uiw/codemirror-theme-monokai-dimmed@4.23.12': - resolution: {integrity: sha512-cFLtLIR8UT7/32imXsiEONBMHbHsqfXjOXe01PfzvDclghE1TDm/4kn12pG6mjztphnngnxQfYNSn6/eQTOq0Q==} + '@uiw/codemirror-theme-monokai-dimmed@4.23.13': + resolution: {integrity: sha512-lUF1N+faBd4mLHPFpMNT3uxAbT9/LfdyTsGTw1OsI4VcX51D+8GeW1KTcz1cDeHlJ2IVuG8sbJgAd3cSTTMAeA==} - '@uiw/codemirror-theme-monokai@4.23.12': - resolution: {integrity: sha512-axDkBX+txR4NKZLrEkFd+m50UQS579UEqneHz1cTQ8r0z7OYjAZo+7CwdXF5BliJOgaRTC617fyUqEr4X6UCkQ==} + '@uiw/codemirror-theme-monokai@4.23.13': + resolution: {integrity: sha512-R69hxAvAwhNlP9iOeY9b7Bnk7zCLb1951FWuNMRkMq+tpJJJ9sZ6UdME3Q0dKZwokU+kd2Pzjot2SpZ/Gdd+tA==} - '@uiw/codemirror-theme-noctis-lilac@4.23.12': - resolution: {integrity: sha512-iXc9O0AfeiUp4OXRf+u7nLfz5SQpcCVtvbOxb0+18taAsyisikkKcejUwCUk0hVauW9VKL2FErDkOOzn5z1FtQ==} + '@uiw/codemirror-theme-noctis-lilac@4.23.13': + resolution: {integrity: sha512-V/K6yhswPlvKL6pGp5QkaWAzGsxhC50vaUTQlzsm7dGN+ffwE4ufX4NRSJkPisRzM3GlxdYTTi0tu1112Xur+A==} - '@uiw/codemirror-theme-nord@4.23.12': - resolution: {integrity: sha512-U8w3VIuim9H1lEzReeNyv1+uwnPO+gc3gLXCFwxpwF/XDrTQf5TjQFL+c1AGVCYM/Ywf5sflUcF96C3z634r6g==} + '@uiw/codemirror-theme-nord@4.23.13': + resolution: {integrity: sha512-khQ4YklsTdeSN+ixF/JiCaig2zpLeqtd+fJdtK1iXH3u6BBWRNzPeTXZ519+9zHjuGeUDgCtuYqUy92YNlM87Q==} - '@uiw/codemirror-theme-okaidia@4.23.12': - resolution: {integrity: sha512-iunSHnMoCxJMUX1usfEQFIFzKhv807aMArMJ324y49nZLkmwZDuGNLYg2x4MUvdGyD9Ksa9N5eujoq++SekfGg==} + '@uiw/codemirror-theme-okaidia@4.23.13': + resolution: {integrity: sha512-0GPJ45l6FaB4mV9gVCbI8WehhfqaG3iB7Bma41fJcBoqTV26ocgzhTMCNs3JrdYu4EMNwVc7uLm7wm839mk5Mw==} - '@uiw/codemirror-theme-quietlight@4.23.12': - resolution: {integrity: sha512-p/btvByFWjRGNTQXRySOiInub3njLEoepPGqhU8V099ndmprzl3ef9bO5ANWDM7R8p6uciYUp6hS2u+PJPtu8g==} + '@uiw/codemirror-theme-quietlight@4.23.13': + resolution: {integrity: sha512-1EgWh1aVAVs9zNeuvGZQMYLHpt3i5kCc02eA5xPc6Ibyu3rc9WWqP1cdSybZ3lw4/GJGQyZxyjL6mNs4jwiitg==} - '@uiw/codemirror-theme-red@4.23.12': - resolution: {integrity: sha512-m9Xu01Ko1WuLThuYDdOQqVS6YgGV5Xz9s0Qv1idIbKNeu/HX8BGeWnjrxjkv6EhIX0zH+uN4wcWELZ7dHZZx6A==} + '@uiw/codemirror-theme-red@4.23.13': + resolution: {integrity: sha512-JaNXcyGC0KvWsOaPlAiYVdJP52P/3J3/8jizwKU8VAhXHm/YDUyLAnAHzHXL5W2IYHlYxqd7mMOoagY8Lj0k/Q==} - '@uiw/codemirror-theme-solarized@4.23.12': - resolution: {integrity: sha512-qAh5jS7P/qwLAJ93OP9r4Z3DdZh0SFq0uhwYXckSVVYtuypiYf3ZSpQLuiSQ7I/B9BMPtENt7GgthFIun21PYA==} + '@uiw/codemirror-theme-solarized@4.23.13': + resolution: {integrity: sha512-e6sota2PFvAubVlcWJnfFW1fpggZvU7BFtz/5wzSmBDMmZmAL2PQCGf8cv4W0XNVTFm/n8AnSmSTHJZfzCnljA==} - '@uiw/codemirror-theme-sublime@4.23.12': - resolution: {integrity: sha512-fblzQo2xIZqznuu26FhkUST0JFdcJS1pWGJfJUpR49/cY1yni7LW5m30oAklJT2NpPW2ZFi4YkhCqkOfEzXYAQ==} + '@uiw/codemirror-theme-sublime@4.23.13': + resolution: {integrity: sha512-bdT27xQNNIVKURTdN40mNJYtBYzcdpJInsn7ggs9eZY2RI1b/bFblCJNSyepGBFRt/KewDDu6ih/cmixHGZJwg==} - '@uiw/codemirror-theme-tokyo-night-day@4.23.12': - resolution: {integrity: sha512-wT/A0SI7aD9j3WQXkLlk3mLk81kZ8ZGD1Okz+YIk+DngH0uD730c5ZMv6AUSHbqAtPePgsjSOHMNS/IQfPOunQ==} + '@uiw/codemirror-theme-tokyo-night-day@4.23.13': + resolution: {integrity: sha512-YqO5w5LTLbZdPRFQNVbDk9VbDxV6QPG5UpDdC2QmeoMGkifxTBcUgTvXUzUS6/KU4/iw4DxMBssTcBnZBTHnBA==} - '@uiw/codemirror-theme-tokyo-night-storm@4.23.12': - resolution: {integrity: sha512-vBk7OMWmkNlReajWdApBe009SgE6h1D8GnmaamjLklnzuIjEDyy2HnbvRxK4cwaNBGDDT5SGRWVbiiKssLTQdQ==} + '@uiw/codemirror-theme-tokyo-night-storm@4.23.13': + resolution: {integrity: sha512-bL7NQsYSo7AztsVu0WADft4QMqUhhkhP6GVfEPAzi0fEHn+v7HKTelv9C1ljq2y0OCK2IDxhpd3Biy9To1jX/g==} - '@uiw/codemirror-theme-tokyo-night@4.23.12': - resolution: {integrity: sha512-4J4+RhN2qXeqNouY79K/0g69xjgTxqefZdfHv7Y7xFh0n76oR387ojHxut+98rcEOX7GKGXn8tXRoyhWWZVcxg==} + '@uiw/codemirror-theme-tokyo-night@4.23.13': + resolution: {integrity: sha512-FhvtU9RTYVxUwhl8K/6jJKC5IRnBgm76WCEtACsdfgvHS4qTa6m9E66qTbUUkfHi2G19GiO/RQVlU6cXgndiIw==} - '@uiw/codemirror-theme-tomorrow-night-blue@4.23.12': - resolution: {integrity: sha512-84aXg/k5kERu3iri48sGT/8uap2OQKELjt2Hv+js3mZcBUm7rM39NuSvXueSXhCoR4HjA3aV5q3rvUph9peZeg==} + '@uiw/codemirror-theme-tomorrow-night-blue@4.23.13': + resolution: {integrity: sha512-opz1ikxFo3LNkYU6TSd9YY7aE7I4dB3tEltJS9VB7zJh4ddrEiaNBVaGdjwVIl1Sqm448e2Uul0Eo5J0si9gzg==} - '@uiw/codemirror-theme-vscode@4.23.12': - resolution: {integrity: sha512-ePBaUQiixrpmSoZJWCGXUStKmcM8G0VBv3UqwPR+kNGBjqDife76Gbhv77izSeEI3zRPzL+683BOdclkvWnsMg==} + '@uiw/codemirror-theme-vscode@4.23.13': + resolution: {integrity: sha512-Fn79r3NBMPP/hF9ui1e8VCyEjVbZ+rW2MIIGgq/LOkLXZSDXEZRa6NhRt991IuZ6e0R8bprrx3TGVQnkVfODbQ==} - '@uiw/codemirror-theme-white@4.23.12': - resolution: {integrity: sha512-f2pHnI1UWNQQ3d8A+zNveMQMqE7RVFoMcgCAp5owM6EDI+o0RjyqUPDLH9H1mvCPc84qEMG7ZZrxjaG0C7oG1g==} + '@uiw/codemirror-theme-white@4.23.13': + resolution: {integrity: sha512-objVXKwMYwWmLyUxTxzvmz3IkpLUNrScO2X/5dcNPrkClj7Kc/Tkhc61sreq4DGVYN7jFu9bCOwhDdG6+bht1A==} - '@uiw/codemirror-theme-xcode@4.23.12': - resolution: {integrity: sha512-9KnTjhXFqwGphQl18CGRzRc6yB8SZkyv4L7u+j1QOq/nFmk3i44HKuHiuKY+J+XfFq3Cmxg629o3CK4ecMsvUQ==} + '@uiw/codemirror-theme-xcode@4.23.13': + resolution: {integrity: sha512-Q57CoaPCC7xr55zOV+502V4GgyNqgz2r8UBeLnOVzfMX2xS5YzsZgah7kUdmliN+PQAveohdmhuhzynhpbAz+g==} - '@uiw/codemirror-themes-all@4.23.12': - resolution: {integrity: sha512-nXBqEfbPUK2BQgPfC/18IlWX/jDKRFLVnSANK+NJBhz6coht+VVXfcGPcahjh+HfTvvWb+Ld6ZQAXBBpHxR6Cw==} + '@uiw/codemirror-themes-all@4.23.13': + resolution: {integrity: sha512-VwQQC05fCPp3ev74ceT9gqcHIIBB0LKr8SoiIgmrtGcn+3b+vKxD0ywTL9zPGCJzLq+CTaAwNyDH77q1zZuYmQ==} - '@uiw/codemirror-themes@4.23.12': - resolution: {integrity: sha512-8etEByfS9yttFZW0rcWhdZc7/JXJKRWlU5lHmJCI3GydZNGCzydNA+HtK9nWKpJUndVc58Q2sqSC5OIcwq8y6A==} + '@uiw/codemirror-themes@4.23.13': + resolution: {integrity: sha512-thk4X8VNl15XPoDiOXdkeMAIIHQOoc5lPfmgOvrhPXHzt4zvH5efLWBw3zgpwuOWF+Uk6sYrS0eumtsSO/kgcA==} peerDependencies: '@codemirror/language': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' - '@uiw/react-codemirror@4.23.12': - resolution: {integrity: sha512-yseqWdzoAAGAW7i/NiU8YrfSLVOEBjQvSx1KpDTFVV/nn0AlAZoDVTIPEBgdXrPlVUQoCrwgpEaj3uZCklk9QA==} + '@uiw/react-codemirror@4.23.13': + resolution: {integrity: sha512-y65ULzxOAfpxrA/8epoAOeCfmJXu9z0P62BbGOkITJTtU7WI59KfPbbwj35npSsMAkAmDE841qZo2I8jst/THg==} peerDependencies: '@babel/runtime': '>=7.11.0' '@codemirror/state': '>=6.0.0' @@ -1450,271 +1412,267 @@ packages: '@visx/vendor@3.12.0': resolution: {integrity: sha512-SVO+G0xtnL9dsNpGDcjCgoiCnlB3iLSM9KLz1sLbSrV7RaVXwY3/BTm2X9OWN1jH2a9M+eHt6DJ6sE6CXm4cUg==} - '@vitejs/plugin-react-swc@3.9.0': - resolution: {integrity: sha512-jYFUSXhwMCYsh/aQTgSGLIN3Foz5wMbH9ahb0Zva//UzwZYbMiZd7oT3AU9jHT9DLswYDswsRwPU9jVF3yA48Q==} + '@vitejs/plugin-react-swc@3.10.2': + resolution: {integrity: sha512-xD3Rdvrt5LgANug7WekBn1KhcvLn1H3jNBfJRL3reeOIua/WnZOEV5qi5qIBq5T8R0jUDmRtxuvk4bPhzGHDWw==} peerDependencies: - vite: ^4 || ^5 || ^6 + vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0 - '@vitest/coverage-v8@2.1.9': - resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==} + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} peerDependencies: - '@vitest/browser': 2.1.9 - vitest: 2.1.9 + '@vitest/browser': 3.2.4 + vitest: 3.2.4 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@2.1.9': - resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@2.1.9': - resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@2.1.9': - resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/runner@2.1.9': - resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/snapshot@2.1.9': - resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@2.1.9': - resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/utils@2.1.9': - resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@xyflow/react@12.4.4': - resolution: {integrity: sha512-9RZ9dgKZNJOlbrXXST5HPb5TcXPOIDGondjwcjDro44OQRPl1E0ZRPTeWPGaQtVjbg4WpR4BUYwOeshNI2TuVg==} + '@xyflow/react@12.7.0': + resolution: {integrity: sha512-U6VMEbYjiCg1byHrR7S+b5ZdHTjgCFX4KpBc634G/WtEBUvBLoMQdlCD6uJHqodnOAxpt3+G2wiDeTmXAFJzgQ==} peerDependencies: react: '>=17' react-dom: '>=17' - '@xyflow/system@0.0.52': - resolution: {integrity: sha512-pJBMaoh/GEebIABWEIxAai0yf57dm+kH7J/Br+LnLFPuJL87Fhcmm4KFWd/bCUy/kCWUg+2/yFAGY0AUHRPOnQ==} + '@xyflow/system@0.0.62': + resolution: {integrity: sha512-Z2ufbnvuYxIOCGyzE/8eX8TAEM8Lpzc/JafjD1Tzy6ZJs/E7KGVU17Q1F5WDHVW+dbztJAdyXMG0ejR9bwSUAA==} - '@zag-js/accordion@1.15.0': - resolution: {integrity: sha512-EKNeuKx+lOQ/deCe/ApCjVPxpxpDwT2NXvMPL+YvqXmSv7hAnTLs9fDKjbDUQUMmsyx32BsBd8t6d17DL3rPXg==} + '@zag-js/accordion@1.15.2': + resolution: {integrity: sha512-4ooxmmnEDeRLPLOCsrQeLHcTj+xTqBHm6pYEdho/pb67lHujAUSnbfEryorBSfvJEWdiUTYts96EfsLfbn5SYA==} - '@zag-js/anatomy@1.15.0': - resolution: {integrity: sha512-r0l5I7mSsF35HdwXm22TppNhfVftFuqvKfHvTUw+wQZhni4eUL93HypJD0Fl7mDhtP5zfVGfBwR048OzD0+tCw==} + '@zag-js/anatomy@1.15.2': + resolution: {integrity: sha512-GiWZk+fqO/W15FIRVhUL237xZmYMm/gcrp8b4VJGLpZE4qaQaBd4kSYObhIl/7AnLC45VjKbV7c8fLxZKd/5kA==} - '@zag-js/angle-slider@1.15.0': - resolution: {integrity: sha512-xIZBa9V6d05uK7+XQVhfdsThqbZKimSYVxtMOWJfG0sKn63N9VGPxL1OtOMq7FA4IP3SyvlelsGt+3t82TUiyA==} + '@zag-js/angle-slider@1.15.2': + resolution: {integrity: sha512-ItcDlKHJbPFfPGmmiCGcWcd0Y8xC+WH5Dji7+uzBl40L9hh8si7/FrY9EB2cX/qUTDppNyicLPIDnZRGkByTOA==} - '@zag-js/aria-hidden@1.15.0': - resolution: {integrity: sha512-3ogglAasycekTHI34ph16mqwM+VtHCOMtrFHWzPwB16itV5oDEeeMNdQXenHSSyQ/07nJ2QsRGFFjGhPm1kWNg==} + '@zag-js/aria-hidden@1.15.2': + resolution: {integrity: sha512-Uwt86QpEaI4qLFS/k4C7rwIfyiH8EdE5a4AWiQ26WsL8VOpjROn65rBEOJ8q3fG5CJXbdcqaYK3lg4ldqf9irQ==} - '@zag-js/auto-resize@1.15.0': - resolution: {integrity: sha512-EXgrsU7OWxc7obSOt8Okh0144H8DQi1S84OsOUY04Uni11Dnp5/X8+t6mvBbkw4/Qyz5UBjChjocwBcO+HHV8w==} + '@zag-js/auto-resize@1.15.2': + resolution: {integrity: sha512-Mg3IN3eIP2wKBFRm5qti/rjKpTj7sfIVNfO9BgWdHDSzli1VwaBX7GaOE3nGc1tZ2nJ8n0SWRvRSzr3b57cwKw==} - '@zag-js/avatar@1.15.0': - resolution: {integrity: sha512-EHGxzXb1mLf3n6x0z/rqFl1mghDB/gyfPAeaFUoA/cacmmMk8YB3aDUXkS9pTgN9stYJBM5f6T4xB1ZUhrP8tg==} + '@zag-js/avatar@1.15.2': + resolution: {integrity: sha512-4aG2ETJbdMTALyXwU/DeGfjs/dM0Kllje+t5ov52fQrtkY123JdrvKQkcvsc7Luph1kdN1tC1/2fe/pDMhycCg==} - '@zag-js/carousel@1.15.0': - resolution: {integrity: sha512-ZI9H34f2utdJ2Ek6GZa+iuRH4eC99GHD/VEOKLdGani8uadpT2v8M5kUwPGrlAJq9SiPbQ2UuXBmCkmurPQqdA==} + '@zag-js/carousel@1.15.2': + resolution: {integrity: sha512-7bcyEtWIhv7kw+V4H+Fv5rE8I8lf0LQOj+m3HTYzWo+wiLybFfI8/bg1qywjSYKsgZr3gmGVCEZhfx3BSpP3eA==} - '@zag-js/checkbox@1.15.0': - resolution: {integrity: sha512-6lQvPQNJXt7R0xxdpOuh2qtmAkzdBdqSvFIH7fE6GJzJ/AWiRZh0X+9deLQ76CN4EDUdxizEe7MlQfTI3a56aw==} + '@zag-js/checkbox@1.15.2': + resolution: {integrity: sha512-Ay/+rpKbxL4jE1pwVw52h0t79PpiifA6QlYnV4E+hWl1yJBkMRIi76Ryhqvqp4yY+2Wyr9OfDA9eHmQjapG4VA==} - '@zag-js/clipboard@1.15.0': - resolution: {integrity: sha512-Q3kh0fHvOEAJUywQm3zAWyltrYyiI8OpeZQ18k5Mf3/M+bq3gSphZL0+AYsgGbKUg5O2+hJ1SfiErAjyhRtBQA==} + '@zag-js/clipboard@1.15.2': + resolution: {integrity: sha512-EE5OlsIYbBklo62qu3A7GiUnsgmoGaoDZvhpYvpNM8StWNeRREcJZXRIizv4aFC46e5eODzSNcebnMLYa8Wcgw==} - '@zag-js/collapsible@1.15.0': - resolution: {integrity: sha512-GX0kdMlKk4Yk5k/2wN0prudf21k+TfArGr4EHqimTDR0vQE3dSdb3pYyPjw20fLzceKHBBCLsoi2v+YnS75gHA==} + '@zag-js/collapsible@1.15.2': + resolution: {integrity: sha512-vvUXQMFgwsZJphE4Ml5ap4FVhtyLOqK2QXPbt2+F8X8SRwJ3/pqsSsLFdH+ALpNoCK6WF9j+8FZ4lyidr7XPDw==} - '@zag-js/collection@1.15.0': - resolution: {integrity: sha512-oC3i6c/oP/FuNPsfgoC1reSXbAvDBGXl0HU3CcvXiNLHbjg2ek8J7kbow6MNuXK6chiksiOHbzKxHl2Oo0Ox7A==} + '@zag-js/collection@1.15.2': + resolution: {integrity: sha512-bJ9EtZ1Cpjh/rQFDMPTPrky/eSfaLpHWmMnk/S9b7wi+OhC0Hoqw38lcWzfc0AaE4bJsfru9/FLIsCDOLf7TSg==} - '@zag-js/color-picker@1.15.0': - resolution: {integrity: sha512-DGujS24h1OWkYL+TWyd+xukOO8NBgcSfFCINffa4ivkHtNx3nC28qkwLPRASbl7AK69pbrcuO6bx1Sy/JQJw0Q==} + '@zag-js/color-picker@1.15.2': + resolution: {integrity: sha512-UOYHECq+X6hSrgSxwBt5O4Y6f2IdOGMhe7P/LFev7Yn0x1F9fMxJZCIzvQGaQ2V/hR0eTatiKk5SmOp9+dJA/g==} - '@zag-js/color-utils@1.15.0': - resolution: {integrity: sha512-SKo+p5Fu0TBtdDua8UHVjptOkwLLBFoD499Z1FER/gr0R/97L03Kdir0YTxvKn5pXWXYY1EQn4hpTuTITN16lQ==} + '@zag-js/color-utils@1.15.2': + resolution: {integrity: sha512-c167QcxiVHgFZ7ca0PSQZ7skhbBOd6u1lIyWYzkZ2uPf0yJndqP9gFYPMbwK6d4WIM9k6y6mLdsWCGpqIJJsIg==} - '@zag-js/combobox@1.15.0': - resolution: {integrity: sha512-HBck3wcEeIOa7IQMsUkUKbm9cAU7bjoklIyq2zFGn90k7DcDa++oXK9Z2pmcd4TPoBYiyVuuXucaCcjmLX8V/Q==} + '@zag-js/combobox@1.15.2': + resolution: {integrity: sha512-lZXW99NLnRfLLY1ZOE0oqo4wMDglkUjKV1UZaHyj+yqXsiMtWhKQFQW/JeVBRDe6RCv8wWPPHMycNANMw581gQ==} - '@zag-js/core@1.15.0': - resolution: {integrity: sha512-P/8F3IXabMhpFnc6hC7GDg3rvUnvY27cuZU04hxjUqTH6+SfORIA/Uvqd4ekhC+dIprL9jicnFrmGgcyelyxfQ==} + '@zag-js/core@1.15.2': + resolution: {integrity: sha512-yUnh4I0nZ8rlszWgF402F5vGoYw7DNwStYz2TAO+4E08BpKBATw3FEdqAHPm+2xZm5qPqnPbM4iObwUlkBQUEw==} - '@zag-js/date-picker@1.15.0': - resolution: {integrity: sha512-IZD0V9MAljp1QhxYbST80AonryuDnyx7hvEy/RrBY/VOx6I4STtKfcSJ5ZZgVIzJfH8Yyaed4+IwcenqG7W5YQ==} + '@zag-js/date-picker@1.15.2': + resolution: {integrity: sha512-KElAFm3fW4GKGUNUe+jqqUX+P1H+Cigp/eGRgIl0dUjCwHocD1oN0ZCwNYmf7SJoWSgPRc1UJdA4XvpdU0IwPQ==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/date-utils@1.15.0': - resolution: {integrity: sha512-FX9EesJRnUTYTpbXf5EVfCbsXW5vYtZfc635aQzojc9ekk1FGcHpqQs8ZKfCOTPuauZFOX9i6139A4KoPfQOiw==} + '@zag-js/date-utils@1.15.2': + resolution: {integrity: sha512-U+HtfdtHJ5ed2ys8izMhu8gY5jQigCd8ExPN5Cxg5CoIbSkho9NT8o/eO9OW71jc2F4kwBh+q0reyxxLJnTSbw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/dialog@1.15.0': - resolution: {integrity: sha512-Vlt5vySs4u8c8xBEh2JMUvRfPc+aaVEIIUtFVxpc2ORWhBXs9glijyp1yf3rNHJhjj8gqqhF5sEvs3yUTTAk+Q==} + '@zag-js/dialog@1.15.2': + resolution: {integrity: sha512-LUF+tiiUJj7v24txhC0TOwEgsfj1GCogAmBaiJKxvqrDEDv1B91J0b6SUQ5TuTMLW+hlBEzXZw0QsTxa9OXBew==} - '@zag-js/dismissable@1.15.0': - resolution: {integrity: sha512-yv575KWy8gA1p4aajOiY5l/nBQ3Xw+Mrjpungp1+wiGd/98eNAIKJ6/adldfbE1Ygd/Q4Dx2VQ7D1AmiTdwUSw==} + '@zag-js/dismissable@1.15.2': + resolution: {integrity: sha512-+WY8a1L+L8hXPGmWKqOsSg2KCHabVWXEX8mewHamltpSb86+2WMmblpLNgTwbm6V0T6txf1N8lFuzWMojMEWSg==} - '@zag-js/dom-query@1.15.0': - resolution: {integrity: sha512-z8H/j/Zs0eZEsGpbonScmlKSv0jEXKiAwUCrvQ9Mt6Gz9n0CQRM3MkFclSsM8aeiSv6qKLlhPfkzjl18OLkbgA==} + '@zag-js/dom-query@1.15.2': + resolution: {integrity: sha512-+r9Xj6hiQj9b2ZNkT3E/bDaXgigoAkhtikDXov9duAY14pFFJxazXr0NcVgacik8ytAEt6XOOshLcAftyalRKg==} - '@zag-js/editable@1.15.0': - resolution: {integrity: sha512-F14HKZuDsfkpfIkaF/ZDYPkz/pFf6VHrvoV0rdhj8wb8QJQ4nB+lgBv2APSwkEaFb/gGrnE19v3Ojlt5tqpPsw==} + '@zag-js/editable@1.15.2': + resolution: {integrity: sha512-32v7DXDBnDX1CiFpGRh9uclu48UJQJT2QZPQ0Bys3ZOFgMxsWH6tCKDb7iQTcINIc/XIx/9nclWnV5egzimG9w==} - '@zag-js/file-upload@1.15.0': - resolution: {integrity: sha512-2hAlQr9qdT8EH4XnmkNkEIDCCsmp2SMoMAjq6nJKYO8UJNQGRanU2B5S8jV3quJBz0vIY43SwyvqiZ3+1VrJSg==} + '@zag-js/file-upload@1.15.2': + resolution: {integrity: sha512-Zgac/da5QrUlE0ItlNy1kyMXfTy4ynTWnq4aZ4wZ9eVHUFQhLXERv8l+hYJetImISnuclmNVxNKP8Xk+5t4+tA==} - '@zag-js/file-utils@1.15.0': - resolution: {integrity: sha512-tahJt3JmrXaOtGiknH5PxIiOyyNvroMfjiBqOqnNksIPzDoWmVNxHOEme/ts7dJlkRD8U2qm2NFC2VS0bKerzg==} + '@zag-js/file-utils@1.15.2': + resolution: {integrity: sha512-aNUEBJUeK6G3pyf+zYnIMg0GgJnInddjGRedFeTnfK1UmlSO8wTbxQTCvjWd4Nnr5eCTpQkRq6wTZy8JeIcOpw==} - '@zag-js/floating-panel@1.15.0': - resolution: {integrity: sha512-AYYFseA1MeQUZl+zjNoKUu4j0kwz8EyJd4oJjs8uJIR6KG8u8QhpWYIBUny63M6AtZTCSYQAgBEcEh+mrbEyyQ==} + '@zag-js/floating-panel@1.15.2': + resolution: {integrity: sha512-8oG2MRXWWeXws7iVDmJFBqHLHYOGLvYe+vgXI3vgnLhmS4SeX9qAJj6qIOar7htOmEtp1p/KiBo2w2MYtzjuAw==} - '@zag-js/focus-trap@1.15.0': - resolution: {integrity: sha512-N8m/JpNe1gHUPJlr0hyGUdHg6pAuyJKkBaX0s38cyVntlo2CJhyAWZGuUdocpT2Q3HNPql666FNnH986rYPDKQ==} + '@zag-js/focus-trap@1.15.2': + resolution: {integrity: sha512-5EU5/Cg80oNO3z83A/33t9SOVYvLqLOuSPxt/7Xzy/L1Vj3vUj+s1ox6IpECmEFJcuql7X5yt6VIVitrLtgbFA==} - '@zag-js/focus-visible@1.15.0': - resolution: {integrity: sha512-TPXBf47tj6L0hhZNl9AWhuLoVzfPaNPM+/Gw8t9l9Whvy6v9rk/rqUCidY5LsrQuPiKTi7s5WI5J+Wod8ib3gw==} + '@zag-js/focus-visible@1.15.2': + resolution: {integrity: sha512-zElE5T41p5QaB4856xK2SeERmHrKbA/UMzoyHzrAk/N1r6dNiMOOx1hMyHy7y6pEhC9kjJFwEpXi1QEel6/ELA==} - '@zag-js/highlight-word@1.15.0': - resolution: {integrity: sha512-Rwr/rRm8BaF2xW9BAEJeA2wpFVx6HzoezfYQX7GFPPgw3N8nBMAYNjx+i1YIwIEcNyad2rbaBB+pSd2fZLIniA==} + '@zag-js/highlight-word@1.15.2': + resolution: {integrity: sha512-2a49h4k0ISIDydaZZDdASEHJpwxJeuZHSPCE7cM3/BWCR3H5galeC/jbNWRlTJVH4OQTYAR0I2wILQvOWLhSrw==} - '@zag-js/hover-card@1.15.0': - resolution: {integrity: sha512-j6BsE+metdnv/C/Ls0TZzAMN78rtS2r8M1ccHY5FFTGyUvZnlE8BY/QPNyCSSSCUpynymzMYh3IMYlxbJgfpSQ==} + '@zag-js/hover-card@1.15.2': + resolution: {integrity: sha512-FfNmhow8MPMp5RgTeC87x4EStFw+d1137w4QZ+fC5PystRzxGeiyDJyLRYGVeIQO2oP463az70vnxsbFAMu98A==} - '@zag-js/i18n-utils@1.15.0': - resolution: {integrity: sha512-anxSbT8kLbJaFJFSb0Ork2j/Lp+XVfMNCIgiBR2BuqUlfX72k23TIJvRxAfwNIkUfs0L8ikaSgLss9OwS4mAnw==} + '@zag-js/i18n-utils@1.15.2': + resolution: {integrity: sha512-1RnqCaxe+l4UR1O3fhn04T+J62yw/SkCByhrhrPSis/H7a65nW0WsoWiJTIgWp/hN9HI2Y3dVFfMEwQUFFHG1g==} - '@zag-js/interact-outside@1.15.0': - resolution: {integrity: sha512-OwBf/iesQGU9Oq3xe/tcK7gu7xipiGWsmwl2CcScr0fTp3BIMbQywHS928IgPk1DxA8KTHodY8wBjoY1dskfRA==} + '@zag-js/interact-outside@1.15.2': + resolution: {integrity: sha512-WbCICcMJHL6yS8vaou0FvKV6shl1Z+CefF7yzn5MEshPLbmy33WGQ2KBzodTkIQFM/C/zdVz5xKl8TbQmi7jUg==} - '@zag-js/listbox@1.15.0': - resolution: {integrity: sha512-Gcg76uWZwUAyMFZzGWpHnFCU/aaquNbXmVnyzzBgE3Co2snkv02rK1yG9iBwemZe3e5+VBifMMAtLLPAQJdz+g==} + '@zag-js/listbox@1.15.2': + resolution: {integrity: sha512-V6Zbi8HTiyhsV4GhFaiFYL2bJo4lOt24/SA9M/T5D7ZH+bTm3itPUxYddIBi9w6yRTU0gsorosD2GyFkHjchvg==} - '@zag-js/live-region@1.15.0': - resolution: {integrity: sha512-Xy1PqLZD9AKzKuTKCMo9miL1Xizk/N8qFvj64iybBKUYnKr89/af3w7hRFqd2BDX+q3zrNxPp9rZ6L7MlOc7kA==} + '@zag-js/live-region@1.15.2': + resolution: {integrity: sha512-dIrfDlKyNz99CQVeHu9RHe/x+yTBm3wFA7H655DXL7CugO9tpTlynkrTG9AB+0Z84JKZTeHh0vGVa2chTWKrNg==} - '@zag-js/menu@1.15.0': - resolution: {integrity: sha512-GbEBVYu0w7+88xrGX2GrjXfnwWuX5jLhoLiEcuxvxJQal/nahKrH4AGXJvHXNaRbj+53V3nWAh3u70C9210PWw==} + '@zag-js/menu@1.15.2': + resolution: {integrity: sha512-54dGUChMLyTrkCGbKGh0R8l/cg0vPFnGZwMG96zYJhkmXdpDMECZgBrN3j7B6RtEIvlAR8fMH5Sya58Amb3lGg==} - '@zag-js/number-input@1.15.0': - resolution: {integrity: sha512-+kK8kyXJhIAbEUnswoMDR+DSJUmvDNIOW0ffuZ9pbfukN3p6zaA3/dCp2Dtg3bQS7hGrFWgtrdejJ8l+mVvUAA==} + '@zag-js/number-input@1.15.2': + resolution: {integrity: sha512-qtDAVUdMXBhufBSwAgi8MXm7zHb36ujfWmxCJg6HbjKVF0BEAxeoye5VexgyYul7Hp8+Rr9LkW8X35W4amjJEQ==} - '@zag-js/pagination@1.15.0': - resolution: {integrity: sha512-Z62Q41fQPWqk59QyJk+9J0Ad3H9DCqZ0zZutI6iH8DdzT0A0xxmT6zhup6DM/8C8h0OLlaHFTWQnj0RdRNrnXg==} + '@zag-js/pagination@1.15.2': + resolution: {integrity: sha512-k1jT7UWDwgkYVsf83TTUhks6iZ7aQpcEjQ+iWI2LbZu98+bVhX9hpHfxdWbvTbueGk6WjB2xa1X0tsktII1mmQ==} - '@zag-js/password-input@1.15.0': - resolution: {integrity: sha512-oHuZKDRJIbycqWpTVznufy4L7K2g8kwcEaZ4runkwO2ocF00zP8HVmOZQzmhkUgTny0azErQydg8XE0VR5OfYg==} + '@zag-js/password-input@1.15.2': + resolution: {integrity: sha512-9BpQ26Z9XoCiNAHOmx3zwa+62+C6358/az0h3N24P4qS1EdTVWkhG1tsyPhRElg4v1koavZ40RMUppJQBH+DmA==} - '@zag-js/pin-input@1.15.0': - resolution: {integrity: sha512-IykjogZBG+BfbFXymSa+KGpOi5CrV9kl8HRm6G2V2Sr3NA5jEwMFaGSd/QrcHS9vh23D1Smx/io4pvF7c3q0kg==} + '@zag-js/pin-input@1.15.2': + resolution: {integrity: sha512-1KjGGmyldtEb4RwwdBTKzbgAwpNT6CyY274LvQC8lTCEUYOBkUmS9OUaKUbwkoluCdmXrugpg/XMulisRmMtgg==} - '@zag-js/popover@1.15.0': - resolution: {integrity: sha512-cdzEed3zcGbjSgPQnQnrsuXo2hVVslmSNwQbU5dHcNzG1uxxmtPCIMVeBUmGyJbAFF5XQpKCq/7mIr26dT73vw==} + '@zag-js/popover@1.15.2': + resolution: {integrity: sha512-6cD4eTwwj/bkTCDWVk0dMFqg01iD7qJofRSU3da7nde1Y0TMz8gBlt++GASgCF4p/hPeGLD18GcIF8FKka9IlA==} - '@zag-js/popper@1.15.0': - resolution: {integrity: sha512-Ra/0Ko423KN+8D4+mIFFkeTn9uaHfpxn6UUNIWwZKoiJQvED8DH4dPbLbmvGEoKp6qmisnRHAzi71NLgEhk0Mw==} + '@zag-js/popper@1.15.2': + resolution: {integrity: sha512-5uaFW9IU8bj3NdEiyuSp2eVJaPvWoA6/q7Fh423Va8booMYW4k1KFmz2BSxQ3JfK5lt3vPI0X2026gSxTx/vmg==} - '@zag-js/presence@1.15.0': - resolution: {integrity: sha512-hoxXis50pm79PpkY2kA1wdhh4AEo7t7pBv0VsQYZYjmzuFh4V5IMw9oa1EOfBlC6f/A+EMZ9E+xg+EVsB68a8w==} + '@zag-js/presence@1.15.2': + resolution: {integrity: sha512-cNPJz3qeXdoYFEefxFixZoMDFzqfHsLgmi2ynmRrFlyHzHtFdvKjvS5ywo9YFGNgwKrEddS43n8gl3w3lgqBCA==} - '@zag-js/progress@1.15.0': - resolution: {integrity: sha512-/Mz26GR2rOAuoErNOiSGRpvwckTmbCD5nWGDE/aYlVRID13HcsmN15Zk2Jfa4LadqK88aIN8Iy0Sk4elG0+Efw==} + '@zag-js/progress@1.15.2': + resolution: {integrity: sha512-VPunnrTYiJaHnnCKuh2ZARCnzgTtxYIiNKiUVPWlygsWy2AGg1K3AvVswF2CVfGpwbO4ioyBQO65EZkQiMN/Aw==} - '@zag-js/qr-code@1.15.0': - resolution: {integrity: sha512-GkGy5k5tk6DIui9lGjDO8+e8TsSVOxEGp1lblPiaRm1ggIh10GhIfCQWGe/x78ezdie8WzxlSrma89suTpaiAQ==} + '@zag-js/qr-code@1.15.2': + resolution: {integrity: sha512-hFtwGGArxVJo7osbY3R73BHIX3Ldb8G4gtNDZ2fGcKAcp+SQg5GXUIBK17ncxJrOC7A1Wp7sdOoYNNOPWe2fYA==} - '@zag-js/radio-group@1.15.0': - resolution: {integrity: sha512-+KTebHUtMsE/YDyGE8wF5VnWfZQp+f2WoAwwzBjfhPpRxXbOUMDo0pZEEr3yxkSvQ9hgCcBhMKH8pEk0SPxvjQ==} + '@zag-js/radio-group@1.15.2': + resolution: {integrity: sha512-+V9Y4EZuNITMbA9iJisysqWW+JB3YdlFF6dAomvXN8nuOuj8HE02JHndIeMflDtW6Tz99JcJLS7lNXN7G5uEuw==} - '@zag-js/rating-group@1.15.0': - resolution: {integrity: sha512-omGKN97FhplFwBX9J/Mj7BCZuwFXSXssSVTKU7Yp2d1Cmxhez4+Ju7KdSRNnIoWB4OxFCxwZyaAPTcg3E0Pjrg==} + '@zag-js/rating-group@1.15.2': + resolution: {integrity: sha512-g7F9NyB1MF6ydE9aEr9zLPXGKXZIH2ZsUBXEQ9u6apUhnchhCSHDw6xHVXI1hYGrJHnpf2xMw3Xu1opJge1DQg==} - '@zag-js/react@1.15.0': - resolution: {integrity: sha512-YSp9QBkdeBfZt4nVhJW+CUd5sNEEVAuwkmoZWDFUoDoWSAXwzSKuHCmTm5/8DaXg1IZD2bMrXgMNDqZv2x0hZw==} + '@zag-js/react@1.15.2': + resolution: {integrity: sha512-T5QPiLbW4DoQ32NS5+Qu9NsIXKKz0d5MOpfEdXXuc6hKZdvV+V9d7EXeHBRohs3P6jqtf8FXpXDdK2trv37YlQ==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@zag-js/rect-utils@1.15.0': - resolution: {integrity: sha512-sjAn78x1t3XiDG3NT8SoFfyO0u7/SEJU5RKRhMgjTPoOLXTzZj+lu2d5N4cUw0uZTfeGb/ormObSchMQVhFgYQ==} + '@zag-js/rect-utils@1.15.2': + resolution: {integrity: sha512-wPsOM4qYncwOli20MNINgl0ZwmMY11RvrgPvjcMrkJ9dVqU/YrCcXV4rIg8Zig5jxCT+mf7rWQe9aQJlNTVipA==} - '@zag-js/remove-scroll@1.15.0': - resolution: {integrity: sha512-vdWSAdgY8wJ7s4YeaKwTMwmZiRMBxCehmdktSxBWvwtAjU1cM3UWvjmZ9E6INJrQXxH9vDpe/rpFSyv1guIQIw==} + '@zag-js/remove-scroll@1.15.2': + resolution: {integrity: sha512-pXVuvFcAQND+C0KAzAve02hGaI/AgEhC7RpgpyUKaUzEccEsxLi40C88j1/2HCfta6GI7nd2e0QwPZiqngUIyA==} - '@zag-js/scroll-snap@1.15.0': - resolution: {integrity: sha512-/LfBlsjoR4tVL3Djus3k9jKLhwC2ApdHTACxEc72TAewoPe4M8icnSDLXmKHvwwOhzK0HlFz8wGm6ZncAbQbuA==} + '@zag-js/scroll-snap@1.15.2': + resolution: {integrity: sha512-RswpsMHg0aWHsx7xqybnPm8bTL9ow17z9GhYgxSWtIi2U9wgkUHDtEJQcRNUA9PQEGyVd29B39NM0ir64HAhNQ==} - '@zag-js/select@1.15.0': - resolution: {integrity: sha512-4urUBADzhrsGEO/UsqHdjsgmDdF15Zzeid3ejEbIMTrkt2/mMMcQ1CShuxtsWqm2EUBz/N1kOcZlE6Tq69n7Xg==} + '@zag-js/select@1.15.2': + resolution: {integrity: sha512-Y07RlBIc8bVj2WklhS7tiVySZntBv9TE9sfiA8RcLU7KFFGTdS2XUoQV4fziJubUL8XFhNzEC92/bKeBLqpgDw==} - '@zag-js/signature-pad@1.15.0': - resolution: {integrity: sha512-5Tj8vkrRxEkSV417oR2qdy+TRgDmS3W8dY7xsIjpbBf/kqkt/8Uo4JpaVH2vwQAFw9AwEFogBh9i6dHcXMy0rA==} + '@zag-js/signature-pad@1.15.2': + resolution: {integrity: sha512-vw7oD7afBfGvUyotJrFl+PjPVYOYZLgQ1eVAosKj54phgKvxheBr8/ySq9vlyTkyvOMjJ8zIkkxlywuqoZzl8g==} - '@zag-js/slider@1.15.0': - resolution: {integrity: sha512-NYIsn3GKXIoPmvkDXsQmw9wdYg3QHbYHXnZ8Ewl2fVubN7S5mDlHSZs2iDVsBvX+a4RChWFRO6JHX8E1+BncOg==} + '@zag-js/slider@1.15.2': + resolution: {integrity: sha512-Lcrm+h4Vx0stD0ybAqD5tA1qOnrKEfQP9ucQsPUy+fY2em19XC6raOVOhAc6ROx4X0neTI/yEc1ARJQSaxtRZw==} - '@zag-js/splitter@1.15.0': - resolution: {integrity: sha512-Xnedl+cpnD/hv9m+GOYCK5K2xRxbs4xuP/EajYtgVcDw8E1X5cBmxHa1hCrp7BMgb2xYCvZ5et4hnmZfb+1X9g==} + '@zag-js/splitter@1.15.2': + resolution: {integrity: sha512-LIuTTPRaw3inS64f2TLcFIlwjNe9Tx9mSE4VXf7wPhYitNKmyh7MeNE59na+wDzZisVwx9yBewAPfrZtbHDGBA==} - '@zag-js/steps@1.15.0': - resolution: {integrity: sha512-VoIDcDIEErZawmW2m0yTGlffqjfRuSwR37K9LdSRy8Q4Qzz3wV7jASaTjMhTya1hlreJ7tJg+Qbjqowvw9GndA==} + '@zag-js/steps@1.15.2': + resolution: {integrity: sha512-NnS3wYQrFWA5OXu+jnlnPpm49rGpzHCDbN2UuUcMGvbYVETKEXEO9fC1XWh7PstVuNi03E/CrZGHl5cEjf/j8w==} - '@zag-js/store@1.15.0': - resolution: {integrity: sha512-ecqjcy3b1GsULpsT8RVJV9KDaikajRN0XRg48HMvaGkaPIvxI6esyrE6RKnShuqr2eVXIPghgBnCnrJUev4UlA==} + '@zag-js/store@1.15.2': + resolution: {integrity: sha512-oDJuRdu8SaGab06UycN96OgvNau1ynawDNNfQNhA7zoOIZlaJH6jP+5YaAPFila+wyjdw7svz5+4ejs8vXcjpw==} - '@zag-js/switch@1.15.0': - resolution: {integrity: sha512-2CaAUTi7jM4lJjCYoSE1HWlFPCifI5GR+hufWOCYKpanf8VA/LM+t/a2Aq5QoBsWdcQv3B9mHxF/aVTDbnCKPQ==} + '@zag-js/switch@1.15.2': + resolution: {integrity: sha512-2aEm5HDP/ENcLvoP77CH7DQTPXIMUzVilefHlz6WT0tQxQzOw8uMhUOYYcuNmEq0FNRUOyuMEMyZnZFUYAxqvQ==} - '@zag-js/tabs@1.15.0': - resolution: {integrity: sha512-voHWpibC1TKLmbAJfixOesxrCio7wK+gdLRvh7Xh5u+3VSsT2fP2wEw3ySkJbpw3MpEE7R2OWkInbCV/SwPcsA==} + '@zag-js/tabs@1.15.2': + resolution: {integrity: sha512-SJMR4K59sxvNZEIgnJfbweLzncmgxRWTBm+FamwMtP8DKQ3RETNdjrn4aA9qLUsCObapk06KT3iTeiCXzuBaFA==} - '@zag-js/tags-input@1.15.0': - resolution: {integrity: sha512-CB60z+/I/Nso1gwatTO1qrk4XITxDd4qtRD+l6fuuKyOkZGgKm0AP0W+/6qUuOvtWIuY6fas3yZHFmF2eEZ9vQ==} + '@zag-js/tags-input@1.15.2': + resolution: {integrity: sha512-/mAuB8emhGoo3eoIgmlT/kQE27ukRlhghgwp3OjvEen+iTpz0XIWM+S+IV3QU6U4DlhwkadQaINht/c9ln6gxQ==} - '@zag-js/time-picker@1.15.0': - resolution: {integrity: sha512-4S02433X88X3MW/BxaFJiWna4BIRXsAdrmDcBb0PZ8dln29DUmpD8YHcFtONsKvmCAmrbO7Gr65n86nQwK8zeg==} + '@zag-js/time-picker@1.15.2': + resolution: {integrity: sha512-Aoe9GdbrvAMP1fdOEmzCESr/dO+cGnqhCoa0UkZB5wuB4dT3S02hRGSZsHO51Eon2NpzHPG9j+/alncwOe77Tw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/timer@1.15.0': - resolution: {integrity: sha512-gDsYm4C9yju7g/r5u7n7mRQ2UY7diXXVbbLFr5Ja+0iUXgbD+uoSZEt9HypVc5TL9NWEEwn5/tut36owEeW4rw==} + '@zag-js/timer@1.15.2': + resolution: {integrity: sha512-v8RN3cwFuNXxuDMuxxfXKCSd+Z1UT6Ct+ueU3PRZqHqXU9u4k9Mm+vROIqnNzhCCdIHNxsqUt32/2zsRRaubbw==} - '@zag-js/toast@1.15.0': - resolution: {integrity: sha512-0RupMCXyGr7/La4Zlei7VqBF0VPNJelGd7zimLboe+IKZyy4Ypi/N2IX14rl8JZQDsDEgkLUl33xrSk/9RW2nQ==} + '@zag-js/toast@1.15.2': + resolution: {integrity: sha512-OohJvGTy+J1MpydJ4eCV36picggfF9VbDW4nK97TT+4bIIRDgW+PGYgB4dd+PvEjRrk9194Kkm93lud95yOyZg==} - '@zag-js/toggle-group@1.15.0': - resolution: {integrity: sha512-992vMz/2sriLrUKI3LpT/01kCGTbPGLgGLibiHRt562i0v9+2tV+GiY2jBctHZjJaKPrzBY3H0l8CCCvDj8gng==} + '@zag-js/toggle-group@1.15.2': + resolution: {integrity: sha512-JhWV0GY2NRgDhlzP73ADlG1E4NFXqv1h2q5+m3Rmos+Bi8soOV437jch/wy+M+xYN5vdZCczXJu9BumHNlknhA==} - '@zag-js/toggle@1.15.0': - resolution: {integrity: sha512-mMSQ1+f1hOMp/7gLA7rTeiSNyeZxsCjRxP4XnTBY4BxJ5LswLuhem9CplBwaVthkhY1Y/5f3HHu80LBcfF+BVQ==} + '@zag-js/toggle@1.15.2': + resolution: {integrity: sha512-wtDeIRhDeVhaUboWQ2GrxlCC4+cLRyZzvZiN84tad7H/sUKq9hNDdROcCnIYBhEkb1Qf4sjR8KszY12YLtJx6A==} - '@zag-js/tooltip@1.15.0': - resolution: {integrity: sha512-sOpVECyfdS4RZBx46mSV+RPc9C5k9JvYQYUfoOVWh0E5RLSEz5bQm5xxctKOHfCOv+vJNTfG5gP596B1r2+Fkw==} + '@zag-js/tooltip@1.15.2': + resolution: {integrity: sha512-Spw5ewga3DNaT5H4AnrtsxJ6ebRoTxy+igwojGTYUCNUoxyQn6W3UpqZpgAAfw8B236bduTRh9MW9CsaM/hnmg==} - '@zag-js/tour@1.15.0': - resolution: {integrity: sha512-EplcxoiE0z9vI0z6675+ABclQ9Mi1YUWhDZOHx7wfjRzpfawmJoBAlNDKzK3wc801d6OxgJx69SPj7ac0BwwwA==} + '@zag-js/tour@1.15.2': + resolution: {integrity: sha512-OW+autOwwsVMGwcYCxdCh3Hibeeag6Sg8w02XfmX7E+T2u9a+GGdLOrH7DPM2oHTbZV0iBUqIaKxGPKgRYZNng==} - '@zag-js/tree-view@1.15.0': - resolution: {integrity: sha512-wqdd+hu1bDOCWtnZ8MarRFHqbZF2t8qKBM3kO42IBq7jTI/93LCkHSlceEPft9dgZ6Ea9km0YJMHhoTqCPZ/fw==} + '@zag-js/tree-view@1.15.2': + resolution: {integrity: sha512-HWDHH3rpGEz3IN5bsj8EHZnU0ttk8uJwBOnH3reYcFQEQskA8cmyzd7y9hdBEn8PzAns+iOjUBj49IVmoYpOIg==} - '@zag-js/types@1.15.0': - resolution: {integrity: sha512-lV2ov2M07BlmjDUCSwBeHxPApHI3oAiLytG94AqcYvQ0BtsCRo5T60yRQ0syFc6fHf0e9+kwt89uoIgfGFYfmw==} + '@zag-js/types@1.15.2': + resolution: {integrity: sha512-qEHNRA/uOYQjvXzI/ie6vuOD74/p7w6MA4X1VoZEYF2/sbIQjlRn6SzpeV3RyFZBzl6WBO6RqV/XEbgpvGSb5w==} - '@zag-js/utils@1.15.0': - resolution: {integrity: sha512-XctFny5H8C00BsougV40Yp0qVEj9M2d/NRme7B33mon9wG+3hscZwP6miJmF6BYI5Pgu6e2P0Sv45FddQU1Tkg==} - - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} + '@zag-js/utils@1.15.2': + resolution: {integrity: sha512-JdlyGT6yfG2ub2FftrB6BidIlvD04cSwdKYJGb/M+NJ7p7uxnZUZMxAjeBmTLhM1nWbtJPVq3oDTYz/cBBZLng==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1726,6 +1684,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1808,6 +1771,9 @@ packages: ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + ast-v8-to-istanbul@0.3.3: + resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} + async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -1826,8 +1792,8 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.8.4: - resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -1850,32 +1816,24 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + browserslist@4.25.0: + resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + builtin-modules@5.0.0: + resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} + engines: {node: '>=18.20'} c12@1.11.1: resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} @@ -1909,8 +1867,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001707: - resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==} + caniuse-lite@1.0.30001724: + resolution: {integrity: sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1955,8 +1913,8 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chart.js@4.4.9: - resolution: {integrity: sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==} + chart.js@4.5.0: + resolution: {integrity: sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==} engines: {pnpm: '>=8'} chartjs-plugin-annotation@3.1.0: @@ -2042,31 +2000,19 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - core-js-compat@3.41.0: - resolution: {integrity: sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==} + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + core-js-compat@3.43.0: + resolution: {integrity: sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==} cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} @@ -2184,8 +2130,8 @@ packages: debounce-promise@3.1.2: resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==} - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2193,8 +2139,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -2221,10 +2167,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -2259,11 +2201,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.123: - resolution: {integrity: sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==} + electron-to-chromium@1.5.171: + resolution: {integrity: sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==} elkjs@0.10.0: resolution: {integrity: sha512-v/3r+3Bl2NMrWmVoRTMBtHtWvRISTix/s9EfnsfEWApNrsmNjqgqJOispCGg46BPwIFdkag3N/HYSxJczvCm6w==} @@ -2274,10 +2213,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2297,8 +2232,8 @@ packages: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} - es-module-lexer@1.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} @@ -2319,18 +2254,15 @@ packages: es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.25.5: + resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2343,8 +2275,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-prettier@10.1.2: - resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==} + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -2359,14 +2291,14 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-perfectionist@4.12.3: - resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} + eslint-plugin-perfectionist@4.15.0: + resolution: {integrity: sha512-pC7PgoXyDnEXe14xvRUhBII8A3zRgggKqJFx2a82fjrItDs1BSI7zdZnQtM2yQvcyod6/ujmzb7ejKPx8lZTnw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.45.0' - eslint-plugin-prettier@5.4.0: - resolution: {integrity: sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==} + eslint-plugin-prettier@5.5.0: + resolution: {integrity: sha512-8qsOYwkkGrahrgoUv76NZi23koqXOGiiEzXMrT8Q7VcYaUISR+5MorIUxfWqYXN0fN/31WbSrxCxFkVQ43wwrA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -2379,11 +2311,11 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 eslint-plugin-react-refresh@0.4.20: resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} @@ -2396,26 +2328,26 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-unicorn@55.0.0: - resolution: {integrity: sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==} - engines: {node: '>=18.18'} + eslint-plugin-unicorn@59.0.1: + resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==} + engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} peerDependencies: - eslint: '>=8.56.0' + eslint: '>=9.22.0' - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.26.0: - resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} + eslint@9.29.0: + resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2424,8 +2356,8 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -2459,32 +2391,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eventsource-parser@3.0.1: - resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.6: - resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==} - engines: {node: '>=18.0.0'} - - expect-type@1.2.0: - resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==} + expect-type@1.2.1: + resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} - express-rate-limit@7.5.0: - resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} - engines: {node: '>= 16'} - peerDependencies: - express: ^4.11 || 5 || ^5.0.0-beta.1 - - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -2522,6 +2432,14 @@ packages: fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2530,16 +2448,12 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} - find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up-simple@1.0.1: + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} + engines: {node: '>=18'} find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -2574,22 +2488,14 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -2654,8 +2560,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + globals@16.2.0: + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2669,8 +2575,8 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.10.0: - resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} + graphql@16.11.0: + resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} handlebars@4.7.8: @@ -2678,9 +2584,9 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - happy-dom@17.4.6: - resolution: {integrity: sha512-OEV1hDe9i2rFr66+WZNiwy1S8rAJy6bRXmXql68YJDjdfHBRbN76om+qVh68vQACf6y5Bcr90e/oK53RQxsDdg==} - engines: {node: '>=18.0.0'} + happy-dom@18.0.1: + resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} + engines: {node: '>=20.0.0'} has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} @@ -2733,9 +2639,6 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2748,32 +2651,28 @@ packages: html-url-attributes@3.0.1: resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - i18next-browser-languagedetector@8.1.0: - resolution: {integrity: sha512-mHZxNx1Lq09xt5kCauZ/4bsXOEA2pfpwSoU11/QTJB+pD94iONFwp+ohqi///PwiFvjFOxe1akYCdHyFo1ng5Q==} + i18next-browser-languagedetector@8.2.0: + resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} i18next-http-backend@3.0.2: resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==} - i18next@25.1.2: - resolution: {integrity: sha512-SP63m8LzdjkrAjruH7SCI3ndPSgjt4/wX7ouUUOzCW/eY+HzlIo19IQSfYA9X3qRiRP1SYtaTsg/Oz/PGsfD8w==} + i18next@25.2.1: + resolution: {integrity: sha512-+UoXK5wh+VlE1Zy5p6MjcvctHXAhRwQKCxiJD8noKZzIXmnAX8gdHX5fLPA3MEVxEN4vbZkQFy8N0LyD9tUqPw==} peerDependencies: typescript: ^5 peerDependenciesMeta: typescript: optional: true - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2786,8 +2685,9 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} @@ -2800,10 +2700,6 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -2839,9 +2735,9 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@5.0.0: + resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} + engines: {node: '>=18.20'} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -2910,9 +2806,6 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2981,8 +2874,8 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} javascript-natural-sort@0.7.1: @@ -2995,6 +2888,9 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -3003,13 +2899,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true jsesc@3.1.0: @@ -3058,10 +2950,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3088,8 +2976,8 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.1.4: + resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} lowlight@1.20.0: resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} @@ -3167,17 +3055,9 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} - memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3274,24 +3154,16 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -3336,8 +3208,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.7.6: - resolution: {integrity: sha512-P+rwn43ktxN8ghcl8q+hSAUlEi0PbJpDhGmDkw4zeUnRj3hBCVynWD+dTu38yLYKCE9ZF1OYcvpy7CTBRcqkZA==} + msw@2.10.2: + resolution: {integrity: sha512-RCKM6IZseZQCWcSWlutdf590M8nVfRHG1ImwzOtwz8IYxgT4zhUO0rfTcTvDGiaFE0Rhcc+h43lcF3Jc9gFtwQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -3362,18 +3234,14 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} - negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next-themes@0.3.0: - resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} peerDependencies: - react: ^16.8 || ^17 || ^18 - react-dom: ^16.8 || ^17 || ^18 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc node-fetch-native@1.6.6: resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} @@ -3390,9 +3258,6 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3433,13 +3298,6 @@ packages: ohash@1.1.6: resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - openapi-merge-cli@1.3.2: resolution: {integrity: sha512-f2F5SRwZpcxvEpMm776Lh2XW9XqNuRedMzlCA0usx9JgQmZUhtC24px4zFYc5J/ZYXvNG6mdqdj/D0BnfEy6AA==} hasBin: true @@ -3458,26 +3316,14 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -3495,10 +3341,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -3524,10 +3366,6 @@ packages: path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3559,10 +3397,6 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pkce-challenge@5.0.0: - resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} - engines: {node: '>=16.20.0'} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -3574,8 +3408,8 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3612,12 +3446,8 @@ packages: property-information@5.6.0: resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - property-information@7.0.0: - resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} proxy-compare@3.0.1: resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==} @@ -3638,24 +3468,12 @@ packages: pure-color@1.3.0: resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} - rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} @@ -3668,25 +3486,25 @@ packages: chart.js: ^4.1.1 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: - react: ^18.3.1 + react: ^19.1.0 - react-hook-form@7.56.2: - resolution: {integrity: sha512-vpfuHuQMF/L6GpuQ4c3ZDo+pRYxIi40gQqsCmmfUBwm+oqvBhKhwghCuj2o00YCgSfU6bR9KC/xnQGWm3Gr08A==} + react-hook-form@7.58.1: + resolution: {integrity: sha512-Lml/KZYEEFfPhUVgE0RdCVpnC4yhW+PndRhbiTtdvSlQTL8IfVR+iQkBjLIvmmc6+GGoVeM11z37ktKFPAb0FA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-hotkeys-hook@4.6.1: - resolution: {integrity: sha512-XlZpbKUj9tkfgPgT9gA+1p7Ey6vFIZHttUjPqpTdyT5nqQ8mHL7elxvSbaC+dpSiHUSmr21Ya1mDxBZG3aje4Q==} + react-hotkeys-hook@5.1.0: + resolution: {integrity: sha512-GCNGXjBzV9buOS3REoQFmSmE4WTvBhYQ0YrAeeMZI83bhXg3dRWsLHXDutcVDdEjwJqJCxk5iewWYX5LtFUd7g==} peerDependencies: - react: '>=16.8.1' - react-dom: '>=16.8.1' + react: '>=16.8.0' + react-dom: '>=16.8.0' - react-i18next@15.5.1: - resolution: {integrity: sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==} + react-i18next@15.5.3: + resolution: {integrity: sha512-ypYmOKOnjqPEJZO4m1BI0kS8kWqkBNsKYyhVUfij0gvjy9xJNoG/VcGkxq5dRlVwzmrmY1BQMAmpbbUBLwC4Kw==} peerDependencies: i18next: '>= 23.2.3' react: '>= 16.8.0' @@ -3727,30 +3545,34 @@ packages: react-lifecycles-compat@3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - react-markdown@9.1.0: - resolution: {integrity: sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==} + react-markdown@10.1.0: + resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} peerDependencies: '@types/react': '>=18' react: '>=18' - react-resizable-panels@2.1.7: - resolution: {integrity: sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==} + react-resizable-panels@3.0.3: + resolution: {integrity: sha512-7HA8THVBHTzhDK4ON0tvlGXyMAJN1zBeRpuyyremSikgYh2ku6ltD7tsGQOcXx4NKPrZtYCm/5CBr+dkruTGQw==} peerDependencies: react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-router-dom@6.30.0: - resolution: {integrity: sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==} - engines: {node: '>=14.0.0'} + react-router-dom@7.6.2: + resolution: {integrity: sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==} + engines: {node: '>=20.0.0'} peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react: '>=18' + react-dom: '>=18' - react-router@6.30.0: - resolution: {integrity: sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==} - engines: {node: '>=14.0.0'} + react-router@7.6.2: + resolution: {integrity: sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==} + engines: {node: '>=20.0.0'} peerDependencies: - react: '>=16.8' + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true react-select@5.10.1: resolution: {integrity: sha512-roPEZUL4aRZDx6DcsD+ZNreVl+fM8VsKn0Wtex1v4IazH60ILp5xhdlp464IsEAlJdXeD+BhDAFsBVMfvLQueA==} @@ -3775,18 +3597,10 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3813,8 +3627,8 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true remark-gfm@4.0.1: @@ -3823,8 +3637,8 @@ packages: remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@11.1.1: - resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -3860,15 +3674,11 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.40.1: - resolution: {integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==} + rollup@4.44.0: + resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3876,9 +3686,6 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -3887,15 +3694,8 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3906,13 +3706,13 @@ packages: engines: {node: '>=10'} hasBin: true - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -3929,9 +3729,6 @@ packages: setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3981,30 +3778,18 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@3.8.1: - resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -4055,18 +3840,25 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} + strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + style-mod@4.1.2: resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} - style-to-js@1.1.16: - resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} - style-to-object@1.0.8: - resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} @@ -4079,8 +3871,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.11.4: - resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} engines: {node: ^14.18.0 || >=16.0.0} tar@6.2.1: @@ -4097,30 +3889,26 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} engines: {node: '>=14.0.0'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -4157,22 +3945,10 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - type-fest@4.37.0: - resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -4189,8 +3965,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.32.0: - resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} + typescript-eslint@8.34.1: + resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -4220,6 +3996,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4242,10 +4021,6 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - update-browserslist-db@1.1.3: resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true @@ -4273,8 +4048,8 @@ packages: '@types/react': optional: true - use-debounce@10.0.4: - resolution: {integrity: sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==} + use-debounce@10.0.5: + resolution: {integrity: sha512-Q76E3lnIV+4YT9AHcrHEHYmAd9LKwUAbPXDm7FlqVGDHiSOhX3RDjT8dm0AxbJup6WgOb1YEcKyCr11kBJR5KQ==} engines: {node: '>= 16.0.0'} peerDependencies: react: '*' @@ -4297,8 +4072,8 @@ packages: '@types/react': optional: true - use-sync-external-store@1.4.0: - resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4308,22 +4083,15 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@2.1.9: - resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} - engines: {node: ^18.0.0 || >=20.0.0} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true vite-plugin-css-injected-by-js@3.5.2: @@ -4331,22 +4099,27 @@ packages: peerDependencies: vite: '>2.0.0-0' - vite@5.4.19: - resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -4361,21 +4134,28 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true - vitest@2.1.9: - resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.9 - '@vitest/ui': 2.1.9 + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/debug': + optional: true '@types/node': optional: true '@vitest/browser': @@ -4400,10 +4180,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -4459,9 +4235,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -4493,16 +4266,8 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} - peerDependencies: - zod: ^3.24.1 - - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} - - zustand@4.5.6: - resolution: {integrity: sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==} + zustand@4.5.7: + resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -4516,8 +4281,8 @@ packages: react: optional: true - zustand@5.0.4: - resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==} + zustand@5.0.5: + resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -4562,74 +4327,68 @@ snapshots: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@ark-ui/react@5.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/accordion': 1.15.0 - '@zag-js/anatomy': 1.15.0 - '@zag-js/angle-slider': 1.15.0 - '@zag-js/auto-resize': 1.15.0 - '@zag-js/avatar': 1.15.0 - '@zag-js/carousel': 1.15.0 - '@zag-js/checkbox': 1.15.0 - '@zag-js/clipboard': 1.15.0 - '@zag-js/collapsible': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/color-picker': 1.15.0 - '@zag-js/color-utils': 1.15.0 - '@zag-js/combobox': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/date-picker': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/dialog': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/editable': 1.15.0 - '@zag-js/file-upload': 1.15.0 - '@zag-js/file-utils': 1.15.0 - '@zag-js/floating-panel': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/highlight-word': 1.15.0 - '@zag-js/hover-card': 1.15.0 - '@zag-js/i18n-utils': 1.15.0 - '@zag-js/listbox': 1.15.0 - '@zag-js/menu': 1.15.0 - '@zag-js/number-input': 1.15.0 - '@zag-js/pagination': 1.15.0 - '@zag-js/password-input': 1.15.0 - '@zag-js/pin-input': 1.15.0 - '@zag-js/popover': 1.15.0 - '@zag-js/presence': 1.15.0 - '@zag-js/progress': 1.15.0 - '@zag-js/qr-code': 1.15.0 - '@zag-js/radio-group': 1.15.0 - '@zag-js/rating-group': 1.15.0 - '@zag-js/react': 1.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@zag-js/select': 1.15.0 - '@zag-js/signature-pad': 1.15.0 - '@zag-js/slider': 1.15.0 - '@zag-js/splitter': 1.15.0 - '@zag-js/steps': 1.15.0 - '@zag-js/switch': 1.15.0 - '@zag-js/tabs': 1.15.0 - '@zag-js/tags-input': 1.15.0 - '@zag-js/time-picker': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/timer': 1.15.0 - '@zag-js/toast': 1.15.0 - '@zag-js/toggle': 1.15.0 - '@zag-js/toggle-group': 1.15.0 - '@zag-js/tooltip': 1.15.0 - '@zag-js/tour': 1.15.0 - '@zag-js/tree-view': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@ark-ui/react@5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@internationalized/date': 3.8.2 + '@zag-js/accordion': 1.15.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/angle-slider': 1.15.2 + '@zag-js/auto-resize': 1.15.2 + '@zag-js/avatar': 1.15.2 + '@zag-js/carousel': 1.15.2 + '@zag-js/checkbox': 1.15.2 + '@zag-js/clipboard': 1.15.2 + '@zag-js/collapsible': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/color-picker': 1.15.2 + '@zag-js/color-utils': 1.15.2 + '@zag-js/combobox': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/date-picker': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/dialog': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/editable': 1.15.2 + '@zag-js/file-upload': 1.15.2 + '@zag-js/file-utils': 1.15.2 + '@zag-js/floating-panel': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/highlight-word': 1.15.2 + '@zag-js/hover-card': 1.15.2 + '@zag-js/i18n-utils': 1.15.2 + '@zag-js/listbox': 1.15.2 + '@zag-js/menu': 1.15.2 + '@zag-js/number-input': 1.15.2 + '@zag-js/pagination': 1.15.2 + '@zag-js/password-input': 1.15.2 + '@zag-js/pin-input': 1.15.2 + '@zag-js/popover': 1.15.2 + '@zag-js/presence': 1.15.2 + '@zag-js/progress': 1.15.2 + '@zag-js/qr-code': 1.15.2 + '@zag-js/radio-group': 1.15.2 + '@zag-js/rating-group': 1.15.2 + '@zag-js/react': 1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@zag-js/select': 1.15.2 + '@zag-js/signature-pad': 1.15.2 + '@zag-js/slider': 1.15.2 + '@zag-js/splitter': 1.15.2 + '@zag-js/steps': 1.15.2 + '@zag-js/switch': 1.15.2 + '@zag-js/tabs': 1.15.2 + '@zag-js/tags-input': 1.15.2 + '@zag-js/time-picker': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/timer': 1.15.2 + '@zag-js/toast': 1.15.2 + '@zag-js/toggle': 1.15.2 + '@zag-js/toggle-group': 1.15.2 + '@zag-js/tooltip': 1.15.2 + '@zag-js/tour': 1.15.2 + '@zag-js/tree-view': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) '@babel/code-frame@7.27.1': dependencies: @@ -4637,102 +4396,59 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/generator@7.17.7': + '@babel/generator@7.27.5': dependencies: - '@babel/types': 7.17.0 - jsesc: 2.5.2 - source-map: 0.5.7 - - '@babel/generator@7.26.10': - dependencies: - '@babel/parser': 7.26.10 - '@babel/types': 7.26.10 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.26.10 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.26.9 - '@babel/types': 7.26.10 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.26.10 - '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.10 - '@babel/types': 7.26.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.26.10 - - '@babel/helper-string-parser@7.25.9': {} + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color - '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {} - '@babel/parser@7.26.10': + '@babel/parser@7.27.5': dependencies: - '@babel/types': 7.26.10 + '@babel/types': 7.27.6 '@babel/runtime@7.26.10': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.26.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.10 - '@babel/types': 7.26.10 + '@babel/runtime@7.27.6': {} - '@babel/traverse@7.23.2': + '@babel/template@7.27.2': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.10 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.26.10 - '@babel/types': 7.26.10 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 - '@babel/traverse@7.26.10': + '@babel/traverse@7.27.4': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.10 - '@babel/parser': 7.26.10 - '@babel/template': 7.26.9 - '@babel/types': 7.26.10 - debug: 4.4.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + debug: 4.4.1 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.17.0': + '@babel/types@7.27.6': dependencies: - '@babel/helper-validator-identifier': 7.25.9 - to-fast-properties: 2.0.0 - - '@babel/types@7.26.10': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 - '@bcoe/v8-coverage@0.2.3': {} + '@bcoe/v8-coverage@1.0.2': {} '@bundled-es-modules/cookie@2.0.1': dependencies: @@ -4740,7 +4456,7 @@ snapshots: '@bundled-es-modules/statuses@1.0.1': dependencies: - statuses: 2.0.1 + statuses: 2.0.2 '@bundled-es-modules/tough-cookie@0.1.6': dependencies: @@ -4749,43 +4465,43 @@ snapshots: '@chakra-ui/anatomy@2.3.4': {} - '@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@ark-ui/react': 5.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@ark-ui/react': 5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@18.3.19)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 '@pandacss/is-valid-prop': 0.53.6 csstype: 3.1.3 fast-safe-stringify: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3)': + '@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3)': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@codemirror/commands@6.8.1': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 - '@codemirror/lang-json@6.0.1': + '@codemirror/lang-json@6.0.2': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@lezer/json': 1.0.3 - '@codemirror/language@6.11.0': + '@codemirror/language@6.11.1': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -4794,13 +4510,13 @@ snapshots: '@codemirror/lint@6.8.2': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 crelt: 1.0.6 '@codemirror/search@6.5.6': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 crelt: 1.0.6 '@codemirror/state@6.5.2': @@ -4809,14 +4525,15 @@ snapshots: '@codemirror/theme-one-dark@6.1.2': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 '@lezer/highlight': 1.2.1 - '@codemirror/view@6.36.4': + '@codemirror/view@6.37.2': dependencies: '@codemirror/state': 6.5.2 + crelt: 1.0.6 style-mod: 4.1.2 w3c-keyname: 2.2.8 @@ -4852,19 +4569,19 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1)': + '@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0)': dependencies: '@babel/runtime': 7.26.10 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 18.3.1 + react: 19.1.0 optionalDependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 transitivePeerDependencies: - supports-color @@ -4880,118 +4597,127 @@ snapshots: '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': dependencies: - react: 18.3.1 + react: 19.1.0 '@emotion/utils@1.4.2': {} '@emotion/weak-memoize@0.4.0': {} - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.25.5': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.25.5': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.25.5': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.25.5': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.25.5': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.25.5': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.25.5': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.25.5': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.25.5': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.25.5': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.25.5': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.25.5': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.25.5': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.25.5': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.25.5': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.25.5': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.25.5': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-arm64@0.25.5': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.25.5': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-arm64@0.25.5': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/openbsd-x64@0.25.5': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/sunos-x64@0.25.5': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-arm64@0.25.5': optional: true - '@eslint-community/eslint-utils@4.5.1(eslint@9.26.0(jiti@1.21.7))': - dependencies: - eslint: 9.26.0(jiti@1.21.7) - eslint-visitor-keys: 3.4.3 + '@esbuild/win32-ia32@0.25.5': + optional: true + + '@esbuild/win32-x64@0.25.5': + optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@1.21.7))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@1.21.7))': dependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.9(eslint@9.26.0(jiti@1.21.7))': + '@eslint/compat@1.3.0(eslint@9.29.0(jiti@1.21.7))': optionalDependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - '@eslint/config-array@0.20.0': + '@eslint/config-array@0.20.1': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.2.3': {} '@eslint/core@0.13.0': dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.15.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 + debug: 4.4.1 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -5001,7 +4727,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.26.0': {} + '@eslint/js@9.29.0': {} '@eslint/object-schema@2.1.6': {} @@ -5010,6 +4736,11 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 + '@eslint/plugin-kit@0.3.2': + dependencies: + '@eslint/core': 0.15.0 + levn: 0.4.1 + '@floating-ui/core@1.6.9': dependencies: '@floating-ui/utils': 0.2.9 @@ -5052,19 +4783,19 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.2': {} + '@humanwhocodes/retry@0.4.3': {} - '@inquirer/confirm@5.1.8(@types/node@22.15.14)': + '@inquirer/confirm@5.1.12(@types/node@24.0.3)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.15.14) - '@inquirer/type': 3.0.5(@types/node@22.15.14) + '@inquirer/core': 10.1.13(@types/node@24.0.3) + '@inquirer/type': 3.0.7(@types/node@24.0.3) optionalDependencies: - '@types/node': 22.15.14 + '@types/node': 24.0.3 - '@inquirer/core@10.1.9(@types/node@22.15.14)': + '@inquirer/core@10.1.13(@types/node@24.0.3)': dependencies: - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.5(@types/node@22.15.14) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.3) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -5072,21 +4803,27 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.14 + '@types/node': 24.0.3 - '@inquirer/figures@1.0.11': {} + '@inquirer/figures@1.0.12': {} - '@inquirer/type@3.0.5(@types/node@22.15.14)': + '@inquirer/type@3.0.7(@types/node@24.0.3)': optionalDependencies: - '@types/node': 22.15.14 + '@types/node': 24.0.3 + + '@internationalized/date@3.8.2': + dependencies: + '@swc/helpers': 0.5.17 - '@internationalized/date@3.8.1': + '@internationalized/number@3.6.3': dependencies: - '@swc/helpers': 0.5.15 + '@swc/helpers': 0.5.17 - '@internationalized/number@3.6.2': + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': dependencies: - '@swc/helpers': 0.5.15 + '@isaacs/balanced-match': 4.0.1 '@isaacs/cliui@8.0.2': dependencies: @@ -5138,22 +4875,7 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@modelcontextprotocol/sdk@1.11.0': - dependencies: - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.0(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) - transitivePeerDependencies: - - supports-color - - '@mswjs/interceptors@0.37.6': + '@mswjs/interceptors@0.39.2': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -5188,173 +4910,174 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.2.4': {} + '@pkgr/core@0.2.7': {} - '@remix-run/router@1.23.0': {} + '@rolldown/pluginutils@1.0.0-beta.11': {} - '@rollup/rollup-android-arm-eabi@4.40.1': + '@rollup/rollup-android-arm-eabi@4.44.0': optional: true - '@rollup/rollup-android-arm64@4.40.1': + '@rollup/rollup-android-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-arm64@4.40.1': + '@rollup/rollup-darwin-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-x64@4.40.1': + '@rollup/rollup-darwin-x64@4.44.0': optional: true - '@rollup/rollup-freebsd-arm64@4.40.1': + '@rollup/rollup-freebsd-arm64@4.44.0': optional: true - '@rollup/rollup-freebsd-x64@4.40.1': + '@rollup/rollup-freebsd-x64@4.44.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.40.1': + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.40.1': + '@rollup/rollup-linux-arm-musleabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.1': + '@rollup/rollup-linux-arm64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.40.1': + '@rollup/rollup-linux-arm64-musl@4.44.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.40.1': + '@rollup/rollup-linux-riscv64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.40.1': + '@rollup/rollup-linux-riscv64-musl@4.44.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.40.1': + '@rollup/rollup-linux-s390x-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.40.1': + '@rollup/rollup-linux-x64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-musl@4.40.1': + '@rollup/rollup-linux-x64-musl@4.44.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.40.1': + '@rollup/rollup-win32-arm64-msvc@4.44.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.40.1': + '@rollup/rollup-win32-ia32-msvc@4.44.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.40.1': + '@rollup/rollup-win32-x64-msvc@4.44.0': optional: true - '@stylistic/eslint-plugin@2.13.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@stylistic/eslint-plugin@4.4.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.27.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: - supports-color - typescript - '@swc/core-darwin-arm64@1.11.24': + '@swc/core-darwin-arm64@1.12.4': optional: true - '@swc/core-darwin-x64@1.11.24': + '@swc/core-darwin-x64@1.12.4': optional: true - '@swc/core-linux-arm-gnueabihf@1.11.24': + '@swc/core-linux-arm-gnueabihf@1.12.4': optional: true - '@swc/core-linux-arm64-gnu@1.11.24': + '@swc/core-linux-arm64-gnu@1.12.4': optional: true - '@swc/core-linux-arm64-musl@1.11.24': + '@swc/core-linux-arm64-musl@1.12.4': optional: true - '@swc/core-linux-x64-gnu@1.11.24': + '@swc/core-linux-x64-gnu@1.12.4': optional: true - '@swc/core-linux-x64-musl@1.11.24': + '@swc/core-linux-x64-musl@1.12.4': optional: true - '@swc/core-win32-arm64-msvc@1.11.24': + '@swc/core-win32-arm64-msvc@1.12.4': optional: true - '@swc/core-win32-ia32-msvc@1.11.24': + '@swc/core-win32-ia32-msvc@1.12.4': optional: true - '@swc/core-win32-x64-msvc@1.11.24': + '@swc/core-win32-x64-msvc@1.12.4': optional: true - '@swc/core@1.11.24': + '@swc/core@1.12.4(@swc/helpers@0.5.17)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.21 + '@swc/types': 0.1.23 optionalDependencies: - '@swc/core-darwin-arm64': 1.11.24 - '@swc/core-darwin-x64': 1.11.24 - '@swc/core-linux-arm-gnueabihf': 1.11.24 - '@swc/core-linux-arm64-gnu': 1.11.24 - '@swc/core-linux-arm64-musl': 1.11.24 - '@swc/core-linux-x64-gnu': 1.11.24 - '@swc/core-linux-x64-musl': 1.11.24 - '@swc/core-win32-arm64-msvc': 1.11.24 - '@swc/core-win32-ia32-msvc': 1.11.24 - '@swc/core-win32-x64-msvc': 1.11.24 + '@swc/core-darwin-arm64': 1.12.4 + '@swc/core-darwin-x64': 1.12.4 + '@swc/core-linux-arm-gnueabihf': 1.12.4 + '@swc/core-linux-arm64-gnu': 1.12.4 + '@swc/core-linux-arm64-musl': 1.12.4 + '@swc/core-linux-x64-gnu': 1.12.4 + '@swc/core-linux-x64-musl': 1.12.4 + '@swc/core-win32-arm64-msvc': 1.12.4 + '@swc/core-win32-ia32-msvc': 1.12.4 + '@swc/core-win32-x64-msvc': 1.12.4 + '@swc/helpers': 0.5.17 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.15': + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 - '@swc/types@0.1.21': + '@swc/types@0.1.23': dependencies: '@swc/counter': 0.1.3 - '@tanstack/eslint-plugin-query@5.74.7(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@tanstack/eslint-plugin-query@5.78.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.28.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) transitivePeerDependencies: - supports-color - typescript - '@tanstack/query-core@5.75.4': {} + '@tanstack/query-core@5.80.10': {} - '@tanstack/react-query@5.75.4(react@18.3.1)': + '@tanstack/react-query@5.80.10(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.75.4 - react: 18.3.1 + '@tanstack/query-core': 5.80.10 + react: 19.1.0 - '@tanstack/react-table@8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-table@8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/table-core': 8.21.3 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@tanstack/react-virtual@3.13.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.13.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@tanstack/virtual-core': 3.13.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@tanstack/virtual-core': 3.13.10 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) '@tanstack/table-core@8.21.3': {} - '@tanstack/virtual-core@3.13.8': {} + '@tanstack/virtual-core@3.13.10': {} '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -5372,22 +5095,22 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.19))(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.26.10 '@testing-library/dom': 10.4.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.3.19 - '@types/react-dom': 18.3.5(@types/react@18.3.19) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.5.3)': + '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3)': dependencies: - '@babel/generator': 7.17.7 - '@babel/parser': 7.26.10 - '@babel/traverse': 7.23.2 - '@babel/types': 7.17.0 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 javascript-natural-sort: 0.7.1 lodash: 4.17.21 prettier: 3.5.3 @@ -5403,6 +5126,10 @@ snapshots: '@types/aria-query@5.0.4': {} + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 + '@types/cookie@0.6.0': {} '@types/d3-array@3.0.3': {} @@ -5462,13 +5189,13 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} + '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 - '@types/estree@1.0.6': {} - - '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/geojson@7946.0.16': {} @@ -5490,34 +5217,33 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@22.15.14': + '@types/node@20.19.1': dependencies: undici-types: 6.21.0 - '@types/normalize-package-data@2.4.4': {} + '@types/node@24.0.3': + dependencies: + undici-types: 7.8.0 '@types/parse-json@4.0.2': {} - '@types/prop-types@15.7.14': {} - - '@types/react-dom@18.3.5(@types/react@18.3.19)': + '@types/react-dom@19.1.6(@types/react@19.1.8)': dependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 '@types/react-syntax-highlighter@15.5.13': dependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 - '@types/react-transition-group@4.4.12(@types/react@18.3.19)': + '@types/react-transition-group@4.4.12(@types/react@19.1.8)': dependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 - '@types/react@18.3.19': + '@types/react@19.1.8': dependencies: - '@types/prop-types': 15.7.14 csstype: 3.1.3 - '@types/statuses@2.0.5': {} + '@types/statuses@2.0.6': {} '@types/tough-cookie@4.0.5': {} @@ -5525,507 +5251,450 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@types/whatwg-mimetype@3.0.2': {} + + '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - eslint: 9.26.0(jiti@1.21.7) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + eslint: 9.29.0(jiti@1.21.7) graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 - eslint: 9.26.0(jiti@1.21.7) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + debug: 4.4.1 + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.27.0': - dependencies: - '@typescript-eslint/types': 8.27.0 - '@typescript-eslint/visitor-keys': 8.27.0 - - '@typescript-eslint/scope-manager@8.28.0': - dependencies: - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/visitor-keys': 8.28.0 - - '@typescript-eslint/scope-manager@8.32.0': - dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 - - '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - debug: 4.4.0 - eslint: 9.26.0(jiti@1.21.7) - ts-api-utils: 2.1.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 + debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.27.0': {} - - '@typescript-eslint/types@8.28.0': {} - - '@typescript-eslint/types@8.32.0': {} + '@typescript-eslint/scope-manager@8.34.1': + dependencies: + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 - '@typescript-eslint/typescript-estree@8.27.0(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.27.0 - '@typescript-eslint/visitor-keys': 8.27.0 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.28.0(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/visitor-keys': 8.28.0 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.29.0(jiti@1.21.7) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': + '@typescript-eslint/types@8.34.1': {} + + '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 + '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.2 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.27.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.27.0 - '@typescript-eslint/types': 8.27.0 - '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.28.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.28.0 - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.27.0': - dependencies: - '@typescript-eslint/types': 8.27.0 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.28.0': - dependencies: - '@typescript-eslint/types': 8.28.0 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.32.0': + '@typescript-eslint/visitor-keys@8.34.1': dependencies: - '@typescript-eslint/types': 8.32.0 - eslint-visitor-keys: 4.2.0 + '@typescript-eslint/types': 8.34.1 + eslint-visitor-keys: 4.2.1 - '@uiw/codemirror-extensions-basic-setup@4.23.12(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-extensions-basic-setup@4.23.13(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3) + '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3) '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/lint': 6.8.2 '@codemirror/search': 6.5.6 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 - '@uiw/codemirror-theme-abcdef@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-abcdef@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-abyss@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-abyss@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-androidstudio@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-androidstudio@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-andromeda@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-andromeda@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-atomone@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-atomone@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-aura@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-aura@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-basic@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-basic@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-bbedit@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-bbedit@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-bespin@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-bespin@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-console@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-console@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-copilot@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-copilot@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-darcula@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-darcula@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-dracula@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-dracula@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-duotone@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-duotone@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-eclipse@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-eclipse@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-github@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-github@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-gruvbox-dark@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-gruvbox-dark@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-kimbie@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-kimbie@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-material@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-material@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-monokai-dimmed@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-monokai-dimmed@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-monokai@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-monokai@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-noctis-lilac@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-noctis-lilac@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-nord@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-nord@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-okaidia@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-okaidia@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-quietlight@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-quietlight@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-red@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-red@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-solarized@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-solarized@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-sublime@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-sublime@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night-day@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-tokyo-night-day@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night-storm@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-tokyo-night-storm@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-tokyo-night@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tomorrow-night-blue@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-tomorrow-night-blue@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-vscode@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-vscode@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-white@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-white@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-xcode@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-theme-xcode@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-themes-all@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': - dependencies: - '@uiw/codemirror-theme-abcdef': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-abyss': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-androidstudio': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-andromeda': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-atomone': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-aura': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-basic': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-bbedit': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-bespin': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-console': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-copilot': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-darcula': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-dracula': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-duotone': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-eclipse': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-github': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-gruvbox-dark': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-kimbie': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-material': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-monokai': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-monokai-dimmed': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-noctis-lilac': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-nord': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-okaidia': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-quietlight': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-red': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-solarized': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-sublime': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-tokyo-night': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-tokyo-night-day': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-tokyo-night-storm': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-tomorrow-night-blue': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-vscode': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-white': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-theme-xcode': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) - '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes-all@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + dependencies: + '@uiw/codemirror-theme-abcdef': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-abyss': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-androidstudio': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-andromeda': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-atomone': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-aura': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-basic': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-bbedit': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-bespin': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-console': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-copilot': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-darcula': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-dracula': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-duotone': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-eclipse': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-github': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-gruvbox-dark': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-kimbie': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-material': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-monokai': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-monokai-dimmed': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-noctis-lilac': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-nord': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-okaidia': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-quietlight': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-red': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-solarized': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-sublime': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-tokyo-night': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-tokyo-night-day': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-tokyo-night-storm': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-tomorrow-night-blue': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-vscode': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-white': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-theme-xcode': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-themes@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + '@uiw/codemirror-themes@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 - '@uiw/react-codemirror@4.23.12(@babel/runtime@7.26.10)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.4)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@uiw/react-codemirror@4.23.13(@babel/runtime@7.27.6)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.37.2)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 '@codemirror/commands': 6.8.1 '@codemirror/state': 6.5.2 '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.36.4 - '@uiw/codemirror-extensions-basic-setup': 4.23.12(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@codemirror/view': 6.37.2 + '@uiw/codemirror-extensions-basic-setup': 4.23.13(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) codemirror: 6.0.1(@lezer/common@1.2.3) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: - '@codemirror/autocomplete' - '@codemirror/language' @@ -6039,32 +5708,32 @@ snapshots: '@types/d3-shape': 1.3.12 d3-shape: 1.3.7 - '@visx/group@3.12.0(react@18.3.1)': + '@visx/group@3.12.0(react@19.1.0)': dependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 classnames: 2.5.1 prop-types: 15.8.1 - react: 18.3.1 + react: 19.1.0 '@visx/scale@3.12.0': dependencies: '@visx/vendor': 3.12.0 - '@visx/shape@3.12.0(react@18.3.1)': + '@visx/shape@3.12.0(react@19.1.0)': dependencies: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 '@types/lodash': 4.17.16 - '@types/react': 18.3.19 + '@types/react': 19.1.8 '@visx/curve': 3.12.0 - '@visx/group': 3.12.0(react@18.3.1) + '@visx/group': 3.12.0(react@19.1.0) '@visx/scale': 3.12.0 classnames: 2.5.1 d3-path: 1.0.9 d3-shape: 1.3.7 lodash: 4.17.21 prop-types: 15.8.1 - react: 18.3.1 + react: 19.1.0 '@visx/vendor@3.12.0': dependencies: @@ -6088,603 +5757,610 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 - '@vitejs/plugin-react-swc@3.9.0(vite@5.4.19(@types/node@22.15.14))': + '@vitejs/plugin-react-swc@3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7))': dependencies: - '@swc/core': 1.11.24 - vite: 5.4.19(@types/node@22.15.14) + '@rolldown/pluginutils': 1.0.0-beta.11 + '@swc/core': 1.12.4(@swc/helpers@0.5.17) + vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) transitivePeerDependencies: - '@swc/helpers' - '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)))': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)))': dependencies: '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.4.0 + '@bcoe/v8-coverage': 1.0.2 + ast-v8-to-istanbul: 0.3.3 + debug: 4.4.1 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 magic-string: 0.30.17 magicast: 0.3.5 - std-env: 3.8.1 + std-env: 3.9.0 test-exclude: 7.0.1 - tinyrainbow: 1.2.0 - vitest: 2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)) + tinyrainbow: 2.0.0 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) transitivePeerDependencies: - supports-color - '@vitest/expect@2.1.9': + '@vitest/expect@3.2.4': dependencies: - '@vitest/spy': 2.1.9 - '@vitest/utils': 2.1.9 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/mocker@2.1.9(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))(vite@5.4.19(@types/node@22.15.14))': + '@vitest/mocker@3.2.4(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7))': dependencies: - '@vitest/spy': 2.1.9 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.6(@types/node@22.15.14)(typescript@5.8.3) - vite: 5.4.19(@types/node@22.15.14) + msw: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) + vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) - '@vitest/pretty-format@2.1.9': + '@vitest/pretty-format@3.2.4': dependencies: - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/runner@2.1.9': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 2.1.9 - pathe: 1.1.2 + '@vitest/utils': 3.2.4 + pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/snapshot@2.1.9': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 2.1.9 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 - pathe: 1.1.2 + pathe: 2.0.3 - '@vitest/spy@2.1.9': + '@vitest/spy@3.2.4': dependencies: - tinyspy: 3.0.2 + tinyspy: 4.0.3 - '@vitest/utils@2.1.9': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 2.1.9 - loupe: 3.1.3 - tinyrainbow: 1.2.0 + '@vitest/pretty-format': 3.2.4 + loupe: 3.1.4 + tinyrainbow: 2.0.0 - '@xyflow/react@12.4.4(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@xyflow/react@12.7.0(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@xyflow/system': 0.0.52 + '@xyflow/system': 0.0.62 classcat: 5.0.5 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - zustand: 4.5.6(@types/react@18.3.19)(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + zustand: 4.5.7(@types/react@19.1.8)(react@19.1.0) transitivePeerDependencies: - '@types/react' - immer - '@xyflow/system@0.0.52': + '@xyflow/system@0.0.62': dependencies: '@types/d3-drag': 3.0.7 + '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.11 '@types/d3-transition': 3.0.9 '@types/d3-zoom': 3.0.8 d3-drag: 3.0.0 + d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-zoom: 3.0.0 - '@zag-js/accordion@1.15.0': + '@zag-js/accordion@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/anatomy@1.15.0': {} + '@zag-js/anatomy@1.15.2': {} - '@zag-js/angle-slider@1.15.0': + '@zag-js/angle-slider@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/aria-hidden@1.15.0': {} + '@zag-js/aria-hidden@1.15.2': {} - '@zag-js/auto-resize@1.15.0': + '@zag-js/auto-resize@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/avatar@1.15.0': + '@zag-js/avatar@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/carousel@1.15.0': + '@zag-js/carousel@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/scroll-snap': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/scroll-snap': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/checkbox@1.15.0': + '@zag-js/checkbox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/clipboard@1.15.0': + '@zag-js/clipboard@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/collapsible@1.15.0': + '@zag-js/collapsible@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/collection@1.15.0': + '@zag-js/collection@1.15.2': dependencies: - '@zag-js/utils': 1.15.0 + '@zag-js/utils': 1.15.2 - '@zag-js/color-picker@1.15.0': + '@zag-js/color-picker@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/color-utils': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/color-utils': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/color-utils@1.15.0': + '@zag-js/color-utils@1.15.2': dependencies: - '@zag-js/utils': 1.15.0 + '@zag-js/utils': 1.15.2 - '@zag-js/combobox@1.15.0': + '@zag-js/combobox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/core@1.15.0': + '@zag-js/core@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/date-picker@1.15.0(@internationalized/date@3.8.1)': + '@zag-js/date-picker@1.15.2(@internationalized/date@3.8.2)': dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/live-region': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@internationalized/date': 3.8.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/live-region': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/date-utils@1.15.0(@internationalized/date@3.8.1)': + '@zag-js/date-utils@1.15.2(@internationalized/date@3.8.2)': dependencies: - '@internationalized/date': 3.8.1 + '@internationalized/date': 3.8.2 - '@zag-js/dialog@1.15.0': + '@zag-js/dialog@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/remove-scroll': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/remove-scroll': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/dismissable@1.15.0': + '@zag-js/dismissable@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/dom-query@1.15.0': + '@zag-js/dom-query@1.15.2': dependencies: - '@zag-js/types': 1.15.0 + '@zag-js/types': 1.15.2 - '@zag-js/editable@1.15.0': + '@zag-js/editable@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/file-upload@1.15.0': + '@zag-js/file-upload@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/file-utils': 1.15.0 - '@zag-js/i18n-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/file-utils': 1.15.2 + '@zag-js/i18n-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/file-utils@1.15.0': + '@zag-js/file-utils@1.15.2': dependencies: - '@zag-js/i18n-utils': 1.15.0 + '@zag-js/i18n-utils': 1.15.2 - '@zag-js/floating-panel@1.15.0': + '@zag-js/floating-panel@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/focus-trap@1.15.0': + '@zag-js/focus-trap@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible@1.15.0': + '@zag-js/focus-visible@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/highlight-word@1.15.0': {} + '@zag-js/highlight-word@1.15.2': {} - '@zag-js/hover-card@1.15.0': + '@zag-js/hover-card@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/i18n-utils@1.15.0': + '@zag-js/i18n-utils@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/interact-outside@1.15.0': + '@zag-js/interact-outside@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/listbox@1.15.0': + '@zag-js/listbox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/live-region@1.15.0': {} + '@zag-js/live-region@1.15.2': {} - '@zag-js/menu@1.15.0': + '@zag-js/menu@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/number-input@1.15.0': + '@zag-js/number-input@1.15.2': dependencies: - '@internationalized/number': 3.6.2 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@internationalized/number': 3.6.3 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/pagination@1.15.0': + '@zag-js/pagination@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/password-input@1.15.0': + '@zag-js/password-input@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/pin-input@1.15.0': + '@zag-js/pin-input@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/popover@1.15.0': + '@zag-js/popover@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/remove-scroll': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/remove-scroll': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/popper@1.15.0': + '@zag-js/popper@1.15.2': dependencies: '@floating-ui/dom': 1.7.1 - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/presence@1.15.0': + '@zag-js/presence@1.15.2': dependencies: - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 - '@zag-js/progress@1.15.0': + '@zag-js/progress@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/qr-code@1.15.0': + '@zag-js/qr-code@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 proxy-memoize: 3.0.1 uqr: 0.1.2 - '@zag-js/radio-group@1.15.0': + '@zag-js/radio-group@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/rating-group@1.15.0': + '@zag-js/rating-group@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/react@1.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@zag-js/react@1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@zag-js/core': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@zag-js/core': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@zag-js/rect-utils@1.15.0': {} + '@zag-js/rect-utils@1.15.2': {} - '@zag-js/remove-scroll@1.15.0': + '@zag-js/remove-scroll@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/scroll-snap@1.15.0': + '@zag-js/scroll-snap@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/select@1.15.0': + '@zag-js/select@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/signature-pad@1.15.0': + '@zag-js/signature-pad@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 perfect-freehand: 1.2.2 - '@zag-js/slider@1.15.0': + '@zag-js/slider@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/splitter@1.15.0': + '@zag-js/splitter@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/steps@1.15.0': + '@zag-js/steps@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/store@1.15.0': + '@zag-js/store@1.15.2': dependencies: proxy-compare: 3.0.1 - '@zag-js/switch@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tabs@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tags-input@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/auto-resize': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/live-region': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/time-picker@1.15.0(@internationalized/date@3.8.1)': - dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/timer@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toast@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toggle-group@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toggle@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tooltip@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tour@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tree-view@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/types@1.15.0': + '@zag-js/switch@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tabs@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tags-input@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/auto-resize': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/live-region': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/time-picker@1.15.2(@internationalized/date@3.8.2)': + dependencies: + '@internationalized/date': 3.8.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/timer@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toast@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toggle-group@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toggle@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tooltip@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tour@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tree-view@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/types@1.15.2': dependencies: csstype: 3.1.3 - '@zag-js/utils@1.15.0': {} - - accepts@2.0.0: - dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 + '@zag-js/utils@1.15.2': {} acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn@8.14.1: {} + acorn@8.15.0: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6786,6 +6462,12 @@ snapshots: ast-types-flow@0.0.8: {} + ast-v8-to-istanbul@0.3.3: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + estree-walker: 3.0.3 + js-tokens: 9.0.1 + async-function@1.0.0: {} asynckit@0.4.0: {} @@ -6801,10 +6483,10 @@ snapshots: axe-core@4.10.3: {} - axios@1.8.4: + axios@1.10.0: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.2 + form-data: 4.0.3 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -6825,26 +6507,12 @@ snapshots: binary-extensions@2.3.0: {} - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.0 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -6852,16 +6520,14 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.4: + browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001707 - electron-to-chromium: 1.5.123 + caniuse-lite: 1.0.30001724 + electron-to-chromium: 1.5.171 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.24.4) - - builtin-modules@3.3.0: {} + update-browserslist-db: 1.1.3(browserslist@4.25.0) - bytes@3.1.2: {} + builtin-modules@5.0.0: {} c12@1.11.1(magicast@0.3.5): dependencies: @@ -6903,7 +6569,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001707: {} + caniuse-lite@1.0.30001724: {} ccount@2.0.1: {} @@ -6912,15 +6578,15 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 + loupe: 3.1.4 pathval: 2.0.0 - chakra-react-select@6.1.0(@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.19)(next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + chakra-react-select@6.1.0(@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@chakra-ui/react': 3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-themes: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-select: 5.10.1(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/react': 3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next-themes: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-select: 5.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - '@types/react' - react-dom @@ -6950,13 +6616,13 @@ snapshots: character-reference-invalid@2.0.1: {} - chart.js@4.4.9: + chart.js@4.5.0: dependencies: '@kurkle/color': 0.3.4 - chartjs-plugin-annotation@3.1.0(chart.js@4.4.9): + chartjs-plugin-annotation@3.1.0(chart.js@4.5.0): dependencies: - chart.js: 4.4.9 + chart.js: 4.5.0 check-error@2.1.1: {} @@ -7000,13 +6666,13 @@ snapshots: codemirror@6.0.1(@lezer/common@1.2.3): dependencies: - '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3) + '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3) '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.1 '@codemirror/lint': 6.8.2 '@codemirror/search': 6.5.6 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.36.4 + '@codemirror/view': 6.37.2 transitivePeerDependencies: - '@lezer/common' @@ -7034,26 +6700,15 @@ snapshots: consola@3.4.2: {} - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - convert-source-map@1.9.0: {} - cookie-signature@1.2.2: {} - cookie@0.7.2: {} - core-js-compat@3.41.0: - dependencies: - browserslist: 4.24.4 + cookie@1.0.2: {} - cors@2.8.5: + core-js-compat@3.43.0: dependencies: - object-assign: 4.1.1 - vary: 1.1.2 + browserslist: 4.25.0 cosmiconfig@7.1.0: dependencies: @@ -7183,11 +6838,11 @@ snapshots: debounce-promise@3.1.2: {} - debug@4.4.0: + debug@4.4.1: dependencies: ms: 2.1.3 - decode-named-character-reference@1.1.0: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -7215,8 +6870,6 @@ snapshots: delayed-stream@1.0.0: {} - depd@2.0.0: {} - dequal@2.0.3: {} destr@2.0.3: {} @@ -7235,7 +6888,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 csstype: 3.1.3 dotenv@16.4.7: {} @@ -7248,9 +6901,7 @@ snapshots: eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} - - electron-to-chromium@1.5.123: {} + electron-to-chromium@1.5.171: {} elkjs@0.10.0: {} @@ -7258,8 +6909,6 @@ snapshots: emoji-regex@9.2.2: {} - encodeurl@2.0.0: {} - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -7341,7 +6990,7 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.6.0: {} + es-module-lexer@1.7.0: {} es-object-atoms@1.1.1: dependencies: @@ -7366,52 +7015,52 @@ snapshots: es6-promise@4.2.8: {} - esbuild@0.21.5: + esbuild@0.25.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.25.5 + '@esbuild/android-arm': 0.25.5 + '@esbuild/android-arm64': 0.25.5 + '@esbuild/android-x64': 0.25.5 + '@esbuild/darwin-arm64': 0.25.5 + '@esbuild/darwin-x64': 0.25.5 + '@esbuild/freebsd-arm64': 0.25.5 + '@esbuild/freebsd-x64': 0.25.5 + '@esbuild/linux-arm': 0.25.5 + '@esbuild/linux-arm64': 0.25.5 + '@esbuild/linux-ia32': 0.25.5 + '@esbuild/linux-loong64': 0.25.5 + '@esbuild/linux-mips64el': 0.25.5 + '@esbuild/linux-ppc64': 0.25.5 + '@esbuild/linux-riscv64': 0.25.5 + '@esbuild/linux-s390x': 0.25.5 + '@esbuild/linux-x64': 0.25.5 + '@esbuild/netbsd-arm64': 0.25.5 + '@esbuild/netbsd-x64': 0.25.5 + '@esbuild/openbsd-arm64': 0.25.5 + '@esbuild/openbsd-x64': 0.25.5 + '@esbuild/sunos-x64': 0.25.5 + '@esbuild/win32-arm64': 0.25.5 + '@esbuild/win32-ia32': 0.25.5 + '@esbuild/win32-x64': 0.25.5 escalade@3.2.0: {} - escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)): + eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) eslint-plugin-i18next@6.1.1: dependencies: lodash: 4.17.21 requireindex: 1.1.0 - eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0(jiti@1.21.7)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.29.0(jiti@1.21.7)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -7421,7 +7070,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -7430,34 +7079,34 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-perfectionist@4.12.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3): + eslint-plugin-perfectionist@4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.4.0(eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7))(prettier@3.5.3): + eslint-plugin-prettier@5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.5.3): dependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) prettier: 3.5.3 prettier-linter-helpers: 1.0.0 - synckit: 0.11.4 + synckit: 0.11.8 optionalDependencies: - eslint-config-prettier: 10.1.2(eslint@9.26.0(jiti@1.21.7)) + eslint-config-prettier: 10.1.5(eslint@9.29.0(jiti@1.21.7)) - eslint-plugin-react-hooks@4.6.2(eslint@9.26.0(jiti@1.21.7)): + eslint-plugin-react-hooks@5.2.0(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - eslint-plugin-react-refresh@0.4.20(eslint@9.26.0(jiti@1.21.7)): + eslint-plugin-react-refresh@0.4.20(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@1.21.7)): + eslint-plugin-react@7.37.5(eslint@9.29.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -7465,7 +7114,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.26.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -7479,59 +7128,59 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-unicorn@55.0.0(eslint@9.26.0(jiti@1.21.7)): + eslint-plugin-unicorn@59.0.1(eslint@9.29.0(jiti@1.21.7)): dependencies: - '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) + '@babel/helper-validator-identifier': 7.27.1 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) + '@eslint/plugin-kit': 0.2.8 ci-info: 4.2.0 clean-regexp: 1.0.0 - core-js-compat: 3.41.0 - eslint: 9.26.0(jiti@1.21.7) + core-js-compat: 3.43.0 + eslint: 9.29.0(jiti@1.21.7) esquery: 1.6.0 - globals: 15.15.0 - indent-string: 4.0.0 - is-builtin-module: 3.2.1 + find-up-simple: 1.0.1 + globals: 16.2.0 + indent-string: 5.0.0 + is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 - read-pkg-up: 7.0.1 regexp-tree: 0.1.27 - regjsparser: 0.10.0 - semver: 7.7.1 - strip-indent: 3.0.0 + regjsparser: 0.12.0 + semver: 7.7.2 + strip-indent: 4.0.0 - eslint-scope@8.3.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} - eslint@9.26.0(jiti@1.21.7): + eslint@9.29.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.0 - '@eslint/config-helpers': 0.2.2 - '@eslint/core': 0.13.0 + '@eslint/config-array': 0.20.1 + '@eslint/config-helpers': 0.2.3 + '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.2.8 + '@eslint/js': 9.29.0 + '@eslint/plugin-kit': 0.3.2 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@modelcontextprotocol/sdk': 1.11.0 - '@types/estree': 1.0.7 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -7546,17 +7195,16 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.4 optionalDependencies: jiti: 1.21.7 transitivePeerDependencies: - supports-color - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 espree@9.6.1: dependencies: @@ -7580,55 +7228,11 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} - etag@1.8.1: {} - - eventsource-parser@3.0.1: {} - - eventsource@3.0.6: - dependencies: - eventsource-parser: 3.0.1 - - expect-type@1.2.0: {} - - express-rate-limit@7.5.0(express@5.1.0): - dependencies: - express: 5.1.0 - - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.1 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + expect-type@1.2.1: {} extend@3.0.2: {} @@ -7678,6 +7282,10 @@ snapshots: transitivePeerDependencies: - encoding + fdir@6.4.6(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -7686,23 +7294,9 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - find-root@1.1.0: {} - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 + find-up-simple@1.0.1: {} find-up@5.0.0: dependencies: @@ -7716,11 +7310,11 @@ snapshots: flatted@3.3.3: {} - flux@4.0.4(react@18.3.1): + flux@4.0.4(react@19.1.0): dependencies: fbemitter: 3.0.0 fbjs: 3.0.5 - react: 18.3.1 + react: 19.1.0 transitivePeerDependencies: - encoding @@ -7735,19 +7329,16 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.2: + form-data@4.0.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 format@0.2.2: {} - forwarded@0.2.0: {} - - fresh@2.0.0: {} - fs-minipass@2.1.0: dependencies: minipass: 3.3.6 @@ -7824,8 +7415,8 @@ snapshots: glob@11.0.0: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.0 - minimatch: 10.0.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -7834,7 +7425,7 @@ snapshots: globals@14.0.0: {} - globals@15.15.0: {} + globals@16.2.0: {} globalthis@1.0.4: dependencies: @@ -7845,7 +7436,7 @@ snapshots: graphemer@1.4.0: {} - graphql@16.10.0: {} + graphql@16.11.0: {} handlebars@4.7.8: dependencies: @@ -7856,9 +7447,10 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - happy-dom@17.4.6: + happy-dom@18.0.1: dependencies: - webidl-conversions: 7.0.0 + '@types/node': 20.19.1 + '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 has-bigints@1.1.0: {} @@ -7887,7 +7479,7 @@ snapshots: hast-util-to-jsx-runtime@2.3.6: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.8 '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 @@ -7897,9 +7489,9 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.0.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.16 + style-to-js: 1.1.17 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -7927,8 +7519,6 @@ snapshots: dependencies: react-is: 16.13.1 - hosted-git-info@2.8.9: {} - html-escaper@2.0.2: {} html-parse-stringify@3.0.1: @@ -7939,17 +7529,9 @@ snapshots: html-url-attributes@3.0.1: {} - http-errors@2.0.0: + i18next-browser-languagedetector@8.2.0: dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - i18next-browser-languagedetector@8.1.0: - dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 i18next-http-backend@3.0.2: dependencies: @@ -7957,18 +7539,16 @@ snapshots: transitivePeerDependencies: - encoding - i18next@25.1.2(typescript@5.8.3): + i18next@25.2.1(typescript@5.8.3): dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 optionalDependencies: typescript: 5.8.3 - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - ignore@5.3.2: {} + ignore@7.0.5: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -7978,7 +7558,7 @@ snapshots: indent-string@4.0.0: {} - inherits@2.0.4: {} + indent-string@5.0.0: {} inline-style-parser@0.2.4: {} @@ -7990,8 +7570,6 @@ snapshots: internmap@2.0.3: {} - ipaddr.js@1.9.1: {} - is-alphabetical@1.0.4: {} is-alphabetical@2.0.1: {} @@ -8035,9 +7613,9 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-builtin-module@3.2.1: + is-builtin-module@5.0.0: dependencies: - builtin-modules: 3.3.0 + builtin-modules: 5.0.0 is-callable@1.2.7: {} @@ -8096,8 +7674,6 @@ snapshots: is-plain-obj@4.1.0: {} - is-promise@4.0.0: {} - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -8159,7 +7735,7 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.4.0 + debug: 4.4.1 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -8184,7 +7760,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.0: + jackspeak@4.1.1: dependencies: '@isaacs/cliui': 8.0.2 @@ -8194,6 +7770,8 @@ snapshots: js-tokens@4.0.0: {} + js-tokens@9.0.1: {} + js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -8203,9 +7781,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@0.5.0: {} - - jsesc@2.5.2: {} + jsesc@3.0.2: {} jsesc@3.1.0: {} @@ -8250,10 +7826,6 @@ snapshots: lines-and-columns@1.2.4: {} - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -8274,7 +7846,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.3: {} + loupe@3.1.4: {} lowlight@1.20.0: dependencies: @@ -8293,13 +7865,13 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.26.10 - '@babel/types': 7.26.10 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 source-map-js: 1.2.1 make-dir@4.0.0: dependencies: - semver: 7.7.1 + semver: 7.7.2 markdown-table@3.0.4: {} @@ -8316,7 +7888,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -8458,17 +8030,13 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - media-typer@1.1.0: {} - memoize-one@6.0.0: {} - merge-descriptors@2.0.0: {} - merge2@1.4.1: {} micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -8601,7 +8169,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -8638,8 +8206,8 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 - decode-named-character-reference: 1.1.0 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -8664,29 +8232,23 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: {} - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - min-indent@1.0.1: {} - minimatch@10.0.1: + minimatch@10.0.3: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -8709,32 +8271,32 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 ms@2.1.3: {} - msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3): + msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.8(@types/node@22.15.14) - '@mswjs/interceptors': 0.37.6 + '@inquirer/confirm': 5.1.12(@types/node@24.0.3) + '@mswjs/interceptors': 0.39.2 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.5 - graphql: 16.10.0 + '@types/statuses': 2.0.6 + graphql: 16.11.0 headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 path-to-regexp: 6.3.0 picocolors: 1.1.1 strict-event-emitter: 0.5.1 - type-fest: 4.37.0 + type-fest: 4.41.0 yargs: 17.7.2 optionalDependencies: typescript: 5.8.3 @@ -8749,14 +8311,12 @@ snapshots: natural-orderby@5.0.0: {} - negotiator@1.0.0: {} - neo-async@2.6.2: {} - next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) node-fetch-native@1.6.6: {} @@ -8766,13 +8326,6 @@ snapshots: node-releases@2.0.19: {} - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.10 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} nypm@0.5.4: @@ -8822,14 +8375,6 @@ snapshots: ohash@1.1.6: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - openapi-merge-cli@1.3.2: dependencies: ajv: 6.12.6 @@ -8864,24 +8409,14 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - p-locate@5.0.0: dependencies: p-limit: 3.1.0 - p-try@2.2.0: {} - package-json-from-dist@1.0.1: {} parent-module@1.0.1: @@ -8902,20 +8437,18 @@ snapshots: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parseurl@1.3.3: {} - path-browserify@1.0.1: {} path-exists@4.0.0: {} @@ -8936,8 +8469,6 @@ snapshots: path-to-regexp@6.3.0: {} - path-to-regexp@8.2.0: {} - path-type@4.0.0: {} pathe@1.1.2: {} @@ -8956,8 +8487,6 @@ snapshots: picomatch@4.0.2: {} - pkce-challenge@5.0.0: {} - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -8968,7 +8497,7 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss@8.5.3: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -9006,12 +8535,7 @@ snapshots: dependencies: xtend: 4.0.2 - property-information@7.0.0: {} - - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + property-information@7.1.0: {} proxy-compare@3.0.1: {} @@ -9029,23 +8553,10 @@ snapshots: pure-color@1.3.0: {} - qs@6.14.0: - dependencies: - side-channel: 1.1.0 - querystringify@2.2.0: {} queue-microtask@1.2.3: {} - range-parser@1.2.1: {} - - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - rc9@2.1.2: dependencies: defu: 6.1.4 @@ -9058,159 +8569,145 @@ snapshots: lodash.flow: 3.5.0 pure-color: 1.3.0 - react-chartjs-2@5.3.0(chart.js@4.4.9)(react@18.3.1): + react-chartjs-2@5.3.0(chart.js@4.5.0)(react@19.1.0): dependencies: - chart.js: 4.4.9 - react: 18.3.1 + chart.js: 4.5.0 + react: 19.1.0 - react-dom@18.3.1(react@18.3.1): + react-dom@19.1.0(react@19.1.0): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.1.0 + scheduler: 0.26.0 - react-hook-form@7.56.2(react@18.3.1): + react-hook-form@7.58.1(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 - react-hotkeys-hook@4.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-hotkeys-hook@5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - react-i18next@15.5.1(i18next@25.1.2(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3): + react-i18next@15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3): dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 html-parse-stringify: 3.0.1 - i18next: 25.1.2(typescript@5.8.3) - react: 18.3.1 + i18next: 25.2.1(typescript@5.8.3) + react: 19.1.0 optionalDependencies: - react-dom: 18.3.1(react@18.3.1) + react-dom: 19.1.0(react@19.1.0) typescript: 5.8.3 - react-icons@5.5.0(react@18.3.1): + react-icons@5.5.0(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 - react-innertext@1.1.5(@types/react@18.3.19)(react@18.3.1): + react-innertext@1.1.5(@types/react@19.1.8)(react@19.1.0): dependencies: - '@types/react': 18.3.19 - react: 18.3.1 + '@types/react': 19.1.8 + react: 19.1.0 react-is@16.13.1: {} react-is@17.0.2: {} - react-json-view@1.21.3(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-json-view@1.21.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - flux: 4.0.4(react@18.3.1) - react: 18.3.1 + flux: 4.0.4(react@19.1.0) + react: 19.1.0 react-base16-styling: 0.6.0 - react-dom: 18.3.1(react@18.3.1) + react-dom: 19.1.0(react@19.1.0) react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.5.8(@types/react@18.3.19)(react@18.3.1) + react-textarea-autosize: 8.5.8(@types/react@19.1.8)(react@19.1.0) transitivePeerDependencies: - '@types/react' - encoding react-lifecycles-compat@3.0.4: {} - react-markdown@9.1.0(@types/react@18.3.19)(react@18.3.1): + react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@types/react': 18.3.19 + '@types/react': 19.1.8 devlop: 1.1.0 hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 mdast-util-to-hast: 13.2.0 - react: 18.3.1 + react: 19.1.0 remark-parse: 11.0.0 - remark-rehype: 11.1.1 + remark-rehype: 11.1.2 unified: 11.0.5 unist-util-visit: 5.0.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color - react-resizable-panels@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-resizable-panels@3.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - react-router-dom@6.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@remix-run/router': 1.23.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.30.0(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-router@6.30.0(react@18.3.1): + react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@remix-run/router': 1.23.0 - react: 18.3.1 + cookie: 1.0.2 + react: 19.1.0 + set-cookie-parser: 2.7.1 + optionalDependencies: + react-dom: 19.1.0(react@19.1.0) - react-select@5.10.1(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-select@5.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 '@emotion/cache': 11.14.0 - '@emotion/react': 11.14.0(@types/react@18.3.19)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) '@floating-ui/dom': 1.6.13 - '@types/react-transition-group': 4.4.12(@types/react@18.3.19) + '@types/react-transition-group': 4.4.12(@types/react@19.1.8) memoize-one: 6.0.0 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.19)(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.8)(react@19.1.0) transitivePeerDependencies: - '@types/react' - supports-color - react-syntax-highlighter@15.6.1(react@18.3.1): + react-syntax-highlighter@15.6.1(react@19.1.0): dependencies: '@babel/runtime': 7.26.10 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 prismjs: 1.30.0 - react: 18.3.1 + react: 19.1.0 refractor: 3.6.0 - react-textarea-autosize@8.5.8(@types/react@18.3.19)(react@18.3.1): + react-textarea-autosize@8.5.8(@types/react@19.1.8)(react@19.1.0): dependencies: - '@babel/runtime': 7.26.10 - react: 18.3.1 - use-composed-ref: 1.4.0(@types/react@18.3.19)(react@18.3.1) - use-latest: 1.3.0(@types/react@18.3.19)(react@18.3.1) + '@babel/runtime': 7.27.6 + react: 19.1.0 + use-composed-ref: 1.4.0(@types/react@19.1.8)(react@19.1.0) + use-latest: 1.3.0(@types/react@19.1.8)(react@19.1.0) transitivePeerDependencies: - '@types/react' - react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.27.6 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 + react@19.1.0: {} readdirp@3.6.0: dependencies: @@ -9251,9 +8748,9 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regjsparser@0.10.0: + regjsparser@0.12.0: dependencies: - jsesc: 0.5.0 + jsesc: 3.0.2 remark-gfm@4.0.1: dependencies: @@ -9275,7 +8772,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-rehype@11.1.1: + remark-rehype@11.1.2: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -9313,42 +8810,32 @@ snapshots: robust-predicates@3.0.2: {} - rollup@4.40.1: + rollup@4.44.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.40.1 - '@rollup/rollup-android-arm64': 4.40.1 - '@rollup/rollup-darwin-arm64': 4.40.1 - '@rollup/rollup-darwin-x64': 4.40.1 - '@rollup/rollup-freebsd-arm64': 4.40.1 - '@rollup/rollup-freebsd-x64': 4.40.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.40.1 - '@rollup/rollup-linux-arm-musleabihf': 4.40.1 - '@rollup/rollup-linux-arm64-gnu': 4.40.1 - '@rollup/rollup-linux-arm64-musl': 4.40.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.40.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.40.1 - '@rollup/rollup-linux-riscv64-gnu': 4.40.1 - '@rollup/rollup-linux-riscv64-musl': 4.40.1 - '@rollup/rollup-linux-s390x-gnu': 4.40.1 - '@rollup/rollup-linux-x64-gnu': 4.40.1 - '@rollup/rollup-linux-x64-musl': 4.40.1 - '@rollup/rollup-win32-arm64-msvc': 4.40.1 - '@rollup/rollup-win32-ia32-msvc': 4.40.1 - '@rollup/rollup-win32-x64-msvc': 4.40.1 + '@rollup/rollup-android-arm-eabi': 4.44.0 + '@rollup/rollup-android-arm64': 4.44.0 + '@rollup/rollup-darwin-arm64': 4.44.0 + '@rollup/rollup-darwin-x64': 4.44.0 + '@rollup/rollup-freebsd-arm64': 4.44.0 + '@rollup/rollup-freebsd-x64': 4.44.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.44.0 + '@rollup/rollup-linux-arm-musleabihf': 4.44.0 + '@rollup/rollup-linux-arm64-gnu': 4.44.0 + '@rollup/rollup-linux-arm64-musl': 4.44.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.44.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-musl': 4.44.0 + '@rollup/rollup-linux-s390x-gnu': 4.44.0 + '@rollup/rollup-linux-x64-gnu': 4.44.0 + '@rollup/rollup-linux-x64-musl': 4.44.0 + '@rollup/rollup-win32-arm64-msvc': 4.44.0 + '@rollup/rollup-win32-ia32-msvc': 4.44.0 + '@rollup/rollup-win32-x64-msvc': 4.44.0 fsevents: 2.3.3 - router@2.2.0: - dependencies: - debug: 4.4.0 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.2.0 - transitivePeerDependencies: - - supports-color - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -9361,8 +8848,6 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -9374,42 +8859,15 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - safer-buffer@2.1.2: {} - - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - - semver@5.7.2: {} + scheduler@0.26.0: {} semver@6.3.1: {} semver@7.7.1: {} - send@1.2.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + semver@7.7.2: {} - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color + set-cookie-parser@2.7.1: {} set-function-length@1.2.2: dependencies: @@ -9435,8 +8893,6 @@ snapshots: setimmediate@1.0.5: {} - setprototypeof@1.2.0: {} - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -9485,27 +8941,13 @@ snapshots: space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 - - spdx-license-ids@3.0.21: {} - sprintf-js@1.0.3: {} stackback@0.0.2: {} - statuses@2.0.1: {} + statuses@2.0.2: {} - std-env@3.8.1: {} + std-env@3.9.0: {} strict-event-emitter@0.5.1: {} @@ -9588,15 +9030,23 @@ snapshots: dependencies: min-indent: 1.0.1 + strip-indent@4.0.0: + dependencies: + min-indent: 1.0.1 + strip-json-comments@3.1.1: {} + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + style-mod@4.1.2: {} - style-to-js@1.1.16: + style-to-js@1.1.17: dependencies: - style-to-object: 1.0.8 + style-to-object: 1.0.9 - style-to-object@1.0.8: + style-to-object@1.0.9: dependencies: inline-style-parser: 0.2.4 @@ -9608,10 +9058,9 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.11.4: + synckit@0.11.8: dependencies: - '@pkgr/core': 0.2.4 - tslib: 2.8.1 + '@pkgr/core': 0.2.7 tar@6.2.1: dependencies: @@ -9632,20 +9081,21 @@ snapshots: tinyexec@0.3.2: {} - tinypool@1.0.2: {} + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 - tinyrainbow@1.2.0: {} + tinypool@1.1.1: {} - tinyspy@3.0.2: {} + tinyrainbow@2.0.0: {} - to-fast-properties@2.0.0: {} + tinyspy@4.0.3: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} - tough-cookie@4.1.4: dependencies: psl: 1.15.0 @@ -9678,17 +9128,7 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - - type-fest@4.37.0: {} - - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 + type-fest@4.41.0: {} typed-array-buffer@1.0.3: dependencies: @@ -9723,12 +9163,12 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3): + typescript-eslint@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.26.0(jiti@1.21.7) + '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -9751,6 +9191,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.8.0: {} + unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -9786,11 +9228,9 @@ snapshots: universalify@0.2.0: {} - unpipe@1.0.0: {} - - update-browserslist-db@1.1.3(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.25.0): dependencies: - browserslist: 4.24.4 + browserslist: 4.25.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -9807,44 +9247,37 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-composed-ref@1.4.0(@types/react@18.3.19)(react@18.3.1): + use-composed-ref@1.4.0(@types/react@19.1.8)(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 optionalDependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 - use-debounce@10.0.4(react@18.3.1): + use-debounce@10.0.5(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 - use-isomorphic-layout-effect@1.2.0(@types/react@18.3.19)(react@18.3.1): + use-isomorphic-layout-effect@1.2.0(@types/react@19.1.8)(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 optionalDependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 - use-latest@1.3.0(@types/react@18.3.19)(react@18.3.1): + use-latest@1.3.0(@types/react@19.1.8)(react@19.1.0): dependencies: - react: 18.3.1 - use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.19)(react@18.3.1) + react: 19.1.0 + use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.8)(react@19.1.0) optionalDependencies: - '@types/react': 18.3.19 + '@types/react': 19.1.8 - use-sync-external-store@1.4.0(react@18.3.1): + use-sync-external-store@1.5.0(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 - usehooks-ts@3.1.1(react@18.3.1): + usehooks-ts@3.1.1(react@19.1.0): dependencies: lodash.debounce: 4.0.8 - react: 18.3.1 - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - vary@1.1.2: {} + react: 19.1.0 vfile-message@4.0.2: dependencies: @@ -9856,15 +9289,16 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.9(@types/node@22.15.14): + vite-node@3.2.4(@types/node@24.0.3)(jiti@1.21.7): dependencies: cac: 6.7.14 - debug: 4.4.0 - es-module-lexer: 1.6.0 - pathe: 1.1.2 - vite: 5.4.19(@types/node@22.15.14) + debug: 4.4.1 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass @@ -9873,46 +9307,57 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - vite-plugin-css-injected-by-js@3.5.2(vite@5.4.19(@types/node@22.15.14)): + vite-plugin-css-injected-by-js@3.5.2(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)): dependencies: - vite: 5.4.19(@types/node@22.15.14) + vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) - vite@5.4.19(@types/node@22.15.14): + vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7): dependencies: - esbuild: 0.21.5 - postcss: 8.5.3 - rollup: 4.40.1 + esbuild: 0.25.5 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.6 + rollup: 4.44.0 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.15.14 + '@types/node': 24.0.3 fsevents: 2.3.3 + jiti: 1.21.7 - vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)): dependencies: - '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))(vite@5.4.19(@types/node@22.15.14)) - '@vitest/pretty-format': 2.1.9 - '@vitest/runner': 2.1.9 - '@vitest/snapshot': 2.1.9 - '@vitest/spy': 2.1.9 - '@vitest/utils': 2.1.9 + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 - debug: 4.4.0 - expect-type: 1.2.0 + debug: 4.4.1 + expect-type: 1.2.1 magic-string: 0.30.17 - pathe: 1.1.2 - std-env: 3.8.1 + pathe: 2.0.3 + picomatch: 4.0.2 + std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinypool: 1.0.2 - tinyrainbow: 1.2.0 - vite: 5.4.19(@types/node@22.15.14) - vite-node: 2.1.9(@types/node@22.15.14) + tinyglobby: 0.2.14 + tinypool: 1.1.1 + tinyrainbow: 2.0.0 + vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + vite-node: 3.2.4(@types/node@24.0.3)(jiti@1.21.7) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.15.14 - happy-dom: 17.4.6 + '@types/debug': 4.1.12 + '@types/node': 24.0.3 + happy-dom: 18.0.1 transitivePeerDependencies: + - jiti - less - lightningcss - msw @@ -9922,6 +9367,8 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml void-elements@3.1.0: {} @@ -9931,8 +9378,6 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@7.0.0: {} - whatwg-fetch@3.6.20: {} whatwg-mimetype@3.0.0: {} @@ -10014,8 +9459,6 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - xtend@4.0.2: {} y18n@5.0.8: {} @@ -10040,23 +9483,17 @@ snapshots: yoctocolors-cjs@2.1.2: {} - zod-to-json-schema@3.24.5(zod@3.24.4): - dependencies: - zod: 3.24.4 - - zod@3.24.4: {} - - zustand@4.5.6(@types/react@18.3.19)(react@18.3.1): + zustand@4.5.7(@types/react@19.1.8)(react@19.1.0): dependencies: - use-sync-external-store: 1.4.0(react@18.3.1) + use-sync-external-store: 1.5.0(react@19.1.0) optionalDependencies: - '@types/react': 18.3.19 - react: 18.3.1 + '@types/react': 19.1.8 + react: 19.1.0 - zustand@5.0.4(@types/react@18.3.19)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.5(@types/react@19.1.8)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): optionalDependencies: - '@types/react': 18.3.19 - react: 18.3.1 - use-sync-external-store: 1.4.0(react@18.3.1) + '@types/react': 19.1.8 + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) zwitch@2.0.4: {} From c27ec6d2eb9dbcdf299f2dc96e2896a5b371ca09 Mon Sep 17 00:00:00 2001 From: Dov Benyomin Sohacheski Date: Sun, 22 Jun 2025 00:12:27 +0300 Subject: [PATCH 032/381] Document EdgeExecutor migration from `internal_api_secret_key` to `jwt_secret` (#51905) * Document the need for a matching JWT secret * Update documentation in other sections * Include docs for older versions --- providers/edge3/docs/deployment.rst | 6 +++++- providers/edge3/docs/install_on_windows.rst | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/providers/edge3/docs/deployment.rst b/providers/edge3/docs/deployment.rst index b051d6859e012..d07b9c16e39b5 100644 --- a/providers/edge3/docs/deployment.rst +++ b/providers/edge3/docs/deployment.rst @@ -44,12 +44,16 @@ Here are a few imperative requirements for your workers: Minimum Airflow configuration settings for the Edge Worker to make it running is: +- Section ``[api_auth]`` + + - ``jwt_secret``: A matching secret to that on the api-server (starting from version 3.0.0). + - Section ``[core]`` - ``executor``: Executor must be set or added to be ``airflow.providers.edge3.executors.EdgeExecutor`` - ``internal_api_secret_key``: An encryption key must be set on api-server and Edge Worker component as shared secret to authenticate traffic. It should be a random string like the fernet key - (but preferably not the same). + (for versions earlier than 3.0.0). - Section ``[edge]`` diff --git a/providers/edge3/docs/install_on_windows.rst b/providers/edge3/docs/install_on_windows.rst index 5ac0cf6178406..29bf5b2920b7b 100644 --- a/providers/edge3/docs/install_on_windows.rst +++ b/providers/edge3/docs/install_on_windows.rst @@ -39,8 +39,8 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo (At least the DAG files which should be executed on the edge alongside the dependencies.) 7. Collect needed parameters from your running Airflow backend, at least the following: + - ``api_auth`` / ``jwt_token``: The shared secret key between the api-server and the Edge Worker - ``edge`` / ``api_url``: The HTTP(s) endpoint where the Edge Worker connects to - - ``core`` / ``internal_api_secret_key``: The shared secret key between the api-server and the Edge Worker - Any proxy details if applicable for your environment. 8. Create a worker start script to prevent repeated typing. Create a new file ``start_worker.bat`` in @@ -49,11 +49,11 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo .. code-block:: bash @echo off + set AIRFLOW__API_AUTH__JWT_SECRET= set AIRFLOW__CORE__DAGS_FOLDER=dags set AIRFLOW__LOGGING__BASE_LOG_FOLDER=edge_logs set AIRFLOW__EDGE__API_URL=https://your-hostname-and-port/edge_worker/v1/rpcapi set AIRFLOW__CORE__EXECUTOR=airflow.providers.edge3.executors.edge_executor.EdgeExecutor - set AIRFLOW__CORE__INTERNAL_API_SECRET_KEY= set AIRFLOW__CORE__LOAD_EXAMPLES=False set AIRFLOW_ENABLE_AIP_44=true @REM Add if needed: set http_proxy=http://my-company-proxy.com:3128 From 4b82f79d193d3617b0096bcd6a86e578eed23fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Popi=C4=87?= Date: Sun, 22 Jun 2025 08:34:29 +0200 Subject: [PATCH 033/381] Fix gcp auth in hashicorp vault provider. (#51991) * Fix gcp auth in hashicorp vault provider. * Fix vault gcp auth. * Prepare jwt in test. * Fix gcp auth in hashicorp vault provider. * Fix failing gcp test_vault_client tests (#3) * Fix vault gcp auth. * Prepare jwt in test. * Fix gcp auth in hashicorp vault provider. * remove redundent code * fix failing tests --------- Co-authored-by: Mohamed Morsy * Fix typo in gcp auth test. * fix syntax and linting * Add missing role_id in VaultHook kwargs * Refactor gcp tests. Add missing role_id to test_gcp_init_params. Refactor gcp tests. * Fix open in tests assertions. --------- Co-authored-by: Mohamed Morsy --- .../_internal_client/vault_client.py | 43 +++- .../_internal_client/test_vault_client.py | 189 +++++++++++++++--- .../tests/unit/hashicorp/hooks/test_vault.py | 89 +++++++-- 3 files changed, 271 insertions(+), 50 deletions(-) diff --git a/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py b/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py index edc87827857af..aa73ffdc8b7db 100644 --- a/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py +++ b/providers/hashicorp/src/airflow/providers/hashicorp/_internal_client/vault_client.py @@ -153,6 +153,15 @@ def __init__( raise VaultError("The 'radius' authentication type requires 'radius_host'") if not radius_secret: raise VaultError("The 'radius' authentication type requires 'radius_secret'") + if auth_type == "gcp": + if not gcp_scopes: + raise VaultError("The 'gcp' authentication type requires 'gcp_scopes'") + if not role_id: + raise VaultError("The 'gcp' authentication type requires 'role_id'") + if not gcp_key_path and not gcp_keyfile_dict: + raise VaultError( + "The 'gcp' authentication type requires 'gcp_key_path' or 'gcp_keyfile_dict'" + ) self.kv_engine_version = kv_engine_version or 2 self.url = url @@ -303,13 +312,41 @@ def _auth_gcp(self, _client: hvac.Client) -> None: ) scopes = _get_scopes(self.gcp_scopes) - credentials, _ = get_credentials_and_project_id( + credentials, project_id = get_credentials_and_project_id( key_path=self.gcp_key_path, keyfile_dict=self.gcp_keyfile_dict, scopes=scopes ) + + import json + import time + + import googleapiclient + + if self.gcp_keyfile_dict: + creds = self.gcp_keyfile_dict + elif self.gcp_key_path: + with open(self.gcp_key_path) as f: + creds = json.load(f) + + service_account = creds["client_email"] + + # Generate a payload for subsequent "signJwt()" call + # Reference: https://googleapis.dev/python/google-auth/latest/reference/google.auth.jwt.html#google.auth.jwt.Credentials + now = int(time.time()) + expires = now + 900 # 15 mins in seconds, can't be longer. + payload = {"iat": now, "exp": expires, "sub": credentials, "aud": f"vault/{self.role_id}"} + body = {"payload": json.dumps(payload)} + name = f"projects/{project_id}/serviceAccounts/{service_account}" + + # Perform the GCP API call + iam = googleapiclient.discovery.build("iam", "v1", credentials=credentials) + request = iam.projects().serviceAccounts().signJwt(name=name, body=body) + resp = request.execute() + jwt = resp["signedJwt"] + if self.auth_mount_point: - _client.auth.gcp.configure(credentials=credentials, mount_point=self.auth_mount_point) + _client.auth.gcp.login(role=self.role_id, jwt=jwt, mount_point=self.auth_mount_point) else: - _client.auth.gcp.configure(credentials=credentials) + _client.auth.gcp.login(role=self.role_id, jwt=jwt) def _auth_azure(self, _client: hvac.Client) -> None: if self.auth_mount_point: diff --git a/providers/hashicorp/tests/unit/hashicorp/_internal_client/test_vault_client.py b/providers/hashicorp/tests/unit/hashicorp/_internal_client/test_vault_client.py index 8b98a814394d5..c9239b75a99e4 100644 --- a/providers/hashicorp/tests/unit/hashicorp/_internal_client/test_vault_client.py +++ b/providers/hashicorp/tests/unit/hashicorp/_internal_client/test_vault_client.py @@ -16,6 +16,8 @@ # under the License. from __future__ import annotations +import json +import time from unittest import mock from unittest.mock import mock_open, patch @@ -253,86 +255,217 @@ def test_azure_missing_tenant_id(self, mock_hvac): secret_id="pass", ) + @mock.patch("builtins.open", create=True) @mock.patch("airflow.providers.google.cloud.utils.credentials_provider._get_scopes") @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") - @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp(self, mock_hvac, mock_get_credentials, mock_get_scopes): + @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac.Client") + @mock.patch("googleapiclient.discovery.build") + def test_gcp(self, mock_google_build, mock_hvac_client, mock_get_credentials, mock_get_scopes, mock_open): + # Mock the content of the file 'path.json' + mock_file = mock.MagicMock() + mock_file.read.return_value = '{"client_email": "service_account_email"}' + mock_open.return_value.__enter__.return_value = mock_file + mock_client = mock.MagicMock() - mock_hvac.Client.return_value = mock_client + mock_hvac_client.return_value = mock_client mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + + # Mock the current time to use for iat and exp + current_time = int(time.time()) + iat = current_time + exp = iat + 3600 # 1 hour after iat + + # Mock the signJwt API to return the expected payload + mock_sign_jwt = ( + mock_google_build.return_value.projects.return_value.serviceAccounts.return_value.signJwt + ) + mock_sign_jwt.return_value.execute.return_value = {"signedJwt": "mocked_jwt"} + vault_client = _VaultClient( auth_type="gcp", gcp_key_path="path.json", gcp_scopes="scope1,scope2", + role_id="role", url="http://localhost:8180", session=None, ) - client = vault_client.client - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) + + # Preserve the original json.dumps + original_json_dumps = json.dumps + + # Inject the mocked payload into the JWT signing process + with mock.patch("json.dumps") as mock_json_dumps: + + def mocked_json_dumps(payload): + # Override the payload to inject controlled iat and exp values + payload["iat"] = iat + payload["exp"] = exp + return original_json_dumps(payload) # Use the original json.dumps + + mock_json_dumps.side_effect = mocked_json_dumps + + client = vault_client.client # Trigger the Vault client creation + + # Validate that the HVAC client and other mocks are called correctly + mock_hvac_client.assert_called_with(url="http://localhost:8180", session=None) mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( key_path="path.json", keyfile_dict=None, scopes=["scope1", "scope2"] ) - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - client.auth.gcp.configure.assert_called_with( - credentials="credentials", - ) + + # Extract the arguments passed to the mocked signJwt API + args, kwargs = mock_sign_jwt.call_args + payload = json.loads(kwargs["body"]["payload"]) + + # Assert iat and exp values are as expected + assert payload["iat"] == iat + assert payload["exp"] == exp + assert abs(payload["exp"] - (payload["iat"] + 3600)) < 10 # Validate exp is 3600 seconds after iat + + client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt") client.is_authenticated.assert_called_with() assert vault_client.kv_engine_version == 2 + @mock.patch("builtins.open", create=True) @mock.patch("airflow.providers.google.cloud.utils.credentials_provider._get_scopes") @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") - @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp_different_auth_mount_point(self, mock_hvac, mock_get_credentials, mock_get_scopes): - mock_client = mock.MagicMock() - mock_hvac.Client.return_value = mock_client + @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac.Client") + @mock.patch("googleapiclient.discovery.build") + def test_gcp_different_auth_mount_point( + self, mock_google_build, mock_hvac_client, mock_get_credentials, mock_get_scopes, mock_open + ): + # Mock the content of the file 'path.json' + mock_file = mock.MagicMock() + mock_file.read.return_value = '{"client_email": "service_account_email"}' + mock_open.return_value.__enter__.return_value = mock_file + + mock_client = mock.MagicMock() + mock_hvac_client.return_value = mock_client mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + + mock_sign_jwt = ( + mock_google_build.return_value.projects.return_value.serviceAccounts.return_value.signJwt + ) + mock_sign_jwt.return_value.execute.return_value = {"signedJwt": "mocked_jwt"} + + # Generate realistic iat and exp values + current_time = int(time.time()) + iat = current_time + exp = current_time + 3600 # 1 hour later + vault_client = _VaultClient( auth_type="gcp", gcp_key_path="path.json", gcp_scopes="scope1,scope2", + role_id="role", url="http://localhost:8180", auth_mount_point="other", session=None, ) - client = vault_client.client - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) + + # Preserve the original json.dumps + original_json_dumps = json.dumps + + # Inject the mocked payload into the JWT signing process + with mock.patch("json.dumps") as mock_json_dumps: + + def mocked_json_dumps(payload): + # Override the payload to inject controlled iat and exp values + payload["iat"] = iat + payload["exp"] = exp + return original_json_dumps(payload) # Use the original json.dumps + + mock_json_dumps.side_effect = mocked_json_dumps + + client = vault_client.client # Trigger the Vault client creation + + # Assertions + mock_hvac_client.assert_called_with(url="http://localhost:8180", session=None) mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( key_path="path.json", keyfile_dict=None, scopes=["scope1", "scope2"] ) - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - client.auth.gcp.configure.assert_called_with(credentials="credentials", mount_point="other") + # Extract the arguments passed to the mocked signJwt API + args, kwargs = mock_sign_jwt.call_args + payload = json.loads(kwargs["body"]["payload"]) + + # Assert iat and exp values are as expected + assert payload["iat"] == iat + assert payload["exp"] == exp + assert abs(payload["exp"] - (payload["iat"] + 3600)) < 10 # Validate exp is 3600 seconds after iat + + client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt", mount_point="other") client.is_authenticated.assert_called_with() assert vault_client.kv_engine_version == 2 + @mock.patch( + "builtins.open", new_callable=mock_open, read_data='{"client_email": "service_account_email"}' + ) @mock.patch("airflow.providers.google.cloud.utils.credentials_provider._get_scopes") @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") - @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp_dict(self, mock_hvac, mock_get_credentials, mock_get_scopes): + @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac.Client") + @mock.patch("googleapiclient.discovery.build") + def test_gcp_dict( + self, mock_google_build, mock_hvac_client, mock_get_credentials, mock_get_scopes, mock_file + ): mock_client = mock.MagicMock() - mock_hvac.Client.return_value = mock_client + mock_hvac_client.return_value = mock_client mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + + mock_sign_jwt = ( + mock_google_build.return_value.projects.return_value.serviceAccounts.return_value.signJwt + ) + mock_sign_jwt.return_value.execute.return_value = {"signedJwt": "mocked_jwt"} + + # Generate realistic iat and exp values + current_time = int(time.time()) + iat = current_time + exp = current_time + 3600 # 1 hour later + vault_client = _VaultClient( auth_type="gcp", - gcp_keyfile_dict={"key": "value"}, + gcp_keyfile_dict={"client_email": "service_account_email"}, gcp_scopes="scope1,scope2", + role_id="role", url="http://localhost:8180", session=None, ) - client = vault_client.client - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) + + # Preserve the original json.dumps + original_json_dumps = json.dumps + + # Inject the mocked payload into the JWT signing process + with mock.patch("json.dumps") as mock_json_dumps: + + def mocked_json_dumps(payload): + # Override the payload to inject controlled iat and exp values + payload["iat"] = iat + payload["exp"] = exp + return original_json_dumps(payload) # Use the original json.dumps + + mock_json_dumps.side_effect = mocked_json_dumps + + client = vault_client.client # Trigger the Vault client creation + + # Assertions + mock_hvac_client.assert_called_with(url="http://localhost:8180", session=None) mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( - key_path=None, keyfile_dict={"key": "value"}, scopes=["scope1", "scope2"] - ) - mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - client.auth.gcp.configure.assert_called_with( - credentials="credentials", + key_path=None, keyfile_dict={"client_email": "service_account_email"}, scopes=["scope1", "scope2"] ) + # Extract the arguments passed to the mocked signJwt API + args, kwargs = mock_sign_jwt.call_args + payload = json.loads(kwargs["body"]["payload"]) + + # Assert iat and exp values are as expected + assert payload["iat"] == iat + assert payload["exp"] == exp + assert abs(payload["exp"] - (payload["iat"] + 3600)) < 10 # Validate exp is 3600 seconds after iat + + client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt") client.is_authenticated.assert_called_with() assert vault_client.kv_engine_version == 2 diff --git a/providers/hashicorp/tests/unit/hashicorp/hooks/test_vault.py b/providers/hashicorp/tests/unit/hashicorp/hooks/test_vault.py index fd0862329e7ef..fa573eb6624a1 100644 --- a/providers/hashicorp/tests/unit/hashicorp/hooks/test_vault.py +++ b/providers/hashicorp/tests/unit/hashicorp/hooks/test_vault.py @@ -18,7 +18,7 @@ import re from unittest import mock -from unittest.mock import PropertyMock, mock_open, patch +from unittest.mock import MagicMock, PropertyMock, mock_open, patch import pytest from hvac.exceptions import VaultError @@ -431,7 +431,10 @@ def test_azure_dejson(self, mock_hvac, mock_get_connection): @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") @mock.patch("airflow.providers.hashicorp.hooks.vault.VaultHook.get_connection") @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp_init_params(self, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes): + @mock.patch("googleapiclient.discovery.build") + def test_gcp_init_params( + self, mock_build, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes + ): mock_client = mock.MagicMock() mock_hvac.Client.return_value = mock_client mock_connection = self.get_mock_connection() @@ -439,6 +442,17 @@ def test_gcp_init_params(self, mock_hvac, mock_get_connection, mock_get_credenti mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + # Mock googleapiclient.discovery.build chain + mock_service = MagicMock() + mock_projects = MagicMock() + mock_service_accounts = MagicMock() + mock_sign_jwt = MagicMock() + mock_sign_jwt.execute.return_value = {"signedJwt": "mocked_jwt"} + mock_service_accounts.signJwt.return_value = mock_sign_jwt + mock_projects.serviceAccounts.return_value = mock_service_accounts + mock_service.projects.return_value = mock_projects + mock_build.return_value = mock_service + connection_dict = {} mock_connection.extra_dejson.get.side_effect = connection_dict.get @@ -447,20 +461,24 @@ def test_gcp_init_params(self, mock_hvac, mock_get_connection, mock_get_credenti "auth_type": "gcp", "gcp_key_path": "path.json", "gcp_scopes": "scope1,scope2", + "role_id": "role", "session": None, } - test_hook = VaultHook(**kwargs) - test_client = test_hook.get_conn() + with patch( + "builtins.open", mock_open(read_data='{"client_email": "service_account_email"}') + ) as mock_file: + test_hook = VaultHook(**kwargs) + test_client = test_hook.get_conn() + mock_file.assert_called_with("path.json") + mock_get_connection.assert_called_with("vault_conn_id") mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( key_path="path.json", keyfile_dict=None, scopes=["scope1", "scope2"] ) mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - test_client.auth.gcp.configure.assert_called_with( - credentials="credentials", - ) + test_client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt") test_client.is_authenticated.assert_called_with() assert test_hook.vault_client.kv_engine_version == 2 @@ -468,7 +486,10 @@ def test_gcp_init_params(self, mock_hvac, mock_get_connection, mock_get_credenti @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") @mock.patch("airflow.providers.hashicorp.hooks.vault.VaultHook.get_connection") @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp_dejson(self, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes): + @mock.patch("googleapiclient.discovery.build") + def test_gcp_dejson( + self, mock_build, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes + ): mock_client = mock.MagicMock() mock_hvac.Client.return_value = mock_client mock_connection = self.get_mock_connection() @@ -476,29 +497,45 @@ def test_gcp_dejson(self, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + # Mock googleapiclient.discovery.build chain + mock_service = MagicMock() + mock_projects = MagicMock() + mock_service_accounts = MagicMock() + mock_sign_jwt = MagicMock() + mock_sign_jwt.execute.return_value = {"signedJwt": "mocked_jwt"} + mock_service_accounts.signJwt.return_value = mock_sign_jwt + mock_projects.serviceAccounts.return_value = mock_service_accounts + mock_service.projects.return_value = mock_projects + mock_build.return_value = mock_service + connection_dict = { "auth_type": "gcp", "gcp_key_path": "path.json", "gcp_scopes": "scope1,scope2", + "role_id": "role", } mock_connection.extra_dejson.get.side_effect = connection_dict.get kwargs = { "vault_conn_id": "vault_conn_id", "session": None, + "role_id": "role", } - test_hook = VaultHook(**kwargs) - test_client = test_hook.get_conn() + with patch( + "builtins.open", mock_open(read_data='{"client_email": "service_account_email"}') + ) as mock_file: + test_hook = VaultHook(**kwargs) + test_client = test_hook.get_conn() + mock_file.assert_called_with("path.json") + mock_get_connection.assert_called_with("vault_conn_id") mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( key_path="path.json", keyfile_dict=None, scopes=["scope1", "scope2"] ) mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - test_client.auth.gcp.configure.assert_called_with( - credentials="credentials", - ) + test_client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt") test_client.is_authenticated.assert_called_with() assert test_hook.vault_client.kv_engine_version == 2 @@ -506,7 +543,10 @@ def test_gcp_dejson(self, mock_hvac, mock_get_connection, mock_get_credentials, @mock.patch("airflow.providers.google.cloud.utils.credentials_provider.get_credentials_and_project_id") @mock.patch("airflow.providers.hashicorp.hooks.vault.VaultHook.get_connection") @mock.patch("airflow.providers.hashicorp._internal_client.vault_client.hvac") - def test_gcp_dict_dejson(self, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes): + @mock.patch("googleapiclient.discovery.build") + def test_gcp_dict_dejson( + self, mock_build, mock_hvac, mock_get_connection, mock_get_credentials, mock_get_scopes + ): mock_client = mock.MagicMock() mock_hvac.Client.return_value = mock_client mock_connection = self.get_mock_connection() @@ -514,16 +554,29 @@ def test_gcp_dict_dejson(self, mock_hvac, mock_get_connection, mock_get_credenti mock_get_scopes.return_value = ["scope1", "scope2"] mock_get_credentials.return_value = ("credentials", "project_id") + # Mock googleapiclient.discovery.build chain + mock_service = MagicMock() + mock_projects = MagicMock() + mock_service_accounts = MagicMock() + mock_sign_jwt = MagicMock() + mock_sign_jwt.execute.return_value = {"signedJwt": "mocked_jwt"} + mock_service_accounts.signJwt.return_value = mock_sign_jwt + mock_projects.serviceAccounts.return_value = mock_service_accounts + mock_service.projects.return_value = mock_projects + mock_build.return_value = mock_service + connection_dict = { "auth_type": "gcp", - "gcp_keyfile_dict": '{"key": "value"}', + "gcp_keyfile_dict": '{"client_email": "service_account_email"}', "gcp_scopes": "scope1,scope2", + "role_id": "role", } mock_connection.extra_dejson.get.side_effect = connection_dict.get kwargs = { "vault_conn_id": "vault_conn_id", "session": None, + "role_id": "role", } test_hook = VaultHook(**kwargs) @@ -531,12 +584,10 @@ def test_gcp_dict_dejson(self, mock_hvac, mock_get_connection, mock_get_credenti mock_get_connection.assert_called_with("vault_conn_id") mock_get_scopes.assert_called_with("scope1,scope2") mock_get_credentials.assert_called_with( - key_path=None, keyfile_dict={"key": "value"}, scopes=["scope1", "scope2"] + key_path=None, keyfile_dict={"client_email": "service_account_email"}, scopes=["scope1", "scope2"] ) mock_hvac.Client.assert_called_with(url="http://localhost:8180", session=None) - test_client.auth.gcp.configure.assert_called_with( - credentials="credentials", - ) + test_client.auth.gcp.login.assert_called_with(role="role", jwt="mocked_jwt") test_client.is_authenticated.assert_called_with() assert test_hook.vault_client.kv_engine_version == 2 From c87049d4935c101ac2144e0e9f12b575cb78d073 Mon Sep 17 00:00:00 2001 From: GPK Date: Sun, 22 Jun 2025 07:49:12 +0100 Subject: [PATCH 034/381] =?UTF-8?q?Revert=20"Bump=20the=20core-ui-package-?= =?UTF-8?q?updates=20group=20across=201=20directory=20with=2044=20upd?= =?UTF-8?q?=E2=80=A6"=20(#52007)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit cf65598b8d94bb071dc01bc0399ed1eef0972252. --- airflow-core/src/airflow/ui/package.json | 88 +- airflow-core/src/airflow/ui/pnpm-lock.yaml | 4811 +++++++++++--------- 2 files changed, 2731 insertions(+), 2168 deletions(-) diff --git a/airflow-core/src/airflow/ui/package.json b/airflow-core/src/airflow/ui/package.json index 0ab5b684d2066..2429adc35a0c7 100644 --- a/airflow-core/src/airflow/ui/package.json +++ b/airflow-core/src/airflow/ui/package.json @@ -17,84 +17,84 @@ }, "dependencies": { "@chakra-ui/anatomy": "^2.3.4", - "@chakra-ui/react": "^3.21.0", - "@codemirror/lang-json": "^6.0.2", + "@chakra-ui/react": "^3.20.0", + "@codemirror/lang-json": "^6.0.1", "@emotion/react": "^11.14.0", - "@tanstack/react-query": "^5.80.10", + "@tanstack/react-query": "^5.75.1", "@tanstack/react-table": "^8.21.3", - "@tanstack/react-virtual": "^3.13.10", + "@tanstack/react-virtual": "^3.13.8", "@types/debounce-promise": "^3.1.9", - "@uiw/codemirror-themes-all": "^4.23.13", - "@uiw/react-codemirror": "^4.23.13", + "@uiw/codemirror-themes-all": "^4.23.12", + "@uiw/react-codemirror": "^4.23.12", "@visx/group": "^3.12.0", "@visx/shape": "^3.12.0", - "@xyflow/react": "^12.7.0", - "axios": "^1.10.0", + "@xyflow/react": "^12.4.4", + "axios": "^1.8.4", "chakra-react-select": "6.1.0", - "chart.js": "^4.5.0", + "chart.js": "^4.4.9", "chartjs-plugin-annotation": "^3.1.0", "dayjs": "^1.11.13", "debounce-promise": "^3.1.2", "elkjs": "^0.10.0", "html-to-image": "^1.11.13", - "i18next": "^25.2.1", - "i18next-browser-languagedetector": "^8.2.0", + "i18next": "^25.1.2", + "i18next-browser-languagedetector": "^8.1.0", "i18next-http-backend": "^3.0.2", - "next-themes": "^0.4.6", - "react": "^19.1.0", + "next-themes": "^0.3.0", + "react": "^18.3.1", "react-chartjs-2": "^5.3.0", - "react-dom": "^19.1.0", - "react-hook-form": "^7.58.1", - "react-hotkeys-hook": "^5.1.0", - "react-i18next": "^15.5.3", + "react-dom": "^18.3.1", + "react-hook-form": "^7.56.1", + "react-hotkeys-hook": "^4.6.1", + "react-i18next": "^15.5.1", "react-icons": "^5.5.0", "react-innertext": "^1.1.5", "react-json-view": "^1.21.3", - "react-markdown": "^10.1.0", - "react-resizable-panels": "^3.0.3", - "react-router-dom": "^7.6.2", + "react-markdown": "^9.1.0", + "react-resizable-panels": "^2.1.7", + "react-router-dom": "^6.30.0", "react-syntax-highlighter": "^15.6.1", "remark-gfm": "^4.0.1", - "use-debounce": "^10.0.5", + "use-debounce": "^10.0.4", "usehooks-ts": "^3.1.1", - "zustand": "^5.0.5" + "zustand": "^5.0.4" }, "devDependencies": { "@7nohe/openapi-react-query-codegen": "^1.6.2", - "@eslint/compat": "^1.3.0", - "@eslint/js": "^9.29.0", - "@stylistic/eslint-plugin": "^4.4.1", - "@tanstack/eslint-plugin-query": "^5.78.0", + "@eslint/compat": "^1.2.9", + "@eslint/js": "^9.25.1", + "@stylistic/eslint-plugin": "^2.13.0", + "@tanstack/eslint-plugin-query": "^5.74.7", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", - "@trivago/prettier-plugin-sort-imports": "^5.2.2", - "@types/node": "^24.0.3", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/node": "^22.15.3", + "@types/react": "^18.3.19", + "@types/react-dom": "^18.3.5", "@types/react-syntax-highlighter": "^15.5.13", - "@vitejs/plugin-react-swc": "^3.10.2", - "@vitest/coverage-v8": "^3.2.4", - "eslint": "^9.29.0", - "eslint-config-prettier": "^10.1.5", + "@vitejs/plugin-react-swc": "^3.9.0", + "@vitest/coverage-v8": "^2.1.9", + "eslint": "^9.25.1", + "eslint-config-prettier": "^10.1.2", "eslint-plugin-i18next": "^6.1.1", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-perfectionist": "^4.15.0", - "eslint-plugin-prettier": "^5.5.0", + "eslint-plugin-perfectionist": "^4.12.3", + "eslint-plugin-prettier": "^5.2.6", "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.20", - "eslint-plugin-unicorn": "^59.0.1", - "globals": "^16.2.0", - "happy-dom": "^18.0.1", + "eslint-plugin-unicorn": "^55.0.0", + "globals": "^15.15.0", + "happy-dom": "^17.4.6", "jsonc-eslint-parser": "^2.4.0", - "msw": "^2.10.2", + "msw": "^2.7.5", "openapi-merge-cli": "^1.3.2", "prettier": "^3.5.3", "typescript": "~5.8.3", - "typescript-eslint": "^8.34.1", - "vite": "^6.3.5", + "typescript-eslint": "^8.31.1", + "vite": "^5.4.19", "vite-plugin-css-injected-by-js": "^3.5.2", - "vitest": "^3.2.4", + "vitest": "^2.1.9", "web-worker": "^1.5.0" }, "pnpm": { diff --git a/airflow-core/src/airflow/ui/pnpm-lock.yaml b/airflow-core/src/airflow/ui/pnpm-lock.yaml index cf1c8812d67a2..04426f880c846 100644 --- a/airflow-core/src/airflow/ui/pnpm-lock.yaml +++ b/airflow-core/src/airflow/ui/pnpm-lock.yaml @@ -12,53 +12,53 @@ importers: specifier: ^2.3.4 version: 2.3.4 '@chakra-ui/react': - specifier: ^3.21.0 - version: 3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^3.20.0 + version: 3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@codemirror/lang-json': - specifier: ^6.0.2 - version: 6.0.2 + specifier: ^6.0.1 + version: 6.0.1 '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(@types/react@19.1.8)(react@19.1.0) + version: 11.14.0(@types/react@18.3.19)(react@18.3.1) '@tanstack/react-query': - specifier: ^5.80.10 - version: 5.80.10(react@19.1.0) + specifier: ^5.75.1 + version: 5.75.4(react@18.3.1) '@tanstack/react-table': specifier: ^8.21.3 - version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-virtual': - specifier: ^3.13.10 - version: 3.13.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^3.13.8 + version: 3.13.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/debounce-promise': specifier: ^3.1.9 version: 3.1.9 '@uiw/codemirror-themes-all': - specifier: ^4.23.13 - version: 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + specifier: ^4.23.12 + version: 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) '@uiw/react-codemirror': - specifier: ^4.23.13 - version: 4.23.13(@babel/runtime@7.27.6)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.37.2)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^4.23.12 + version: 4.23.12(@babel/runtime@7.26.10)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.4)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/group': specifier: ^3.12.0 - version: 3.12.0(react@19.1.0) + version: 3.12.0(react@18.3.1) '@visx/shape': specifier: ^3.12.0 - version: 3.12.0(react@19.1.0) + version: 3.12.0(react@18.3.1) '@xyflow/react': - specifier: ^12.7.0 - version: 12.7.0(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^12.4.4 + version: 12.4.4(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) axios: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.8.4 + version: 1.8.4 chakra-react-select: specifier: 6.1.0 - version: 6.1.0(@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 6.1.0(@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.19)(next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) chart.js: - specifier: ^4.5.0 - version: 4.5.0 + specifier: ^4.4.9 + version: 4.4.9 chartjs-plugin-annotation: specifier: ^3.1.0 - version: 3.1.0(chart.js@4.5.0) + version: 3.1.0(chart.js@4.4.9) dayjs: specifier: ^1.11.13 version: 1.11.13 @@ -72,153 +72,153 @@ importers: specifier: ^1.11.13 version: 1.11.13 i18next: - specifier: ^25.2.1 - version: 25.2.1(typescript@5.8.3) + specifier: ^25.1.2 + version: 25.1.2(typescript@5.8.3) i18next-browser-languagedetector: - specifier: ^8.2.0 - version: 8.2.0 + specifier: ^8.1.0 + version: 8.1.0 i18next-http-backend: specifier: ^3.0.2 version: 3.0.2 next-themes: - specifier: ^0.4.6 - version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^0.3.0 + version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: - specifier: ^19.1.0 - version: 19.1.0 + specifier: ^18.3.1 + version: 18.3.1 react-chartjs-2: specifier: ^5.3.0 - version: 5.3.0(chart.js@4.5.0)(react@19.1.0) + version: 5.3.0(chart.js@4.4.9)(react@18.3.1) react-dom: - specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) react-hook-form: - specifier: ^7.58.1 - version: 7.58.1(react@19.1.0) + specifier: ^7.56.1 + version: 7.56.2(react@18.3.1) react-hotkeys-hook: - specifier: ^5.1.0 - version: 5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^4.6.1 + version: 4.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-i18next: - specifier: ^15.5.3 - version: 15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^15.5.1 + version: 15.5.1(i18next@25.1.2(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3) react-icons: specifier: ^5.5.0 - version: 5.5.0(react@19.1.0) + version: 5.5.0(react@18.3.1) react-innertext: specifier: ^1.1.5 - version: 1.1.5(@types/react@19.1.8)(react@19.1.0) + version: 1.1.5(@types/react@18.3.19)(react@18.3.1) react-json-view: specifier: ^1.21.3 - version: 1.21.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.21.3(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-markdown: - specifier: ^10.1.0 - version: 10.1.0(@types/react@19.1.8)(react@19.1.0) + specifier: ^9.1.0 + version: 9.1.0(@types/react@18.3.19)(react@18.3.1) react-resizable-panels: - specifier: ^3.0.3 - version: 3.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^2.1.7 + version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: ^7.6.2 - version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^6.30.0 + version: 6.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-syntax-highlighter: specifier: ^15.6.1 - version: 15.6.1(react@19.1.0) + version: 15.6.1(react@18.3.1) remark-gfm: specifier: ^4.0.1 version: 4.0.1 use-debounce: - specifier: ^10.0.5 - version: 10.0.5(react@19.1.0) + specifier: ^10.0.4 + version: 10.0.4(react@18.3.1) usehooks-ts: specifier: ^3.1.1 - version: 3.1.1(react@19.1.0) + version: 3.1.1(react@18.3.1) zustand: - specifier: ^5.0.5 - version: 5.0.5(@types/react@19.1.8)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) + specifier: ^5.0.4 + version: 5.0.4(@types/react@18.3.19)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) devDependencies: '@7nohe/openapi-react-query-codegen': specifier: ^1.6.2 version: 1.6.2(commander@12.1.0)(glob@11.0.0)(magicast@0.3.5)(ts-morph@23.0.0)(typescript@5.8.3) '@eslint/compat': - specifier: ^1.3.0 - version: 1.3.0(eslint@9.29.0(jiti@1.21.7)) + specifier: ^1.2.9 + version: 1.2.9(eslint@9.26.0(jiti@1.21.7)) '@eslint/js': - specifier: ^9.29.0 - version: 9.29.0 + specifier: ^9.25.1 + version: 9.26.0 '@stylistic/eslint-plugin': - specifier: ^4.4.1 - version: 4.4.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^2.13.0 + version: 2.13.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) '@tanstack/eslint-plugin-query': - specifier: ^5.78.0 - version: 5.78.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^5.74.7 + version: 5.74.7(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.19))(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@trivago/prettier-plugin-sort-imports': - specifier: ^5.2.2 - version: 5.2.2(prettier@3.5.3) + specifier: ^4.3.0 + version: 4.3.0(prettier@3.5.3) '@types/node': - specifier: ^24.0.3 - version: 24.0.3 + specifier: ^22.15.3 + version: 22.15.14 '@types/react': - specifier: ^19.1.8 - version: 19.1.8 + specifier: ^18.3.19 + version: 18.3.19 '@types/react-dom': - specifier: ^19.1.6 - version: 19.1.6(@types/react@19.1.8) + specifier: ^18.3.5 + version: 18.3.5(@types/react@18.3.19) '@types/react-syntax-highlighter': specifier: ^15.5.13 version: 15.5.13 '@vitejs/plugin-react-swc': - specifier: ^3.10.2 - version: 3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) + specifier: ^3.9.0 + version: 3.9.0(vite@5.4.19(@types/node@22.15.14)) '@vitest/coverage-v8': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))) + specifier: ^2.1.9 + version: 2.1.9(vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))) eslint: - specifier: ^9.29.0 - version: 9.29.0(jiti@1.21.7) + specifier: ^9.25.1 + version: 9.26.0(jiti@1.21.7) eslint-config-prettier: - specifier: ^10.1.5 - version: 10.1.5(eslint@9.29.0(jiti@1.21.7)) + specifier: ^10.1.2 + version: 10.1.2(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-i18next: specifier: ^6.1.1 version: 6.1.1 eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.29.0(jiti@1.21.7)) + version: 6.10.2(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-perfectionist: - specifier: ^4.15.0 - version: 4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^4.12.3 + version: 4.12.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) eslint-plugin-prettier: - specifier: ^5.5.0 - version: 5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.5.3) + specifier: ^5.2.6 + version: 5.4.0(eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7))(prettier@3.5.3) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.29.0(jiti@1.21.7)) + version: 7.37.5(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-react-hooks: - specifier: ^5.2.0 - version: 5.2.0(eslint@9.29.0(jiti@1.21.7)) + specifier: ^4.6.2 + version: 4.6.2(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.29.0(jiti@1.21.7)) + version: 0.4.20(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-unicorn: - specifier: ^59.0.1 - version: 59.0.1(eslint@9.29.0(jiti@1.21.7)) + specifier: ^55.0.0 + version: 55.0.0(eslint@9.26.0(jiti@1.21.7)) globals: - specifier: ^16.2.0 - version: 16.2.0 + specifier: ^15.15.0 + version: 15.15.0 happy-dom: - specifier: ^18.0.1 - version: 18.0.1 + specifier: ^17.4.6 + version: 17.4.6 jsonc-eslint-parser: specifier: ^2.4.0 version: 2.4.0 msw: - specifier: ^2.10.2 - version: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) + specifier: ^2.7.5 + version: 2.7.6(@types/node@22.15.14)(typescript@5.8.3) openapi-merge-cli: specifier: ^1.3.2 version: 1.3.2 @@ -229,17 +229,17 @@ importers: specifier: ~5.8.3 version: 5.8.3 typescript-eslint: - specifier: ^8.34.1 - version: 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^8.31.1 + version: 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) vite: - specifier: ^6.3.5 - version: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + specifier: ^5.4.19 + version: 5.4.19(@types/node@22.15.14) vite-plugin-css-injected-by-js: specifier: ^3.5.2 - version: 3.5.2(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) + version: 3.5.2(vite@5.4.19(@types/node@22.15.14)) vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) + specifier: ^2.1.9 + version: 2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)) web-worker: specifier: ^1.5.0 version: 1.5.0 @@ -267,34 +267,62 @@ packages: resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} - '@ark-ui/react@5.14.0': - resolution: {integrity: sha512-7WWlCM3SowtF01e9NouuO4T6SYuKTM1dovR+2NZuuWTlqTBlvZ+1vPHS6BeqzXriwMLU7QUU+Y0i/TcI6/s/Sg==} + '@ark-ui/react@5.12.0': + resolution: {integrity: sha512-UV89EqyESZoyr6rtvrbFJn/FejpswhvRVcfK44dZDU6h6UY8CxfR/6Ayvrq9UtFdD0dEawqwWrXS22l8Y05Nnw==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.27.5': - resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} + '@babel/generator@7.17.7': + resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.10': + resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.25.9': resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.5': - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + '@babel/parser@7.26.10': + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} engines: {node: '>=6.0.0'} hasBin: true @@ -302,25 +330,28 @@ packages: resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.27.6': - resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + '@babel/template@7.26.9': + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + '@babel/traverse@7.23.2': + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.4': - resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} + '@babel/traverse@7.26.10': + resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} engines: {node: '>=6.9.0'} - '@babel/types@7.27.6': - resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + '@babel/types@7.17.0': + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} - '@bcoe/v8-coverage@1.0.2': - resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} - engines: {node: '>=18'} + '@babel/types@7.26.10': + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -334,8 +365,8 @@ packages: '@chakra-ui/anatomy@2.3.4': resolution: {integrity: sha512-fFIYN7L276gw0Q7/ikMMlZxP7mvnjRaWJ7f3Jsf9VtDOi6eAYIBRrhQe6+SZ0PGmoOkRaBc7gSE5oeIbgFFyrw==} - '@chakra-ui/react@3.21.0': - resolution: {integrity: sha512-Ajw6GuUhfNhMagTM9cO1Lg/w/HSQUwsv55j2QvvvPw/dk01wHiGi1aihfuCLpa6QY4ElLNs6SS3f78xI9Fwo6A==} + '@chakra-ui/react@3.20.0': + resolution: {integrity: sha512-zHYQAUqrT2pZZ/Xi+sskRC/An9q4ZelLPJkFHdobftTYkcFo1FtkMbBO0AEBZhb/6mZGyfw3JLflSawkuR++uQ==} peerDependencies: '@emotion/react': '>=11' react: '>=18' @@ -352,11 +383,11 @@ packages: '@codemirror/commands@6.8.1': resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} - '@codemirror/lang-json@6.0.2': - resolution: {integrity: sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==} + '@codemirror/lang-json@6.0.1': + resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} - '@codemirror/language@6.11.1': - resolution: {integrity: sha512-5kS1U7emOGV84vxC+ruBty5sUgcD0te6dyupyRVG2zaSjhTDM73LhVKUtVwiqSe6QwmEoA4SCiU8AKPFyumAWQ==} + '@codemirror/language@6.11.0': + resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} '@codemirror/lint@6.8.2': resolution: {integrity: sha512-PDFG5DjHxSEjOXk9TQYYVjZDqlZTFaDBfhQixHnQOEVDDNHUbEh/hstAjcQJaA6FQdZTD1hquXTK0rVBLADR1g==} @@ -370,8 +401,8 @@ packages: '@codemirror/theme-one-dark@6.1.2': resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} - '@codemirror/view@6.37.2': - resolution: {integrity: sha512-XD3LdgQpxQs5jhOOZ2HRVT+Rj59O4Suc7g2ULvZ+Yi8eCkickrkZ5JFuoDhs2ST1mNI5zSsNYgR3NGa4OUrbnw==} + '@codemirror/view@6.36.4': + resolution: {integrity: sha512-ZQ0V5ovw/miKEXTvjgzRyjnrk9TwriUB1k4R5p7uNnHR9Hus+D1SXHGdJshijEzPFjU25xea/7nhIeSqYFKdbA==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -417,156 +448,150 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild/aix-ppc64@0.25.5': - resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} - engines: {node: '>=18'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.5': - resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} - engines: {node: '>=18'} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.5': - resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} - engines: {node: '>=18'} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.5': - resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} - engines: {node: '>=18'} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.5': - resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} - engines: {node: '>=18'} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.5': - resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} - engines: {node: '>=18'} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.5': - resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} - engines: {node: '>=18'} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.5': - resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} - engines: {node: '>=18'} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.5': - resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} - engines: {node: '>=18'} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.5': - resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} - engines: {node: '>=18'} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.5': - resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} - engines: {node: '>=18'} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.5': - resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} - engines: {node: '>=18'} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.5': - resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} - engines: {node: '>=18'} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.5': - resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} - engines: {node: '>=18'} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.5': - resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} - engines: {node: '>=18'} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.5': - resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} - engines: {node: '>=18'} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.5': - resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} - engines: {node: '>=18'} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.5': - resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.5': - resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} - engines: {node: '>=18'} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.5': - resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.5': - resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} - engines: {node: '>=18'} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.25.5': - resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} - engines: {node: '>=18'} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.5': - resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} - engines: {node: '>=18'} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.5': - resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} - engines: {node: '>=18'} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.5': - resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} - engines: {node: '>=18'} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] + '@eslint-community/eslint-utils@4.5.1': + resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -577,8 +602,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.3.0': - resolution: {integrity: sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==} + '@eslint/compat@1.2.9': + resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -586,32 +611,24 @@ packages: eslint: optional: true - '@eslint/config-array@0.20.1': - resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.3': - resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} + '@eslint/config-helpers@0.2.2': + resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.13.0': resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.14.0': - resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.15.0': - resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.29.0': - resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} + '@eslint/js@9.26.0': + resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -622,10 +639,6 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.2': - resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} @@ -664,12 +677,12 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} - '@inquirer/confirm@5.1.12': - resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} + '@inquirer/confirm@5.1.8': + resolution: {integrity: sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -677,8 +690,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.13': - resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} + '@inquirer/core@10.1.9': + resolution: {integrity: sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -686,12 +699,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.11': + resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.5': + resolution: {integrity: sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -699,19 +712,11 @@ packages: '@types/node': optional: true - '@internationalized/date@3.8.2': - resolution: {integrity: sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==} + '@internationalized/date@3.8.1': + resolution: {integrity: sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==} - '@internationalized/number@3.6.3': - resolution: {integrity: sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==} - - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} + '@internationalized/number@3.6.2': + resolution: {integrity: sha512-E5QTOlMg9wo5OrKdHD6edo1JJlIoOsylh0+mbf0evi1tHJwMZfJSaBpGtnJV9N7w3jeiioox9EG/EWRWPh82vg==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -760,8 +765,12 @@ packages: '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} - '@mswjs/interceptors@0.39.2': - resolution: {integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==} + '@modelcontextprotocol/sdk@1.11.0': + resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==} + engines: {node: '>=18'} + + '@mswjs/interceptors@0.37.6': + resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': @@ -792,181 +801,182 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/core@0.2.7': - resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} + '@pkgr/core@0.2.4': + resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@rolldown/pluginutils@1.0.0-beta.11': - resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==} + '@remix-run/router@1.23.0': + resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} + engines: {node: '>=14.0.0'} - '@rollup/rollup-android-arm-eabi@4.44.0': - resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==} + '@rollup/rollup-android-arm-eabi@4.40.1': + resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.44.0': - resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==} + '@rollup/rollup-android-arm64@4.40.1': + resolution: {integrity: sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.44.0': - resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==} + '@rollup/rollup-darwin-arm64@4.40.1': + resolution: {integrity: sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.44.0': - resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==} + '@rollup/rollup-darwin-x64@4.40.1': + resolution: {integrity: sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.44.0': - resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==} + '@rollup/rollup-freebsd-arm64@4.40.1': + resolution: {integrity: sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.44.0': - resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==} + '@rollup/rollup-freebsd-x64@4.40.1': + resolution: {integrity: sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.44.0': - resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.40.1': + resolution: {integrity: sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.44.0': - resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} + '@rollup/rollup-linux-arm-musleabihf@4.40.1': + resolution: {integrity: sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.44.0': - resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} + '@rollup/rollup-linux-arm64-gnu@4.40.1': + resolution: {integrity: sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.44.0': - resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} + '@rollup/rollup-linux-arm64-musl@4.40.1': + resolution: {integrity: sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.44.0': - resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} + '@rollup/rollup-linux-loongarch64-gnu@4.40.1': + resolution: {integrity: sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': - resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': + resolution: {integrity: sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.44.0': - resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} + '@rollup/rollup-linux-riscv64-gnu@4.40.1': + resolution: {integrity: sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.44.0': - resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} + '@rollup/rollup-linux-riscv64-musl@4.40.1': + resolution: {integrity: sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.44.0': - resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} + '@rollup/rollup-linux-s390x-gnu@4.40.1': + resolution: {integrity: sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.44.0': - resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} + '@rollup/rollup-linux-x64-gnu@4.40.1': + resolution: {integrity: sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.44.0': - resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} + '@rollup/rollup-linux-x64-musl@4.40.1': + resolution: {integrity: sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.44.0': - resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} + '@rollup/rollup-win32-arm64-msvc@4.40.1': + resolution: {integrity: sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.44.0': - resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==} + '@rollup/rollup-win32-ia32-msvc@4.40.1': + resolution: {integrity: sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.44.0': - resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==} + '@rollup/rollup-win32-x64-msvc@4.40.1': + resolution: {integrity: sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==} cpu: [x64] os: [win32] - '@stylistic/eslint-plugin@4.4.1': - resolution: {integrity: sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==} + '@stylistic/eslint-plugin@2.13.0': + resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=9.0.0' + eslint: '>=8.40.0' - '@swc/core-darwin-arm64@1.12.4': - resolution: {integrity: sha512-HihKfeitjZU2ab94Zf893sxzFryLKX0TweGsNXXOLNtkSMLw50auuYfpRM0BOL9/uXXtuCWgRIF6P030SAX5xQ==} + '@swc/core-darwin-arm64@1.11.24': + resolution: {integrity: sha512-dhtVj0PC1APOF4fl5qT2neGjRLgHAAYfiVP8poJelhzhB/318bO+QCFWAiimcDoyMgpCXOhTp757gnoJJrheWA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.12.4': - resolution: {integrity: sha512-meYCXHyYb6RDdu2N5PNAf0EelyxPBFhRcVo4kBFLuvuNb0m6EUg///VWy8MUMXq9/s9uzGS9kJVXXdRdr/d6FA==} + '@swc/core-darwin-x64@1.11.24': + resolution: {integrity: sha512-H/3cPs8uxcj2Fe3SoLlofN5JG6Ny5bl8DuZ6Yc2wr7gQFBmyBkbZEz+sPVgsID7IXuz7vTP95kMm1VL74SO5AQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.12.4': - resolution: {integrity: sha512-szfDbf7mE8V64of0q/LSqbk+em+T+TD3uqnH40Z7Qu/aL8vi5CHgyLjWG2SLkLLpyjgkAUF6AKrupgnBYcC2NA==} + '@swc/core-linux-arm-gnueabihf@1.11.24': + resolution: {integrity: sha512-PHJgWEpCsLo/NGj+A2lXZ2mgGjsr96ULNW3+T3Bj2KTc8XtMUkE8tmY2Da20ItZOvPNC/69KroU7edyo1Flfbw==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.12.4': - resolution: {integrity: sha512-n0IY76w+Scx8m3HIVRvLkoResuwsQgjDfAk9bxn99dq4leQO+mE0fkPl0Yw/1BIsPh+kxGfopIJH9zsZ1Z2YrA==} + '@swc/core-linux-arm64-gnu@1.11.24': + resolution: {integrity: sha512-C2FJb08+n5SD4CYWCTZx1uR88BN41ZieoHvI8A55hfVf2woT8+6ZiBzt74qW2g+ntZ535Jts5VwXAKdu41HpBg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.12.4': - resolution: {integrity: sha512-wE5jmFi5cEQyLy8WmCWmNwfKETrnzy2D8YNi/xpYWpLPWqPhcelpa6tswkfYlbsMmmOh7hQNoTba1QdGu0jvHQ==} + '@swc/core-linux-arm64-musl@1.11.24': + resolution: {integrity: sha512-ypXLIdszRo0re7PNNaXN0+2lD454G8l9LPK/rbfRXnhLWDBPURxzKlLlU/YGd2zP98wPcVooMmegRSNOKfvErw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.12.4': - resolution: {integrity: sha512-6S50Xd/7ePjEwrXyHMxpKTZ+KBrgUwMA8hQPbArUOwH4S5vHBr51heL0iXbUkppn1bkSr0J0IbOove5hzn+iqQ==} + '@swc/core-linux-x64-gnu@1.11.24': + resolution: {integrity: sha512-IM7d+STVZD48zxcgo69L0yYptfhaaE9cMZ+9OoMxirNafhKKXwoZuufol1+alEFKc+Wbwp+aUPe/DeWC/Lh3dg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.12.4': - resolution: {integrity: sha512-hbYRyaHhC13vYKuGG5BrAG5fjjWEQFfQetuFp/4QKEoXDzdnabJoixxWTQACDL3m0JW32nJ+gUzsYIPtFYkwXg==} + '@swc/core-linux-x64-musl@1.11.24': + resolution: {integrity: sha512-DZByJaMVzSfjQKKQn3cqSeqwy6lpMaQDQQ4HPlch9FWtDx/dLcpdIhxssqZXcR2rhaQVIaRQsCqwV6orSDGAGw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.12.4': - resolution: {integrity: sha512-e6EbfjPL8GA/bb1lc9Omtxjlz+1ThTsAuBsy4Q3Kpbuh6B3jclg8KzxU/6t91v23wG593mieTyR5f3Pr7X3AWw==} + '@swc/core-win32-arm64-msvc@1.11.24': + resolution: {integrity: sha512-Q64Ytn23y9aVDKN5iryFi8mRgyHw3/kyjTjT4qFCa8AEb5sGUuSj//AUZ6c0J7hQKMHlg9do5Etvoe61V98/JQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.12.4': - resolution: {integrity: sha512-RG2FzmllBTUf4EksANlIvLckcBrLZEA0t13LIa6L213UZKQfEuDNHezqESgoVhJMg2S/tWauitATOCFgZNSmjg==} + '@swc/core-win32-ia32-msvc@1.11.24': + resolution: {integrity: sha512-9pKLIisE/Hh2vJhGIPvSoTK4uBSPxNVyXHmOrtdDot4E1FUUI74Vi8tFdlwNbaj8/vusVnb8xPXsxF1uB0VgiQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.12.4': - resolution: {integrity: sha512-oRHKnZlR83zaMeVUCmHENa4j5uNRAWbmEpjYbzRcfC45LPFNWKGWGAGERLx0u87XMUtTGqnVYxnBTHN/rzDHOw==} + '@swc/core-win32-x64-msvc@1.11.24': + resolution: {integrity: sha512-sybnXtOsdB+XvzVFlBVGgRHLqp3yRpHK7CrmpuDKszhj/QhmsaZzY/GHSeALlMtLup13M0gqbcQvsTNlAHTg3w==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.12.4': - resolution: {integrity: sha512-hn30ebV4njAn0NAUM+3a0qCF+MJgqTNSrfA/hUAbC6TVjOQy2OYGQwkUvCu/V7S2+rZxrUsTpKOnZ7qqECZV9Q==} + '@swc/core@1.11.24': + resolution: {integrity: sha512-MaQEIpfcEMzx3VWWopbofKJvaraqmL6HbLlw2bFZ7qYqYw3rkhM0cQVEgyzbHtTWwCwPMFZSC2DUbhlZgrMfLg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' @@ -977,22 +987,22 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.17': - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.23': - resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} + '@swc/types@0.1.21': + resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==} - '@tanstack/eslint-plugin-query@5.78.0': - resolution: {integrity: sha512-hYkhWr3UP0CkAsn/phBVR98UQawbw8CmTSgWtdgEBUjI60/GBaEIkpgi/Bp/2I8eIDK4+vdY7ac6jZx+GR+hEQ==} + '@tanstack/eslint-plugin-query@5.74.7': + resolution: {integrity: sha512-EeHuaaYiCOD+XOGyB7LMNEx9OEByAa5lkgP+S3ZggjKJpmIO6iRWeoIYYDKo2F8uc3qXcVhTfC7pn7NddQiNtA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@tanstack/query-core@5.80.10': - resolution: {integrity: sha512-mUNQOtzxkjL6jLbyChZoSBP6A5gQDVRUiPvW+/zw/9ftOAz+H754zCj3D8PwnzPKyHzGkQ9JbH48ukhym9LK1Q==} + '@tanstack/query-core@5.75.4': + resolution: {integrity: sha512-pcqOUgWG9oGlzkfRQQMMsEFmtQu0wq81A414CtELZGq+ztVwSTAaoB3AZRAXQJs88LmNMk2YpUKuQbrvzNDyRg==} - '@tanstack/react-query@5.80.10': - resolution: {integrity: sha512-6zM098J8sLy9oU60XAdzUlAH4wVzoMVsWUWiiE/Iz4fd67PplxeyL4sw/MPcVJJVhbwGGXCsHn9GrQt2mlAzig==} + '@tanstack/react-query@5.75.4': + resolution: {integrity: sha512-Vf65pzYRkf8fk9SP1ncIZjvaXszBhtsvpf+h45Y/9kOywOrVZfBGUpCdffdsVzbmBzmz6TCFes9bM0d3pRrIsA==} peerDependencies: react: ^18 || ^19 @@ -1003,8 +1013,8 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-virtual@3.13.10': - resolution: {integrity: sha512-nvrzk4E9mWB4124YdJ7/yzwou7IfHxlSef6ugCFcBfRmsnsma3heciiiV97sBNxyc3VuwtZvmwXd0aB5BpucVw==} + '@tanstack/react-virtual@3.13.8': + resolution: {integrity: sha512-meS2AanUg50f3FBSNoAdBSRAh8uS0ue01qm7zrw65KGJtiXB9QXfybqZwkh4uFpRv2iX/eu5tjcH5wqUpwYLPg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1013,8 +1023,8 @@ packages: resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} engines: {node: '>=12'} - '@tanstack/virtual-core@3.13.10': - resolution: {integrity: sha512-sPEDhXREou5HyZYqSWIqdU580rsF6FGeN7vpzijmP3KTiOGjOMZASz4Y6+QKjiFQwhWrR58OP8izYaNGVxvViA==} + '@tanstack/virtual-core@3.13.8': + resolution: {integrity: sha512-BT6w89Hqy7YKaWewYzmecXQzcJh6HTBbKYJIIkMaNU49DZ06LoTV3z32DWWEdUsgW6n1xTmwTLs4GtWrZC261w==} '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} @@ -1039,21 +1049,14 @@ packages: '@types/react-dom': optional: true - '@trivago/prettier-plugin-sort-imports@5.2.2': - resolution: {integrity: sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==} - engines: {node: '>18.12'} + '@trivago/prettier-plugin-sort-imports@4.3.0': + resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} peerDependencies: '@vue/compiler-sfc': 3.x prettier: 2.x - 3.x - prettier-plugin-svelte: 3.x - svelte: 4.x || 5.x peerDependenciesMeta: '@vue/compiler-sfc': optional: true - prettier-plugin-svelte: - optional: true - svelte: - optional: true '@ts-morph/common@0.24.0': resolution: {integrity: sha512-c1xMmNHWpNselmpIqursHeOHHBTIsJLbB+NuovbTTRCNiTLEr/U9dbJ8qy0jd/O2x5pc3seWuOUN5R2IoOTp8A==} @@ -1061,9 +1064,6 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} - '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -1124,14 +1124,14 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} @@ -1154,19 +1154,22 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@20.19.1': - resolution: {integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==} + '@types/node@22.15.14': + resolution: {integrity: sha512-BL1eyu/XWsFGTtDWOYULQEs4KR0qdtYfCxYAUYRoB7JP7h9ETYLgQTww6kH8Sj2C0pFGgrpM0XKv6/kbIzYJ1g==} - '@types/node@24.0.3': - resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/react-dom@19.1.6': - resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/react-dom@18.3.5': + resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} peerDependencies: - '@types/react': ^19.0.0 + '@types/react': ^18.0.0 '@types/react-syntax-highlighter@15.5.13': resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} @@ -1176,11 +1179,11 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.1.8': - resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} + '@types/react@18.3.19': + resolution: {integrity: sha512-fcdJqaHOMDbiAwJnXv6XCzX0jDW77yI3tJqYh1Byn8EL5/S628WRx9b/y3DnNe55zTukUQKrfYxiZls2dHcUMw==} - '@types/statuses@2.0.6': - resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} + '@types/statuses@2.0.5': + resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -1191,70 +1194,105 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/whatwg-mimetype@3.0.2': - resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} - - '@typescript-eslint/eslint-plugin@8.34.1': - resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} + '@typescript-eslint/eslint-plugin@8.32.0': + resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.34.1 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.34.1': - resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} + '@typescript-eslint/parser@8.32.0': + resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.34.1': - resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} + '@typescript-eslint/scope-manager@8.27.0': + resolution: {integrity: sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.28.0': + resolution: {integrity: sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.32.0': + resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.32.0': + resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.34.1': - resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} + '@typescript-eslint/types@8.27.0': + resolution: {integrity: sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.28.0': + resolution: {integrity: sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.32.0': + resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.34.1': - resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} + '@typescript-eslint/typescript-estree@8.27.0': + resolution: {integrity: sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.34.1': - resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} + '@typescript-eslint/typescript-estree@8.28.0': + resolution: {integrity: sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.34.1': - resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} + '@typescript-eslint/typescript-estree@8.32.0': + resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.34.1': - resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} + '@typescript-eslint/utils@8.27.0': + resolution: {integrity: sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.34.1': - resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} + '@typescript-eslint/utils@8.28.0': + resolution: {integrity: sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.34.1': - resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} + '@typescript-eslint/utils@8.32.0': + resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/visitor-keys@8.27.0': + resolution: {integrity: sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.28.0': + resolution: {integrity: sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.32.0': + resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@uiw/codemirror-extensions-basic-setup@4.23.13': - resolution: {integrity: sha512-U1CnDFpq6ydNqrRDS5Bdnvgso8ezwwbrmKvmAD3hmoVyRDsDU6HTtmcV+w0rZ3kElUCkKI5lY0DMvTTQ4+L3RQ==} + '@uiw/codemirror-extensions-basic-setup@4.23.12': + resolution: {integrity: sha512-l9vuiXOTFDBetYrRLDmz3jDxQHDsrVAZ2Y6dVfmrqi2AsulsDu+y7csW0JsvaMqo79rYkaIZg8yeqmDgMb7VyQ==} peerDependencies: '@codemirror/autocomplete': '>=6.0.0' '@codemirror/commands': '>=6.0.0' @@ -1264,123 +1302,123 @@ packages: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' - '@uiw/codemirror-theme-abcdef@4.23.13': - resolution: {integrity: sha512-n7rcYYitdLSwqirWGTC8MGJRO4esmU1LFLDul1qhKCbQyY6O5t+dzpCNlsH2cgiMhhr2so/XG/FRUGcMcSZQTw==} + '@uiw/codemirror-theme-abcdef@4.23.12': + resolution: {integrity: sha512-Jd7RpoUIMP01N3MRieVlUlMgh683E84lCGjHsDd4IgosgrZYfHJITJZVgOiRk+ei+lGUdDOQmr/jg3Zug7Lgxg==} - '@uiw/codemirror-theme-abyss@4.23.13': - resolution: {integrity: sha512-7e74zeYPo5n2KqT2PHiX8UVqfCrgu5CXxqycQm6d/66widnGS3AOXXM+utNRjc9j2ESHubtty4JsBfI86Q012Q==} + '@uiw/codemirror-theme-abyss@4.23.12': + resolution: {integrity: sha512-oQbTTH+YV0os0kXDidhOgNeoMhDF7edF/O04wUO/75DTVcaBT+NHWO2BsR4R/vX8/FylUJEOUAoRYdX2mEfnVw==} - '@uiw/codemirror-theme-androidstudio@4.23.13': - resolution: {integrity: sha512-DcZmRGjFiU0mWCYqlrUPsKe5pWzoHP2Ab/QWckLTrHRDWuRjB+8bydqXupOWqfrxZqYM6dR5ptpwZCrMnMpFVg==} + '@uiw/codemirror-theme-androidstudio@4.23.12': + resolution: {integrity: sha512-2PDjsaAvPxctvF5+i0eL1ntiZI/Vvi72aHSGIZNFMM5NKSCG6z+n9fn9Ci49Dy2JXkTnO8T20G89/DWhGd36cw==} - '@uiw/codemirror-theme-andromeda@4.23.13': - resolution: {integrity: sha512-KzmSaTEvc1IikN55OfXxaAYNp9puLsy8AjIXD+wUo0nAVhuRQXaw09x2EE7QIX31hOBOwyaCk97KMYkZPKQVrw==} + '@uiw/codemirror-theme-andromeda@4.23.12': + resolution: {integrity: sha512-XM3WQkHmQr/h/uQlODiP6twa81UDNfNAmGcyWww+3HQIGU8eIRFQ1ZGGgT8tZKgCmdfMOC3p0/qr0d6r3/TfYQ==} - '@uiw/codemirror-theme-atomone@4.23.13': - resolution: {integrity: sha512-k/ebwmO0BPdpCjZDPoei3+9FdbO8ChUgy4lozTtpWQTuG2H1IvGlH6ikLdVKdD3QjsL1IDkGx41Ih07clSZE9Q==} + '@uiw/codemirror-theme-atomone@4.23.12': + resolution: {integrity: sha512-W4/GOQ5Flw7n59/29UD1uJV2iIVxzr7B/7oPTotn0/2BBArRbJNjOEWYQ1b/OgMl3+mZjNozaYgtr44tHHNSfg==} - '@uiw/codemirror-theme-aura@4.23.13': - resolution: {integrity: sha512-fNEwb8Rq5VSykXmHabKH/JU0OZj4vVgs8Qr4/4xwmxj8t/v1gOIThJNd1/8ZTMFsmZ8aBORIacfwuqEquqDfdA==} + '@uiw/codemirror-theme-aura@4.23.12': + resolution: {integrity: sha512-BnFsSAH+22CvD3AoQIEzRl8s07CR4SOGcrR2cQJWFLFSb7hlEa0myIEx9H4oEHtE1T40meKTx3pk2dpJTqL+IA==} - '@uiw/codemirror-theme-basic@4.23.13': - resolution: {integrity: sha512-7GYiryQZSZFpKuskc0d//Pn81z0OtnHhEQp3tZ5Jn2GQuMEHdZt9RomLLzqJTqOXOXVm37cKuYbd47XWcgejmw==} + '@uiw/codemirror-theme-basic@4.23.12': + resolution: {integrity: sha512-KepDYk/yb1DPV733N0UwbngRlHmFjGR5gh4UOXZic9yI14ndx8jEJsa36Em8THNSCqhSpmn1zeCbnXBxhyF4rA==} - '@uiw/codemirror-theme-bbedit@4.23.13': - resolution: {integrity: sha512-7Yc3iQFEecbaQisy5YC+9aov/PVGSKZAEGRR86C+keC/3yxAe6jcg9a/rVuafegm70pKAhO+beGZGjot0k3DVQ==} + '@uiw/codemirror-theme-bbedit@4.23.12': + resolution: {integrity: sha512-g5kHD1qTKCjINicbgLEi9MXR4r41klmum4kvFyo/SURwmjTDmetUB+MIqb0fvkcG9VzCiitxHVBl8ZNKxF8PWw==} - '@uiw/codemirror-theme-bespin@4.23.13': - resolution: {integrity: sha512-9VQ+utZYQBFTjXPNkWNwVwdjVCznp9q0bq6YCsvN/hH9y1iW5O4RlUqU6cmxJaNndkJS88FtpyO1c+HKxJ08FA==} + '@uiw/codemirror-theme-bespin@4.23.12': + resolution: {integrity: sha512-XuJlDs5fw2yNUBWRsjamExVlt/EsoZQmlZ97qYhK4CDvc/TjHZysVaMApGcwG56CJhGexf5BAxi8xJCFaDTEdQ==} - '@uiw/codemirror-theme-console@4.23.13': - resolution: {integrity: sha512-EtNsXdi5nVQ7uqHLhfpIlIHyGJfuIf9DkpcjWgLtpWYINGa9BGVwkNlke40tSf3P0J+QKxeFGJL0sdMRe6uhHA==} + '@uiw/codemirror-theme-console@4.23.12': + resolution: {integrity: sha512-HnTjbG5+9tQf3Q+2GxsbVrrFfTjf0X+kd6npGMuiAzeakbJVQ+/yzGQVAg4mLU0nnGMZtoayTcdWcuacSIi38A==} - '@uiw/codemirror-theme-copilot@4.23.13': - resolution: {integrity: sha512-vr3Ywydm0tV3b3Pty1YEKpvWF0InPuE0tQkynM7DVXxyit7SuSOXXjlZvAGlzUss8oospUpxYBLrSlJFyqxFXQ==} + '@uiw/codemirror-theme-copilot@4.23.12': + resolution: {integrity: sha512-ZICTJQCaFgJI2pJUHuj2NoEd7PZWsOGta1a5jk2SFwlr9JHPkOqrxZixwcoEMEuqtPGdoW+ezXa21H/mlik83g==} - '@uiw/codemirror-theme-darcula@4.23.13': - resolution: {integrity: sha512-eQbKRuFlxJRgpRfikMQDCyG+bk9iGbCmKnKTDxP9/b0qlRP3dnF5mdAe2VqBNapxju0Cn+cy8Wu8s7z0GiYzWg==} + '@uiw/codemirror-theme-darcula@4.23.12': + resolution: {integrity: sha512-+TsLGgPrwmjTyTXEOnjtNCsTpE1B6WDESTEeqFtdonLh2xkkT2URwpaRNumVeeTQ9ink/UBTIiGWmtAWiOa+Iw==} - '@uiw/codemirror-theme-dracula@4.23.13': - resolution: {integrity: sha512-Puw9aqYHA/r4iwIo+JMyIZ9taX2xkTAX4jOz8qVwI4x8LE+PvcF4jVLJkdBHmQEQEzZrKq4vrjrLnviZ2LStKw==} + '@uiw/codemirror-theme-dracula@4.23.12': + resolution: {integrity: sha512-ZTNKHvXCOdvXF62mLOkrumu5UeegK/Iip7lCwzW3ZdV4HgljDbnWshyLY6M8iLrjTI1QbYjVGJzt7J5lg5xgOA==} - '@uiw/codemirror-theme-duotone@4.23.13': - resolution: {integrity: sha512-JZWgBc7i9UBPgVW+35fML7YF8JHSG98PvV1wwa37J2UIQ4csrbgfvh/2g3EPMOPyHZrw9IrNZFLqpIWMJNP4KQ==} + '@uiw/codemirror-theme-duotone@4.23.12': + resolution: {integrity: sha512-8FUZQyUBJTLaxPU4trS7M658F0NTQ3rAjKCw4jW1N/LlUb9zedgxuGA8Ta/YWg05UbuqHKnMXpFlEXKlLzQqUA==} - '@uiw/codemirror-theme-eclipse@4.23.13': - resolution: {integrity: sha512-773gbWBg740h+YLaS7+78BoIPJzsvHYD6uEvmShMdN3bqUPsPtoLNf/+8SFGoF0PU24n9mrm+H8HH5twbhjd3w==} + '@uiw/codemirror-theme-eclipse@4.23.12': + resolution: {integrity: sha512-SVyvHPtrmS47IAnREuqG3YcAFJziLoFNtXg4dXX1IGjJzrT1ONGAn9vfMx0KNWOdGHpFUUFjiH8G3igI0VhZZA==} - '@uiw/codemirror-theme-github@4.23.13': - resolution: {integrity: sha512-e75jgCl6Zf7sC63ntyl4r2GU6ekqKbyfIB4g6EnneQlIzJQiDTM+mU0/pDR5hLTyGQdxQpcDs9EmDqfEyejGSQ==} + '@uiw/codemirror-theme-github@4.23.12': + resolution: {integrity: sha512-yxgycQxA1fNVdrjIZ7H7pq+9Q+BeKLmD5oq5oOlw7kVJrnToOMBylv5oIWplVd2s2LFo47lIhWrVC9Ay3b6Baw==} - '@uiw/codemirror-theme-gruvbox-dark@4.23.13': - resolution: {integrity: sha512-GugvLaFUA2gAvVZtdTfYccm3DmADZZou9VzJMuyLwUCFNKMRTL5nSIRaQZlNTvJYp3tRrPEMoIjqsyxqbB4DBg==} + '@uiw/codemirror-theme-gruvbox-dark@4.23.12': + resolution: {integrity: sha512-5SHwgUjpqSDpcWGM3xSWYZYZPRxq8XfrXB1XoHMkfz7pR5sXuJQ/sj09XM5vG+NiaCXGTvXITxq4QoixczpOqg==} - '@uiw/codemirror-theme-kimbie@4.23.13': - resolution: {integrity: sha512-ue4lh1z3bnDKYaNRPF0/OYHe5lSnfgpgSsR6uj7z2LcYaMmKIAf8R84SozWot7IN6IjfHLKVC5Zv0Iz0wb8VmA==} + '@uiw/codemirror-theme-kimbie@4.23.12': + resolution: {integrity: sha512-kr+9nKzPgjVDyfPxRMjbRADrLhYjDsNyQIv4yXEgOdmVBxh6w2yzP0zFB1oEds+xzTsx5uLr1O4m2GfRRJx3xw==} - '@uiw/codemirror-theme-material@4.23.13': - resolution: {integrity: sha512-UrAi2ETtmkf2oblJp1cGiMXl/+S/rsQL/TF6+J/jDN9+fXIsluSm1E5Odg6SCWzdhmNgfeS6OxMcdHfkftapnA==} + '@uiw/codemirror-theme-material@4.23.12': + resolution: {integrity: sha512-M7yo5mE0QDKjWm02sN6Sw3Ld4/3XvAuJZcEdKYgqmiGI7GKL/nAV8HDfD8iMNm0HGnyozK402WLzb84oB57gAg==} - '@uiw/codemirror-theme-monokai-dimmed@4.23.13': - resolution: {integrity: sha512-lUF1N+faBd4mLHPFpMNT3uxAbT9/LfdyTsGTw1OsI4VcX51D+8GeW1KTcz1cDeHlJ2IVuG8sbJgAd3cSTTMAeA==} + '@uiw/codemirror-theme-monokai-dimmed@4.23.12': + resolution: {integrity: sha512-cFLtLIR8UT7/32imXsiEONBMHbHsqfXjOXe01PfzvDclghE1TDm/4kn12pG6mjztphnngnxQfYNSn6/eQTOq0Q==} - '@uiw/codemirror-theme-monokai@4.23.13': - resolution: {integrity: sha512-R69hxAvAwhNlP9iOeY9b7Bnk7zCLb1951FWuNMRkMq+tpJJJ9sZ6UdME3Q0dKZwokU+kd2Pzjot2SpZ/Gdd+tA==} + '@uiw/codemirror-theme-monokai@4.23.12': + resolution: {integrity: sha512-axDkBX+txR4NKZLrEkFd+m50UQS579UEqneHz1cTQ8r0z7OYjAZo+7CwdXF5BliJOgaRTC617fyUqEr4X6UCkQ==} - '@uiw/codemirror-theme-noctis-lilac@4.23.13': - resolution: {integrity: sha512-V/K6yhswPlvKL6pGp5QkaWAzGsxhC50vaUTQlzsm7dGN+ffwE4ufX4NRSJkPisRzM3GlxdYTTi0tu1112Xur+A==} + '@uiw/codemirror-theme-noctis-lilac@4.23.12': + resolution: {integrity: sha512-iXc9O0AfeiUp4OXRf+u7nLfz5SQpcCVtvbOxb0+18taAsyisikkKcejUwCUk0hVauW9VKL2FErDkOOzn5z1FtQ==} - '@uiw/codemirror-theme-nord@4.23.13': - resolution: {integrity: sha512-khQ4YklsTdeSN+ixF/JiCaig2zpLeqtd+fJdtK1iXH3u6BBWRNzPeTXZ519+9zHjuGeUDgCtuYqUy92YNlM87Q==} + '@uiw/codemirror-theme-nord@4.23.12': + resolution: {integrity: sha512-U8w3VIuim9H1lEzReeNyv1+uwnPO+gc3gLXCFwxpwF/XDrTQf5TjQFL+c1AGVCYM/Ywf5sflUcF96C3z634r6g==} - '@uiw/codemirror-theme-okaidia@4.23.13': - resolution: {integrity: sha512-0GPJ45l6FaB4mV9gVCbI8WehhfqaG3iB7Bma41fJcBoqTV26ocgzhTMCNs3JrdYu4EMNwVc7uLm7wm839mk5Mw==} + '@uiw/codemirror-theme-okaidia@4.23.12': + resolution: {integrity: sha512-iunSHnMoCxJMUX1usfEQFIFzKhv807aMArMJ324y49nZLkmwZDuGNLYg2x4MUvdGyD9Ksa9N5eujoq++SekfGg==} - '@uiw/codemirror-theme-quietlight@4.23.13': - resolution: {integrity: sha512-1EgWh1aVAVs9zNeuvGZQMYLHpt3i5kCc02eA5xPc6Ibyu3rc9WWqP1cdSybZ3lw4/GJGQyZxyjL6mNs4jwiitg==} + '@uiw/codemirror-theme-quietlight@4.23.12': + resolution: {integrity: sha512-p/btvByFWjRGNTQXRySOiInub3njLEoepPGqhU8V099ndmprzl3ef9bO5ANWDM7R8p6uciYUp6hS2u+PJPtu8g==} - '@uiw/codemirror-theme-red@4.23.13': - resolution: {integrity: sha512-JaNXcyGC0KvWsOaPlAiYVdJP52P/3J3/8jizwKU8VAhXHm/YDUyLAnAHzHXL5W2IYHlYxqd7mMOoagY8Lj0k/Q==} + '@uiw/codemirror-theme-red@4.23.12': + resolution: {integrity: sha512-m9Xu01Ko1WuLThuYDdOQqVS6YgGV5Xz9s0Qv1idIbKNeu/HX8BGeWnjrxjkv6EhIX0zH+uN4wcWELZ7dHZZx6A==} - '@uiw/codemirror-theme-solarized@4.23.13': - resolution: {integrity: sha512-e6sota2PFvAubVlcWJnfFW1fpggZvU7BFtz/5wzSmBDMmZmAL2PQCGf8cv4W0XNVTFm/n8AnSmSTHJZfzCnljA==} + '@uiw/codemirror-theme-solarized@4.23.12': + resolution: {integrity: sha512-qAh5jS7P/qwLAJ93OP9r4Z3DdZh0SFq0uhwYXckSVVYtuypiYf3ZSpQLuiSQ7I/B9BMPtENt7GgthFIun21PYA==} - '@uiw/codemirror-theme-sublime@4.23.13': - resolution: {integrity: sha512-bdT27xQNNIVKURTdN40mNJYtBYzcdpJInsn7ggs9eZY2RI1b/bFblCJNSyepGBFRt/KewDDu6ih/cmixHGZJwg==} + '@uiw/codemirror-theme-sublime@4.23.12': + resolution: {integrity: sha512-fblzQo2xIZqznuu26FhkUST0JFdcJS1pWGJfJUpR49/cY1yni7LW5m30oAklJT2NpPW2ZFi4YkhCqkOfEzXYAQ==} - '@uiw/codemirror-theme-tokyo-night-day@4.23.13': - resolution: {integrity: sha512-YqO5w5LTLbZdPRFQNVbDk9VbDxV6QPG5UpDdC2QmeoMGkifxTBcUgTvXUzUS6/KU4/iw4DxMBssTcBnZBTHnBA==} + '@uiw/codemirror-theme-tokyo-night-day@4.23.12': + resolution: {integrity: sha512-wT/A0SI7aD9j3WQXkLlk3mLk81kZ8ZGD1Okz+YIk+DngH0uD730c5ZMv6AUSHbqAtPePgsjSOHMNS/IQfPOunQ==} - '@uiw/codemirror-theme-tokyo-night-storm@4.23.13': - resolution: {integrity: sha512-bL7NQsYSo7AztsVu0WADft4QMqUhhkhP6GVfEPAzi0fEHn+v7HKTelv9C1ljq2y0OCK2IDxhpd3Biy9To1jX/g==} + '@uiw/codemirror-theme-tokyo-night-storm@4.23.12': + resolution: {integrity: sha512-vBk7OMWmkNlReajWdApBe009SgE6h1D8GnmaamjLklnzuIjEDyy2HnbvRxK4cwaNBGDDT5SGRWVbiiKssLTQdQ==} - '@uiw/codemirror-theme-tokyo-night@4.23.13': - resolution: {integrity: sha512-FhvtU9RTYVxUwhl8K/6jJKC5IRnBgm76WCEtACsdfgvHS4qTa6m9E66qTbUUkfHi2G19GiO/RQVlU6cXgndiIw==} + '@uiw/codemirror-theme-tokyo-night@4.23.12': + resolution: {integrity: sha512-4J4+RhN2qXeqNouY79K/0g69xjgTxqefZdfHv7Y7xFh0n76oR387ojHxut+98rcEOX7GKGXn8tXRoyhWWZVcxg==} - '@uiw/codemirror-theme-tomorrow-night-blue@4.23.13': - resolution: {integrity: sha512-opz1ikxFo3LNkYU6TSd9YY7aE7I4dB3tEltJS9VB7zJh4ddrEiaNBVaGdjwVIl1Sqm448e2Uul0Eo5J0si9gzg==} + '@uiw/codemirror-theme-tomorrow-night-blue@4.23.12': + resolution: {integrity: sha512-84aXg/k5kERu3iri48sGT/8uap2OQKELjt2Hv+js3mZcBUm7rM39NuSvXueSXhCoR4HjA3aV5q3rvUph9peZeg==} - '@uiw/codemirror-theme-vscode@4.23.13': - resolution: {integrity: sha512-Fn79r3NBMPP/hF9ui1e8VCyEjVbZ+rW2MIIGgq/LOkLXZSDXEZRa6NhRt991IuZ6e0R8bprrx3TGVQnkVfODbQ==} + '@uiw/codemirror-theme-vscode@4.23.12': + resolution: {integrity: sha512-ePBaUQiixrpmSoZJWCGXUStKmcM8G0VBv3UqwPR+kNGBjqDife76Gbhv77izSeEI3zRPzL+683BOdclkvWnsMg==} - '@uiw/codemirror-theme-white@4.23.13': - resolution: {integrity: sha512-objVXKwMYwWmLyUxTxzvmz3IkpLUNrScO2X/5dcNPrkClj7Kc/Tkhc61sreq4DGVYN7jFu9bCOwhDdG6+bht1A==} + '@uiw/codemirror-theme-white@4.23.12': + resolution: {integrity: sha512-f2pHnI1UWNQQ3d8A+zNveMQMqE7RVFoMcgCAp5owM6EDI+o0RjyqUPDLH9H1mvCPc84qEMG7ZZrxjaG0C7oG1g==} - '@uiw/codemirror-theme-xcode@4.23.13': - resolution: {integrity: sha512-Q57CoaPCC7xr55zOV+502V4GgyNqgz2r8UBeLnOVzfMX2xS5YzsZgah7kUdmliN+PQAveohdmhuhzynhpbAz+g==} + '@uiw/codemirror-theme-xcode@4.23.12': + resolution: {integrity: sha512-9KnTjhXFqwGphQl18CGRzRc6yB8SZkyv4L7u+j1QOq/nFmk3i44HKuHiuKY+J+XfFq3Cmxg629o3CK4ecMsvUQ==} - '@uiw/codemirror-themes-all@4.23.13': - resolution: {integrity: sha512-VwQQC05fCPp3ev74ceT9gqcHIIBB0LKr8SoiIgmrtGcn+3b+vKxD0ywTL9zPGCJzLq+CTaAwNyDH77q1zZuYmQ==} + '@uiw/codemirror-themes-all@4.23.12': + resolution: {integrity: sha512-nXBqEfbPUK2BQgPfC/18IlWX/jDKRFLVnSANK+NJBhz6coht+VVXfcGPcahjh+HfTvvWb+Ld6ZQAXBBpHxR6Cw==} - '@uiw/codemirror-themes@4.23.13': - resolution: {integrity: sha512-thk4X8VNl15XPoDiOXdkeMAIIHQOoc5lPfmgOvrhPXHzt4zvH5efLWBw3zgpwuOWF+Uk6sYrS0eumtsSO/kgcA==} + '@uiw/codemirror-themes@4.23.12': + resolution: {integrity: sha512-8etEByfS9yttFZW0rcWhdZc7/JXJKRWlU5lHmJCI3GydZNGCzydNA+HtK9nWKpJUndVc58Q2sqSC5OIcwq8y6A==} peerDependencies: '@codemirror/language': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' - '@uiw/react-codemirror@4.23.13': - resolution: {integrity: sha512-y65ULzxOAfpxrA/8epoAOeCfmJXu9z0P62BbGOkITJTtU7WI59KfPbbwj35npSsMAkAmDE841qZo2I8jst/THg==} + '@uiw/react-codemirror@4.23.12': + resolution: {integrity: sha512-yseqWdzoAAGAW7i/NiU8YrfSLVOEBjQvSx1KpDTFVV/nn0AlAZoDVTIPEBgdXrPlVUQoCrwgpEaj3uZCklk9QA==} peerDependencies: '@babel/runtime': '>=7.11.0' '@codemirror/state': '>=6.0.0' @@ -1412,267 +1450,271 @@ packages: '@visx/vendor@3.12.0': resolution: {integrity: sha512-SVO+G0xtnL9dsNpGDcjCgoiCnlB3iLSM9KLz1sLbSrV7RaVXwY3/BTm2X9OWN1jH2a9M+eHt6DJ6sE6CXm4cUg==} - '@vitejs/plugin-react-swc@3.10.2': - resolution: {integrity: sha512-xD3Rdvrt5LgANug7WekBn1KhcvLn1H3jNBfJRL3reeOIua/WnZOEV5qi5qIBq5T8R0jUDmRtxuvk4bPhzGHDWw==} + '@vitejs/plugin-react-swc@3.9.0': + resolution: {integrity: sha512-jYFUSXhwMCYsh/aQTgSGLIN3Foz5wMbH9ahb0Zva//UzwZYbMiZd7oT3AU9jHT9DLswYDswsRwPU9jVF3yA48Q==} peerDependencies: - vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0 + vite: ^4 || ^5 || ^6 - '@vitest/coverage-v8@3.2.4': - resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} + '@vitest/coverage-v8@2.1.9': + resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==} peerDependencies: - '@vitest/browser': 3.2.4 - vitest: 3.2.4 + '@vitest/browser': 2.1.9 + vitest: 2.1.9 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@vitest/expect@2.1.9': + resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@vitest/mocker@2.1.9': + resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^5.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@2.1.9': + resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@2.1.9': + resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@2.1.9': + resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@2.1.9': + resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==} - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@2.1.9': + resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} - '@xyflow/react@12.7.0': - resolution: {integrity: sha512-U6VMEbYjiCg1byHrR7S+b5ZdHTjgCFX4KpBc634G/WtEBUvBLoMQdlCD6uJHqodnOAxpt3+G2wiDeTmXAFJzgQ==} + '@xyflow/react@12.4.4': + resolution: {integrity: sha512-9RZ9dgKZNJOlbrXXST5HPb5TcXPOIDGondjwcjDro44OQRPl1E0ZRPTeWPGaQtVjbg4WpR4BUYwOeshNI2TuVg==} peerDependencies: react: '>=17' react-dom: '>=17' - '@xyflow/system@0.0.62': - resolution: {integrity: sha512-Z2ufbnvuYxIOCGyzE/8eX8TAEM8Lpzc/JafjD1Tzy6ZJs/E7KGVU17Q1F5WDHVW+dbztJAdyXMG0ejR9bwSUAA==} + '@xyflow/system@0.0.52': + resolution: {integrity: sha512-pJBMaoh/GEebIABWEIxAai0yf57dm+kH7J/Br+LnLFPuJL87Fhcmm4KFWd/bCUy/kCWUg+2/yFAGY0AUHRPOnQ==} - '@zag-js/accordion@1.15.2': - resolution: {integrity: sha512-4ooxmmnEDeRLPLOCsrQeLHcTj+xTqBHm6pYEdho/pb67lHujAUSnbfEryorBSfvJEWdiUTYts96EfsLfbn5SYA==} + '@zag-js/accordion@1.15.0': + resolution: {integrity: sha512-EKNeuKx+lOQ/deCe/ApCjVPxpxpDwT2NXvMPL+YvqXmSv7hAnTLs9fDKjbDUQUMmsyx32BsBd8t6d17DL3rPXg==} - '@zag-js/anatomy@1.15.2': - resolution: {integrity: sha512-GiWZk+fqO/W15FIRVhUL237xZmYMm/gcrp8b4VJGLpZE4qaQaBd4kSYObhIl/7AnLC45VjKbV7c8fLxZKd/5kA==} + '@zag-js/anatomy@1.15.0': + resolution: {integrity: sha512-r0l5I7mSsF35HdwXm22TppNhfVftFuqvKfHvTUw+wQZhni4eUL93HypJD0Fl7mDhtP5zfVGfBwR048OzD0+tCw==} - '@zag-js/angle-slider@1.15.2': - resolution: {integrity: sha512-ItcDlKHJbPFfPGmmiCGcWcd0Y8xC+WH5Dji7+uzBl40L9hh8si7/FrY9EB2cX/qUTDppNyicLPIDnZRGkByTOA==} + '@zag-js/angle-slider@1.15.0': + resolution: {integrity: sha512-xIZBa9V6d05uK7+XQVhfdsThqbZKimSYVxtMOWJfG0sKn63N9VGPxL1OtOMq7FA4IP3SyvlelsGt+3t82TUiyA==} - '@zag-js/aria-hidden@1.15.2': - resolution: {integrity: sha512-Uwt86QpEaI4qLFS/k4C7rwIfyiH8EdE5a4AWiQ26WsL8VOpjROn65rBEOJ8q3fG5CJXbdcqaYK3lg4ldqf9irQ==} + '@zag-js/aria-hidden@1.15.0': + resolution: {integrity: sha512-3ogglAasycekTHI34ph16mqwM+VtHCOMtrFHWzPwB16itV5oDEeeMNdQXenHSSyQ/07nJ2QsRGFFjGhPm1kWNg==} - '@zag-js/auto-resize@1.15.2': - resolution: {integrity: sha512-Mg3IN3eIP2wKBFRm5qti/rjKpTj7sfIVNfO9BgWdHDSzli1VwaBX7GaOE3nGc1tZ2nJ8n0SWRvRSzr3b57cwKw==} + '@zag-js/auto-resize@1.15.0': + resolution: {integrity: sha512-EXgrsU7OWxc7obSOt8Okh0144H8DQi1S84OsOUY04Uni11Dnp5/X8+t6mvBbkw4/Qyz5UBjChjocwBcO+HHV8w==} - '@zag-js/avatar@1.15.2': - resolution: {integrity: sha512-4aG2ETJbdMTALyXwU/DeGfjs/dM0Kllje+t5ov52fQrtkY123JdrvKQkcvsc7Luph1kdN1tC1/2fe/pDMhycCg==} + '@zag-js/avatar@1.15.0': + resolution: {integrity: sha512-EHGxzXb1mLf3n6x0z/rqFl1mghDB/gyfPAeaFUoA/cacmmMk8YB3aDUXkS9pTgN9stYJBM5f6T4xB1ZUhrP8tg==} - '@zag-js/carousel@1.15.2': - resolution: {integrity: sha512-7bcyEtWIhv7kw+V4H+Fv5rE8I8lf0LQOj+m3HTYzWo+wiLybFfI8/bg1qywjSYKsgZr3gmGVCEZhfx3BSpP3eA==} + '@zag-js/carousel@1.15.0': + resolution: {integrity: sha512-ZI9H34f2utdJ2Ek6GZa+iuRH4eC99GHD/VEOKLdGani8uadpT2v8M5kUwPGrlAJq9SiPbQ2UuXBmCkmurPQqdA==} - '@zag-js/checkbox@1.15.2': - resolution: {integrity: sha512-Ay/+rpKbxL4jE1pwVw52h0t79PpiifA6QlYnV4E+hWl1yJBkMRIi76Ryhqvqp4yY+2Wyr9OfDA9eHmQjapG4VA==} + '@zag-js/checkbox@1.15.0': + resolution: {integrity: sha512-6lQvPQNJXt7R0xxdpOuh2qtmAkzdBdqSvFIH7fE6GJzJ/AWiRZh0X+9deLQ76CN4EDUdxizEe7MlQfTI3a56aw==} - '@zag-js/clipboard@1.15.2': - resolution: {integrity: sha512-EE5OlsIYbBklo62qu3A7GiUnsgmoGaoDZvhpYvpNM8StWNeRREcJZXRIizv4aFC46e5eODzSNcebnMLYa8Wcgw==} + '@zag-js/clipboard@1.15.0': + resolution: {integrity: sha512-Q3kh0fHvOEAJUywQm3zAWyltrYyiI8OpeZQ18k5Mf3/M+bq3gSphZL0+AYsgGbKUg5O2+hJ1SfiErAjyhRtBQA==} - '@zag-js/collapsible@1.15.2': - resolution: {integrity: sha512-vvUXQMFgwsZJphE4Ml5ap4FVhtyLOqK2QXPbt2+F8X8SRwJ3/pqsSsLFdH+ALpNoCK6WF9j+8FZ4lyidr7XPDw==} + '@zag-js/collapsible@1.15.0': + resolution: {integrity: sha512-GX0kdMlKk4Yk5k/2wN0prudf21k+TfArGr4EHqimTDR0vQE3dSdb3pYyPjw20fLzceKHBBCLsoi2v+YnS75gHA==} - '@zag-js/collection@1.15.2': - resolution: {integrity: sha512-bJ9EtZ1Cpjh/rQFDMPTPrky/eSfaLpHWmMnk/S9b7wi+OhC0Hoqw38lcWzfc0AaE4bJsfru9/FLIsCDOLf7TSg==} + '@zag-js/collection@1.15.0': + resolution: {integrity: sha512-oC3i6c/oP/FuNPsfgoC1reSXbAvDBGXl0HU3CcvXiNLHbjg2ek8J7kbow6MNuXK6chiksiOHbzKxHl2Oo0Ox7A==} - '@zag-js/color-picker@1.15.2': - resolution: {integrity: sha512-UOYHECq+X6hSrgSxwBt5O4Y6f2IdOGMhe7P/LFev7Yn0x1F9fMxJZCIzvQGaQ2V/hR0eTatiKk5SmOp9+dJA/g==} + '@zag-js/color-picker@1.15.0': + resolution: {integrity: sha512-DGujS24h1OWkYL+TWyd+xukOO8NBgcSfFCINffa4ivkHtNx3nC28qkwLPRASbl7AK69pbrcuO6bx1Sy/JQJw0Q==} - '@zag-js/color-utils@1.15.2': - resolution: {integrity: sha512-c167QcxiVHgFZ7ca0PSQZ7skhbBOd6u1lIyWYzkZ2uPf0yJndqP9gFYPMbwK6d4WIM9k6y6mLdsWCGpqIJJsIg==} + '@zag-js/color-utils@1.15.0': + resolution: {integrity: sha512-SKo+p5Fu0TBtdDua8UHVjptOkwLLBFoD499Z1FER/gr0R/97L03Kdir0YTxvKn5pXWXYY1EQn4hpTuTITN16lQ==} - '@zag-js/combobox@1.15.2': - resolution: {integrity: sha512-lZXW99NLnRfLLY1ZOE0oqo4wMDglkUjKV1UZaHyj+yqXsiMtWhKQFQW/JeVBRDe6RCv8wWPPHMycNANMw581gQ==} + '@zag-js/combobox@1.15.0': + resolution: {integrity: sha512-HBck3wcEeIOa7IQMsUkUKbm9cAU7bjoklIyq2zFGn90k7DcDa++oXK9Z2pmcd4TPoBYiyVuuXucaCcjmLX8V/Q==} - '@zag-js/core@1.15.2': - resolution: {integrity: sha512-yUnh4I0nZ8rlszWgF402F5vGoYw7DNwStYz2TAO+4E08BpKBATw3FEdqAHPm+2xZm5qPqnPbM4iObwUlkBQUEw==} + '@zag-js/core@1.15.0': + resolution: {integrity: sha512-P/8F3IXabMhpFnc6hC7GDg3rvUnvY27cuZU04hxjUqTH6+SfORIA/Uvqd4ekhC+dIprL9jicnFrmGgcyelyxfQ==} - '@zag-js/date-picker@1.15.2': - resolution: {integrity: sha512-KElAFm3fW4GKGUNUe+jqqUX+P1H+Cigp/eGRgIl0dUjCwHocD1oN0ZCwNYmf7SJoWSgPRc1UJdA4XvpdU0IwPQ==} + '@zag-js/date-picker@1.15.0': + resolution: {integrity: sha512-IZD0V9MAljp1QhxYbST80AonryuDnyx7hvEy/RrBY/VOx6I4STtKfcSJ5ZZgVIzJfH8Yyaed4+IwcenqG7W5YQ==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/date-utils@1.15.2': - resolution: {integrity: sha512-U+HtfdtHJ5ed2ys8izMhu8gY5jQigCd8ExPN5Cxg5CoIbSkho9NT8o/eO9OW71jc2F4kwBh+q0reyxxLJnTSbw==} + '@zag-js/date-utils@1.15.0': + resolution: {integrity: sha512-FX9EesJRnUTYTpbXf5EVfCbsXW5vYtZfc635aQzojc9ekk1FGcHpqQs8ZKfCOTPuauZFOX9i6139A4KoPfQOiw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/dialog@1.15.2': - resolution: {integrity: sha512-LUF+tiiUJj7v24txhC0TOwEgsfj1GCogAmBaiJKxvqrDEDv1B91J0b6SUQ5TuTMLW+hlBEzXZw0QsTxa9OXBew==} + '@zag-js/dialog@1.15.0': + resolution: {integrity: sha512-Vlt5vySs4u8c8xBEh2JMUvRfPc+aaVEIIUtFVxpc2ORWhBXs9glijyp1yf3rNHJhjj8gqqhF5sEvs3yUTTAk+Q==} - '@zag-js/dismissable@1.15.2': - resolution: {integrity: sha512-+WY8a1L+L8hXPGmWKqOsSg2KCHabVWXEX8mewHamltpSb86+2WMmblpLNgTwbm6V0T6txf1N8lFuzWMojMEWSg==} + '@zag-js/dismissable@1.15.0': + resolution: {integrity: sha512-yv575KWy8gA1p4aajOiY5l/nBQ3Xw+Mrjpungp1+wiGd/98eNAIKJ6/adldfbE1Ygd/Q4Dx2VQ7D1AmiTdwUSw==} - '@zag-js/dom-query@1.15.2': - resolution: {integrity: sha512-+r9Xj6hiQj9b2ZNkT3E/bDaXgigoAkhtikDXov9duAY14pFFJxazXr0NcVgacik8ytAEt6XOOshLcAftyalRKg==} + '@zag-js/dom-query@1.15.0': + resolution: {integrity: sha512-z8H/j/Zs0eZEsGpbonScmlKSv0jEXKiAwUCrvQ9Mt6Gz9n0CQRM3MkFclSsM8aeiSv6qKLlhPfkzjl18OLkbgA==} - '@zag-js/editable@1.15.2': - resolution: {integrity: sha512-32v7DXDBnDX1CiFpGRh9uclu48UJQJT2QZPQ0Bys3ZOFgMxsWH6tCKDb7iQTcINIc/XIx/9nclWnV5egzimG9w==} + '@zag-js/editable@1.15.0': + resolution: {integrity: sha512-F14HKZuDsfkpfIkaF/ZDYPkz/pFf6VHrvoV0rdhj8wb8QJQ4nB+lgBv2APSwkEaFb/gGrnE19v3Ojlt5tqpPsw==} - '@zag-js/file-upload@1.15.2': - resolution: {integrity: sha512-Zgac/da5QrUlE0ItlNy1kyMXfTy4ynTWnq4aZ4wZ9eVHUFQhLXERv8l+hYJetImISnuclmNVxNKP8Xk+5t4+tA==} + '@zag-js/file-upload@1.15.0': + resolution: {integrity: sha512-2hAlQr9qdT8EH4XnmkNkEIDCCsmp2SMoMAjq6nJKYO8UJNQGRanU2B5S8jV3quJBz0vIY43SwyvqiZ3+1VrJSg==} - '@zag-js/file-utils@1.15.2': - resolution: {integrity: sha512-aNUEBJUeK6G3pyf+zYnIMg0GgJnInddjGRedFeTnfK1UmlSO8wTbxQTCvjWd4Nnr5eCTpQkRq6wTZy8JeIcOpw==} + '@zag-js/file-utils@1.15.0': + resolution: {integrity: sha512-tahJt3JmrXaOtGiknH5PxIiOyyNvroMfjiBqOqnNksIPzDoWmVNxHOEme/ts7dJlkRD8U2qm2NFC2VS0bKerzg==} - '@zag-js/floating-panel@1.15.2': - resolution: {integrity: sha512-8oG2MRXWWeXws7iVDmJFBqHLHYOGLvYe+vgXI3vgnLhmS4SeX9qAJj6qIOar7htOmEtp1p/KiBo2w2MYtzjuAw==} + '@zag-js/floating-panel@1.15.0': + resolution: {integrity: sha512-AYYFseA1MeQUZl+zjNoKUu4j0kwz8EyJd4oJjs8uJIR6KG8u8QhpWYIBUny63M6AtZTCSYQAgBEcEh+mrbEyyQ==} - '@zag-js/focus-trap@1.15.2': - resolution: {integrity: sha512-5EU5/Cg80oNO3z83A/33t9SOVYvLqLOuSPxt/7Xzy/L1Vj3vUj+s1ox6IpECmEFJcuql7X5yt6VIVitrLtgbFA==} + '@zag-js/focus-trap@1.15.0': + resolution: {integrity: sha512-N8m/JpNe1gHUPJlr0hyGUdHg6pAuyJKkBaX0s38cyVntlo2CJhyAWZGuUdocpT2Q3HNPql666FNnH986rYPDKQ==} - '@zag-js/focus-visible@1.15.2': - resolution: {integrity: sha512-zElE5T41p5QaB4856xK2SeERmHrKbA/UMzoyHzrAk/N1r6dNiMOOx1hMyHy7y6pEhC9kjJFwEpXi1QEel6/ELA==} + '@zag-js/focus-visible@1.15.0': + resolution: {integrity: sha512-TPXBf47tj6L0hhZNl9AWhuLoVzfPaNPM+/Gw8t9l9Whvy6v9rk/rqUCidY5LsrQuPiKTi7s5WI5J+Wod8ib3gw==} - '@zag-js/highlight-word@1.15.2': - resolution: {integrity: sha512-2a49h4k0ISIDydaZZDdASEHJpwxJeuZHSPCE7cM3/BWCR3H5galeC/jbNWRlTJVH4OQTYAR0I2wILQvOWLhSrw==} + '@zag-js/highlight-word@1.15.0': + resolution: {integrity: sha512-Rwr/rRm8BaF2xW9BAEJeA2wpFVx6HzoezfYQX7GFPPgw3N8nBMAYNjx+i1YIwIEcNyad2rbaBB+pSd2fZLIniA==} - '@zag-js/hover-card@1.15.2': - resolution: {integrity: sha512-FfNmhow8MPMp5RgTeC87x4EStFw+d1137w4QZ+fC5PystRzxGeiyDJyLRYGVeIQO2oP463az70vnxsbFAMu98A==} + '@zag-js/hover-card@1.15.0': + resolution: {integrity: sha512-j6BsE+metdnv/C/Ls0TZzAMN78rtS2r8M1ccHY5FFTGyUvZnlE8BY/QPNyCSSSCUpynymzMYh3IMYlxbJgfpSQ==} - '@zag-js/i18n-utils@1.15.2': - resolution: {integrity: sha512-1RnqCaxe+l4UR1O3fhn04T+J62yw/SkCByhrhrPSis/H7a65nW0WsoWiJTIgWp/hN9HI2Y3dVFfMEwQUFFHG1g==} + '@zag-js/i18n-utils@1.15.0': + resolution: {integrity: sha512-anxSbT8kLbJaFJFSb0Ork2j/Lp+XVfMNCIgiBR2BuqUlfX72k23TIJvRxAfwNIkUfs0L8ikaSgLss9OwS4mAnw==} - '@zag-js/interact-outside@1.15.2': - resolution: {integrity: sha512-WbCICcMJHL6yS8vaou0FvKV6shl1Z+CefF7yzn5MEshPLbmy33WGQ2KBzodTkIQFM/C/zdVz5xKl8TbQmi7jUg==} + '@zag-js/interact-outside@1.15.0': + resolution: {integrity: sha512-OwBf/iesQGU9Oq3xe/tcK7gu7xipiGWsmwl2CcScr0fTp3BIMbQywHS928IgPk1DxA8KTHodY8wBjoY1dskfRA==} - '@zag-js/listbox@1.15.2': - resolution: {integrity: sha512-V6Zbi8HTiyhsV4GhFaiFYL2bJo4lOt24/SA9M/T5D7ZH+bTm3itPUxYddIBi9w6yRTU0gsorosD2GyFkHjchvg==} + '@zag-js/listbox@1.15.0': + resolution: {integrity: sha512-Gcg76uWZwUAyMFZzGWpHnFCU/aaquNbXmVnyzzBgE3Co2snkv02rK1yG9iBwemZe3e5+VBifMMAtLLPAQJdz+g==} - '@zag-js/live-region@1.15.2': - resolution: {integrity: sha512-dIrfDlKyNz99CQVeHu9RHe/x+yTBm3wFA7H655DXL7CugO9tpTlynkrTG9AB+0Z84JKZTeHh0vGVa2chTWKrNg==} + '@zag-js/live-region@1.15.0': + resolution: {integrity: sha512-Xy1PqLZD9AKzKuTKCMo9miL1Xizk/N8qFvj64iybBKUYnKr89/af3w7hRFqd2BDX+q3zrNxPp9rZ6L7MlOc7kA==} - '@zag-js/menu@1.15.2': - resolution: {integrity: sha512-54dGUChMLyTrkCGbKGh0R8l/cg0vPFnGZwMG96zYJhkmXdpDMECZgBrN3j7B6RtEIvlAR8fMH5Sya58Amb3lGg==} + '@zag-js/menu@1.15.0': + resolution: {integrity: sha512-GbEBVYu0w7+88xrGX2GrjXfnwWuX5jLhoLiEcuxvxJQal/nahKrH4AGXJvHXNaRbj+53V3nWAh3u70C9210PWw==} - '@zag-js/number-input@1.15.2': - resolution: {integrity: sha512-qtDAVUdMXBhufBSwAgi8MXm7zHb36ujfWmxCJg6HbjKVF0BEAxeoye5VexgyYul7Hp8+Rr9LkW8X35W4amjJEQ==} + '@zag-js/number-input@1.15.0': + resolution: {integrity: sha512-+kK8kyXJhIAbEUnswoMDR+DSJUmvDNIOW0ffuZ9pbfukN3p6zaA3/dCp2Dtg3bQS7hGrFWgtrdejJ8l+mVvUAA==} - '@zag-js/pagination@1.15.2': - resolution: {integrity: sha512-k1jT7UWDwgkYVsf83TTUhks6iZ7aQpcEjQ+iWI2LbZu98+bVhX9hpHfxdWbvTbueGk6WjB2xa1X0tsktII1mmQ==} + '@zag-js/pagination@1.15.0': + resolution: {integrity: sha512-Z62Q41fQPWqk59QyJk+9J0Ad3H9DCqZ0zZutI6iH8DdzT0A0xxmT6zhup6DM/8C8h0OLlaHFTWQnj0RdRNrnXg==} - '@zag-js/password-input@1.15.2': - resolution: {integrity: sha512-9BpQ26Z9XoCiNAHOmx3zwa+62+C6358/az0h3N24P4qS1EdTVWkhG1tsyPhRElg4v1koavZ40RMUppJQBH+DmA==} + '@zag-js/password-input@1.15.0': + resolution: {integrity: sha512-oHuZKDRJIbycqWpTVznufy4L7K2g8kwcEaZ4runkwO2ocF00zP8HVmOZQzmhkUgTny0azErQydg8XE0VR5OfYg==} - '@zag-js/pin-input@1.15.2': - resolution: {integrity: sha512-1KjGGmyldtEb4RwwdBTKzbgAwpNT6CyY274LvQC8lTCEUYOBkUmS9OUaKUbwkoluCdmXrugpg/XMulisRmMtgg==} + '@zag-js/pin-input@1.15.0': + resolution: {integrity: sha512-IykjogZBG+BfbFXymSa+KGpOi5CrV9kl8HRm6G2V2Sr3NA5jEwMFaGSd/QrcHS9vh23D1Smx/io4pvF7c3q0kg==} - '@zag-js/popover@1.15.2': - resolution: {integrity: sha512-6cD4eTwwj/bkTCDWVk0dMFqg01iD7qJofRSU3da7nde1Y0TMz8gBlt++GASgCF4p/hPeGLD18GcIF8FKka9IlA==} + '@zag-js/popover@1.15.0': + resolution: {integrity: sha512-cdzEed3zcGbjSgPQnQnrsuXo2hVVslmSNwQbU5dHcNzG1uxxmtPCIMVeBUmGyJbAFF5XQpKCq/7mIr26dT73vw==} - '@zag-js/popper@1.15.2': - resolution: {integrity: sha512-5uaFW9IU8bj3NdEiyuSp2eVJaPvWoA6/q7Fh423Va8booMYW4k1KFmz2BSxQ3JfK5lt3vPI0X2026gSxTx/vmg==} + '@zag-js/popper@1.15.0': + resolution: {integrity: sha512-Ra/0Ko423KN+8D4+mIFFkeTn9uaHfpxn6UUNIWwZKoiJQvED8DH4dPbLbmvGEoKp6qmisnRHAzi71NLgEhk0Mw==} - '@zag-js/presence@1.15.2': - resolution: {integrity: sha512-cNPJz3qeXdoYFEefxFixZoMDFzqfHsLgmi2ynmRrFlyHzHtFdvKjvS5ywo9YFGNgwKrEddS43n8gl3w3lgqBCA==} + '@zag-js/presence@1.15.0': + resolution: {integrity: sha512-hoxXis50pm79PpkY2kA1wdhh4AEo7t7pBv0VsQYZYjmzuFh4V5IMw9oa1EOfBlC6f/A+EMZ9E+xg+EVsB68a8w==} - '@zag-js/progress@1.15.2': - resolution: {integrity: sha512-VPunnrTYiJaHnnCKuh2ZARCnzgTtxYIiNKiUVPWlygsWy2AGg1K3AvVswF2CVfGpwbO4ioyBQO65EZkQiMN/Aw==} + '@zag-js/progress@1.15.0': + resolution: {integrity: sha512-/Mz26GR2rOAuoErNOiSGRpvwckTmbCD5nWGDE/aYlVRID13HcsmN15Zk2Jfa4LadqK88aIN8Iy0Sk4elG0+Efw==} - '@zag-js/qr-code@1.15.2': - resolution: {integrity: sha512-hFtwGGArxVJo7osbY3R73BHIX3Ldb8G4gtNDZ2fGcKAcp+SQg5GXUIBK17ncxJrOC7A1Wp7sdOoYNNOPWe2fYA==} + '@zag-js/qr-code@1.15.0': + resolution: {integrity: sha512-GkGy5k5tk6DIui9lGjDO8+e8TsSVOxEGp1lblPiaRm1ggIh10GhIfCQWGe/x78ezdie8WzxlSrma89suTpaiAQ==} - '@zag-js/radio-group@1.15.2': - resolution: {integrity: sha512-+V9Y4EZuNITMbA9iJisysqWW+JB3YdlFF6dAomvXN8nuOuj8HE02JHndIeMflDtW6Tz99JcJLS7lNXN7G5uEuw==} + '@zag-js/radio-group@1.15.0': + resolution: {integrity: sha512-+KTebHUtMsE/YDyGE8wF5VnWfZQp+f2WoAwwzBjfhPpRxXbOUMDo0pZEEr3yxkSvQ9hgCcBhMKH8pEk0SPxvjQ==} - '@zag-js/rating-group@1.15.2': - resolution: {integrity: sha512-g7F9NyB1MF6ydE9aEr9zLPXGKXZIH2ZsUBXEQ9u6apUhnchhCSHDw6xHVXI1hYGrJHnpf2xMw3Xu1opJge1DQg==} + '@zag-js/rating-group@1.15.0': + resolution: {integrity: sha512-omGKN97FhplFwBX9J/Mj7BCZuwFXSXssSVTKU7Yp2d1Cmxhez4+Ju7KdSRNnIoWB4OxFCxwZyaAPTcg3E0Pjrg==} - '@zag-js/react@1.15.2': - resolution: {integrity: sha512-T5QPiLbW4DoQ32NS5+Qu9NsIXKKz0d5MOpfEdXXuc6hKZdvV+V9d7EXeHBRohs3P6jqtf8FXpXDdK2trv37YlQ==} + '@zag-js/react@1.15.0': + resolution: {integrity: sha512-YSp9QBkdeBfZt4nVhJW+CUd5sNEEVAuwkmoZWDFUoDoWSAXwzSKuHCmTm5/8DaXg1IZD2bMrXgMNDqZv2x0hZw==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@zag-js/rect-utils@1.15.2': - resolution: {integrity: sha512-wPsOM4qYncwOli20MNINgl0ZwmMY11RvrgPvjcMrkJ9dVqU/YrCcXV4rIg8Zig5jxCT+mf7rWQe9aQJlNTVipA==} + '@zag-js/rect-utils@1.15.0': + resolution: {integrity: sha512-sjAn78x1t3XiDG3NT8SoFfyO0u7/SEJU5RKRhMgjTPoOLXTzZj+lu2d5N4cUw0uZTfeGb/ormObSchMQVhFgYQ==} - '@zag-js/remove-scroll@1.15.2': - resolution: {integrity: sha512-pXVuvFcAQND+C0KAzAve02hGaI/AgEhC7RpgpyUKaUzEccEsxLi40C88j1/2HCfta6GI7nd2e0QwPZiqngUIyA==} + '@zag-js/remove-scroll@1.15.0': + resolution: {integrity: sha512-vdWSAdgY8wJ7s4YeaKwTMwmZiRMBxCehmdktSxBWvwtAjU1cM3UWvjmZ9E6INJrQXxH9vDpe/rpFSyv1guIQIw==} - '@zag-js/scroll-snap@1.15.2': - resolution: {integrity: sha512-RswpsMHg0aWHsx7xqybnPm8bTL9ow17z9GhYgxSWtIi2U9wgkUHDtEJQcRNUA9PQEGyVd29B39NM0ir64HAhNQ==} + '@zag-js/scroll-snap@1.15.0': + resolution: {integrity: sha512-/LfBlsjoR4tVL3Djus3k9jKLhwC2ApdHTACxEc72TAewoPe4M8icnSDLXmKHvwwOhzK0HlFz8wGm6ZncAbQbuA==} - '@zag-js/select@1.15.2': - resolution: {integrity: sha512-Y07RlBIc8bVj2WklhS7tiVySZntBv9TE9sfiA8RcLU7KFFGTdS2XUoQV4fziJubUL8XFhNzEC92/bKeBLqpgDw==} + '@zag-js/select@1.15.0': + resolution: {integrity: sha512-4urUBADzhrsGEO/UsqHdjsgmDdF15Zzeid3ejEbIMTrkt2/mMMcQ1CShuxtsWqm2EUBz/N1kOcZlE6Tq69n7Xg==} - '@zag-js/signature-pad@1.15.2': - resolution: {integrity: sha512-vw7oD7afBfGvUyotJrFl+PjPVYOYZLgQ1eVAosKj54phgKvxheBr8/ySq9vlyTkyvOMjJ8zIkkxlywuqoZzl8g==} + '@zag-js/signature-pad@1.15.0': + resolution: {integrity: sha512-5Tj8vkrRxEkSV417oR2qdy+TRgDmS3W8dY7xsIjpbBf/kqkt/8Uo4JpaVH2vwQAFw9AwEFogBh9i6dHcXMy0rA==} - '@zag-js/slider@1.15.2': - resolution: {integrity: sha512-Lcrm+h4Vx0stD0ybAqD5tA1qOnrKEfQP9ucQsPUy+fY2em19XC6raOVOhAc6ROx4X0neTI/yEc1ARJQSaxtRZw==} + '@zag-js/slider@1.15.0': + resolution: {integrity: sha512-NYIsn3GKXIoPmvkDXsQmw9wdYg3QHbYHXnZ8Ewl2fVubN7S5mDlHSZs2iDVsBvX+a4RChWFRO6JHX8E1+BncOg==} - '@zag-js/splitter@1.15.2': - resolution: {integrity: sha512-LIuTTPRaw3inS64f2TLcFIlwjNe9Tx9mSE4VXf7wPhYitNKmyh7MeNE59na+wDzZisVwx9yBewAPfrZtbHDGBA==} + '@zag-js/splitter@1.15.0': + resolution: {integrity: sha512-Xnedl+cpnD/hv9m+GOYCK5K2xRxbs4xuP/EajYtgVcDw8E1X5cBmxHa1hCrp7BMgb2xYCvZ5et4hnmZfb+1X9g==} - '@zag-js/steps@1.15.2': - resolution: {integrity: sha512-NnS3wYQrFWA5OXu+jnlnPpm49rGpzHCDbN2UuUcMGvbYVETKEXEO9fC1XWh7PstVuNi03E/CrZGHl5cEjf/j8w==} + '@zag-js/steps@1.15.0': + resolution: {integrity: sha512-VoIDcDIEErZawmW2m0yTGlffqjfRuSwR37K9LdSRy8Q4Qzz3wV7jASaTjMhTya1hlreJ7tJg+Qbjqowvw9GndA==} - '@zag-js/store@1.15.2': - resolution: {integrity: sha512-oDJuRdu8SaGab06UycN96OgvNau1ynawDNNfQNhA7zoOIZlaJH6jP+5YaAPFila+wyjdw7svz5+4ejs8vXcjpw==} + '@zag-js/store@1.15.0': + resolution: {integrity: sha512-ecqjcy3b1GsULpsT8RVJV9KDaikajRN0XRg48HMvaGkaPIvxI6esyrE6RKnShuqr2eVXIPghgBnCnrJUev4UlA==} - '@zag-js/switch@1.15.2': - resolution: {integrity: sha512-2aEm5HDP/ENcLvoP77CH7DQTPXIMUzVilefHlz6WT0tQxQzOw8uMhUOYYcuNmEq0FNRUOyuMEMyZnZFUYAxqvQ==} + '@zag-js/switch@1.15.0': + resolution: {integrity: sha512-2CaAUTi7jM4lJjCYoSE1HWlFPCifI5GR+hufWOCYKpanf8VA/LM+t/a2Aq5QoBsWdcQv3B9mHxF/aVTDbnCKPQ==} - '@zag-js/tabs@1.15.2': - resolution: {integrity: sha512-SJMR4K59sxvNZEIgnJfbweLzncmgxRWTBm+FamwMtP8DKQ3RETNdjrn4aA9qLUsCObapk06KT3iTeiCXzuBaFA==} + '@zag-js/tabs@1.15.0': + resolution: {integrity: sha512-voHWpibC1TKLmbAJfixOesxrCio7wK+gdLRvh7Xh5u+3VSsT2fP2wEw3ySkJbpw3MpEE7R2OWkInbCV/SwPcsA==} - '@zag-js/tags-input@1.15.2': - resolution: {integrity: sha512-/mAuB8emhGoo3eoIgmlT/kQE27ukRlhghgwp3OjvEen+iTpz0XIWM+S+IV3QU6U4DlhwkadQaINht/c9ln6gxQ==} + '@zag-js/tags-input@1.15.0': + resolution: {integrity: sha512-CB60z+/I/Nso1gwatTO1qrk4XITxDd4qtRD+l6fuuKyOkZGgKm0AP0W+/6qUuOvtWIuY6fas3yZHFmF2eEZ9vQ==} - '@zag-js/time-picker@1.15.2': - resolution: {integrity: sha512-Aoe9GdbrvAMP1fdOEmzCESr/dO+cGnqhCoa0UkZB5wuB4dT3S02hRGSZsHO51Eon2NpzHPG9j+/alncwOe77Tw==} + '@zag-js/time-picker@1.15.0': + resolution: {integrity: sha512-4S02433X88X3MW/BxaFJiWna4BIRXsAdrmDcBb0PZ8dln29DUmpD8YHcFtONsKvmCAmrbO7Gr65n86nQwK8zeg==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/timer@1.15.2': - resolution: {integrity: sha512-v8RN3cwFuNXxuDMuxxfXKCSd+Z1UT6Ct+ueU3PRZqHqXU9u4k9Mm+vROIqnNzhCCdIHNxsqUt32/2zsRRaubbw==} + '@zag-js/timer@1.15.0': + resolution: {integrity: sha512-gDsYm4C9yju7g/r5u7n7mRQ2UY7diXXVbbLFr5Ja+0iUXgbD+uoSZEt9HypVc5TL9NWEEwn5/tut36owEeW4rw==} - '@zag-js/toast@1.15.2': - resolution: {integrity: sha512-OohJvGTy+J1MpydJ4eCV36picggfF9VbDW4nK97TT+4bIIRDgW+PGYgB4dd+PvEjRrk9194Kkm93lud95yOyZg==} + '@zag-js/toast@1.15.0': + resolution: {integrity: sha512-0RupMCXyGr7/La4Zlei7VqBF0VPNJelGd7zimLboe+IKZyy4Ypi/N2IX14rl8JZQDsDEgkLUl33xrSk/9RW2nQ==} - '@zag-js/toggle-group@1.15.2': - resolution: {integrity: sha512-JhWV0GY2NRgDhlzP73ADlG1E4NFXqv1h2q5+m3Rmos+Bi8soOV437jch/wy+M+xYN5vdZCczXJu9BumHNlknhA==} + '@zag-js/toggle-group@1.15.0': + resolution: {integrity: sha512-992vMz/2sriLrUKI3LpT/01kCGTbPGLgGLibiHRt562i0v9+2tV+GiY2jBctHZjJaKPrzBY3H0l8CCCvDj8gng==} - '@zag-js/toggle@1.15.2': - resolution: {integrity: sha512-wtDeIRhDeVhaUboWQ2GrxlCC4+cLRyZzvZiN84tad7H/sUKq9hNDdROcCnIYBhEkb1Qf4sjR8KszY12YLtJx6A==} + '@zag-js/toggle@1.15.0': + resolution: {integrity: sha512-mMSQ1+f1hOMp/7gLA7rTeiSNyeZxsCjRxP4XnTBY4BxJ5LswLuhem9CplBwaVthkhY1Y/5f3HHu80LBcfF+BVQ==} - '@zag-js/tooltip@1.15.2': - resolution: {integrity: sha512-Spw5ewga3DNaT5H4AnrtsxJ6ebRoTxy+igwojGTYUCNUoxyQn6W3UpqZpgAAfw8B236bduTRh9MW9CsaM/hnmg==} + '@zag-js/tooltip@1.15.0': + resolution: {integrity: sha512-sOpVECyfdS4RZBx46mSV+RPc9C5k9JvYQYUfoOVWh0E5RLSEz5bQm5xxctKOHfCOv+vJNTfG5gP596B1r2+Fkw==} - '@zag-js/tour@1.15.2': - resolution: {integrity: sha512-OW+autOwwsVMGwcYCxdCh3Hibeeag6Sg8w02XfmX7E+T2u9a+GGdLOrH7DPM2oHTbZV0iBUqIaKxGPKgRYZNng==} + '@zag-js/tour@1.15.0': + resolution: {integrity: sha512-EplcxoiE0z9vI0z6675+ABclQ9Mi1YUWhDZOHx7wfjRzpfawmJoBAlNDKzK3wc801d6OxgJx69SPj7ac0BwwwA==} - '@zag-js/tree-view@1.15.2': - resolution: {integrity: sha512-HWDHH3rpGEz3IN5bsj8EHZnU0ttk8uJwBOnH3reYcFQEQskA8cmyzd7y9hdBEn8PzAns+iOjUBj49IVmoYpOIg==} + '@zag-js/tree-view@1.15.0': + resolution: {integrity: sha512-wqdd+hu1bDOCWtnZ8MarRFHqbZF2t8qKBM3kO42IBq7jTI/93LCkHSlceEPft9dgZ6Ea9km0YJMHhoTqCPZ/fw==} - '@zag-js/types@1.15.2': - resolution: {integrity: sha512-qEHNRA/uOYQjvXzI/ie6vuOD74/p7w6MA4X1VoZEYF2/sbIQjlRn6SzpeV3RyFZBzl6WBO6RqV/XEbgpvGSb5w==} + '@zag-js/types@1.15.0': + resolution: {integrity: sha512-lV2ov2M07BlmjDUCSwBeHxPApHI3oAiLytG94AqcYvQ0BtsCRo5T60yRQ0syFc6fHf0e9+kwt89uoIgfGFYfmw==} - '@zag-js/utils@1.15.2': - resolution: {integrity: sha512-JdlyGT6yfG2ub2FftrB6BidIlvD04cSwdKYJGb/M+NJ7p7uxnZUZMxAjeBmTLhM1nWbtJPVq3oDTYz/cBBZLng==} + '@zag-js/utils@1.15.0': + resolution: {integrity: sha512-XctFny5H8C00BsougV40Yp0qVEj9M2d/NRme7B33mon9wG+3hscZwP6miJmF6BYI5Pgu6e2P0Sv45FddQU1Tkg==} + + accepts@2.0.0: + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1684,11 +1726,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1771,9 +1808,6 @@ packages: ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - ast-v8-to-istanbul@0.3.3: - resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} - async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -1792,8 +1826,8 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.10.0: - resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} + axios@1.8.4: + resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -1816,24 +1850,32 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + body-parser@2.2.0: + resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} + engines: {node: '>=18'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.25.0: - resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - builtin-modules@5.0.0: - resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} - engines: {node: '>=18.20'} + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} c12@1.11.1: resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} @@ -1867,8 +1909,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001724: - resolution: {integrity: sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==} + caniuse-lite@1.0.30001707: + resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1913,8 +1955,8 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chart.js@4.5.0: - resolution: {integrity: sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==} + chart.js@4.4.9: + resolution: {integrity: sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==} engines: {pnpm: '>=8'} chartjs-plugin-annotation@3.1.0: @@ -2000,19 +2042,31 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + content-disposition@1.0.0: + resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} + cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - cookie@1.0.2: - resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} - engines: {node: '>=18'} + core-js-compat@3.41.0: + resolution: {integrity: sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==} - core-js-compat@3.43.0: - resolution: {integrity: sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==} + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} @@ -2130,8 +2184,8 @@ packages: debounce-promise@3.1.2: resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==} - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2139,8 +2193,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + decode-named-character-reference@1.1.0: + resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -2167,6 +2221,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -2201,8 +2259,11 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.171: - resolution: {integrity: sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.123: + resolution: {integrity: sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==} elkjs@0.10.0: resolution: {integrity: sha512-v/3r+3Bl2NMrWmVoRTMBtHtWvRISTix/s9EfnsfEWApNrsmNjqgqJOispCGg46BPwIFdkag3N/HYSxJczvCm6w==} @@ -2213,6 +2274,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2232,8 +2297,8 @@ packages: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} @@ -2254,15 +2319,18 @@ packages: es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - esbuild@0.25.5: - resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} - engines: {node: '>=18'} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} hasBin: true escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2275,8 +2343,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-prettier@10.1.5: - resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} + eslint-config-prettier@10.1.2: + resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -2291,14 +2359,14 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-perfectionist@4.15.0: - resolution: {integrity: sha512-pC7PgoXyDnEXe14xvRUhBII8A3zRgggKqJFx2a82fjrItDs1BSI7zdZnQtM2yQvcyod6/ujmzb7ejKPx8lZTnw==} + eslint-plugin-perfectionist@4.12.3: + resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.45.0' - eslint-plugin-prettier@5.5.0: - resolution: {integrity: sha512-8qsOYwkkGrahrgoUv76NZi23koqXOGiiEzXMrT8Q7VcYaUISR+5MorIUxfWqYXN0fN/31WbSrxCxFkVQ43wwrA==} + eslint-plugin-prettier@5.4.0: + resolution: {integrity: sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -2311,11 +2379,11 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@5.2.0: - resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint-plugin-react-refresh@0.4.20: resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} @@ -2328,26 +2396,26 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-unicorn@59.0.1: - resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==} - engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} + eslint-plugin-unicorn@55.0.0: + resolution: {integrity: sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==} + engines: {node: '>=18.18'} peerDependencies: - eslint: '>=9.22.0' + eslint: '>=8.56.0' - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.29.0: - resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} + eslint@9.26.0: + resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2356,8 +2424,8 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -2391,10 +2459,32 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventsource-parser@3.0.1: + resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} + engines: {node: '>=18.0.0'} + + eventsource@3.0.6: + resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==} + engines: {node: '>=18.0.0'} + + expect-type@1.2.0: + resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==} engines: {node: '>=12.0.0'} + express-rate-limit@7.5.0: + resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} + engines: {node: '>= 16'} + peerDependencies: + express: ^4.11 || 5 || ^5.0.0-beta.1 + + express@5.1.0: + resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} + engines: {node: '>= 18'} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -2432,14 +2522,6 @@ packages: fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2448,12 +2530,16 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@2.1.0: + resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} + engines: {node: '>= 0.8'} + find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -2488,14 +2574,22 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.3: - resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} + form-data@4.0.2: + resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -2560,8 +2654,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.2.0: - resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2575,8 +2669,8 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + graphql@16.10.0: + resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} handlebars@4.7.8: @@ -2584,9 +2678,9 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - happy-dom@18.0.1: - resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} - engines: {node: '>=20.0.0'} + happy-dom@17.4.6: + resolution: {integrity: sha512-OEV1hDe9i2rFr66+WZNiwy1S8rAJy6bRXmXql68YJDjdfHBRbN76om+qVh68vQACf6y5Bcr90e/oK53RQxsDdg==} + engines: {node: '>=18.0.0'} has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} @@ -2639,6 +2733,9 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2651,28 +2748,32 @@ packages: html-url-attributes@3.0.1: resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} - i18next-browser-languagedetector@8.2.0: - resolution: {integrity: sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + i18next-browser-languagedetector@8.1.0: + resolution: {integrity: sha512-mHZxNx1Lq09xt5kCauZ/4bsXOEA2pfpwSoU11/QTJB+pD94iONFwp+ohqi///PwiFvjFOxe1akYCdHyFo1ng5Q==} i18next-http-backend@3.0.2: resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==} - i18next@25.2.1: - resolution: {integrity: sha512-+UoXK5wh+VlE1Zy5p6MjcvctHXAhRwQKCxiJD8noKZzIXmnAX8gdHX5fLPA3MEVxEN4vbZkQFy8N0LyD9tUqPw==} + i18next@25.1.2: + resolution: {integrity: sha512-SP63m8LzdjkrAjruH7SCI3ndPSgjt4/wX7ouUUOzCW/eY+HzlIo19IQSfYA9X3qRiRP1SYtaTsg/Oz/PGsfD8w==} peerDependencies: typescript: ^5 peerDependenciesMeta: typescript: optional: true + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2685,9 +2786,8 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} @@ -2700,6 +2800,10 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -2735,9 +2839,9 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-builtin-module@5.0.0: - resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} - engines: {node: '>=18.20'} + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -2806,6 +2910,9 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2874,8 +2981,8 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + jackspeak@4.1.0: + resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} engines: {node: 20 || >=22} javascript-natural-sort@0.7.1: @@ -2888,9 +2995,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -2899,9 +3003,13 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true jsesc@3.1.0: @@ -2950,6 +3058,10 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -2976,8 +3088,8 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.4: - resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} lowlight@1.20.0: resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} @@ -3055,9 +3167,17 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + media-typer@1.1.0: + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} + memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + merge-descriptors@2.0.0: + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3154,16 +3274,24 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime-types@3.0.1: + resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} + engines: {node: '>= 0.6'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -3208,8 +3336,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.10.2: - resolution: {integrity: sha512-RCKM6IZseZQCWcSWlutdf590M8nVfRHG1ImwzOtwz8IYxgT4zhUO0rfTcTvDGiaFE0Rhcc+h43lcF3Jc9gFtwQ==} + msw@2.7.6: + resolution: {integrity: sha512-P+rwn43ktxN8ghcl8q+hSAUlEi0PbJpDhGmDkw4zeUnRj3hBCVynWD+dTu38yLYKCE9ZF1OYcvpy7CTBRcqkZA==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -3234,14 +3362,18 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next-themes@0.4.6: - resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + next-themes@0.3.0: + resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} peerDependencies: - react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react: ^16.8 || ^17 || ^18 + react-dom: ^16.8 || ^17 || ^18 node-fetch-native@1.6.6: resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} @@ -3258,6 +3390,9 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3298,6 +3433,13 @@ packages: ohash@1.1.6: resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + openapi-merge-cli@1.3.2: resolution: {integrity: sha512-f2F5SRwZpcxvEpMm776Lh2XW9XqNuRedMzlCA0usx9JgQmZUhtC24px4zFYc5J/ZYXvNG6mdqdj/D0BnfEy6AA==} hasBin: true @@ -3316,14 +3458,26 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -3341,6 +3495,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -3366,6 +3524,10 @@ packages: path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3397,6 +3559,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pkce-challenge@5.0.0: + resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} + engines: {node: '>=16.20.0'} + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -3408,8 +3574,8 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3446,8 +3612,12 @@ packages: property-information@5.6.0: resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + property-information@7.0.0: + resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} proxy-compare@3.0.1: resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==} @@ -3468,12 +3638,24 @@ packages: pure-color@1.3.0: resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@3.0.0: + resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} + engines: {node: '>= 0.8'} + rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} @@ -3486,25 +3668,25 @@ packages: chart.js: ^4.1.1 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom@19.1.0: - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^19.1.0 + react: ^18.3.1 - react-hook-form@7.58.1: - resolution: {integrity: sha512-Lml/KZYEEFfPhUVgE0RdCVpnC4yhW+PndRhbiTtdvSlQTL8IfVR+iQkBjLIvmmc6+GGoVeM11z37ktKFPAb0FA==} + react-hook-form@7.56.2: + resolution: {integrity: sha512-vpfuHuQMF/L6GpuQ4c3ZDo+pRYxIi40gQqsCmmfUBwm+oqvBhKhwghCuj2o00YCgSfU6bR9KC/xnQGWm3Gr08A==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-hotkeys-hook@5.1.0: - resolution: {integrity: sha512-GCNGXjBzV9buOS3REoQFmSmE4WTvBhYQ0YrAeeMZI83bhXg3dRWsLHXDutcVDdEjwJqJCxk5iewWYX5LtFUd7g==} + react-hotkeys-hook@4.6.1: + resolution: {integrity: sha512-XlZpbKUj9tkfgPgT9gA+1p7Ey6vFIZHttUjPqpTdyT5nqQ8mHL7elxvSbaC+dpSiHUSmr21Ya1mDxBZG3aje4Q==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '>=16.8.1' + react-dom: '>=16.8.1' - react-i18next@15.5.3: - resolution: {integrity: sha512-ypYmOKOnjqPEJZO4m1BI0kS8kWqkBNsKYyhVUfij0gvjy9xJNoG/VcGkxq5dRlVwzmrmY1BQMAmpbbUBLwC4Kw==} + react-i18next@15.5.1: + resolution: {integrity: sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==} peerDependencies: i18next: '>= 23.2.3' react: '>= 16.8.0' @@ -3545,34 +3727,30 @@ packages: react-lifecycles-compat@3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - react-markdown@10.1.0: - resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} + react-markdown@9.1.0: + resolution: {integrity: sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==} peerDependencies: '@types/react': '>=18' react: '>=18' - react-resizable-panels@3.0.3: - resolution: {integrity: sha512-7HA8THVBHTzhDK4ON0tvlGXyMAJN1zBeRpuyyremSikgYh2ku6ltD7tsGQOcXx4NKPrZtYCm/5CBr+dkruTGQw==} + react-resizable-panels@2.1.7: + resolution: {integrity: sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==} peerDependencies: react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-router-dom@7.6.2: - resolution: {integrity: sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==} - engines: {node: '>=20.0.0'} + react-router-dom@6.30.0: + resolution: {integrity: sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==} + engines: {node: '>=14.0.0'} peerDependencies: - react: '>=18' - react-dom: '>=18' + react: '>=16.8' + react-dom: '>=16.8' - react-router@7.6.2: - resolution: {integrity: sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==} - engines: {node: '>=20.0.0'} + react-router@6.30.0: + resolution: {integrity: sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==} + engines: {node: '>=14.0.0'} peerDependencies: - react: '>=18' - react-dom: '>=18' - peerDependenciesMeta: - react-dom: - optional: true + react: '>=16.8' react-select@5.10.1: resolution: {integrity: sha512-roPEZUL4aRZDx6DcsD+ZNreVl+fM8VsKn0Wtex1v4IazH60ILp5xhdlp464IsEAlJdXeD+BhDAFsBVMfvLQueA==} @@ -3597,10 +3775,18 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3627,8 +3813,8 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true remark-gfm@4.0.1: @@ -3637,8 +3823,8 @@ packages: remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -3674,11 +3860,15 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.44.0: - resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} + rollup@4.40.1: + resolution: {integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + router@2.2.0: + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3686,6 +3876,9 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -3694,8 +3887,15 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - scheduler@0.26.0: - resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3706,13 +3906,13 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true + send@1.2.0: + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} - set-cookie-parser@2.7.1: - resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + serve-static@2.2.0: + resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} + engines: {node: '>= 18'} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -3729,6 +3929,9 @@ packages: setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3778,18 +3981,30 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@3.8.1: + resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -3840,25 +4055,18 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} - engines: {node: '>=12'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - style-mod@4.1.2: resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} - style-to-js@1.1.17: - resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + style-to-js@1.1.16: + resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} - style-to-object@1.0.9: - resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} @@ -3871,8 +4079,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.11.8: - resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + synckit@0.11.4: + resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==} engines: {node: ^14.18.0 || >=16.0.0} tar@6.2.1: @@ -3889,26 +4097,30 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} - - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -3945,10 +4157,22 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@4.37.0: + resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} engines: {node: '>=16'} + type-is@2.0.1: + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} + engines: {node: '>= 0.6'} + typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -3965,8 +4189,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.34.1: - resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} + typescript-eslint@8.32.0: + resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3996,9 +4220,6 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.8.0: - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4021,6 +4242,10 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + update-browserslist-db@1.1.3: resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true @@ -4048,8 +4273,8 @@ packages: '@types/react': optional: true - use-debounce@10.0.5: - resolution: {integrity: sha512-Q76E3lnIV+4YT9AHcrHEHYmAd9LKwUAbPXDm7FlqVGDHiSOhX3RDjT8dm0AxbJup6WgOb1YEcKyCr11kBJR5KQ==} + use-debounce@10.0.4: + resolution: {integrity: sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==} engines: {node: '>= 16.0.0'} peerDependencies: react: '*' @@ -4072,8 +4297,8 @@ packages: '@types/react': optional: true - use-sync-external-store@1.5.0: - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4083,15 +4308,22 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite-node@2.1.9: + resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true vite-plugin-css-injected-by-js@3.5.2: @@ -4099,27 +4331,22 @@ packages: peerDependencies: vite: '>2.0.0-0' - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite@5.4.19: + resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 + terser: ^5.4.0 peerDependenciesMeta: '@types/node': optional: true - jiti: - optional: true less: optional: true lightningcss: @@ -4134,28 +4361,21 @@ packages: optional: true terser: optional: true - tsx: - optional: true - yaml: - optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@2.1.9: + resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.9 + '@vitest/ui': 2.1.9 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': - optional: true '@types/node': optional: true '@vitest/browser': @@ -4180,6 +4400,10 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -4235,6 +4459,9 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -4266,8 +4493,16 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - zustand@4.5.7: - resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} + zod-to-json-schema@3.24.5: + resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + peerDependencies: + zod: ^3.24.1 + + zod@3.24.4: + resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} + + zustand@4.5.6: + resolution: {integrity: sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -4281,8 +4516,8 @@ packages: react: optional: true - zustand@5.0.5: - resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} + zustand@5.0.4: + resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -4327,68 +4562,74 @@ snapshots: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@ark-ui/react@5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@internationalized/date': 3.8.2 - '@zag-js/accordion': 1.15.2 - '@zag-js/anatomy': 1.15.2 - '@zag-js/angle-slider': 1.15.2 - '@zag-js/auto-resize': 1.15.2 - '@zag-js/avatar': 1.15.2 - '@zag-js/carousel': 1.15.2 - '@zag-js/checkbox': 1.15.2 - '@zag-js/clipboard': 1.15.2 - '@zag-js/collapsible': 1.15.2 - '@zag-js/collection': 1.15.2 - '@zag-js/color-picker': 1.15.2 - '@zag-js/color-utils': 1.15.2 - '@zag-js/combobox': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/date-picker': 1.15.2(@internationalized/date@3.8.2) - '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) - '@zag-js/dialog': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/editable': 1.15.2 - '@zag-js/file-upload': 1.15.2 - '@zag-js/file-utils': 1.15.2 - '@zag-js/floating-panel': 1.15.2 - '@zag-js/focus-trap': 1.15.2 - '@zag-js/highlight-word': 1.15.2 - '@zag-js/hover-card': 1.15.2 - '@zag-js/i18n-utils': 1.15.2 - '@zag-js/listbox': 1.15.2 - '@zag-js/menu': 1.15.2 - '@zag-js/number-input': 1.15.2 - '@zag-js/pagination': 1.15.2 - '@zag-js/password-input': 1.15.2 - '@zag-js/pin-input': 1.15.2 - '@zag-js/popover': 1.15.2 - '@zag-js/presence': 1.15.2 - '@zag-js/progress': 1.15.2 - '@zag-js/qr-code': 1.15.2 - '@zag-js/radio-group': 1.15.2 - '@zag-js/rating-group': 1.15.2 - '@zag-js/react': 1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@zag-js/select': 1.15.2 - '@zag-js/signature-pad': 1.15.2 - '@zag-js/slider': 1.15.2 - '@zag-js/splitter': 1.15.2 - '@zag-js/steps': 1.15.2 - '@zag-js/switch': 1.15.2 - '@zag-js/tabs': 1.15.2 - '@zag-js/tags-input': 1.15.2 - '@zag-js/time-picker': 1.15.2(@internationalized/date@3.8.2) - '@zag-js/timer': 1.15.2 - '@zag-js/toast': 1.15.2 - '@zag-js/toggle': 1.15.2 - '@zag-js/toggle-group': 1.15.2 - '@zag-js/tooltip': 1.15.2 - '@zag-js/tour': 1.15.2 - '@zag-js/tree-view': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@ark-ui/react@5.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.8.1 + '@zag-js/accordion': 1.15.0 + '@zag-js/anatomy': 1.15.0 + '@zag-js/angle-slider': 1.15.0 + '@zag-js/auto-resize': 1.15.0 + '@zag-js/avatar': 1.15.0 + '@zag-js/carousel': 1.15.0 + '@zag-js/checkbox': 1.15.0 + '@zag-js/clipboard': 1.15.0 + '@zag-js/collapsible': 1.15.0 + '@zag-js/collection': 1.15.0 + '@zag-js/color-picker': 1.15.0 + '@zag-js/color-utils': 1.15.0 + '@zag-js/combobox': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/date-picker': 1.15.0(@internationalized/date@3.8.1) + '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) + '@zag-js/dialog': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/editable': 1.15.0 + '@zag-js/file-upload': 1.15.0 + '@zag-js/file-utils': 1.15.0 + '@zag-js/floating-panel': 1.15.0 + '@zag-js/focus-trap': 1.15.0 + '@zag-js/highlight-word': 1.15.0 + '@zag-js/hover-card': 1.15.0 + '@zag-js/i18n-utils': 1.15.0 + '@zag-js/listbox': 1.15.0 + '@zag-js/menu': 1.15.0 + '@zag-js/number-input': 1.15.0 + '@zag-js/pagination': 1.15.0 + '@zag-js/password-input': 1.15.0 + '@zag-js/pin-input': 1.15.0 + '@zag-js/popover': 1.15.0 + '@zag-js/presence': 1.15.0 + '@zag-js/progress': 1.15.0 + '@zag-js/qr-code': 1.15.0 + '@zag-js/radio-group': 1.15.0 + '@zag-js/rating-group': 1.15.0 + '@zag-js/react': 1.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@zag-js/select': 1.15.0 + '@zag-js/signature-pad': 1.15.0 + '@zag-js/slider': 1.15.0 + '@zag-js/splitter': 1.15.0 + '@zag-js/steps': 1.15.0 + '@zag-js/switch': 1.15.0 + '@zag-js/tabs': 1.15.0 + '@zag-js/tags-input': 1.15.0 + '@zag-js/time-picker': 1.15.0(@internationalized/date@3.8.1) + '@zag-js/timer': 1.15.0 + '@zag-js/toast': 1.15.0 + '@zag-js/toggle': 1.15.0 + '@zag-js/toggle-group': 1.15.0 + '@zag-js/tooltip': 1.15.0 + '@zag-js/tour': 1.15.0 + '@zag-js/tree-view': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 '@babel/code-frame@7.27.1': dependencies: @@ -4396,59 +4637,102 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/generator@7.27.5': + '@babel/generator@7.17.7': + dependencies: + '@babel/types': 7.17.0 + jsesc: 2.5.2 + source-map: 0.5.7 + + '@babel/generator@7.26.10': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.26.10 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.26.10 + '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.26.10 + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} '@babel/helper-validator-identifier@7.27.1': {} - '@babel/parser@7.27.5': + '@babel/parser@7.26.10': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.26.10 '@babel/runtime@7.26.10': dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.27.6': {} + '@babel/template@7.26.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 - '@babel/template@7.27.2': + '@babel/traverse@7.23.2': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.10 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color - '@babel/traverse@7.27.4': + '@babel/traverse@7.26.10': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - debug: 4.4.1 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.27.6': + '@babel/types@7.17.0': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.25.9 + to-fast-properties: 2.0.0 + + '@babel/types@7.26.10': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - '@bcoe/v8-coverage@1.0.2': {} + '@bcoe/v8-coverage@0.2.3': {} '@bundled-es-modules/cookie@2.0.1': dependencies: @@ -4456,7 +4740,7 @@ snapshots: '@bundled-es-modules/statuses@1.0.1': dependencies: - statuses: 2.0.2 + statuses: 2.0.1 '@bundled-es-modules/tough-cookie@0.1.6': dependencies: @@ -4465,43 +4749,43 @@ snapshots: '@chakra-ui/anatomy@2.3.4': {} - '@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@ark-ui/react': 5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@ark-ui/react': 5.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@18.3.19)(react@18.3.1) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) '@emotion/utils': 1.4.2 '@pandacss/is-valid-prop': 0.53.6 csstype: 3.1.3 fast-safe-stringify: 2.1.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3)': + '@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3)': dependencies: - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 '@lezer/common': 1.2.3 '@codemirror/commands@6.8.1': dependencies: - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 '@lezer/common': 1.2.3 - '@codemirror/lang-json@6.0.2': + '@codemirror/lang-json@6.0.1': dependencies: - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@lezer/json': 1.0.3 - '@codemirror/language@6.11.1': + '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -4510,13 +4794,13 @@ snapshots: '@codemirror/lint@6.8.2': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 crelt: 1.0.6 '@codemirror/search@6.5.6': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 crelt: 1.0.6 '@codemirror/state@6.5.2': @@ -4525,15 +4809,14 @@ snapshots: '@codemirror/theme-one-dark@6.1.2': dependencies: - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 '@lezer/highlight': 1.2.1 - '@codemirror/view@6.37.2': + '@codemirror/view@6.36.4': dependencies: '@codemirror/state': 6.5.2 - crelt: 1.0.6 style-mod: 4.1.2 w3c-keyname: 2.2.8 @@ -4569,19 +4852,19 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1)': dependencies: '@babel/runtime': 7.26.10 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.1.0 + react: 18.3.1 optionalDependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 transitivePeerDependencies: - supports-color @@ -4597,127 +4880,118 @@ snapshots: '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)': dependencies: - react: 19.1.0 + react: 18.3.1 '@emotion/utils@1.4.2': {} '@emotion/weak-memoize@0.4.0': {} - '@esbuild/aix-ppc64@0.25.5': + '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/android-arm64@0.25.5': + '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm@0.25.5': + '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-x64@0.25.5': + '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.25.5': + '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-x64@0.25.5': + '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.25.5': + '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.25.5': + '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/linux-arm64@0.25.5': + '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm@0.25.5': + '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-ia32@0.25.5': + '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-loong64@0.25.5': + '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-mips64el@0.25.5': + '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-ppc64@0.25.5': + '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.25.5': + '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-s390x@0.25.5': + '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-x64@0.25.5': + '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/netbsd-arm64@0.25.5': + '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.25.5': + '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-arm64@0.25.5': + '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.25.5': + '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/sunos-x64@0.25.5': + '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-arm64@0.25.5': + '@esbuild/win32-x64@0.21.5': optional: true - '@esbuild/win32-ia32@0.25.5': - optional: true - - '@esbuild/win32-x64@0.25.5': - optional: true + '@eslint-community/eslint-utils@4.5.1(eslint@9.26.0(jiti@1.21.7))': + dependencies: + eslint: 9.26.0(jiti@1.21.7) + eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@1.21.7))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@1.21.7))': dependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.0(eslint@9.29.0(jiti@1.21.7))': + '@eslint/compat@1.2.9(eslint@9.26.0(jiti@1.21.7))': optionalDependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) - '@eslint/config-array@0.20.1': + '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.1 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.3': {} + '@eslint/config-helpers@0.2.2': {} '@eslint/core@0.13.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.14.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.15.0': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1 - espree: 10.4.0 + debug: 4.4.0 + espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -4727,7 +5001,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.29.0': {} + '@eslint/js@9.26.0': {} '@eslint/object-schema@2.1.6': {} @@ -4736,11 +5010,6 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 - '@eslint/plugin-kit@0.3.2': - dependencies: - '@eslint/core': 0.15.0 - levn: 0.4.1 - '@floating-ui/core@1.6.9': dependencies: '@floating-ui/utils': 0.2.9 @@ -4783,19 +5052,19 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} + '@humanwhocodes/retry@0.4.2': {} - '@inquirer/confirm@5.1.12(@types/node@24.0.3)': + '@inquirer/confirm@5.1.8(@types/node@22.15.14)': dependencies: - '@inquirer/core': 10.1.13(@types/node@24.0.3) - '@inquirer/type': 3.0.7(@types/node@24.0.3) + '@inquirer/core': 10.1.9(@types/node@22.15.14) + '@inquirer/type': 3.0.5(@types/node@22.15.14) optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 22.15.14 - '@inquirer/core@10.1.13(@types/node@24.0.3)': + '@inquirer/core@10.1.9(@types/node@22.15.14)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@24.0.3) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.15.14) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -4803,27 +5072,21 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 22.15.14 - '@inquirer/figures@1.0.12': {} + '@inquirer/figures@1.0.11': {} - '@inquirer/type@3.0.7(@types/node@24.0.3)': + '@inquirer/type@3.0.5(@types/node@22.15.14)': optionalDependencies: - '@types/node': 24.0.3 - - '@internationalized/date@3.8.2': - dependencies: - '@swc/helpers': 0.5.17 + '@types/node': 22.15.14 - '@internationalized/number@3.6.3': + '@internationalized/date@3.8.1': dependencies: - '@swc/helpers': 0.5.17 + '@swc/helpers': 0.5.15 - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': + '@internationalized/number@3.6.2': dependencies: - '@isaacs/balanced-match': 4.0.1 + '@swc/helpers': 0.5.15 '@isaacs/cliui@8.0.2': dependencies: @@ -4875,7 +5138,22 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@mswjs/interceptors@0.39.2': + '@modelcontextprotocol/sdk@1.11.0': + dependencies: + content-type: 1.0.5 + cors: 2.8.5 + cross-spawn: 7.0.6 + eventsource: 3.0.6 + express: 5.1.0 + express-rate-limit: 7.5.0(express@5.1.0) + pkce-challenge: 5.0.0 + raw-body: 3.0.0 + zod: 3.24.4 + zod-to-json-schema: 3.24.5(zod@3.24.4) + transitivePeerDependencies: + - supports-color + + '@mswjs/interceptors@0.37.6': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4910,174 +5188,173 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.2.7': {} + '@pkgr/core@0.2.4': {} - '@rolldown/pluginutils@1.0.0-beta.11': {} + '@remix-run/router@1.23.0': {} - '@rollup/rollup-android-arm-eabi@4.44.0': + '@rollup/rollup-android-arm-eabi@4.40.1': optional: true - '@rollup/rollup-android-arm64@4.44.0': + '@rollup/rollup-android-arm64@4.40.1': optional: true - '@rollup/rollup-darwin-arm64@4.44.0': + '@rollup/rollup-darwin-arm64@4.40.1': optional: true - '@rollup/rollup-darwin-x64@4.44.0': + '@rollup/rollup-darwin-x64@4.40.1': optional: true - '@rollup/rollup-freebsd-arm64@4.44.0': + '@rollup/rollup-freebsd-arm64@4.40.1': optional: true - '@rollup/rollup-freebsd-x64@4.44.0': + '@rollup/rollup-freebsd-x64@4.40.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.44.0': + '@rollup/rollup-linux-arm-gnueabihf@4.40.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.44.0': + '@rollup/rollup-linux-arm-musleabihf@4.40.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.44.0': + '@rollup/rollup-linux-arm64-gnu@4.40.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.44.0': + '@rollup/rollup-linux-arm64-musl@4.40.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.44.0': + '@rollup/rollup-linux-loongarch64-gnu@4.40.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.44.0': + '@rollup/rollup-linux-riscv64-gnu@4.40.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.44.0': + '@rollup/rollup-linux-riscv64-musl@4.40.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.44.0': + '@rollup/rollup-linux-s390x-gnu@4.40.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.44.0': + '@rollup/rollup-linux-x64-gnu@4.40.1': optional: true - '@rollup/rollup-linux-x64-musl@4.44.0': + '@rollup/rollup-linux-x64-musl@4.40.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.44.0': + '@rollup/rollup-win32-arm64-msvc@4.40.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.44.0': + '@rollup/rollup-win32-ia32-msvc@4.40.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.44.0': + '@rollup/rollup-win32-x64-msvc@4.40.1': optional: true - '@stylistic/eslint-plugin@4.4.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@stylistic/eslint-plugin@2.13.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.29.0(jiti@1.21.7) - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 + '@typescript-eslint/utils': 8.27.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: - supports-color - typescript - '@swc/core-darwin-arm64@1.12.4': + '@swc/core-darwin-arm64@1.11.24': optional: true - '@swc/core-darwin-x64@1.12.4': + '@swc/core-darwin-x64@1.11.24': optional: true - '@swc/core-linux-arm-gnueabihf@1.12.4': + '@swc/core-linux-arm-gnueabihf@1.11.24': optional: true - '@swc/core-linux-arm64-gnu@1.12.4': + '@swc/core-linux-arm64-gnu@1.11.24': optional: true - '@swc/core-linux-arm64-musl@1.12.4': + '@swc/core-linux-arm64-musl@1.11.24': optional: true - '@swc/core-linux-x64-gnu@1.12.4': + '@swc/core-linux-x64-gnu@1.11.24': optional: true - '@swc/core-linux-x64-musl@1.12.4': + '@swc/core-linux-x64-musl@1.11.24': optional: true - '@swc/core-win32-arm64-msvc@1.12.4': + '@swc/core-win32-arm64-msvc@1.11.24': optional: true - '@swc/core-win32-ia32-msvc@1.12.4': + '@swc/core-win32-ia32-msvc@1.11.24': optional: true - '@swc/core-win32-x64-msvc@1.12.4': + '@swc/core-win32-x64-msvc@1.11.24': optional: true - '@swc/core@1.12.4(@swc/helpers@0.5.17)': + '@swc/core@1.11.24': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.23 + '@swc/types': 0.1.21 optionalDependencies: - '@swc/core-darwin-arm64': 1.12.4 - '@swc/core-darwin-x64': 1.12.4 - '@swc/core-linux-arm-gnueabihf': 1.12.4 - '@swc/core-linux-arm64-gnu': 1.12.4 - '@swc/core-linux-arm64-musl': 1.12.4 - '@swc/core-linux-x64-gnu': 1.12.4 - '@swc/core-linux-x64-musl': 1.12.4 - '@swc/core-win32-arm64-msvc': 1.12.4 - '@swc/core-win32-ia32-msvc': 1.12.4 - '@swc/core-win32-x64-msvc': 1.12.4 - '@swc/helpers': 0.5.17 + '@swc/core-darwin-arm64': 1.11.24 + '@swc/core-darwin-x64': 1.11.24 + '@swc/core-linux-arm-gnueabihf': 1.11.24 + '@swc/core-linux-arm64-gnu': 1.11.24 + '@swc/core-linux-arm64-musl': 1.11.24 + '@swc/core-linux-x64-gnu': 1.11.24 + '@swc/core-linux-x64-musl': 1.11.24 + '@swc/core-win32-arm64-msvc': 1.11.24 + '@swc/core-win32-ia32-msvc': 1.11.24 + '@swc/core-win32-x64-msvc': 1.11.24 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.17': + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 - '@swc/types@0.1.23': + '@swc/types@0.1.21': dependencies: '@swc/counter': 0.1.3 - '@tanstack/eslint-plugin-query@5.78.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@tanstack/eslint-plugin-query@5.74.7(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/utils': 8.28.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) transitivePeerDependencies: - supports-color - typescript - '@tanstack/query-core@5.80.10': {} + '@tanstack/query-core@5.75.4': {} - '@tanstack/react-query@5.80.10(react@19.1.0)': + '@tanstack/react-query@5.75.4(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.80.10 - react: 19.1.0 + '@tanstack/query-core': 5.75.4 + react: 18.3.1 - '@tanstack/react-table@8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@tanstack/react-table@8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/table-core': 8.21.3 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@tanstack/react-virtual@3.13.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@tanstack/react-virtual@3.13.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/virtual-core': 3.13.10 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@tanstack/virtual-core': 3.13.8 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) '@tanstack/table-core@8.21.3': {} - '@tanstack/virtual-core@3.13.10': {} + '@tanstack/virtual-core@3.13.8': {} '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -5095,22 +5372,22 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.19))(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.10 '@testing-library/dom': 10.4.0 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.1.8 - '@types/react-dom': 19.1.6(@types/react@19.1.8) + '@types/react': 18.3.19 + '@types/react-dom': 18.3.5(@types/react@18.3.19) - '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3)': + '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.5.3)': dependencies: - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/generator': 7.17.7 + '@babel/parser': 7.26.10 + '@babel/traverse': 7.23.2 + '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 prettier: 3.5.3 @@ -5126,10 +5403,6 @@ snapshots: '@types/aria-query@5.0.4': {} - '@types/chai@5.2.2': - dependencies: - '@types/deep-eql': 4.0.2 - '@types/cookie@0.6.0': {} '@types/d3-array@3.0.3': {} @@ -5189,13 +5462,13 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/deep-eql@4.0.2': {} - '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 - '@types/estree@1.0.8': {} + '@types/estree@1.0.6': {} + + '@types/estree@1.0.7': {} '@types/geojson@7946.0.16': {} @@ -5217,33 +5490,34 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@20.19.1': + '@types/node@22.15.14': dependencies: undici-types: 6.21.0 - '@types/node@24.0.3': - dependencies: - undici-types: 7.8.0 + '@types/normalize-package-data@2.4.4': {} '@types/parse-json@4.0.2': {} - '@types/react-dom@19.1.6(@types/react@19.1.8)': + '@types/prop-types@15.7.14': {} + + '@types/react-dom@18.3.5(@types/react@18.3.19)': dependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 '@types/react-syntax-highlighter@15.5.13': dependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 - '@types/react-transition-group@4.4.12(@types/react@19.1.8)': + '@types/react-transition-group@4.4.12(@types/react@18.3.19)': dependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 - '@types/react@19.1.8': + '@types/react@18.3.19': dependencies: + '@types/prop-types': 15.7.14 csstype: 3.1.3 - '@types/statuses@2.0.6': {} + '@types/statuses@2.0.5': {} '@types/tough-cookie@4.0.5': {} @@ -5251,450 +5525,507 @@ snapshots: '@types/unist@3.0.3': {} - '@types/whatwg-mimetype@3.0.2': {} - - '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.1 - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.0 + eslint: 9.26.0(jiti@1.21.7) graphemer: 1.4.0 - ignore: 7.0.5 + ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.1 - debug: 4.4.1 - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.0 + debug: 4.4.0 + eslint: 9.26.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': + '@typescript-eslint/scope-manager@8.27.0': + dependencies: + '@typescript-eslint/types': 8.27.0 + '@typescript-eslint/visitor-keys': 8.27.0 + + '@typescript-eslint/scope-manager@8.28.0': + dependencies: + '@typescript-eslint/types': 8.28.0 + '@typescript-eslint/visitor-keys': 8.28.0 + + '@typescript-eslint/scope-manager@8.32.0': + dependencies: + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/visitor-keys': 8.32.0 + + '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) - '@typescript-eslint/types': 8.34.1 - debug: 4.4.1 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + debug: 4.4.0 + eslint: 9.26.0(jiti@1.21.7) + ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.34.1': - dependencies: - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/types@8.27.0': {} + + '@typescript-eslint/types@8.28.0': {} - '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': + '@typescript-eslint/types@8.32.0': {} + + '@typescript-eslint/typescript-estree@8.27.0(typescript@5.8.3)': dependencies: + '@typescript-eslint/types': 8.27.0 + '@typescript-eslint/visitor-keys': 8.27.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.28.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - debug: 4.4.1 - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/types': 8.28.0 + '@typescript-eslint/visitor-keys': 8.28.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.34.1': {} - - '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/visitor-keys': 8.34.1 - debug: 4.4.1 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/visitor-keys': 8.32.0 + debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.1 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/utils@8.27.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.27.0 + '@typescript-eslint/types': 8.27.0 + '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.28.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.28.0 + '@typescript-eslint/types': 8.28.0 + '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - eslint: 9.29.0(jiti@1.21.7) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.34.1': + '@typescript-eslint/visitor-keys@8.27.0': + dependencies: + '@typescript-eslint/types': 8.27.0 + eslint-visitor-keys: 4.2.0 + + '@typescript-eslint/visitor-keys@8.28.0': + dependencies: + '@typescript-eslint/types': 8.28.0 + eslint-visitor-keys: 4.2.0 + + '@typescript-eslint/visitor-keys@8.32.0': dependencies: - '@typescript-eslint/types': 8.34.1 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.32.0 + eslint-visitor-keys: 4.2.0 - '@uiw/codemirror-extensions-basic-setup@4.23.13(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-extensions-basic-setup@4.23.12(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3) + '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3) '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/lint': 6.8.2 '@codemirror/search': 6.5.6 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 - '@uiw/codemirror-theme-abcdef@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-abcdef@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-abyss@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-abyss@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-androidstudio@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-androidstudio@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-andromeda@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-andromeda@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-atomone@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-atomone@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-aura@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-aura@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-basic@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-basic@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-bbedit@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-bbedit@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-bespin@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-bespin@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-console@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-console@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-copilot@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-copilot@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-darcula@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-darcula@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-dracula@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-dracula@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-duotone@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-duotone@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-eclipse@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-eclipse@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-github@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-github@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-gruvbox-dark@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-gruvbox-dark@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-kimbie@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-kimbie@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-material@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-material@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-monokai-dimmed@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-monokai-dimmed@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-monokai@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-monokai@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-noctis-lilac@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-noctis-lilac@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-nord@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-nord@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-okaidia@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-okaidia@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-quietlight@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-quietlight@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-red@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-red@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-solarized@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-solarized@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-sublime@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-sublime@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night-day@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-tokyo-night-day@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night-storm@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-tokyo-night-storm@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tokyo-night@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-tokyo-night@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-tomorrow-night-blue@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-tomorrow-night-blue@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-vscode@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-vscode@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-white@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-white@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-theme-xcode@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-theme-xcode@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-themes-all@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': - dependencies: - '@uiw/codemirror-theme-abcdef': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-abyss': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-androidstudio': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-andromeda': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-atomone': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-aura': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-basic': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-bbedit': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-bespin': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-console': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-copilot': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-darcula': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-dracula': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-duotone': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-eclipse': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-github': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-gruvbox-dark': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-kimbie': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-material': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-monokai': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-monokai-dimmed': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-noctis-lilac': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-nord': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-okaidia': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-quietlight': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-red': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-solarized': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-sublime': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-tokyo-night': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-tokyo-night-day': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-tokyo-night-storm': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-tomorrow-night-blue': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-vscode': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-white': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-theme-xcode': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) - '@uiw/codemirror-themes': 4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@uiw/codemirror-themes-all@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': + dependencies: + '@uiw/codemirror-theme-abcdef': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-abyss': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-androidstudio': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-andromeda': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-atomone': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-aura': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-basic': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-bbedit': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-bespin': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-console': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-copilot': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-darcula': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-dracula': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-duotone': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-eclipse': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-github': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-gruvbox-dark': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-kimbie': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-material': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-monokai': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-monokai-dimmed': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-noctis-lilac': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-nord': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-okaidia': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-quietlight': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-red': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-solarized': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-sublime': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-tokyo-night': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-tokyo-night-day': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-tokyo-night-storm': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-tomorrow-night-blue': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-vscode': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-white': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-theme-xcode': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) + '@uiw/codemirror-themes': 4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-themes@4.23.13(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)': + '@uiw/codemirror-themes@4.23.12(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)': dependencies: - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 - '@uiw/react-codemirror@4.23.13(@babel/runtime@7.27.6)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.37.2)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@uiw/react-codemirror@4.23.12(@babel/runtime@7.26.10)(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.4)(codemirror@6.0.1(@lezer/common@1.2.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 '@codemirror/commands': 6.8.1 '@codemirror/state': 6.5.2 '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.37.2 - '@uiw/codemirror-extensions-basic-setup': 4.23.13(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.1)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2) + '@codemirror/view': 6.36.4 + '@uiw/codemirror-extensions-basic-setup': 4.23.12(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.6)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4) codemirror: 6.0.1(@lezer/common@1.2.3) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@codemirror/autocomplete' - '@codemirror/language' @@ -5708,32 +6039,32 @@ snapshots: '@types/d3-shape': 1.3.12 d3-shape: 1.3.7 - '@visx/group@3.12.0(react@19.1.0)': + '@visx/group@3.12.0(react@18.3.1)': dependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 classnames: 2.5.1 prop-types: 15.8.1 - react: 19.1.0 + react: 18.3.1 '@visx/scale@3.12.0': dependencies: '@visx/vendor': 3.12.0 - '@visx/shape@3.12.0(react@19.1.0)': + '@visx/shape@3.12.0(react@18.3.1)': dependencies: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 '@types/lodash': 4.17.16 - '@types/react': 19.1.8 + '@types/react': 18.3.19 '@visx/curve': 3.12.0 - '@visx/group': 3.12.0(react@19.1.0) + '@visx/group': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 classnames: 2.5.1 d3-path: 1.0.9 d3-shape: 1.3.7 lodash: 4.17.21 prop-types: 15.8.1 - react: 19.1.0 + react: 18.3.1 '@visx/vendor@3.12.0': dependencies: @@ -5757,610 +6088,603 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 - '@vitejs/plugin-react-swc@3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7))': + '@vitejs/plugin-react-swc@3.9.0(vite@5.4.19(@types/node@22.15.14))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.11 - '@swc/core': 1.12.4(@swc/helpers@0.5.17) - vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + '@swc/core': 1.11.24 + vite: 5.4.19(@types/node@22.15.14) transitivePeerDependencies: - '@swc/helpers' - '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)))': + '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)))': dependencies: '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 1.0.2 - ast-v8-to-istanbul: 0.3.3 - debug: 4.4.1 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.4.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 magic-string: 0.30.17 magicast: 0.3.5 - std-env: 3.9.0 + std-env: 3.8.1 test-exclude: 7.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) + tinyrainbow: 1.2.0 + vitest: 2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)) transitivePeerDependencies: - supports-color - '@vitest/expect@3.2.4': + '@vitest/expect@2.1.9': dependencies: - '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 + '@vitest/spy': 2.1.9 + '@vitest/utils': 2.1.9 chai: 5.2.0 - tinyrainbow: 2.0.0 + tinyrainbow: 1.2.0 - '@vitest/mocker@3.2.4(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7))': + '@vitest/mocker@2.1.9(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))(vite@5.4.19(@types/node@22.15.14))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) - vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + msw: 2.7.6(@types/node@22.15.14)(typescript@5.8.3) + vite: 5.4.19(@types/node@22.15.14) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@2.1.9': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 1.2.0 - '@vitest/runner@3.2.4': + '@vitest/runner@2.1.9': dependencies: - '@vitest/utils': 3.2.4 - pathe: 2.0.3 - strip-literal: 3.0.0 + '@vitest/utils': 2.1.9 + pathe: 1.1.2 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@2.1.9': dependencies: - '@vitest/pretty-format': 3.2.4 + '@vitest/pretty-format': 2.1.9 magic-string: 0.30.17 - pathe: 2.0.3 + pathe: 1.1.2 - '@vitest/spy@3.2.4': + '@vitest/spy@2.1.9': dependencies: - tinyspy: 4.0.3 + tinyspy: 3.0.2 - '@vitest/utils@3.2.4': + '@vitest/utils@2.1.9': dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.1.4 - tinyrainbow: 2.0.0 + '@vitest/pretty-format': 2.1.9 + loupe: 3.1.3 + tinyrainbow: 1.2.0 - '@xyflow/react@12.7.0(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@xyflow/react@12.4.4(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@xyflow/system': 0.0.62 + '@xyflow/system': 0.0.52 classcat: 5.0.5 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - zustand: 4.5.7(@types/react@19.1.8)(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + zustand: 4.5.6(@types/react@18.3.19)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer - '@xyflow/system@0.0.62': + '@xyflow/system@0.0.52': dependencies: '@types/d3-drag': 3.0.7 - '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.11 '@types/d3-transition': 3.0.9 '@types/d3-zoom': 3.0.8 d3-drag: 3.0.0 - d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-zoom: 3.0.0 - '@zag-js/accordion@1.15.2': + '@zag-js/accordion@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/anatomy@1.15.2': {} + '@zag-js/anatomy@1.15.0': {} - '@zag-js/angle-slider@1.15.2': + '@zag-js/angle-slider@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/rect-utils': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/rect-utils': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/aria-hidden@1.15.2': {} + '@zag-js/aria-hidden@1.15.0': {} - '@zag-js/auto-resize@1.15.2': + '@zag-js/auto-resize@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/avatar@1.15.2': + '@zag-js/avatar@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/carousel@1.15.2': + '@zag-js/carousel@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/scroll-snap': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/scroll-snap': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/checkbox@1.15.2': + '@zag-js/checkbox@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-visible': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/clipboard@1.15.2': + '@zag-js/clipboard@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/collapsible@1.15.2': + '@zag-js/collapsible@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/collection@1.15.2': + '@zag-js/collection@1.15.0': dependencies: - '@zag-js/utils': 1.15.2 + '@zag-js/utils': 1.15.0 - '@zag-js/color-picker@1.15.2': + '@zag-js/color-picker@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/color-utils': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/color-utils': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/color-utils@1.15.2': + '@zag-js/color-utils@1.15.0': dependencies: - '@zag-js/utils': 1.15.2 + '@zag-js/utils': 1.15.0 - '@zag-js/combobox@1.15.2': + '@zag-js/combobox@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/aria-hidden': 1.15.2 - '@zag-js/collection': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/aria-hidden': 1.15.0 + '@zag-js/collection': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/core@1.15.2': + '@zag-js/core@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/dom-query': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/date-picker@1.15.2(@internationalized/date@3.8.2)': + '@zag-js/date-picker@1.15.0(@internationalized/date@3.8.1)': dependencies: - '@internationalized/date': 3.8.2 - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/live-region': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@internationalized/date': 3.8.1 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/live-region': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/date-utils@1.15.2(@internationalized/date@3.8.2)': + '@zag-js/date-utils@1.15.0(@internationalized/date@3.8.1)': dependencies: - '@internationalized/date': 3.8.2 + '@internationalized/date': 3.8.1 - '@zag-js/dialog@1.15.2': + '@zag-js/dialog@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/aria-hidden': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-trap': 1.15.2 - '@zag-js/remove-scroll': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/aria-hidden': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-trap': 1.15.0 + '@zag-js/remove-scroll': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/dismissable@1.15.2': + '@zag-js/dismissable@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 - '@zag-js/interact-outside': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/dom-query': 1.15.0 + '@zag-js/interact-outside': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/dom-query@1.15.2': + '@zag-js/dom-query@1.15.0': dependencies: - '@zag-js/types': 1.15.2 + '@zag-js/types': 1.15.0 - '@zag-js/editable@1.15.2': + '@zag-js/editable@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/interact-outside': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/interact-outside': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/file-upload@1.15.2': + '@zag-js/file-upload@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/file-utils': 1.15.2 - '@zag-js/i18n-utils': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/file-utils': 1.15.0 + '@zag-js/i18n-utils': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/file-utils@1.15.2': + '@zag-js/file-utils@1.15.0': dependencies: - '@zag-js/i18n-utils': 1.15.2 + '@zag-js/i18n-utils': 1.15.0 - '@zag-js/floating-panel@1.15.2': + '@zag-js/floating-panel@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/rect-utils': 1.15.2 - '@zag-js/store': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/rect-utils': 1.15.0 + '@zag-js/store': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/focus-trap@1.15.2': + '@zag-js/focus-trap@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible@1.15.2': + '@zag-js/focus-visible@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/highlight-word@1.15.2': {} + '@zag-js/highlight-word@1.15.0': {} - '@zag-js/hover-card@1.15.2': + '@zag-js/hover-card@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/i18n-utils@1.15.2': + '@zag-js/i18n-utils@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside@1.15.2': + '@zag-js/interact-outside@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/dom-query': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/listbox@1.15.2': + '@zag-js/listbox@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/collection': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/collection': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-visible': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/live-region@1.15.2': {} + '@zag-js/live-region@1.15.0': {} - '@zag-js/menu@1.15.2': + '@zag-js/menu@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/rect-utils': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/rect-utils': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/number-input@1.15.2': + '@zag-js/number-input@1.15.0': dependencies: - '@internationalized/number': 3.6.3 - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@internationalized/number': 3.6.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/pagination@1.15.2': + '@zag-js/pagination@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/password-input@1.15.2': + '@zag-js/password-input@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/pin-input@1.15.2': + '@zag-js/pin-input@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/popover@1.15.2': + '@zag-js/popover@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/aria-hidden': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-trap': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/remove-scroll': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/aria-hidden': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-trap': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/remove-scroll': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/popper@1.15.2': + '@zag-js/popper@1.15.0': dependencies: '@floating-ui/dom': 1.7.1 - '@zag-js/dom-query': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/dom-query': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/presence@1.15.2': + '@zag-js/presence@1.15.0': dependencies: - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 - '@zag-js/progress@1.15.2': + '@zag-js/progress@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/qr-code@1.15.2': + '@zag-js/qr-code@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 proxy-memoize: 3.0.1 uqr: 0.1.2 - '@zag-js/radio-group@1.15.2': + '@zag-js/radio-group@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-visible': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/rating-group@1.15.2': + '@zag-js/rating-group@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/react@1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@zag-js/react@1.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@zag-js/core': 1.15.2 - '@zag-js/store': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@zag-js/core': 1.15.0 + '@zag-js/store': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@zag-js/rect-utils@1.15.2': {} + '@zag-js/rect-utils@1.15.0': {} - '@zag-js/remove-scroll@1.15.2': + '@zag-js/remove-scroll@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/scroll-snap@1.15.2': + '@zag-js/scroll-snap@1.15.0': dependencies: - '@zag-js/dom-query': 1.15.2 + '@zag-js/dom-query': 1.15.0 - '@zag-js/select@1.15.2': + '@zag-js/select@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/collection': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/collection': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/signature-pad@1.15.2': + '@zag-js/signature-pad@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 perfect-freehand: 1.2.2 - '@zag-js/slider@1.15.2': + '@zag-js/slider@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/splitter@1.15.2': + '@zag-js/splitter@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/steps@1.15.2': + '@zag-js/steps@1.15.0': dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 - '@zag-js/store@1.15.2': + '@zag-js/store@1.15.0': dependencies: proxy-compare: 3.0.1 - '@zag-js/switch@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/tabs@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/tags-input@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/auto-resize': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/interact-outside': 1.15.2 - '@zag-js/live-region': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/time-picker@1.15.2(@internationalized/date@3.8.2)': - dependencies: - '@internationalized/date': 3.8.2 - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/timer@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/toast@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/toggle-group@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/toggle@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/tooltip@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/store': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/tour@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dismissable': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-trap': 1.15.2 - '@zag-js/interact-outside': 1.15.2 - '@zag-js/popper': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/tree-view@1.15.2': - dependencies: - '@zag-js/anatomy': 1.15.2 - '@zag-js/collection': 1.15.2 - '@zag-js/core': 1.15.2 - '@zag-js/dom-query': 1.15.2 - '@zag-js/types': 1.15.2 - '@zag-js/utils': 1.15.2 - - '@zag-js/types@1.15.2': + '@zag-js/switch@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-visible': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/tabs@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/tags-input@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/auto-resize': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/interact-outside': 1.15.0 + '@zag-js/live-region': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/time-picker@1.15.0(@internationalized/date@3.8.1)': + dependencies: + '@internationalized/date': 3.8.1 + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/timer@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/toast@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/toggle-group@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/toggle@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/tooltip@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-visible': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/store': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/tour@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dismissable': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/focus-trap': 1.15.0 + '@zag-js/interact-outside': 1.15.0 + '@zag-js/popper': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/tree-view@1.15.0': + dependencies: + '@zag-js/anatomy': 1.15.0 + '@zag-js/collection': 1.15.0 + '@zag-js/core': 1.15.0 + '@zag-js/dom-query': 1.15.0 + '@zag-js/types': 1.15.0 + '@zag-js/utils': 1.15.0 + + '@zag-js/types@1.15.0': dependencies: csstype: 3.1.3 - '@zag-js/utils@1.15.2': {} + '@zag-js/utils@1.15.0': {} - acorn-jsx@5.3.2(acorn@8.14.1): + accepts@2.0.0: dependencies: - acorn: 8.14.1 + mime-types: 3.0.1 + negotiator: 1.0.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: - acorn: 8.15.0 + acorn: 8.14.1 acorn@8.14.1: {} - acorn@8.15.0: {} - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6462,12 +6786,6 @@ snapshots: ast-types-flow@0.0.8: {} - ast-v8-to-istanbul@0.3.3: - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - estree-walker: 3.0.3 - js-tokens: 9.0.1 - async-function@1.0.0: {} asynckit@0.4.0: {} @@ -6483,10 +6801,10 @@ snapshots: axe-core@4.10.3: {} - axios@1.10.0: + axios@1.8.4: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.3 + form-data: 4.0.2 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -6507,12 +6825,26 @@ snapshots: binary-extensions@2.3.0: {} - brace-expansion@1.1.12: + body-parser@2.2.0: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 4.4.0 + http-errors: 2.0.0 + iconv-lite: 0.6.3 + on-finished: 2.4.1 + qs: 6.14.0 + raw-body: 3.0.0 + type-is: 2.0.1 + transitivePeerDependencies: + - supports-color + + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 @@ -6520,14 +6852,16 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.25.0: + browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001724 - electron-to-chromium: 1.5.171 + caniuse-lite: 1.0.30001707 + electron-to-chromium: 1.5.123 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.0) + update-browserslist-db: 1.1.3(browserslist@4.24.4) + + builtin-modules@3.3.0: {} - builtin-modules@5.0.0: {} + bytes@3.1.2: {} c12@1.11.1(magicast@0.3.5): dependencies: @@ -6569,7 +6903,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001724: {} + caniuse-lite@1.0.30001707: {} ccount@2.0.1: {} @@ -6578,15 +6912,15 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.4 + loupe: 3.1.3 pathval: 2.0.0 - chakra-react-select@6.1.0(@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.8)(next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + chakra-react-select@6.1.0(@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.19)(next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@chakra-ui/react': 3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - next-themes: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-select: 5.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@chakra-ui/react': 3.20.0(@emotion/react@11.14.0(@types/react@18.3.19)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-select: 5.10.1(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@types/react' - react-dom @@ -6616,13 +6950,13 @@ snapshots: character-reference-invalid@2.0.1: {} - chart.js@4.5.0: + chart.js@4.4.9: dependencies: '@kurkle/color': 0.3.4 - chartjs-plugin-annotation@3.1.0(chart.js@4.5.0): + chartjs-plugin-annotation@3.1.0(chart.js@4.4.9): dependencies: - chart.js: 4.5.0 + chart.js: 4.4.9 check-error@2.1.1: {} @@ -6666,13 +7000,13 @@ snapshots: codemirror@6.0.1(@lezer/common@1.2.3): dependencies: - '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.1)(@codemirror/state@6.5.2)(@codemirror/view@6.37.2)(@lezer/common@1.2.3) + '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/common@1.2.3) '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.1 + '@codemirror/language': 6.11.0 '@codemirror/lint': 6.8.2 '@codemirror/search': 6.5.6 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.37.2 + '@codemirror/view': 6.36.4 transitivePeerDependencies: - '@lezer/common' @@ -6700,15 +7034,26 @@ snapshots: consola@3.4.2: {} + content-disposition@1.0.0: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + convert-source-map@1.9.0: {} + cookie-signature@1.2.2: {} + cookie@0.7.2: {} - cookie@1.0.2: {} + core-js-compat@3.41.0: + dependencies: + browserslist: 4.24.4 - core-js-compat@3.43.0: + cors@2.8.5: dependencies: - browserslist: 4.25.0 + object-assign: 4.1.1 + vary: 1.1.2 cosmiconfig@7.1.0: dependencies: @@ -6838,11 +7183,11 @@ snapshots: debounce-promise@3.1.2: {} - debug@4.4.1: + debug@4.4.0: dependencies: ms: 2.1.3 - decode-named-character-reference@1.2.0: + decode-named-character-reference@1.1.0: dependencies: character-entities: 2.0.2 @@ -6870,6 +7215,8 @@ snapshots: delayed-stream@1.0.0: {} + depd@2.0.0: {} + dequal@2.0.3: {} destr@2.0.3: {} @@ -6888,7 +7235,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 csstype: 3.1.3 dotenv@16.4.7: {} @@ -6901,7 +7248,9 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.171: {} + ee-first@1.1.1: {} + + electron-to-chromium@1.5.123: {} elkjs@0.10.0: {} @@ -6909,6 +7258,8 @@ snapshots: emoji-regex@9.2.2: {} + encodeurl@2.0.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -6990,7 +7341,7 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.7.0: {} + es-module-lexer@1.6.0: {} es-object-atoms@1.1.1: dependencies: @@ -7015,52 +7366,52 @@ snapshots: es6-promise@4.2.8: {} - esbuild@0.25.5: + esbuild@0.21.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.5 - '@esbuild/android-arm': 0.25.5 - '@esbuild/android-arm64': 0.25.5 - '@esbuild/android-x64': 0.25.5 - '@esbuild/darwin-arm64': 0.25.5 - '@esbuild/darwin-x64': 0.25.5 - '@esbuild/freebsd-arm64': 0.25.5 - '@esbuild/freebsd-x64': 0.25.5 - '@esbuild/linux-arm': 0.25.5 - '@esbuild/linux-arm64': 0.25.5 - '@esbuild/linux-ia32': 0.25.5 - '@esbuild/linux-loong64': 0.25.5 - '@esbuild/linux-mips64el': 0.25.5 - '@esbuild/linux-ppc64': 0.25.5 - '@esbuild/linux-riscv64': 0.25.5 - '@esbuild/linux-s390x': 0.25.5 - '@esbuild/linux-x64': 0.25.5 - '@esbuild/netbsd-arm64': 0.25.5 - '@esbuild/netbsd-x64': 0.25.5 - '@esbuild/openbsd-arm64': 0.25.5 - '@esbuild/openbsd-x64': 0.25.5 - '@esbuild/sunos-x64': 0.25.5 - '@esbuild/win32-arm64': 0.25.5 - '@esbuild/win32-ia32': 0.25.5 - '@esbuild/win32-x64': 0.25.5 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)): + eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)): dependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) eslint-plugin-i18next@6.1.1: dependencies: lodash: 4.17.21 requireindex: 1.1.0 - eslint-plugin-jsx-a11y@6.10.2(eslint@9.29.0(jiti@1.21.7)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0(jiti@1.21.7)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -7070,7 +7421,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -7079,34 +7430,34 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-perfectionist@4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): + eslint-plugin-perfectionist@4.12.3(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.5.3): + eslint-plugin-prettier@5.4.0(eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)))(eslint@9.26.0(jiti@1.21.7))(prettier@3.5.3): dependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) prettier: 3.5.3 prettier-linter-helpers: 1.0.0 - synckit: 0.11.8 + synckit: 0.11.4 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@9.29.0(jiti@1.21.7)) + eslint-config-prettier: 10.1.2(eslint@9.26.0(jiti@1.21.7)) - eslint-plugin-react-hooks@5.2.0(eslint@9.29.0(jiti@1.21.7)): + eslint-plugin-react-hooks@4.6.2(eslint@9.26.0(jiti@1.21.7)): dependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) - eslint-plugin-react-refresh@0.4.20(eslint@9.29.0(jiti@1.21.7)): + eslint-plugin-react-refresh@0.4.20(eslint@9.26.0(jiti@1.21.7)): dependencies: - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) - eslint-plugin-react@7.37.5(eslint@9.29.0(jiti@1.21.7)): + eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -7114,7 +7465,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.29.0(jiti@1.21.7) + eslint: 9.26.0(jiti@1.21.7) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -7128,59 +7479,59 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-unicorn@59.0.1(eslint@9.29.0(jiti@1.21.7)): + eslint-plugin-unicorn@55.0.0(eslint@9.26.0(jiti@1.21.7)): dependencies: - '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) - '@eslint/plugin-kit': 0.2.8 + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) ci-info: 4.2.0 clean-regexp: 1.0.0 - core-js-compat: 3.43.0 - eslint: 9.29.0(jiti@1.21.7) + core-js-compat: 3.41.0 + eslint: 9.26.0(jiti@1.21.7) esquery: 1.6.0 - find-up-simple: 1.0.1 - globals: 16.2.0 - indent-string: 5.0.0 - is-builtin-module: 5.0.0 + globals: 15.15.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 jsesc: 3.1.0 pluralize: 8.0.0 + read-pkg-up: 7.0.1 regexp-tree: 0.1.27 - regjsparser: 0.12.0 - semver: 7.7.2 - strip-indent: 4.0.0 + regjsparser: 0.10.0 + semver: 7.7.1 + strip-indent: 3.0.0 - eslint-scope@8.4.0: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} + eslint-visitor-keys@4.2.0: {} - eslint@9.29.0(jiti@1.21.7): + eslint@9.26.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.1 - '@eslint/config-helpers': 0.2.3 - '@eslint/core': 0.14.0 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.2 + '@eslint/core': 0.13.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.29.0 - '@eslint/plugin-kit': 0.3.2 + '@eslint/js': 9.26.0 + '@eslint/plugin-kit': 0.2.8 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 + '@humanwhocodes/retry': 0.4.2 + '@modelcontextprotocol/sdk': 1.11.0 + '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -7195,16 +7546,17 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + zod: 3.24.4 optionalDependencies: jiti: 1.21.7 transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@10.3.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.1 + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 espree@9.6.1: dependencies: @@ -7228,11 +7580,55 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 esutils@2.0.3: {} - expect-type@1.2.1: {} + etag@1.8.1: {} + + eventsource-parser@3.0.1: {} + + eventsource@3.0.6: + dependencies: + eventsource-parser: 3.0.1 + + expect-type@1.2.0: {} + + express-rate-limit@7.5.0(express@5.1.0): + dependencies: + express: 5.1.0 + + express@5.1.0: + dependencies: + accepts: 2.0.0 + body-parser: 2.2.0 + content-disposition: 1.0.0 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.2.2 + debug: 4.4.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 2.1.0 + fresh: 2.0.0 + http-errors: 2.0.0 + merge-descriptors: 2.0.0 + mime-types: 3.0.1 + on-finished: 2.4.1 + once: 1.4.0 + parseurl: 1.3.3 + proxy-addr: 2.0.7 + qs: 6.14.0 + range-parser: 1.2.1 + router: 2.2.0 + send: 1.2.0 + serve-static: 2.2.0 + statuses: 2.0.1 + type-is: 2.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color extend@3.0.2: {} @@ -7282,10 +7678,6 @@ snapshots: transitivePeerDependencies: - encoding - fdir@6.4.6(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -7294,9 +7686,23 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@2.1.0: + dependencies: + debug: 4.4.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + find-root@1.1.0: {} - find-up-simple@1.0.1: {} + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 find-up@5.0.0: dependencies: @@ -7310,11 +7716,11 @@ snapshots: flatted@3.3.3: {} - flux@4.0.4(react@19.1.0): + flux@4.0.4(react@18.3.1): dependencies: fbemitter: 3.0.0 fbjs: 3.0.5 - react: 19.1.0 + react: 18.3.1 transitivePeerDependencies: - encoding @@ -7329,16 +7735,19 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.3: + form-data@4.0.2: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 mime-types: 2.1.35 format@0.2.2: {} + forwarded@0.2.0: {} + + fresh@2.0.0: {} + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 @@ -7415,8 +7824,8 @@ snapshots: glob@11.0.0: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.0.3 + jackspeak: 4.1.0 + minimatch: 10.0.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -7425,7 +7834,7 @@ snapshots: globals@14.0.0: {} - globals@16.2.0: {} + globals@15.15.0: {} globalthis@1.0.4: dependencies: @@ -7436,7 +7845,7 @@ snapshots: graphemer@1.4.0: {} - graphql@16.11.0: {} + graphql@16.10.0: {} handlebars@4.7.8: dependencies: @@ -7447,10 +7856,9 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - happy-dom@18.0.1: + happy-dom@17.4.6: dependencies: - '@types/node': 20.19.1 - '@types/whatwg-mimetype': 3.0.2 + webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 has-bigints@1.1.0: {} @@ -7479,7 +7887,7 @@ snapshots: hast-util-to-jsx-runtime@2.3.6: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.6 '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 @@ -7489,9 +7897,9 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 + property-information: 7.0.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.17 + style-to-js: 1.1.16 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -7519,6 +7927,8 @@ snapshots: dependencies: react-is: 16.13.1 + hosted-git-info@2.8.9: {} + html-escaper@2.0.2: {} html-parse-stringify@3.0.1: @@ -7529,9 +7939,17 @@ snapshots: html-url-attributes@3.0.1: {} - i18next-browser-languagedetector@8.2.0: + http-errors@2.0.0: dependencies: - '@babel/runtime': 7.27.6 + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + i18next-browser-languagedetector@8.1.0: + dependencies: + '@babel/runtime': 7.26.10 i18next-http-backend@3.0.2: dependencies: @@ -7539,15 +7957,17 @@ snapshots: transitivePeerDependencies: - encoding - i18next@25.2.1(typescript@5.8.3): + i18next@25.1.2(typescript@5.8.3): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 optionalDependencies: typescript: 5.8.3 - ignore@5.3.2: {} + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 - ignore@7.0.5: {} + ignore@5.3.2: {} import-fresh@3.3.1: dependencies: @@ -7558,7 +7978,7 @@ snapshots: indent-string@4.0.0: {} - indent-string@5.0.0: {} + inherits@2.0.4: {} inline-style-parser@0.2.4: {} @@ -7570,6 +7990,8 @@ snapshots: internmap@2.0.3: {} + ipaddr.js@1.9.1: {} + is-alphabetical@1.0.4: {} is-alphabetical@2.0.1: {} @@ -7613,9 +8035,9 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-builtin-module@5.0.0: + is-builtin-module@3.2.1: dependencies: - builtin-modules: 5.0.0 + builtin-modules: 3.3.0 is-callable@1.2.7: {} @@ -7674,6 +8096,8 @@ snapshots: is-plain-obj@4.1.0: {} + is-promise@4.0.0: {} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -7735,7 +8159,7 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.4.1 + debug: 4.4.0 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -7760,7 +8184,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.1: + jackspeak@4.1.0: dependencies: '@isaacs/cliui': 8.0.2 @@ -7770,8 +8194,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.1: {} - js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -7781,7 +8203,9 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@3.0.2: {} + jsesc@0.5.0: {} + + jsesc@2.5.2: {} jsesc@3.1.0: {} @@ -7826,6 +8250,10 @@ snapshots: lines-and-columns@1.2.4: {} + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -7846,7 +8274,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.4: {} + loupe@3.1.3: {} lowlight@1.20.0: dependencies: @@ -7865,13 +8293,13 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 source-map-js: 1.2.1 make-dir@4.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.1 markdown-table@3.0.4: {} @@ -7888,7 +8316,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -8030,13 +8458,17 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + media-typer@1.1.0: {} + memoize-one@6.0.0: {} + merge-descriptors@2.0.0: {} + merge2@1.4.1: {} micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -8169,7 +8601,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.1.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -8206,8 +8638,8 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1 - decode-named-character-reference: 1.2.0 + debug: 4.4.0 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -8232,23 +8664,29 @@ snapshots: mime-db@1.52.0: {} + mime-db@1.54.0: {} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 + mime-types@3.0.1: + dependencies: + mime-db: 1.54.0 + min-indent@1.0.1: {} - minimatch@10.0.3: + minimatch@10.0.1: dependencies: - '@isaacs/brace-expansion': 5.0.0 + brace-expansion: 2.0.1 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.12 + brace-expansion: 1.1.11 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.0.1 minimist@1.2.8: {} @@ -8271,32 +8709,32 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.15.0 + acorn: 8.14.1 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 ms@2.1.3: {} - msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3): + msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.12(@types/node@24.0.3) - '@mswjs/interceptors': 0.39.2 + '@inquirer/confirm': 5.1.8(@types/node@22.15.14) + '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.6 - graphql: 16.11.0 + '@types/statuses': 2.0.5 + graphql: 16.10.0 headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 path-to-regexp: 6.3.0 picocolors: 1.1.1 strict-event-emitter: 0.5.1 - type-fest: 4.41.0 + type-fest: 4.37.0 yargs: 17.7.2 optionalDependencies: typescript: 5.8.3 @@ -8311,12 +8749,14 @@ snapshots: natural-orderby@5.0.0: {} + negotiator@1.0.0: {} + neo-async@2.6.2: {} - next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) node-fetch-native@1.6.6: {} @@ -8326,6 +8766,13 @@ snapshots: node-releases@2.0.19: {} + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} nypm@0.5.4: @@ -8375,6 +8822,14 @@ snapshots: ohash@1.1.6: {} + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + openapi-merge-cli@1.3.2: dependencies: ajv: 6.12.6 @@ -8409,14 +8864,24 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} parent-module@1.0.1: @@ -8437,18 +8902,20 @@ snapshots: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.1.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parseurl@1.3.3: {} + path-browserify@1.0.1: {} path-exists@4.0.0: {} @@ -8469,6 +8936,8 @@ snapshots: path-to-regexp@6.3.0: {} + path-to-regexp@8.2.0: {} + path-type@4.0.0: {} pathe@1.1.2: {} @@ -8487,6 +8956,8 @@ snapshots: picomatch@4.0.2: {} + pkce-challenge@5.0.0: {} + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -8497,7 +8968,7 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss@8.5.6: + postcss@8.5.3: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -8535,7 +9006,12 @@ snapshots: dependencies: xtend: 4.0.2 - property-information@7.1.0: {} + property-information@7.0.0: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 proxy-compare@3.0.1: {} @@ -8553,10 +9029,23 @@ snapshots: pure-color@1.3.0: {} + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + querystringify@2.2.0: {} queue-microtask@1.2.3: {} + range-parser@1.2.1: {} + + raw-body@3.0.0: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.6.3 + unpipe: 1.0.0 + rc9@2.1.2: dependencies: defu: 6.1.4 @@ -8569,145 +9058,159 @@ snapshots: lodash.flow: 3.5.0 pure-color: 1.3.0 - react-chartjs-2@5.3.0(chart.js@4.5.0)(react@19.1.0): + react-chartjs-2@5.3.0(chart.js@4.4.9)(react@18.3.1): dependencies: - chart.js: 4.5.0 - react: 19.1.0 + chart.js: 4.4.9 + react: 18.3.1 - react-dom@19.1.0(react@19.1.0): + react-dom@18.3.1(react@18.3.1): dependencies: - react: 19.1.0 - scheduler: 0.26.0 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 - react-hook-form@7.58.1(react@19.1.0): + react-hook-form@7.56.2(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 - react-hotkeys-hook@5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-hotkeys-hook@4.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - react-i18next@15.5.3(i18next@25.2.1(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3): + react-i18next@15.5.1(i18next@25.1.2(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 html-parse-stringify: 3.0.1 - i18next: 25.2.1(typescript@5.8.3) - react: 19.1.0 + i18next: 25.1.2(typescript@5.8.3) + react: 18.3.1 optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + react-dom: 18.3.1(react@18.3.1) typescript: 5.8.3 - react-icons@5.5.0(react@19.1.0): + react-icons@5.5.0(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 - react-innertext@1.1.5(@types/react@19.1.8)(react@19.1.0): + react-innertext@1.1.5(@types/react@18.3.19)(react@18.3.1): dependencies: - '@types/react': 19.1.8 - react: 19.1.0 + '@types/react': 18.3.19 + react: 18.3.1 react-is@16.13.1: {} react-is@17.0.2: {} - react-json-view@1.21.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-json-view@1.21.3(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - flux: 4.0.4(react@19.1.0) - react: 19.1.0 + flux: 4.0.4(react@18.3.1) + react: 18.3.1 react-base16-styling: 0.6.0 - react-dom: 19.1.0(react@19.1.0) + react-dom: 18.3.1(react@18.3.1) react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.5.8(@types/react@19.1.8)(react@19.1.0) + react-textarea-autosize: 8.5.8(@types/react@18.3.19)(react@18.3.1) transitivePeerDependencies: - '@types/react' - encoding react-lifecycles-compat@3.0.4: {} - react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0): + react-markdown@9.1.0(@types/react@18.3.19)(react@18.3.1): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@types/react': 19.1.8 + '@types/react': 18.3.19 devlop: 1.1.0 hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 mdast-util-to-hast: 13.2.0 - react: 19.1.0 + react: 18.3.1 remark-parse: 11.0.0 - remark-rehype: 11.1.2 + remark-rehype: 11.1.1 unified: 11.0.5 unist-util-visit: 5.0.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color - react-resizable-panels@3.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-resizable-panels@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - react-router-dom@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router-dom@6.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@remix-run/router': 1.23.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.30.0(react@18.3.1) - react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router@6.30.0(react@18.3.1): dependencies: - cookie: 1.0.2 - react: 19.1.0 - set-cookie-parser: 2.7.1 - optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + '@remix-run/router': 1.23.0 + react: 18.3.1 - react-select@5.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-select@5.10.1(@types/react@18.3.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 '@emotion/cache': 11.14.0 - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@18.3.19)(react@18.3.1) '@floating-ui/dom': 1.6.13 - '@types/react-transition-group': 4.4.12(@types/react@19.1.8) + '@types/react-transition-group': 4.4.12(@types/react@18.3.19) memoize-one: 6.0.0 prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.8)(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.19)(react@18.3.1) transitivePeerDependencies: - '@types/react' - supports-color - react-syntax-highlighter@15.6.1(react@19.1.0): + react-syntax-highlighter@15.6.1(react@18.3.1): dependencies: '@babel/runtime': 7.26.10 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 prismjs: 1.30.0 - react: 19.1.0 + react: 18.3.1 refractor: 3.6.0 - react-textarea-autosize@8.5.8(@types/react@19.1.8)(react@19.1.0): + react-textarea-autosize@8.5.8(@types/react@18.3.19)(react@18.3.1): dependencies: - '@babel/runtime': 7.27.6 - react: 19.1.0 - use-composed-ref: 1.4.0(@types/react@19.1.8)(react@19.1.0) - use-latest: 1.3.0(@types/react@19.1.8)(react@19.1.0) + '@babel/runtime': 7.26.10 + react: 18.3.1 + use-composed-ref: 1.4.0(@types/react@18.3.19)(react@18.3.1) + use-latest: 1.3.0(@types/react@18.3.19)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.26.10 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 - react@19.1.0: {} + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 readdirp@3.6.0: dependencies: @@ -8748,9 +9251,9 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regjsparser@0.12.0: + regjsparser@0.10.0: dependencies: - jsesc: 3.0.2 + jsesc: 0.5.0 remark-gfm@4.0.1: dependencies: @@ -8772,7 +9275,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-rehype@11.1.2: + remark-rehype@11.1.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -8810,32 +9313,42 @@ snapshots: robust-predicates@3.0.2: {} - rollup@4.44.0: + rollup@4.40.1: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.44.0 - '@rollup/rollup-android-arm64': 4.44.0 - '@rollup/rollup-darwin-arm64': 4.44.0 - '@rollup/rollup-darwin-x64': 4.44.0 - '@rollup/rollup-freebsd-arm64': 4.44.0 - '@rollup/rollup-freebsd-x64': 4.44.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.44.0 - '@rollup/rollup-linux-arm-musleabihf': 4.44.0 - '@rollup/rollup-linux-arm64-gnu': 4.44.0 - '@rollup/rollup-linux-arm64-musl': 4.44.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.44.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0 - '@rollup/rollup-linux-riscv64-gnu': 4.44.0 - '@rollup/rollup-linux-riscv64-musl': 4.44.0 - '@rollup/rollup-linux-s390x-gnu': 4.44.0 - '@rollup/rollup-linux-x64-gnu': 4.44.0 - '@rollup/rollup-linux-x64-musl': 4.44.0 - '@rollup/rollup-win32-arm64-msvc': 4.44.0 - '@rollup/rollup-win32-ia32-msvc': 4.44.0 - '@rollup/rollup-win32-x64-msvc': 4.44.0 + '@rollup/rollup-android-arm-eabi': 4.40.1 + '@rollup/rollup-android-arm64': 4.40.1 + '@rollup/rollup-darwin-arm64': 4.40.1 + '@rollup/rollup-darwin-x64': 4.40.1 + '@rollup/rollup-freebsd-arm64': 4.40.1 + '@rollup/rollup-freebsd-x64': 4.40.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.40.1 + '@rollup/rollup-linux-arm-musleabihf': 4.40.1 + '@rollup/rollup-linux-arm64-gnu': 4.40.1 + '@rollup/rollup-linux-arm64-musl': 4.40.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.40.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.40.1 + '@rollup/rollup-linux-riscv64-gnu': 4.40.1 + '@rollup/rollup-linux-riscv64-musl': 4.40.1 + '@rollup/rollup-linux-s390x-gnu': 4.40.1 + '@rollup/rollup-linux-x64-gnu': 4.40.1 + '@rollup/rollup-linux-x64-musl': 4.40.1 + '@rollup/rollup-win32-arm64-msvc': 4.40.1 + '@rollup/rollup-win32-ia32-msvc': 4.40.1 + '@rollup/rollup-win32-x64-msvc': 4.40.1 fsevents: 2.3.3 + router@2.2.0: + dependencies: + debug: 4.4.0 + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.2.0 + transitivePeerDependencies: + - supports-color + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -8848,6 +9361,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 + safe-buffer@5.2.1: {} + safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -8859,15 +9374,42 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - scheduler@0.26.0: {} + safer-buffer@2.1.2: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@5.7.2: {} semver@6.3.1: {} semver@7.7.1: {} - semver@7.7.2: {} + send@1.2.0: + dependencies: + debug: 4.4.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.0 + mime-types: 3.0.1 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color - set-cookie-parser@2.7.1: {} + serve-static@2.2.0: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 1.2.0 + transitivePeerDependencies: + - supports-color set-function-length@1.2.2: dependencies: @@ -8893,6 +9435,8 @@ snapshots: setimmediate@1.0.5: {} + setprototypeof@1.2.0: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -8941,13 +9485,27 @@ snapshots: space-separated-tokens@2.0.2: {} + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.21 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 + + spdx-license-ids@3.0.21: {} + sprintf-js@1.0.3: {} stackback@0.0.2: {} - statuses@2.0.2: {} + statuses@2.0.1: {} - std-env@3.9.0: {} + std-env@3.8.1: {} strict-event-emitter@0.5.1: {} @@ -9030,23 +9588,15 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 - strip-json-comments@3.1.1: {} - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - style-mod@4.1.2: {} - style-to-js@1.1.17: + style-to-js@1.1.16: dependencies: - style-to-object: 1.0.9 + style-to-object: 1.0.8 - style-to-object@1.0.9: + style-to-object@1.0.8: dependencies: inline-style-parser: 0.2.4 @@ -9058,9 +9608,10 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.11.8: + synckit@0.11.4: dependencies: - '@pkgr/core': 0.2.7 + '@pkgr/core': 0.2.4 + tslib: 2.8.1 tar@6.2.1: dependencies: @@ -9081,21 +9632,20 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.14: - dependencies: - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + tinypool@1.0.2: {} - tinypool@1.1.1: {} + tinyrainbow@1.2.0: {} - tinyrainbow@2.0.0: {} + tinyspy@3.0.2: {} - tinyspy@4.0.3: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + tough-cookie@4.1.4: dependencies: psl: 1.15.0 @@ -9128,7 +9678,17 @@ snapshots: type-fest@0.21.3: {} - type-fest@4.41.0: {} + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-fest@4.37.0: {} + + type-is@2.0.1: + dependencies: + content-type: 1.0.5 + media-typer: 1.1.0 + mime-types: 3.0.1 typed-array-buffer@1.0.3: dependencies: @@ -9163,12 +9723,12 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): + typescript-eslint@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.29.0(jiti@1.21.7) + '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.26.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -9191,8 +9751,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.8.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -9228,9 +9786,11 @@ snapshots: universalify@0.2.0: {} - update-browserslist-db@1.1.3(browserslist@4.25.0): + unpipe@1.0.0: {} + + update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: - browserslist: 4.25.0 + browserslist: 4.24.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -9247,37 +9807,44 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-composed-ref@1.4.0(@types/react@19.1.8)(react@19.1.0): + use-composed-ref@1.4.0(@types/react@18.3.19)(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 optionalDependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 - use-debounce@10.0.5(react@19.1.0): + use-debounce@10.0.4(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 - use-isomorphic-layout-effect@1.2.0(@types/react@19.1.8)(react@19.1.0): + use-isomorphic-layout-effect@1.2.0(@types/react@18.3.19)(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 optionalDependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 - use-latest@1.3.0(@types/react@19.1.8)(react@19.1.0): + use-latest@1.3.0(@types/react@18.3.19)(react@18.3.1): dependencies: - react: 19.1.0 - use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.8)(react@19.1.0) + react: 18.3.1 + use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.19)(react@18.3.1) optionalDependencies: - '@types/react': 19.1.8 + '@types/react': 18.3.19 - use-sync-external-store@1.5.0(react@19.1.0): + use-sync-external-store@1.4.0(react@18.3.1): dependencies: - react: 19.1.0 + react: 18.3.1 - usehooks-ts@3.1.1(react@19.1.0): + usehooks-ts@3.1.1(react@18.3.1): dependencies: lodash.debounce: 4.0.8 - react: 19.1.0 + react: 18.3.1 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vary@1.1.2: {} vfile-message@4.0.2: dependencies: @@ -9289,16 +9856,15 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@24.0.3)(jiti@1.21.7): + vite-node@2.1.9(@types/node@22.15.14): dependencies: cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 1.1.2 + vite: 5.4.19(@types/node@22.15.14) transitivePeerDependencies: - '@types/node' - - jiti - less - lightningcss - sass @@ -9307,57 +9873,46 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml - vite-plugin-css-injected-by-js@3.5.2(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)): + vite-plugin-css-injected-by-js@3.5.2(vite@5.4.19(@types/node@22.15.14)): dependencies: - vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) + vite: 5.4.19(@types/node@22.15.14) - vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7): + vite@5.4.19(@types/node@22.15.14): dependencies: - esbuild: 0.25.5 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.6 - rollup: 4.44.0 - tinyglobby: 0.2.14 + esbuild: 0.21.5 + postcss: 8.5.3 + rollup: 4.40.1 optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 22.15.14 fsevents: 2.3.3 - jiti: 1.21.7 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(happy-dom@18.0.1)(jiti@1.21.7)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)): + vitest@2.1.9(@types/node@22.15.14)(happy-dom@17.4.6)(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3)): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(jiti@1.21.7)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 + '@vitest/expect': 2.1.9 + '@vitest/mocker': 2.1.9(msw@2.7.6(@types/node@22.15.14)(typescript@5.8.3))(vite@5.4.19(@types/node@22.15.14)) + '@vitest/pretty-format': 2.1.9 + '@vitest/runner': 2.1.9 + '@vitest/snapshot': 2.1.9 + '@vitest/spy': 2.1.9 + '@vitest/utils': 2.1.9 chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 + debug: 4.4.0 + expect-type: 1.2.0 magic-string: 0.30.17 - pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 + pathe: 1.1.2 + std-env: 3.8.1 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.0.3)(jiti@1.21.7) - vite-node: 3.2.4(@types/node@24.0.3)(jiti@1.21.7) + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.19(@types/node@22.15.14) + vite-node: 2.1.9(@types/node@22.15.14) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 24.0.3 - happy-dom: 18.0.1 + '@types/node': 22.15.14 + happy-dom: 17.4.6 transitivePeerDependencies: - - jiti - less - lightningcss - msw @@ -9367,8 +9922,6 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml void-elements@3.1.0: {} @@ -9378,6 +9931,8 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} + whatwg-fetch@3.6.20: {} whatwg-mimetype@3.0.0: {} @@ -9459,6 +10014,8 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: {} + xtend@4.0.2: {} y18n@5.0.8: {} @@ -9483,17 +10040,23 @@ snapshots: yoctocolors-cjs@2.1.2: {} - zustand@4.5.7(@types/react@19.1.8)(react@19.1.0): + zod-to-json-schema@3.24.5(zod@3.24.4): + dependencies: + zod: 3.24.4 + + zod@3.24.4: {} + + zustand@4.5.6(@types/react@18.3.19)(react@18.3.1): dependencies: - use-sync-external-store: 1.5.0(react@19.1.0) + use-sync-external-store: 1.4.0(react@18.3.1) optionalDependencies: - '@types/react': 19.1.8 - react: 19.1.0 + '@types/react': 18.3.19 + react: 18.3.1 - zustand@5.0.5(@types/react@19.1.8)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): + zustand@5.0.4(@types/react@18.3.19)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): optionalDependencies: - '@types/react': 19.1.8 - react: 19.1.0 - use-sync-external-store: 1.5.0(react@19.1.0) + '@types/react': 18.3.19 + react: 18.3.1 + use-sync-external-store: 1.4.0(react@18.3.1) zwitch@2.0.4: {} From 294cd86e5b42457e135e6c1be045badc45514329 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sun, 22 Jun 2025 09:08:01 +0200 Subject: [PATCH 035/381] When UI files change in PR we build CI image / run all static checks (#52009) Previously when only UI files changed (for example when dependabot bumped UI dependencies), the CI image was not built and only basic static checks were run - which did not show error when dependency upgrade caused different results when compiling ui assets --- dev/breeze/src/airflow_breeze/utils/selective_checks.py | 1 + dev/breeze/tests/test_selective_checks.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py b/dev/breeze/src/airflow_breeze/utils/selective_checks.py index 45a3549984a30..0393d39d49b52 100644 --- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py +++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py @@ -834,6 +834,7 @@ def ci_image_build(self) -> bool: or self.docs_build or self.run_kubernetes_tests or self.needs_helm_tests + or self.run_ui_tests or self.pyproject_toml_changed or self.any_provider_yaml_or_pyproject_toml_changed ) diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py index e2bb068aa8694..9b67138a9a707 100644 --- a/dev/breeze/tests/test_selective_checks.py +++ b/dev/breeze/tests/test_selective_checks.py @@ -1167,7 +1167,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str): "all-python-versions-list-as-string": DEFAULT_PYTHON_MAJOR_MINOR_VERSION, "python-versions": f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']", "python-versions-list-as-string": DEFAULT_PYTHON_MAJOR_MINOR_VERSION, - "ci-image-build": "false", + "ci-image-build": "true", "prod-image-build": "false", "needs-helm-tests": "false", "run-tests": "false", From 27f772733872df91e36adb45afbeb1919863e05b Mon Sep 17 00:00:00 2001 From: Lucas Roesler Date: Sun, 22 Jun 2025 09:43:41 +0200 Subject: [PATCH 036/381] fix: allow configmap and secret references in the apiServer.env field (#51191) * fix: allow configmap and secret env references in the API server The Helm schema validation for `apiServer.env` should allow specifying static values, values from ConfigMaps, and values from Secrets, the same as all of the other services. Update the values.schema.json so that the apiServer env schema matches the schema from the other services, e.g. the schema for webserver. Resolves https://github.com/apache/airflow/issues/51190 Signed-off-by: Lucas Roesler * chore: extend extraEnvs unit test for the api server deployment Signed-off-by: Lucas Roesler * Update chart/values.schema.json * Update helm-tests/tests/helm_tests/airflow_core/test_api_server.py --------- Signed-off-by: Lucas Roesler Co-authored-by: rom sharon <33751805+romsharon98@users.noreply.github.com> --- chart/values.schema.json | 40 ++++++++++++++++++- .../airflow_core/test_api_server.py | 25 ++++++++++-- 2 files changed, 59 insertions(+), 6 deletions(-) diff --git a/chart/values.schema.json b/chart/values.schema.json index 9636d3a07e566..2795a342a93c3 100644 --- a/chart/values.schema.json +++ b/chart/values.schema.json @@ -5454,11 +5454,47 @@ }, "value": { "type": "string" + }, + "valueFrom": { + "type": "object", + "properties": { + "configMapKeyRef": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector", + "description": "Selects a key of a ConfigMap." + }, + "secretKeyRef": { + "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector", + "description": "Selects a key of a secret in the pod's namespace" + } + }, + "anyOf": [ + { + "required": [ + "configMapKeyRef" + ] + }, + { + "required": [ + "secretKeyRef" + ] + } + ] } }, "required": [ - "name", - "value" + "name" + ], + "anyOf": [ + { + "required": [ + "value" + ] + }, + { + "required": [ + "valueFrom" + ] + } ], "additionalProperties": false } diff --git a/helm-tests/tests/helm_tests/airflow_core/test_api_server.py b/helm-tests/tests/helm_tests/airflow_core/test_api_server.py index 97b3b64690e23..77bf475b6b739 100644 --- a/helm-tests/tests/helm_tests/airflow_core/test_api_server.py +++ b/helm-tests/tests/helm_tests/airflow_core/test_api_server.py @@ -94,15 +94,32 @@ def test_should_add_extraEnvs(self): docs = render_chart( values={ "apiServer": { - "env": [{"name": "TEST_ENV_1", "value": "test_env_1"}], + "env": [ + {"name": "TEST_ENV_1", "value": "test_env_1"}, + { + "name": "TEST_ENV_2", + "valueFrom": {"configMapKeyRef": {"name": "test-config", "key": "test-key"}}, + }, + { + "name": "TEST_ENV_3", + "valueFrom": {"secretKeyRef": {"name": "test-secret", "key": "test-key"}}, + }, + ], }, }, show_only=["templates/api-server/api-server-deployment.yaml"], ) - assert {"name": "TEST_ENV_1", "value": "test_env_1"} in jmespath.search( - "spec.template.spec.containers[0].env", docs[0] - ) + env_result = jmespath.search("spec.template.spec.containers[0].env", docs[0]) + assert {"name": "TEST_ENV_1", "value": "test_env_1"} in env_result + assert { + "name": "TEST_ENV_2", + "valueFrom": {"configMapKeyRef": {"name": "test-config", "key": "test-key"}}, + } in env_result + assert { + "name": "TEST_ENV_3", + "valueFrom": {"secretKeyRef": {"name": "test-secret", "key": "test-key"}}, + } in env_result def test_should_add_extra_volume_and_extra_volume_mount(self): docs = render_chart( From 4114c7e42f23bf4e0070d27cb98bd8accbe2e87b Mon Sep 17 00:00:00 2001 From: roach231428 Date: Sun, 22 Jun 2025 16:20:05 +0800 Subject: [PATCH 037/381] Fix HDFS remote_base to use path for compatibility with hdfs client (#50804) * Fix: use relative HDFS path instead of full URL for remote_base * fix: correct mistakenly edited block in remote base log provider --- .../src/airflow/config_templates/airflow_local_settings.py | 2 +- .../src/airflow/providers/apache/hdfs/log/hdfs_task_handler.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow-core/src/airflow/config_templates/airflow_local_settings.py b/airflow-core/src/airflow/config_templates/airflow_local_settings.py index 3cade5678261c..cb1cc364e2ca6 100644 --- a/airflow-core/src/airflow/config_templates/airflow_local_settings.py +++ b/airflow-core/src/airflow/config_templates/airflow_local_settings.py @@ -250,7 +250,7 @@ **( { "base_log_folder": BASE_LOG_FOLDER, - "remote_base": remote_base_log_folder, + "remote_base": urlsplit(remote_base_log_folder).path, "delete_local_copy": delete_local_copy, } | remote_task_handler_kwargs diff --git a/providers/apache/hdfs/src/airflow/providers/apache/hdfs/log/hdfs_task_handler.py b/providers/apache/hdfs/src/airflow/providers/apache/hdfs/log/hdfs_task_handler.py index 4de610203416c..b0b89aad6c70c 100644 --- a/providers/apache/hdfs/src/airflow/providers/apache/hdfs/log/hdfs_task_handler.py +++ b/providers/apache/hdfs/src/airflow/providers/apache/hdfs/log/hdfs_task_handler.py @@ -94,7 +94,7 @@ def __init__(self, base_log_folder: str, hdfs_log_folder: str, **kwargs): self.upload_on_close = True self.io = HdfsRemoteLogIO( - remote_base=hdfs_log_folder, + remote_base=self.remote_base, base_log_folder=base_log_folder, delete_local_copy=kwargs.get( "delete_local_copy", conf.getboolean("logging", "delete_local_logs") From 8e21e7c9d1f5ad46a34f3b0a22e978066765b779 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Sun, 22 Jun 2025 14:02:50 +0530 Subject: [PATCH 038/381] Introducing fixture to create `Connections` without DB in provider tests (#51930) * Adding a fixture for creating connections * changing the simpler occurences * using env backend * some more occurences, covers all setup_method mostly * incremental update * another incremental update * fixing kafka integration tests * fixing git provider tests * fixing smtp provider tests * attempt 1: fixing telegram tests * reverting changes to telegram provider * trying to use as_json instead --- .../src/tests_common/pytest_plugin.py | 17 +++ .../tests/unit/airbyte/hooks/test_airbyte.py | 8 +- .../unit/airbyte/operators/test_airbyte.py | 9 +- .../unit/airbyte/sensors/test_airbyte.py | 6 +- .../unit/airbyte/triggers/test_airbyte.py | 8 +- .../tests/unit/amazon/aws/hooks/test_chime.py | 8 +- .../amazon/aws/notifications/test_chime.py | 6 +- .../aws/transfers/test_google_api_to_s3.py | 8 +- .../amazon/aws/transfers/test_s3_to_sql.py | 8 +- .../apache/cassandra/hooks/test_cassandra.py | 8 +- .../flink/operators/test_flink_kubernetes.py | 9 +- .../flink/sensors/test_flink_kubernetes.py | 13 +- .../apache/kafka/hooks/test_admin_client.py | 6 +- .../apache/kafka/hooks/test_consumer.py | 6 +- .../apache/kafka/hooks/test_producer.py | 6 +- .../apache/kafka/operators/test_consume.py | 33 ++--- .../apache/kafka/operators/test_produce.py | 19 ++- .../kafka/triggers/test_await_message.py | 33 +++-- .../unit/apache/kafka/hooks/test_client.py | 8 +- .../unit/apache/kafka/hooks/test_consume.py | 8 +- .../unit/apache/kafka/hooks/test_produce.py | 8 +- .../apache/kafka/operators/test_consume.py | 6 +- .../apache/kafka/operators/test_produce.py | 6 +- .../unit/apache/kafka/sensors/test_kafka.py | 6 +- .../kafka/triggers/test_await_message.py | 6 +- .../apache/kafka/triggers/test_msg_queue.py | 8 +- .../tests/unit/apache/livy/hooks/test_livy.py | 57 ++++---- .../unit/apache/livy/operators/test_livy.py | 7 +- .../unit/apache/livy/sensors/test_livy.py | 9 +- .../apache/spark/decorators/test_pyspark.py | 11 +- .../apache/spark/hooks/test_spark_connect.py | 10 +- .../apache/spark/hooks/test_spark_jdbc.py | 14 +- .../unit/apache/spark/hooks/test_spark_sql.py | 8 +- .../apache/spark/hooks/test_spark_submit.py | 28 ++-- .../unit/arangodb/hooks/test_arangodb.py | 6 +- .../unit/arangodb/sensors/test_arangodb.py | 7 +- .../unit/asana/operators/test_asana_tasks.py | 7 +- .../cncf/kubernetes/hooks/test_kubernetes.py | 18 ++- .../operators/test_spark_kubernetes.py | 16 ++- .../sensors/test_spark_kubernetes.py | 11 +- .../unit/datadog/sensors/test_datadog.py | 6 +- .../tests/unit/dbt/cloud/hooks/test_dbt.py | 14 +- .../unit/dbt/cloud/operators/test_dbt.py | 10 +- .../tests/unit/dbt/cloud/sensors/test_dbt.py | 17 +-- .../unit/dingding/hooks/test_dingding.py | 6 +- .../discord/hooks/test_discord_webhook.py | 6 +- .../discord/notifications/test_discord.py | 5 +- .../ftp/tests/unit/ftp/hooks/test_ftp.py | 12 +- .../git/tests/unit/git/bundles/test_git.py | 16 ++- .../git/tests/unit/git/hooks/test_git.py | 22 ++-- .../tests/unit/github/hooks/test_github.py | 7 +- .../unit/github/operators/test_github.py | 16 ++- .../tests/unit/github/sensors/test_github.py | 16 ++- .../google/common/hooks/test_discovery_api.py | 10 +- .../imap/tests/unit/imap/hooks/test_imap.py | 14 +- .../jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 6 +- .../unit/mysql/transfers/test_s3_to_mysql.py | 8 +- .../tests/unit/opensearch/conftest.py | 6 +- .../unit/opsgenie/hooks/test_opsgenie.py | 10 +- .../unit/pagerduty/hooks/test_pagerduty.py | 9 +- .../pagerduty/hooks/test_pagerduty_events.py | 9 +- .../smtp/tests/unit/smtp/hooks/test_smtp.py | 30 +++-- .../ssh/tests/unit/ssh/hooks/test_ssh.py | 124 +++++++----------- .../tests/unit/tableau/hooks/test_tableau.py | 12 +- .../unit/telegram/hooks/test_telegram.py | 2 +- .../unit/telegram/operators/test_telegram.py | 8 +- .../tests/unit/zendesk/hooks/test_zendesk.py | 5 +- 67 files changed, 466 insertions(+), 416 deletions(-) diff --git a/devel-common/src/tests_common/pytest_plugin.py b/devel-common/src/tests_common/pytest_plugin.py index be88afa90be38..242723bad583e 100644 --- a/devel-common/src/tests_common/pytest_plugin.py +++ b/devel-common/src/tests_common/pytest_plugin.py @@ -2491,3 +2491,20 @@ def testing_dag_bundle(): if session.query(DagBundleModel).filter(DagBundleModel.name == "testing").count() == 0: testing = DagBundleModel(name="testing") session.add(testing) + + +@pytest.fixture +def create_connection_without_db(monkeypatch): + """ + Fixture to create connections for tests without using the database. + + This fixture uses monkeypatch to set the appropriate AIRFLOW_CONN_{conn_id} environment variable. + """ + + def _create_conn(connection, session=None): + """Create connection using environment variable.""" + + env_var_name = f"AIRFLOW_CONN_{connection.conn_id.upper()}" + monkeypatch.setenv(env_var_name, connection.as_json()) + + return _create_conn diff --git a/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py index afbbee65f10c4..1672a373bc8b7 100644 --- a/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py @@ -26,7 +26,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.airbyte.hooks.airbyte import AirbyteHook -from airflow.utils import db # those tests will not work with database isolation because they mock requests pytestmark = pytest.mark.db_test @@ -55,8 +54,9 @@ class TestAirbyteHook: _mock_job_status_success_response_body = {"job": {"status": "succeeded"}} _mock_job_cancel_status = "cancelled" - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=self.airbyte_conn_id, conn_type=self.conn_type, @@ -64,7 +64,7 @@ def setup_method(self): port=self.port, ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=self.airbyte_conn_id_with_proxy, conn_type=self.conn_type, diff --git a/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py index f13cf2fa30c68..b7d6e9f6bdb35 100644 --- a/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.airbyte.operators.airbyte import AirbyteTriggerSyncOperator -from airflow.utils import db @pytest.mark.db_test @@ -41,9 +40,9 @@ class TestAirbyteTriggerSyncOp: @mock.patch("airbyte_api.jobs.Jobs.create_job") @mock.patch("airflow.providers.airbyte.hooks.airbyte.AirbyteHook.wait_for_job", return_value=None) - def test_execute(self, mock_wait_for_job, mock_submit_sync_connection): + def test_execute(self, mock_wait_for_job, mock_submit_sync_connection, create_connection_without_db): conn = Connection(conn_id=self.airbyte_conn_id, conn_type="airbyte", host="airbyte.com") - db.merge_conn(conn) + create_connection_without_db(conn) mock_response = mock.Mock() mock_response.job_response = JobResponse( connection_id="connection-mock", @@ -71,9 +70,9 @@ def test_execute(self, mock_wait_for_job, mock_submit_sync_connection): ) @mock.patch("airflow.providers.airbyte.hooks.airbyte.AirbyteHook.cancel_job") - def test_on_kill(self, mock_cancel_job): + def test_on_kill(self, mock_cancel_job, create_connection_without_db): conn = Connection(conn_id=self.airbyte_conn_id, conn_type="airbyte", host="airbyte.com") - db.merge_conn(conn) + create_connection_without_db(conn) op = AirbyteTriggerSyncOperator( task_id="test_Airbyte_op", diff --git a/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py index aefa0b568b327..bae1d7c2bc9a2 100644 --- a/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py @@ -25,7 +25,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.airbyte.sensors.airbyte import AirbyteJobSensor -from airflow.utils import db @pytest.mark.db_test @@ -46,8 +45,9 @@ def get_job(self, status): ) return response - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection(conn_id=self.airbyte_conn_id, conn_type="airbyte", host="http://test-airbyte") ) diff --git a/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py index 1fcbd68459cc8..995da3fc9108e 100644 --- a/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py @@ -27,7 +27,6 @@ from airflow.providers.airbyte.hooks.airbyte import AirbyteHook from airflow.providers.airbyte.triggers.airbyte import AirbyteSyncTrigger from airflow.triggers.base import TriggerEvent -from airflow.utils import db @pytest.mark.db_test @@ -39,8 +38,11 @@ class TestAirbyteSyncTrigger: END_TIME = time.time() + 60 * 60 * 24 * 7 POLL_INTERVAL = 3.0 - def setup_method(self): - db.merge_conn(Connection(conn_id=self.CONN_ID, conn_type="airbyte", host="http://test-airbyte")) + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection(conn_id=self.CONN_ID, conn_type="airbyte", host="http://test-airbyte") + ) def test_serialization(self): """Assert TestAirbyteSyncTrigger correctly serializes its arguments and classpath.""" diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py index 9a54218a0a40d..83ccf2055182a 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py @@ -24,7 +24,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.amazon.aws.hooks.chime import ChimeWebhookHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -42,8 +41,9 @@ class TestChimeWebhookHook: expected_payload = json.dumps(expected_payload_dict) - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="default-chime-webhook", conn_type="chime", @@ -52,7 +52,7 @@ def setup_method(self): schema="https", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="chime-bad-url", conn_type="chime", diff --git a/providers/amazon/tests/unit/amazon/aws/notifications/test_chime.py b/providers/amazon/tests/unit/amazon/aws/notifications/test_chime.py index 0ed86e561a6ae..9e325ae1e8559 100644 --- a/providers/amazon/tests/unit/amazon/aws/notifications/test_chime.py +++ b/providers/amazon/tests/unit/amazon/aws/notifications/test_chime.py @@ -25,15 +25,15 @@ from airflow.providers.amazon.aws.hooks.chime import ChimeWebhookHook from airflow.providers.amazon.aws.notifications.chime import ChimeNotifier, send_chime_notification from airflow.providers.standard.operators.empty import EmptyOperator -from airflow.utils import db pytestmark = pytest.mark.db_test class TestChimeNotifier: # Chime webhooks can't really have a default connection, so we need to create one for tests. - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="default-chime-webhook", conn_type="chime", diff --git a/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py b/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py index 06dd47978753c..e8f97104f392f 100644 --- a/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py +++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py @@ -24,15 +24,15 @@ from airflow import models from airflow.models.xcom import MAX_XCOM_SIZE from airflow.providers.amazon.aws.transfers.google_api_to_s3 import GoogleApiToS3Operator -from airflow.utils import db # This test mocks json.dumps so it won't work for database isolation mode pytestmark = pytest.mark.db_test class TestGoogleApiToS3: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( models.Connection( conn_id="google_test", host="google", @@ -42,7 +42,7 @@ def setup_method(self): password="client_secret", ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="s3_test", conn_type="s3", diff --git a/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_sql.py b/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_sql.py index 64a3c13219a05..2fa4c75b6abc8 100644 --- a/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_sql.py +++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_s3_to_sql.py @@ -24,15 +24,15 @@ from airflow import models from airflow.exceptions import AirflowException from airflow.providers.amazon.aws.transfers.s3_to_sql import S3ToSqlOperator -from airflow.utils import db from airflow.utils.session import create_session pytestmark = pytest.mark.db_test class TestS3ToSqlTransfer: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( models.Connection( conn_id="s3_test", conn_type="aws", @@ -41,7 +41,7 @@ def setup_method(self): ' "aws_secret_access_key"}', ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="sql_test", conn_type="postgres", diff --git a/providers/apache/cassandra/tests/integration/apache/cassandra/hooks/test_cassandra.py b/providers/apache/cassandra/tests/integration/apache/cassandra/hooks/test_cassandra.py index c27b72d3691b2..fd48d4998db68 100644 --- a/providers/apache/cassandra/tests/integration/apache/cassandra/hooks/test_cassandra.py +++ b/providers/apache/cassandra/tests/integration/apache/cassandra/hooks/test_cassandra.py @@ -31,13 +31,13 @@ from airflow.models import Connection from airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook -from airflow.utils import db @pytest.mark.integration("cassandra") class TestCassandraHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="cassandra_test", conn_type="cassandra", @@ -47,7 +47,7 @@ def setup_method(self): extra='{"load_balancing_policy":"TokenAwarePolicy","protocol_version":4}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="cassandra_default_with_schema", conn_type="cassandra", diff --git a/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py b/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py index 96e03fb0acd58..c9a4a5e8afffa 100644 --- a/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py +++ b/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py @@ -27,7 +27,7 @@ from airflow import DAG from airflow.models import Connection from airflow.providers.apache.flink.operators.flink_kubernetes import FlinkKubernetesOperator -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -188,11 +188,12 @@ @patch("airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook.get_conn") class TestFlinkKubernetesOperator: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection(conn_id="kubernetes_default_kube_config", conn_type="kubernetes", extra=json.dumps({})) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kubernetes_with_namespace", conn_type="kubernetes", diff --git a/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py b/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py index 9354c0ea02339..dfdc399d1e538 100644 --- a/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py +++ b/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py @@ -30,7 +30,7 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.apache.flink.sensors.flink_kubernetes import FlinkKubernetesSensor -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -866,16 +866,19 @@ @patch("airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook.get_conn") class TestFlinkKubernetesSensor: - def setup_method(self): - db.merge_conn(Connection(conn_id="kubernetes_default", conn_type="kubernetes", extra=json.dumps({}))) - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection(conn_id="kubernetes_default", conn_type="kubernetes", extra=json.dumps({})) + ) + create_connection_without_db( Connection( conn_id="kubernetes_default", conn_type="kubernetes", extra=json.dumps({}), ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kubernetes_with_namespace", conn_type="kubernetes", diff --git a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_admin_client.py b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_admin_client.py index d542b721eba0b..b9b70ffdad7f5 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_admin_client.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_admin_client.py @@ -23,15 +23,15 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.client import KafkaAdminClientHook -from airflow.utils import db client_config = {"socket.timeout.ms": 1000, "bootstrap.servers": "broker:29092", "group.id": "my-group"} @pytest.mark.integration("kafka") class TestKafkaAdminClientHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_consumer.py b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_consumer.py index 9cd9527631fb6..2fe41fd21e336 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_consumer.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_consumer.py @@ -26,7 +26,6 @@ # Import Hook from airflow.providers.apache.kafka.hooks.client import KafkaAdminClientHook from airflow.providers.apache.kafka.hooks.consume import KafkaConsumerHook -from airflow.utils import db TOPIC = "consumer_hook_test_1" @@ -44,8 +43,9 @@ class TestConsumerHook: Test consumer hook. """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_producer.py b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_producer.py index 8efe517b09e27..bc1dbb1472979 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_producer.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/hooks/test_producer.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.client import KafkaAdminClientHook from airflow.providers.apache.kafka.hooks.produce import KafkaProducerHook -from airflow.utils import db log = logging.getLogger(__name__) config = {"bootstrap.servers": "broker:29092", "group.id": "hook.producer.integration.test"} @@ -36,8 +35,9 @@ class TestProducerHook: Test consumer hook. """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_default", conn_type="kafka", diff --git a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py index a069ae66e9fdd..772c9317fafab 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py @@ -20,6 +20,7 @@ import json import logging +import os from typing import Any import pytest @@ -29,7 +30,6 @@ # Import Operator from airflow.providers.apache.kafka.operators.consume import ConsumeFromTopicOperator -from airflow.utils import db log = logging.getLogger(__name__) @@ -58,23 +58,26 @@ class TestConsumeFromTopic: """ def setup_method(self): + """Set up connections for each test method.""" + # Create separate connections for each test for num in (1, 2, 3): - db.merge_conn( - Connection( - conn_id=f"operator.consumer.test.integration.test_{num}", - conn_type="kafka", - extra=json.dumps( - { - "socket.timeout.ms": 10, - "bootstrap.servers": "broker:29092", - "group.id": f"operator.consumer.test.integration.test_{num}", - "enable.auto.commit": False, - "auto.offset.reset": "beginning", - } - ), - ) + conn = Connection( + conn_id=f"operator.consumer.test.integration.test_{num}", + conn_type="kafka", + extra=json.dumps( + { + "socket.timeout.ms": 10, + "bootstrap.servers": "broker:29092", + "group.id": f"operator.consumer.test.integration.test_{num}", + "enable.auto.commit": False, + "auto.offset.reset": "beginning", + } + ), ) + env_var_name = f"AIRFLOW_CONN_{conn.conn_id.upper()}" + os.environ[env_var_name] = conn.get_uri() + def test_consumer_operator_test_1(self): """test consumer works with string import""" diff --git a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py index 3662d5465a5e6..ee73c133b4195 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py @@ -18,13 +18,13 @@ import json import logging +import os import pytest from confluent_kafka import Consumer from airflow.models import Connection from airflow.providers.apache.kafka.operators.produce import ProduceToTopicOperator -from airflow.utils import db log = logging.getLogger(__name__) @@ -41,21 +41,26 @@ class TestProduceToTopic: """ def setup_method(self): - GROUP = "operator.producer.test.integration.test_1" - db.merge_conn( - Connection( - conn_id="kafka_default", + """Set up connections for each test method.""" + # Create separate connections for each test + for num in (1, 2): + group = f"operator.producer.test.integration.test_{num}" + conn = Connection( + conn_id=f"kafka_default_test_{num}", conn_type="kafka", extra=json.dumps( { "socket.timeout.ms": 10, "message.timeout.ms": 10, "bootstrap.servers": "broker:29092", - "group.id": GROUP, + "group.id": group, } ), ) - ) + + # Set environment variable directly (like create_connection_without_db does) + env_var_name = f"AIRFLOW_CONN_{conn.conn_id.upper()}" + os.environ[env_var_name] = conn.get_uri() def test_producer_operator_test_1(self): GROUP = "operator.producer.test.integration.test_1" diff --git a/providers/apache/kafka/tests/integration/apache/kafka/triggers/test_await_message.py b/providers/apache/kafka/tests/integration/apache/kafka/triggers/test_await_message.py index ddf5dd8c3028e..1f239c505c0e6 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/triggers/test_await_message.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/triggers/test_await_message.py @@ -23,7 +23,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.triggers.await_message import AwaitMessageTrigger -from airflow.utils import db GROUP = "trigger.await_message.test.integration.test_1" TOPIC = "trigger.await_message.test.integration.test_1" @@ -36,23 +35,23 @@ def _apply_function(message): @pytest.mark.integration("kafka") class TestTrigger: - def setup_method(self): - for num in [1]: - db.merge_conn( - Connection( - conn_id=f"trigger.await_message.test.integration.test_{num}", - conn_type="kafka", - extra=json.dumps( - { - "socket.timeout.ms": 10, - "bootstrap.servers": "broker:29092", - "group.id": f"trigger.await_message.test.integration.test_{num}", - "enable.auto.commit": False, - "auto.offset.reset": "beginning", - } - ), - ) + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection( + conn_id="trigger.await_message.test.integration.test_1", + conn_type="kafka", + extra=json.dumps( + { + "socket.timeout.ms": 10, + "bootstrap.servers": "broker:29092", + "group.id": "trigger.await_message.test.integration.test_1", + "enable.auto.commit": False, + "auto.offset.reset": "beginning", + } + ), ) + ) @pytest.mark.asyncio async def test_trigger_await_message_test_1(self): diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py index a56319809b0ee..568032b495798 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py @@ -26,7 +26,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.client import KafkaAdminClientHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -34,8 +33,9 @@ class TestKafkaAdminClientHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", @@ -45,7 +45,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kafka_bad", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py index dbe5470d78a85..cb0b9d0846c50 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py @@ -26,7 +26,6 @@ # Import Hook from airflow.providers.apache.kafka.hooks.consume import KafkaConsumerHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -36,8 +35,9 @@ class TestConsumerHook: Test consumer hook. """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", @@ -47,7 +47,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kafka_bad", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py index ed360f7011de5..6e5074bddb1ee 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py @@ -25,7 +25,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.produce import KafkaProducerHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -38,8 +37,9 @@ class TestProducerHook: Test consumer hook. """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", @@ -49,7 +49,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kafka_bad", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py index 01a28495d8e65..35221ac38065a 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py @@ -27,7 +27,6 @@ # Import Operator from airflow.providers.apache.kafka.operators.consume import ConsumeFromTopicOperator -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -49,8 +48,9 @@ class TestConsumeFromTopic: Test ConsumeFromTopic """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py index 614da388ae12a..94017ea962abb 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.operators.produce import ProduceToTopicOperator -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -49,8 +48,9 @@ class TestProduceToTopic: Test ConsumeFromTopic """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py b/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py index 04b50a970feea..a4cc68d512e57 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py @@ -25,7 +25,6 @@ from airflow.exceptions import TaskDeferred from airflow.models import Connection from airflow.providers.apache.kafka.sensors.kafka import AwaitMessageSensor, AwaitMessageTriggerFunctionSensor -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -42,8 +41,9 @@ class TestSensors: Test Sensors """ - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py index bdd8ea38dede5..194c772a80213 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.consume import KafkaConsumerHook from airflow.providers.apache.kafka.triggers.await_message import AwaitMessageTrigger -from airflow.utils import db from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS, get_base_airflow_version_tuple @@ -59,8 +58,9 @@ def commit(*args, **kwargs): class TestTrigger: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", diff --git a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py index 591b8577e025c..7e960ca1599e3 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py @@ -23,7 +23,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.consume import KafkaConsumerHook -from airflow.utils import db from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS, get_base_airflow_version_tuple @@ -62,8 +61,9 @@ def commit(*args, **kwargs): class TestMessageQueueTrigger: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="kafka_d", conn_type="kafka", @@ -72,7 +72,7 @@ def setup_method(self): ), ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kafka_multi_bootstraps", conn_type="kafka", diff --git a/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py index 2a1101ab44e68..c03614b2fa5c1 100644 --- a/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py @@ -29,7 +29,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.apache.livy.hooks.livy import BatchState, LivyAsyncHook, LivyHook -from airflow.utils import db from tests_common.test_utils.db import clear_db_connections @@ -58,7 +57,15 @@ class TestLivyDbHook: @classmethod def setup_class(cls): clear_db_connections(add_default_connections_back=False) - db.merge_conn( + + @classmethod + def teardown_class(cls): + clear_db_connections(add_default_connections_back=True) + + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=DEFAULT_CONN_ID, conn_type="http", @@ -67,25 +74,23 @@ def setup_class(cls): port=DEFAULT_PORT, ) ) - db.merge_conn(Connection(conn_id="default_port", conn_type="http", host="http://host")) - db.merge_conn(Connection(conn_id="default_protocol", conn_type="http", host="host")) - db.merge_conn(Connection(conn_id="port_set", host="host", conn_type="http", port=1234)) - db.merge_conn(Connection(conn_id="schema_set", host="host", conn_type="http", schema="https")) - db.merge_conn( + create_connection_without_db(Connection(conn_id="default_port", conn_type="http", host="http://host")) + create_connection_without_db(Connection(conn_id="default_protocol", conn_type="http", host="host")) + create_connection_without_db(Connection(conn_id="port_set", host="host", conn_type="http", port=1234)) + create_connection_without_db( + Connection(conn_id="schema_set", host="host", conn_type="http", schema="https") + ) + create_connection_without_db( Connection(conn_id="dont_override_schema", conn_type="http", host="http://host", schema="https") ) - db.merge_conn(Connection(conn_id="missing_host", conn_type="http", port=1234)) - db.merge_conn(Connection(conn_id="invalid_uri", uri="http://invalid_uri:4321")) - db.merge_conn( + create_connection_without_db(Connection(conn_id="missing_host", conn_type="http", port=1234)) + create_connection_without_db(Connection(conn_id="invalid_uri", uri="http://invalid_uri:4321")) + create_connection_without_db( Connection( conn_id="with_credentials", login="login", password="secret", conn_type="http", host="host" ) ) - @classmethod - def teardown_class(cls): - clear_db_connections(add_default_connections_back=True) - @pytest.mark.db_test @pytest.mark.parametrize( "conn_id, expected", @@ -730,23 +735,25 @@ async def mock_fun(arg1, arg2, arg3, arg4): response = await hook._do_api_call_async(GET_RUN_ENDPOINT) assert response["status"] == "error" - def set_conn(self): - db.merge_conn( + @pytest.fixture + def setup_livy_conn(self, create_connection_without_db): + create_connection_without_db( Connection(conn_id=LIVY_CONN_ID, conn_type="http", host="host", schema="http", port=8998) ) - db.merge_conn(Connection(conn_id="default_port", conn_type="http", host="http://host")) - db.merge_conn(Connection(conn_id="default_protocol", conn_type="http", host="host")) - db.merge_conn(Connection(conn_id="port_set", host="host", conn_type="http", port=1234)) - db.merge_conn(Connection(conn_id="schema_set", host="host", conn_type="http", schema="zzz")) - db.merge_conn( + create_connection_without_db(Connection(conn_id="default_port", conn_type="http", host="http://host")) + create_connection_without_db(Connection(conn_id="default_protocol", conn_type="http", host="host")) + create_connection_without_db(Connection(conn_id="port_set", host="host", conn_type="http", port=1234)) + create_connection_without_db( + Connection(conn_id="schema_set", host="host", conn_type="http", schema="zzz") + ) + create_connection_without_db( Connection(conn_id="dont_override_schema", conn_type="http", host="http://host", schema="zzz") ) - db.merge_conn(Connection(conn_id="missing_host", conn_type="http", port=1234)) - db.merge_conn(Connection(conn_id="invalid_uri", uri="http://invalid_uri:4321")) + create_connection_without_db(Connection(conn_id="missing_host", conn_type="http", port=1234)) + create_connection_without_db(Connection(conn_id="invalid_uri", uri="http://invalid_uri:4321")) @pytest.mark.db_test - def test_build_get_hook(self): - self.set_conn() + def test_build_get_hook(self, setup_livy_conn): connection_url_mapping = { # id, expected "default_port": "http://host", diff --git a/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py index d4e0034690e18..f808210fbd547 100644 --- a/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py @@ -26,7 +26,7 @@ from airflow.models.dag import DAG from airflow.providers.apache.livy.hooks.livy import BatchState from airflow.providers.apache.livy.operators.livy import LivyOperator -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -39,10 +39,11 @@ class TestLivyOperator: - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): args = {"owner": "airflow", "start_date": DEFAULT_DATE} self.dag = DAG("test_dag_id", schedule=None, default_args=args) - db.merge_conn( + create_connection_without_db( Connection( conn_id="livyunittest", conn_type="livy", host="localhost:8998", port="8998", schema="http" ) diff --git a/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py index af4ce5fd71bde..5b785fe3bfac4 100644 --- a/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py @@ -24,7 +24,7 @@ from airflow.models.dag import DAG from airflow.providers.apache.livy.hooks.livy import BatchState, LivyHook from airflow.providers.apache.livy.sensors.livy import LivySensor -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -33,10 +33,13 @@ class TestLivySensor: - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): args = {"owner": "airflow", "start_date": DEFAULT_DATE} self.dag = DAG("test_dag_id", schedule=None, default_args=args) - db.merge_conn(Connection(conn_id="livyunittest", conn_type="livy", host="http://localhost:8998")) + create_connection_without_db( + Connection(conn_id="livyunittest", conn_type="livy", host="http://localhost:8998") + ) @pytest.mark.parametrize( "batch_state", [pytest.param(bs, id=bs.name) for bs in BatchState if bs in LivyHook.TERMINAL_STATES] diff --git a/providers/apache/spark/tests/unit/apache/spark/decorators/test_pyspark.py b/providers/apache/spark/tests/unit/apache/spark/decorators/test_pyspark.py index e2c9ee9b89954..4cb7816c92cde 100644 --- a/providers/apache/spark/tests/unit/apache/spark/decorators/test_pyspark.py +++ b/providers/apache/spark/tests/unit/apache/spark/decorators/test_pyspark.py @@ -23,7 +23,7 @@ from airflow.decorators import task from airflow.models import Connection -from airflow.utils import db, timezone +from airflow.utils import timezone DEFAULT_DATE = timezone.datetime(2021, 9, 1) @@ -48,8 +48,9 @@ def set(self, key: str, value: Any) -> None: class TestPysparkDecorator: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="pyspark_local", conn_type="spark", @@ -58,7 +59,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark-connect", conn_type="spark", @@ -67,7 +68,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark-connect-auth", conn_type="spark_connect", diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py index 936432e955a5c..1174ec2ff4869 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py @@ -21,14 +21,14 @@ from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_connect import SparkConnectHook -from airflow.utils import db pytestmark = pytest.mark.db_test class TestSparkConnectHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="spark-default", conn_type="spark_connect", @@ -40,7 +40,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark-test", conn_type="spark_connect", @@ -49,7 +49,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark-app", conn_type="spark_connect", diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py index 9973a56ca959c..9f6e034c62853 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py @@ -23,7 +23,6 @@ from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_jdbc import SparkJDBCHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -64,8 +63,9 @@ class TestSparkJDBCHook: "create_table_column_types": "columnMcColumnFace INTEGER(100), name CHAR(64),comments VARCHAR(1024)", } - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="spark-default", conn_type="spark", @@ -73,7 +73,7 @@ def setup_method(self): extra='{"queue": "root.etl", "deploy-mode": "cluster"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="jdbc-default", conn_type="postgres", @@ -85,7 +85,7 @@ def setup_method(self): extra='{"conn_prefix":"jdbc:postgresql://"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="jdbc-invalid-host", conn_type="postgres", @@ -97,7 +97,7 @@ def setup_method(self): extra='{"conn_prefix":"jdbc:postgresql://"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="jdbc-invalid-schema", conn_type="postgres", @@ -109,7 +109,7 @@ def setup_method(self): extra='{"conn_prefix":"jdbc:postgresql://"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="jdbc-invalid-extra-conn-prefix", conn_type="postgres", diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py index b6d9bd704c4a0..96e69aaeb9ab7 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py @@ -26,7 +26,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_sql import SparkSqlHook -from airflow.utils import db from tests_common.test_utils.db import clear_db_connections @@ -68,7 +67,12 @@ class TestSparkSqlHook: @classmethod def setup_class(cls) -> None: clear_db_connections(add_default_connections_back=False) - db.merge_conn(Connection(conn_id="spark_default", conn_type="spark", host="yarn://yarn-master")) + + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection(conn_id="spark_default", conn_type="spark", host="yarn://yarn-master") + ) @classmethod def teardown_class(cls) -> None: diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py index cdd2434981419..b41534baa2fd1 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py @@ -28,7 +28,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_submit import SparkSubmitHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -76,8 +75,9 @@ def cmd_args_to_dict(list_cmd): return_dict[arg1] = arg2 return return_dict - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="spark_yarn_cluster", conn_type="spark", @@ -85,7 +85,7 @@ def setup_method(self): extra='{"queue": "root.etl", "deploy-mode": "cluster"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_k8s_cluster", conn_type="spark", @@ -93,7 +93,7 @@ def setup_method(self): extra='{"deploy-mode": "cluster", "namespace": "mynamespace"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_k8s_client", conn_type="spark", @@ -101,11 +101,11 @@ def setup_method(self): extra='{"deploy-mode": "client", "namespace": "mynamespace"}', ) ) - db.merge_conn( + create_connection_without_db( Connection(conn_id="spark_default_mesos", conn_type="spark", host="mesos://host", port=5050) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_binary_set", conn_type="spark", @@ -113,7 +113,7 @@ def setup_method(self): extra='{"spark-binary": "spark2-submit"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_binary_set_spark3_submit", conn_type="spark", @@ -121,7 +121,7 @@ def setup_method(self): extra='{"spark-binary": "spark3-submit"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_custom_binary_set", conn_type="spark", @@ -129,7 +129,7 @@ def setup_method(self): extra='{"spark-binary": "spark-other-submit"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_home_set", conn_type="spark", @@ -137,7 +137,7 @@ def setup_method(self): extra='{"spark-home": "/custom/spark-home/path"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_standalone_cluster", conn_type="spark", @@ -145,7 +145,7 @@ def setup_method(self): extra='{"deploy-mode": "cluster"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_standalone_cluster_client_mode", conn_type="spark", @@ -153,7 +153,7 @@ def setup_method(self): extra='{"deploy-mode": "client"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_principal_set", conn_type="spark", @@ -161,7 +161,7 @@ def setup_method(self): extra='{"principal": "user/spark@airflow.org"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="spark_keytab_set", conn_type="spark", diff --git a/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py b/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py index 6a8d2916d95fa..5773b498b5186 100644 --- a/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py +++ b/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py @@ -23,7 +23,6 @@ from airflow.models import Connection from airflow.providers.arangodb.hooks.arangodb import ArangoDBHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -32,8 +31,9 @@ class TestArangoDBHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="arangodb_default", conn_type="arangodb", diff --git a/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py b/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py index 89615d6cb7f29..4c47cfb6706c9 100644 --- a/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py +++ b/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py @@ -24,7 +24,7 @@ from airflow.models import Connection from airflow.models.dag import DAG from airflow.providers.arangodb.sensors.arangodb import AQLSensor -from airflow.utils import db, timezone +from airflow.utils import timezone # The tests do not create dag runs, so db isolation tests are skipped pytestmark = pytest.mark.db_test @@ -35,11 +35,12 @@ class TestAQLSensor: - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): args = {"owner": "airflow", "start_date": DEFAULT_DATE} dag = DAG("test_dag_id", schedule=None, default_args=args) self.dag = dag - db.merge_conn( + create_connection_without_db( Connection( conn_id="arangodb_default", conn_type="arangodb", diff --git a/providers/asana/tests/unit/asana/operators/test_asana_tasks.py b/providers/asana/tests/unit/asana/operators/test_asana_tasks.py index 0b12f7aa55a03..0e4d02f5ff1b6 100644 --- a/providers/asana/tests/unit/asana/operators/test_asana_tasks.py +++ b/providers/asana/tests/unit/asana/operators/test_asana_tasks.py @@ -29,7 +29,7 @@ AsanaFindTaskOperator, AsanaUpdateTaskOperator, ) -from airflow.utils import db, timezone +from airflow.utils import timezone # The tests do not create dag runs, so db isolation tests are skipped pytestmark = pytest.mark.db_test @@ -45,11 +45,12 @@ class TestAsanaTaskOperators: Test that the AsanaTaskOperators are using the python-asana methods as expected. """ - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): args = {"owner": "airflow", "start_date": DEFAULT_DATE} dag = DAG(TEST_DAG_ID, schedule=timedelta(days=1), default_args=args) self.dag = dag - db.merge_conn(Connection(conn_id="asana_test", conn_type="asana", password="test")) + create_connection_without_db(Connection(conn_id="asana_test", conn_type="asana", password="test")) @patch("airflow.providers.asana.hooks.asana.TasksApi", autospec=True, return_value=asana_tasks_api_mock) def test_asana_create_task_operator(self, mock_tasks_api): diff --git a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py index 97d00a5c3b26f..4f28a305cbe2e 100644 --- a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py +++ b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py @@ -37,7 +37,6 @@ from airflow.hooks.base import BaseHook from airflow.models import Connection from airflow.providers.cncf.kubernetes.hooks.kubernetes import AsyncKubernetesHook, KubernetesHook -from airflow.utils import db from airflow.utils.db import merge_conn from tests_common.test_utils.db import clear_db_connections @@ -94,9 +93,13 @@ def remove_default_conn(session): class TestKubernetesHook: - @classmethod - def setup_class(cls) -> None: - for conn_id, extra in [ + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + """Create test connections for Kubernetes hook tests.""" + import json + + connections = [ ("in_cluster", {"in_cluster": True}), ("in_cluster_empty", {"in_cluster": ""}), ("kube_config", {"kube_config": '{"test": "kube"}'}), @@ -128,8 +131,11 @@ def setup_class(cls) -> None: }, ), ("sidecar_container_resources_empty", {"xcom_sidecar_container_resources": ""}), - ]: - db.merge_conn(Connection(conn_type="kubernetes", conn_id=conn_id, extra=json.dumps(extra))) + ] + for conn_id, extra in connections: + create_connection_without_db( + Connection(conn_type="kubernetes", conn_id=conn_id, extra=json.dumps(extra)) + ) @classmethod def teardown_class(cls) -> None: diff --git a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py index e0edaf89a6b8a..ff30d9ac79750 100644 --- a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py +++ b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py @@ -35,7 +35,7 @@ from airflow.models import Connection, DagRun, TaskInstance from airflow.providers.cncf.kubernetes.operators.spark_kubernetes import SparkKubernetesOperator from airflow.providers.cncf.kubernetes.pod_generator import MAX_LABEL_LEN -from airflow.utils import db, timezone +from airflow.utils import timezone from airflow.utils.types import DagRunType from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS @@ -231,11 +231,12 @@ def create_context(task): @patch("kubernetes.client.api.custom_objects_api.CustomObjectsApi.get_namespaced_custom_object_status") @patch("kubernetes.client.api.custom_objects_api.CustomObjectsApi.create_namespaced_custom_object") class TestSparkKubernetesOperatorCreateApplication: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection(conn_id="kubernetes_default_kube_config", conn_type="kubernetes", extra=json.dumps({})) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kubernetes_with_namespace", conn_type="kubernetes", @@ -482,11 +483,12 @@ def test_template_spec( @patch("kubernetes.client.api.custom_objects_api.CustomObjectsApi.get_namespaced_custom_object_status") @patch("kubernetes.client.api.custom_objects_api.CustomObjectsApi.create_namespaced_custom_object") class TestSparkKubernetesOperator: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection(conn_id="kubernetes_default_kube_config", conn_type="kubernetes", extra=json.dumps({})) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="kubernetes_with_namespace", conn_type="kubernetes", diff --git a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py index cd7ea51fdc6c6..d5cfde025fba6 100644 --- a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py +++ b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py @@ -27,7 +27,7 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.cncf.kubernetes.sensors.spark_kubernetes import SparkKubernetesSensor -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -555,9 +555,12 @@ @patch("airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook.get_conn") class TestSparkKubernetesSensor: - def setup_method(self): - db.merge_conn(Connection(conn_id="kubernetes_default", conn_type="kubernetes", extra=json.dumps({}))) - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection(conn_id="kubernetes_default", conn_type="kubernetes", extra=json.dumps({})) + ) + create_connection_without_db( Connection( conn_id="kubernetes_with_namespace", conn_type="kubernetes", diff --git a/providers/datadog/tests/unit/datadog/sensors/test_datadog.py b/providers/datadog/tests/unit/datadog/sensors/test_datadog.py index 4bc28b39bbc8f..2dc81e01a81c8 100644 --- a/providers/datadog/tests/unit/datadog/sensors/test_datadog.py +++ b/providers/datadog/tests/unit/datadog/sensors/test_datadog.py @@ -25,7 +25,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.datadog.sensors.datadog import DatadogSensor -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -68,8 +67,9 @@ class TestDatadogSensor: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="datadog_default", conn_type="datadog", diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py index acf622b8812b4..b32877a7efea5 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py @@ -36,7 +36,7 @@ TokenAuth, fallback_to_default_account, ) -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -151,7 +151,9 @@ def test_invalid_terminal_job_run_status(self, statuses): class TestDbtCloudHook: - def setup_class(self): + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): # Connection with ``account_id`` specified account_id_conn = Connection( conn_id=ACCOUNT_ID_CONN, @@ -186,10 +188,10 @@ def setup_class(self): extra=EXTRA_PROXIES, ) - db.merge_conn(account_id_conn) - db.merge_conn(no_account_id_conn) - db.merge_conn(host_conn) - db.merge_conn(proxy_conn) + create_connection_without_db(account_id_conn) + create_connection_without_db(no_account_id_conn) + create_connection_without_db(host_conn) + create_connection_without_db(proxy_conn) @pytest.mark.parametrize( argnames="conn_id, url", diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py index 13ed5208030a2..9fe925ec54aa8 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py @@ -32,7 +32,7 @@ ) from airflow.providers.dbt.cloud.triggers.dbt import DbtCloudRunJobTrigger from airflow.providers.dbt.cloud.version_compat import AIRFLOW_V_3_0_PLUS -from airflow.utils import db, timezone +from airflow.utils import timezone if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult @@ -97,7 +97,9 @@ def mock_response_json(response: dict): return run_response -def setup_module(): +# TODO: Potential performance issue, converted setup_module to a setup_connections function level fixture +@pytest.fixture(autouse=True) +def setup_connections(create_connection_without_db): # Connection with ``account_id`` specified conn_account_id = Connection( conn_id=ACCOUNT_ID_CONN, @@ -113,8 +115,8 @@ def setup_module(): password=TOKEN, ) - db.merge_conn(conn_account_id) - db.merge_conn(conn_no_account_id) + create_connection_without_db(conn_account_id) + create_connection_without_db(conn_no_account_id) class TestDbtCloudRunJobOperator: diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py index 14dd82b1eacec..1bec86d4489b9 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py @@ -29,7 +29,6 @@ from airflow.providers.dbt.cloud.hooks.dbt import DbtCloudHook, DbtCloudJobRunException, DbtCloudJobRunStatus from airflow.providers.dbt.cloud.sensors.dbt import DbtCloudJobRunSensor from airflow.providers.dbt.cloud.triggers.dbt import DbtCloudRunJobTrigger -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -45,6 +44,15 @@ class TestDbtCloudJobRunSensor: DBT_RUN_ID = 1234 TIMEOUT = 300 + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + # Connection + conn = Connection( + conn_id="dbt", conn_type=DbtCloudHook.conn_type, login=str(ACCOUNT_ID), password=TOKEN + ) + create_connection_without_db(conn) + def setup_class(self): self.sensor = DbtCloudJobRunSensor( task_id="job_run_sensor", @@ -55,13 +63,6 @@ def setup_class(self): poke_interval=15, ) - # Connection - conn = Connection( - conn_id="dbt", conn_type=DbtCloudHook.conn_type, login=str(ACCOUNT_ID), password=TOKEN - ) - - db.merge_conn(conn) - def test_init(self): assert self.sensor.dbt_cloud_conn_id == "dbt" assert self.sensor.run_id == RUN_ID diff --git a/providers/dingding/tests/unit/dingding/hooks/test_dingding.py b/providers/dingding/tests/unit/dingding/hooks/test_dingding.py index c779437caeb3f..0832156a138a8 100644 --- a/providers/dingding/tests/unit/dingding/hooks/test_dingding.py +++ b/providers/dingding/tests/unit/dingding/hooks/test_dingding.py @@ -23,7 +23,6 @@ from airflow.models import Connection from airflow.providers.dingding.hooks.dingding import DingdingHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -31,8 +30,9 @@ class TestDingdingHook: conn_id = "dingding_conn_id_test" - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=self.conn_id, conn_type="dingding", diff --git a/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py b/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py index 3bd019ceffba0..bc61b45dff8b4 100644 --- a/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py +++ b/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py @@ -24,7 +24,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.discord.hooks.discord_webhook import DiscordWebhookHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -49,8 +48,9 @@ class TestDiscordWebhookHook: expected_payload = json.dumps(expected_payload_dict) - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="default-discord-webhook", conn_type="discord", diff --git a/providers/discord/tests/unit/discord/notifications/test_discord.py b/providers/discord/tests/unit/discord/notifications/test_discord.py index dcf426b6c17da..700751d0ceffe 100644 --- a/providers/discord/tests/unit/discord/notifications/test_discord.py +++ b/providers/discord/tests/unit/discord/notifications/test_discord.py @@ -23,14 +23,13 @@ from airflow.models import Connection from airflow.providers.discord.notifications.discord import DiscordNotifier -from airflow.utils import db pytestmark = pytest.mark.db_test @pytest.fixture(autouse=True) -def setup(): - db.merge_conn( +def setup_connections(create_connection_without_db): + create_connection_without_db( Connection( conn_id="my_discord_conn_id", conn_type="discord", diff --git a/providers/ftp/tests/unit/ftp/hooks/test_ftp.py b/providers/ftp/tests/unit/ftp/hooks/test_ftp.py index f0f5c623794ec..c2dd6ee2c9d47 100644 --- a/providers/ftp/tests/unit/ftp/hooks/test_ftp.py +++ b/providers/ftp/tests/unit/ftp/hooks/test_ftp.py @@ -143,19 +143,19 @@ def test_connection_failure(self): @pytest.mark.db_test class TestIntegrationFTPHook: - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): from airflow.models import Connection - from airflow.utils import db - db.merge_conn( + create_connection_without_db( Connection(conn_id="ftp_passive", conn_type="ftp", host="localhost", extra='{"passive": true}') ) - db.merge_conn( + create_connection_without_db( Connection(conn_id="ftp_active", conn_type="ftp", host="localhost", extra='{"passive": false}') ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="ftp_custom_port", conn_type="ftp", @@ -165,7 +165,7 @@ def setup_method(self): ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="ftp_custom_port_and_login", conn_type="ftp", diff --git a/providers/git/tests/unit/git/bundles/test_git.py b/providers/git/tests/unit/git/bundles/test_git.py index bac3cdb39c1a3..929f790115db9 100644 --- a/providers/git/tests/unit/git/bundles/test_git.py +++ b/providers/git/tests/unit/git/bundles/test_git.py @@ -32,7 +32,6 @@ from airflow.models import Connection from airflow.providers.git.bundles.git import GitDagBundle from airflow.providers.git.hooks.git import GitHook -from airflow.utils import db from tests_common.test_utils.config import conf_vars from tests_common.test_utils.db import clear_db_connections @@ -73,16 +72,21 @@ class TestGitDagBundle: def teardown_class(cls) -> None: clear_db_connections() - @classmethod - def setup_class(cls) -> None: - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db, request): + # Skip setup for tests that need to create their own connections + if request.function.__name__ in ["test_view_url", "test_view_url_subdir"]: + return + + create_connection_without_db( Connection( conn_id="git_default", host="git@github.com:apache/airflow.git", conn_type="git", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=CONN_HTTPS, host=AIRFLOW_HTTPS_URL, @@ -90,7 +94,7 @@ def setup_class(cls) -> None: conn_type="git", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=CONN_NO_REPO_URL, conn_type="git", diff --git a/providers/git/tests/unit/git/hooks/test_git.py b/providers/git/tests/unit/git/hooks/test_git.py index bdc86830f8ad7..db07f0bf4e349 100644 --- a/providers/git/tests/unit/git/hooks/test_git.py +++ b/providers/git/tests/unit/git/hooks/test_git.py @@ -25,7 +25,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.git.hooks.git import GitHook -from airflow.utils import db from tests_common.test_utils.config import conf_vars from tests_common.test_utils.db import clear_db_connections @@ -70,9 +69,10 @@ class TestGitHook: def teardown_class(cls) -> None: clear_db_connections() - @classmethod - def setup_class(cls) -> None: - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=CONN_DEFAULT, host=AIRFLOW_GIT, @@ -80,7 +80,7 @@ def setup_class(cls) -> None: extra='{"key_file": "/files/pkey.pem"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=CONN_HTTPS, host=AIRFLOW_HTTPS_URL, @@ -88,14 +88,14 @@ def setup_class(cls) -> None: conn_type="git", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=CONN_ONLY_PATH, host="path/to/repo", conn_type="git", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id=CONN_ONLY_INLINE_KEY, host="path/to/repo", @@ -123,13 +123,13 @@ def test_correct_repo_urls(self, conn_id, hook_kwargs, expected_repo_url): hook = GitHook(git_conn_id=conn_id, **hook_kwargs) assert hook.repo_url == expected_repo_url - def test_env_var_with_configure_hook_env(self, session): + def test_env_var_with_configure_hook_env(self, session, create_connection_without_db): default_hook = GitHook(git_conn_id=CONN_DEFAULT) with default_hook.configure_hook_env(): assert default_hook.env == { "GIT_SSH_COMMAND": "ssh -i /files/pkey.pem -o IdentitiesOnly=yes -o StrictHostKeyChecking=no" } - db.merge_conn( + create_connection_without_db( Connection( conn_id="my_git_conn_strict", host=AIRFLOW_GIT, @@ -144,8 +144,8 @@ def test_env_var_with_configure_hook_env(self, session): "GIT_SSH_COMMAND": "ssh -i /files/pkey.pem -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes" } - def test_given_both_private_key_and_key_file(self): - db.merge_conn( + def test_given_both_private_key_and_key_file(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=CONN_BOTH_PATH_INLINE, host="path/to/repo", diff --git a/providers/github/tests/unit/github/hooks/test_github.py b/providers/github/tests/unit/github/hooks/test_github.py index 61720e07c9474..f94c9b1c91c48 100644 --- a/providers/github/tests/unit/github/hooks/test_github.py +++ b/providers/github/tests/unit/github/hooks/test_github.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.github.hooks.github import GithubHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -33,8 +32,10 @@ class TestGithubHook: - def setup_class(self): - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="github_default", conn_type="github", diff --git a/providers/github/tests/unit/github/operators/test_github.py b/providers/github/tests/unit/github/operators/test_github.py index 7766eda69bc2a..0738e0ba6648d 100644 --- a/providers/github/tests/unit/github/operators/test_github.py +++ b/providers/github/tests/unit/github/operators/test_github.py @@ -24,7 +24,7 @@ from airflow.models import Connection from airflow.models.dag import DAG from airflow.providers.github.operators.github import GithubOperator -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -34,11 +34,10 @@ class TestGithubOperator: - def setup_class(self): - args = {"owner": "airflow", "start_date": DEFAULT_DATE} - dag = DAG("test_dag_id", schedule=None, default_args=args) - self.dag = dag - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="github_default", conn_type="github", @@ -47,6 +46,11 @@ def setup_class(self): ) ) + def setup_class(self): + args = {"owner": "airflow", "start_date": DEFAULT_DATE} + dag = DAG("test_dag_id", schedule=None, default_args=args) + self.dag = dag + def test_operator_init_with_optional_args(self): github_operator = GithubOperator( task_id="github_list_repos", diff --git a/providers/github/tests/unit/github/sensors/test_github.py b/providers/github/tests/unit/github/sensors/test_github.py index 6fb679d744ccc..6a4a50fa481da 100644 --- a/providers/github/tests/unit/github/sensors/test_github.py +++ b/providers/github/tests/unit/github/sensors/test_github.py @@ -24,7 +24,7 @@ from airflow.models import Connection from airflow.models.dag import DAG from airflow.providers.github.sensors.github import GithubTagSensor -from airflow.utils import db, timezone +from airflow.utils import timezone pytestmark = pytest.mark.db_test @@ -34,11 +34,10 @@ class TestGithubSensor: - def setup_class(self): - args = {"owner": "airflow", "start_date": DEFAULT_DATE} - dag = DAG("test_dag_id", schedule=None, default_args=args) - self.dag = dag - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="github_default", conn_type="github", @@ -47,6 +46,11 @@ def setup_class(self): ) ) + def setup_class(self): + args = {"owner": "airflow", "start_date": DEFAULT_DATE} + dag = DAG("test_dag_id", schedule=None, default_args=args) + self.dag = dag + @patch( "airflow.providers.github.hooks.github.GithubClient", autospec=True, diff --git a/providers/google/tests/unit/google/common/hooks/test_discovery_api.py b/providers/google/tests/unit/google/common/hooks/test_discovery_api.py index 5cdb0fbc03280..40776fa4932b3 100644 --- a/providers/google/tests/unit/google/common/hooks/test_discovery_api.py +++ b/providers/google/tests/unit/google/common/hooks/test_discovery_api.py @@ -21,17 +21,17 @@ import pytest -from airflow import models +from airflow.models import Connection from airflow.providers.google.common.hooks.discovery_api import GoogleDiscoveryApiHook -from airflow.utils import db pytestmark = pytest.mark.db_test class TestGoogleDiscoveryApiHook: - def setup_method(self): - db.merge_conn( - models.Connection( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( + Connection( conn_id="google_test", conn_type="google_cloud_platform", host="google", diff --git a/providers/imap/tests/unit/imap/hooks/test_imap.py b/providers/imap/tests/unit/imap/hooks/test_imap.py index 51a8721f7a952..a0c6ea4b692e6 100644 --- a/providers/imap/tests/unit/imap/hooks/test_imap.py +++ b/providers/imap/tests/unit/imap/hooks/test_imap.py @@ -26,7 +26,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.imap.hooks.imap import ImapHook -from airflow.utils import db from tests_common.test_utils.config import conf_vars @@ -66,8 +65,9 @@ def _create_fake_imap(mock_imaplib, with_mail=False, attachment_name="test1.csv" class TestImapHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="imap_default", conn_type="imap", @@ -77,7 +77,7 @@ def setup_method(self): port=1993, ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="imap_nonssl", conn_type="imap", @@ -120,9 +120,11 @@ def test_connect_and_disconnect_imap_ssl_context_none(self, create_default_conte @patch(imaplib_string) @patch("ssl.create_default_context") - def test_connect_and_disconnect_imap_ssl_context_from_extra(self, create_default_context, mock_imaplib): + def test_connect_and_disconnect_imap_ssl_context_from_extra( + self, create_default_context, mock_imaplib, create_connection_without_db + ): mock_conn = _create_fake_imap(mock_imaplib) - db.merge_conn( + create_connection_without_db( Connection( conn_id="imap_ssl_context_from_extra", conn_type="imap", diff --git a/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py b/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py index 1e8da5760043e..8e75592d83d73 100644 --- a/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py +++ b/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py @@ -32,7 +32,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.jdbc.hooks.jdbc import JdbcHook, suppress_and_warn -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -79,8 +78,9 @@ def get_connection(cls, conn_id: str) -> Connection: class TestJdbcHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="jdbc_default", conn_type="jdbc", diff --git a/providers/mysql/tests/unit/mysql/transfers/test_s3_to_mysql.py b/providers/mysql/tests/unit/mysql/transfers/test_s3_to_mysql.py index 57a56f22f5f2e..dca4d4c55088b 100644 --- a/providers/mysql/tests/unit/mysql/transfers/test_s3_to_mysql.py +++ b/providers/mysql/tests/unit/mysql/transfers/test_s3_to_mysql.py @@ -23,15 +23,15 @@ from airflow import models from airflow.providers.mysql.transfers.s3_to_mysql import S3ToMySqlOperator -from airflow.utils import db from airflow.utils.session import create_session pytestmark = pytest.mark.db_test class TestS3ToMySqlTransfer: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( models.Connection( conn_id="s3_test", conn_type="s3", @@ -40,7 +40,7 @@ def setup_method(self): ' "aws_secret_access_key"}', ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="mysql_test", conn_type="mysql", diff --git a/providers/opensearch/tests/unit/opensearch/conftest.py b/providers/opensearch/tests/unit/opensearch/conftest.py index 8edb688068bd1..8882b3e7777b9 100644 --- a/providers/opensearch/tests/unit/opensearch/conftest.py +++ b/providers/opensearch/tests/unit/opensearch/conftest.py @@ -22,7 +22,6 @@ from airflow.hooks.base import BaseHook from airflow.models import Connection -from airflow.utils import db try: from opensearchpy import OpenSearch @@ -178,9 +177,8 @@ def mock_hook(monkeypatch): @pytest.fixture(autouse=True) -def setup_connection(): - # We need to set up a Connection into the database for all tests. - db.merge_conn( +def setup_connection(create_connection_without_db): + create_connection_without_db( Connection( conn_id="opensearch_default", conn_type="opensearch", diff --git a/providers/opsgenie/tests/unit/opsgenie/hooks/test_opsgenie.py b/providers/opsgenie/tests/unit/opsgenie/hooks/test_opsgenie.py index deadb98343b9e..ed166f3c97192 100644 --- a/providers/opsgenie/tests/unit/opsgenie/hooks/test_opsgenie.py +++ b/providers/opsgenie/tests/unit/opsgenie/hooks/test_opsgenie.py @@ -25,7 +25,6 @@ from airflow.models import Connection from airflow.providers.opsgenie.hooks.opsgenie import OpsgenieAlertHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -68,8 +67,9 @@ class TestOpsgenieAlertHook: "request_id": "43a29c5c-3dbf-4fa4-9c26-f4f71023e120", } - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=self.conn_id, conn_type="opsgenie", @@ -87,9 +87,9 @@ def test_get_conn_defaults_host(self): hook = OpsgenieAlertHook() assert hook.get_conn().api_client.configuration.host == "https://api.opsgenie.com" - def test_get_conn_custom_host(self): + def test_get_conn_custom_host(self, create_connection_without_db): conn_id = "custom_host_opsgenie_test" - db.merge_conn( + create_connection_without_db( Connection( conn_id=conn_id, conn_type="opsgenie", diff --git a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py index e5aaa66dafa71..e970e3a06b8db 100644 --- a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py +++ b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py @@ -21,7 +21,6 @@ from airflow.models import Connection from airflow.providers.pagerduty.hooks.pagerduty import PagerdutyHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -29,9 +28,9 @@ DEFAULT_CONN_ID = "pagerduty_default" -@pytest.fixture(scope="class") -def pagerduty_connections(): - db.merge_conn( +@pytest.fixture(autouse=True) +def pagerduty_connections(create_connection_without_db): + create_connection_without_db( Connection( conn_id=DEFAULT_CONN_ID, conn_type="pagerduty", @@ -39,7 +38,7 @@ def pagerduty_connections(): extra='{"routing_key": "integration_key"}', ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="pagerduty_no_extra", conn_type="pagerduty", password="pagerduty_token_without_extra" ), diff --git a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py index c8037be4afed3..682194b51df0f 100644 --- a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py +++ b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py @@ -21,16 +21,17 @@ from airflow.models import Connection from airflow.providers.pagerduty.hooks.pagerduty_events import PagerdutyEventsHook -from airflow.utils import db pytestmark = pytest.mark.db_test DEFAULT_CONN_ID = "pagerduty_events_default" -@pytest.fixture(scope="class") -def events_connections(): - db.merge_conn(Connection(conn_id=DEFAULT_CONN_ID, conn_type="pagerduty_events", password="events_token")) +@pytest.fixture(autouse=True) +def events_connections(create_connection_without_db): + create_connection_without_db( + Connection(conn_id=DEFAULT_CONN_ID, conn_type="pagerduty_events", password="events_token") + ) class TestPagerdutyEventsHook: diff --git a/providers/smtp/tests/unit/smtp/hooks/test_smtp.py b/providers/smtp/tests/unit/smtp/hooks/test_smtp.py index e713b84423102..9c601fdce54f5 100644 --- a/providers/smtp/tests/unit/smtp/hooks/test_smtp.py +++ b/providers/smtp/tests/unit/smtp/hooks/test_smtp.py @@ -28,7 +28,6 @@ from airflow.models import Connection from airflow.providers.smtp.hooks.smtp import SmtpHook -from airflow.utils import db from airflow.utils.session import create_session pytestmark = pytest.mark.db_test @@ -53,8 +52,9 @@ def _create_fake_smtp(mock_smtplib, use_ssl=True): class TestSmtpHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="smtp_default", conn_type="smtp", @@ -65,7 +65,7 @@ def setup_method(self): extra=json.dumps(dict(from_email="from")), ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="smtp_nonssl", conn_type="smtp", @@ -221,7 +221,9 @@ def test_send_mime_ssl(self, create_default_context, mock_smtp, mock_smtp_ssl): @patch("smtplib.SMTP_SSL") @patch("smtplib.SMTP") @patch("ssl.create_default_context") - def test_send_mime_ssl_extra_none_context(self, create_default_context, mock_smtp, mock_smtp_ssl): + def test_send_mime_ssl_extra_none_context( + self, create_default_context, mock_smtp, mock_smtp_ssl, create_connection_without_db + ): mock_smtp_ssl.return_value = Mock() conn = Connection( conn_id="smtp_ssl_extra", @@ -232,7 +234,7 @@ def test_send_mime_ssl_extra_none_context(self, create_default_context, mock_smt port=465, extra=json.dumps(dict(use_ssl=True, ssl_context="none", from_email="from")), ) - db.merge_conn(conn) + create_connection_without_db(conn) with SmtpHook(smtp_conn_id="smtp_ssl_extra") as smtp_hook: smtp_hook.send_email_smtp(to="to", subject="subject", html_content="content", from_email="from") assert not mock_smtp.called @@ -242,7 +244,9 @@ def test_send_mime_ssl_extra_none_context(self, create_default_context, mock_smt @patch("smtplib.SMTP_SSL") @patch("smtplib.SMTP") @patch("ssl.create_default_context") - def test_send_mime_ssl_extra_default_context(self, create_default_context, mock_smtp, mock_smtp_ssl): + def test_send_mime_ssl_extra_default_context( + self, create_default_context, mock_smtp, mock_smtp_ssl, create_connection_without_db + ): mock_smtp_ssl.return_value = Mock() conn = Connection( conn_id="smtp_ssl_extra", @@ -253,7 +257,7 @@ def test_send_mime_ssl_extra_default_context(self, create_default_context, mock_ port=465, extra=json.dumps(dict(use_ssl=True, ssl_context="default", from_email="from")), ) - db.merge_conn(conn) + create_connection_without_db(conn) with SmtpHook() as smtp_hook: smtp_hook.send_email_smtp(to="to", subject="subject", html_content="content", from_email="from") assert not mock_smtp.called @@ -265,7 +269,9 @@ def test_send_mime_ssl_extra_default_context(self, create_default_context, mock_ @patch("smtplib.SMTP_SSL") @patch("smtplib.SMTP") @patch("ssl.create_default_context") - def test_send_mime_default_context(self, create_default_context, mock_smtp, mock_smtp_ssl): + def test_send_mime_default_context( + self, create_default_context, mock_smtp, mock_smtp_ssl, create_connection_without_db + ): mock_smtp_ssl.return_value = Mock() conn = Connection( conn_id="smtp_ssl_extra", @@ -276,7 +282,7 @@ def test_send_mime_default_context(self, create_default_context, mock_smtp, mock port=465, extra=json.dumps(dict(use_ssl=True, from_email="from")), ) - db.merge_conn(conn) + create_connection_without_db(conn) with SmtpHook() as smtp_hook: smtp_hook.send_email_smtp(to="to", subject="subject", html_content="content", from_email="from") assert not mock_smtp.called @@ -295,7 +301,7 @@ def test_send_mime_nossl(self, mock_smtp, mock_smtp_ssl): mock_smtp.assert_called_once_with(host="smtp_server_address", port=587, timeout=30) @patch("smtplib.SMTP") - def test_send_mime_noauth(self, mock_smtp): + def test_send_mime_noauth(self, mock_smtp, create_connection_without_db): mock_smtp.return_value = Mock() conn = Connection( conn_id="smtp_noauth", @@ -306,7 +312,7 @@ def test_send_mime_noauth(self, mock_smtp): port=587, extra=json.dumps(dict(disable_ssl=True, from_email="from")), ) - db.merge_conn(conn) + create_connection_without_db(conn) with SmtpHook(smtp_conn_id="smtp_noauth") as smtp_hook: smtp_hook.send_email_smtp(to="to", subject="subject", html_content="content", from_email="from") mock_smtp.assert_called_once_with(host="smtp_server_address", port=587, timeout=30) diff --git a/providers/ssh/tests/unit/ssh/hooks/test_ssh.py b/providers/ssh/tests/unit/ssh/hooks/test_ssh.py index d778a46411b88..b6efaa960e54e 100644 --- a/providers/ssh/tests/unit/ssh/hooks/test_ssh.py +++ b/providers/ssh/tests/unit/ssh/hooks/test_ssh.py @@ -31,8 +31,6 @@ from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.ssh.hooks.ssh import SSHHook -from airflow.utils import db -from airflow.utils.session import create_session pytestmark = pytest.mark.db_test @@ -118,73 +116,45 @@ class TestSSHHook: "ssh_with_no_host_key_check_true_and_allow_host_key_changes_false" ) - @classmethod - def teardown_class(cls) -> None: - with create_session() as session: - conns_to_reset = [ - cls.CONN_SSH_WITH_NO_EXTRA, - cls.CONN_SSH_WITH_PRIVATE_KEY_EXTRA, - cls.CONN_SSH_WITH_PRIVATE_KEY_PASSPHRASE_EXTRA, - cls.CONN_SSH_WITH_PRIVATE_KEY_ECDSA_EXTRA, - cls.CONN_SSH_WITH_TIMEOUT_EXTRA, - cls.CONN_SSH_WITH_CONN_TIMEOUT_EXTRA, - cls.CONN_SSH_WITH_CMD_TIMEOUT_EXTRA, - cls.CONN_SSH_WITH_NULL_CMD_TIMEOUT_EXTRA, - cls.CONN_SSH_WITH_TIMEOUT_AND_CONN_TIMEOUT_EXTRA, - cls.CONN_SSH_WITH_EXTRA, - cls.CONN_SSH_WITH_HOST_KEY_EXTRA, - cls.CONN_SSH_WITH_HOST_KEY_EXTRA_WITH_TYPE, - cls.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, - cls.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, - cls.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, - cls.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, - cls.CONN_SSH_WITH_EXTRA_DISABLED_ALGORITHMS, - cls.CONN_SSH_WITH_EXTRA_CIPHERS, - cls.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_TRUE, - cls.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_FALSE, - ] - connections = session.query(Connection).filter(Connection.conn_id.in_(conns_to_reset)) - connections.delete(synchronize_session=False) - session.commit() - - @classmethod - def setup_class(cls) -> None: - db.merge_conn( + # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NO_EXTRA, + conn_id=self.CONN_SSH_WITH_NO_EXTRA, host="localhost", conn_type="ssh", extra=None, ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_EXTRA, + conn_id=self.CONN_SSH_WITH_EXTRA, host="localhost", conn_type="ssh", extra='{"compress" : true, "no_host_key_check" : "true", "allow_host_key_change": false}', ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_EXTRA_FALSE_LOOK_FOR_KEYS, + conn_id=self.CONN_SSH_WITH_EXTRA_FALSE_LOOK_FOR_KEYS, host="localhost", conn_type="ssh", extra='{"compress" : true, "no_host_key_check" : "true", ' '"allow_host_key_change": false, "look_for_keys": false}', ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_PRIVATE_KEY_EXTRA, + conn_id=self.CONN_SSH_WITH_PRIVATE_KEY_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_PRIVATE_KEY_PASSPHRASE_EXTRA, + conn_id=self.CONN_SSH_WITH_PRIVATE_KEY_PASSPHRASE_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps( @@ -192,73 +162,73 @@ def setup_class(cls) -> None: ), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_PRIVATE_KEY_ECDSA_EXTRA, + conn_id=self.CONN_SSH_WITH_PRIVATE_KEY_ECDSA_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY_ECDSA}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_TIMEOUT_EXTRA, + conn_id=self.CONN_SSH_WITH_TIMEOUT_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"timeout": TEST_TIMEOUT}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_CONN_TIMEOUT_EXTRA, + conn_id=self.CONN_SSH_WITH_CONN_TIMEOUT_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"conn_timeout": TEST_CONN_TIMEOUT}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_TIMEOUT_AND_CONN_TIMEOUT_EXTRA, + conn_id=self.CONN_SSH_WITH_TIMEOUT_AND_CONN_TIMEOUT_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"conn_timeout": TEST_CONN_TIMEOUT, "timeout": TEST_TIMEOUT}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_CMD_TIMEOUT_EXTRA, + conn_id=self.CONN_SSH_WITH_CMD_TIMEOUT_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"cmd_timeout": TEST_CMD_TIMEOUT_EXTRA}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NULL_CMD_TIMEOUT_EXTRA, + conn_id=self.CONN_SSH_WITH_NULL_CMD_TIMEOUT_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"cmd_timeout": None}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_HOST_KEY_EXTRA, + conn_id=self.CONN_SSH_WITH_HOST_KEY_EXTRA, host="localhost", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY, "host_key": TEST_HOST_KEY}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_HOST_KEY_EXTRA_WITH_TYPE, + conn_id=self.CONN_SSH_WITH_HOST_KEY_EXTRA_WITH_TYPE, host="localhost", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY, "host_key": "ssh-rsa " + TEST_HOST_KEY}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, + conn_id=self.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, host="remote_host", conn_type="ssh", extra=json.dumps( @@ -266,9 +236,9 @@ def setup_class(cls) -> None: ), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, + conn_id=self.CONN_SSH_WITH_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, host="remote_host", conn_type="ssh", extra=json.dumps( @@ -276,25 +246,25 @@ def setup_class(cls) -> None: ), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, + conn_id=self.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_FALSE, host="remote_host", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY, "no_host_key_check": False}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, + conn_id=self.CONN_SSH_WITH_NO_HOST_KEY_AND_NO_HOST_KEY_CHECK_TRUE, host="remote_host", conn_type="ssh", extra=json.dumps({"private_key": TEST_PRIVATE_KEY, "no_host_key_check": True}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_HOST_KEY_AND_ALLOW_HOST_KEY_CHANGES_TRUE, + conn_id=self.CONN_SSH_WITH_HOST_KEY_AND_ALLOW_HOST_KEY_CHANGES_TRUE, host="remote_host", conn_type="ssh", extra=json.dumps( @@ -306,33 +276,33 @@ def setup_class(cls) -> None: ), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_EXTRA_DISABLED_ALGORITHMS, + conn_id=self.CONN_SSH_WITH_EXTRA_DISABLED_ALGORITHMS, host="localhost", conn_type="ssh", extra=json.dumps({"disabled_algorithms": TEST_DISABLED_ALGORITHMS}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_EXTRA_CIPHERS, + conn_id=self.CONN_SSH_WITH_EXTRA_CIPHERS, host="localhost", conn_type="ssh", extra=json.dumps({"ciphers": TEST_CIPHERS}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_TRUE, + conn_id=self.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_TRUE, host="remote_host", conn_type="ssh", extra=json.dumps({"no_host_key_check": True, "allow_host_key_change": True}), ) ) - db.merge_conn( + create_connection_without_db( Connection( - conn_id=cls.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_FALSE, + conn_id=self.CONN_SSH_WITH_NO_HOST_KEY_CHECK_TRUE_AND_ALLOW_HOST_KEY_CHANGES_FALSE, host="remote_host", conn_type="ssh", extra=json.dumps({"no_host_key_check": True, "allow_host_key_change": False}), diff --git a/providers/tableau/tests/unit/tableau/hooks/test_tableau.py b/providers/tableau/tests/unit/tableau/hooks/test_tableau.py index 241367b4f6989..8ea82b4270b06 100644 --- a/providers/tableau/tests/unit/tableau/hooks/test_tableau.py +++ b/providers/tableau/tests/unit/tableau/hooks/test_tableau.py @@ -22,7 +22,6 @@ from airflow import configuration, models from airflow.providers.tableau.hooks.tableau import TableauHook, TableauJobFinishCode -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -32,10 +31,11 @@ class TestTableauHook: Test class for TableauHook """ - def setup_method(self): + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): configuration.conf.load_test_config() - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="tableau_test_password", conn_type="tableau", @@ -45,7 +45,7 @@ def setup_method(self): extra='{"site_id": "my_site"}', ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="tableau_test_ssl_connection_certificates_path", conn_type="tableau", @@ -55,7 +55,7 @@ def setup_method(self): extra='{"verify": "my_cert_path", "cert": "my_client_cert_path"}', ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="tableau_test_ssl_false_connection", conn_type="tableau", @@ -65,7 +65,7 @@ def setup_method(self): extra='{"verify": "False"}', ) ) - db.merge_conn( + create_connection_without_db( models.Connection( conn_id="tableau_test_ssl_bool_param_connection", conn_type="tableau", diff --git a/providers/telegram/tests/unit/telegram/hooks/test_telegram.py b/providers/telegram/tests/unit/telegram/hooks/test_telegram.py index 0702a10e74543..c2e16d4bd8665 100644 --- a/providers/telegram/tests/unit/telegram/hooks/test_telegram.py +++ b/providers/telegram/tests/unit/telegram/hooks/test_telegram.py @@ -71,7 +71,7 @@ def test_should_use_default_connection(self): hook = TelegramHook() assert hook.token == TELEGRAM_TOKEN - assert hook.chat_id is None + assert not hook.chat_id def test_should_raise_exception_if_conn_id_doesnt_exist(self): with pytest.raises(airflow.exceptions.AirflowNotFoundException) as ctx: diff --git a/providers/telegram/tests/unit/telegram/operators/test_telegram.py b/providers/telegram/tests/unit/telegram/operators/test_telegram.py index 353f4b1f44aac..6e7732e998c39 100644 --- a/providers/telegram/tests/unit/telegram/operators/test_telegram.py +++ b/providers/telegram/tests/unit/telegram/operators/test_telegram.py @@ -25,7 +25,6 @@ import airflow from airflow.models import Connection from airflow.providers.telegram.operators.telegram import TelegramOperator -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -33,15 +32,16 @@ class TestTelegramOperator: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="telegram_default", conn_type="http", password=TELEGRAM_TOKEN, ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="telegram_default-with-chat-id", conn_type="http", diff --git a/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py b/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py index 15d87a846c2a0..677c63413b14b 100644 --- a/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py +++ b/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py @@ -24,7 +24,6 @@ from airflow.models import Connection from airflow.providers.zendesk.hooks.zendesk import ZendeskHook -from airflow.utils import db pytestmark = pytest.mark.db_test @@ -33,8 +32,8 @@ class TestZendeskHook: conn_id = "zendesk_conn_id_test" @pytest.fixture(autouse=True) - def init_connection(self): - db.merge_conn( + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id=self.conn_id, conn_type="zendesk", From dfca82e54fe8a550f36df6bfe1216d52979b319a Mon Sep 17 00:00:00 2001 From: Dov Benyomin Sohacheski Date: Sun, 22 Jun 2025 11:48:28 +0300 Subject: [PATCH 039/381] Include docs for Windows (#52004) --- providers/edge3/docs/install_on_windows.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/providers/edge3/docs/install_on_windows.rst b/providers/edge3/docs/install_on_windows.rst index 29bf5b2920b7b..850de56ee7cdb 100644 --- a/providers/edge3/docs/install_on_windows.rst +++ b/providers/edge3/docs/install_on_windows.rst @@ -49,7 +49,12 @@ To setup a instance of Edge Worker on Windows, you need to follow the steps belo .. code-block:: bash @echo off + REM For versions 3.0.0 or later set AIRFLOW__API_AUTH__JWT_SECRET= + REM for versions earlier than 3.0.0 + set AIRFLOW__CORE__INTERNAL_API_SECRET_KEY= + + REM For all versions set AIRFLOW__CORE__DAGS_FOLDER=dags set AIRFLOW__LOGGING__BASE_LOG_FOLDER=edge_logs set AIRFLOW__EDGE__API_URL=https://your-hostname-and-port/edge_worker/v1/rpcapi From 14b00ed5e2cde471a51efa0ebc0730b2446b14d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20=C5=A0im=C3=A1nek?= Date: Sun, 22 Jun 2025 11:57:12 +0200 Subject: [PATCH 040/381] Update Dockerfile links. (#51997) --- Dockerfile | 6 +++--- scripts/docker/entrypoint_prod.sh | 4 ++-- scripts/docker/pip | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 640c44396426f..a8522ea0139c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -673,7 +673,7 @@ if [[ $(id -u) == "0" ]]; then echo echo "${COLOR_RED}You are running pip as root. Please use 'airflow' user to run pip!${COLOR_RESET}" echo - echo "${COLOR_YELLOW}See: https://airflow.apache.org/docs/docker-stack/build.html#adding-a-new-pypi-package${COLOR_RESET}" + echo "${COLOR_YELLOW}See: https://airflow.apache.org/docs/docker-stack/build.html#adding-new-pypi-packages-individually${COLOR_RESET}" echo exit 1 fi @@ -1313,7 +1313,7 @@ function check_uid_gid() { >&2 echo " This is to make sure you can run the image with an arbitrary UID in the future." >&2 echo >&2 echo " See more about it in the Airflow's docker image documentation" - >&2 echo " http://airflow.apache.org/docs/docker-stack/entrypoint" + >&2 echo " https://airflow.apache.org/docs/docker-stack/entrypoint.html" >&2 echo # We still allow the image to run with `airflow` user. return @@ -1327,7 +1327,7 @@ function check_uid_gid() { >&2 echo " This is to make sure you can run the image with an arbitrary UID." >&2 echo >&2 echo " See more about it in the Airflow's docker image documentation" - >&2 echo " http://airflow.apache.org/docs/docker-stack/entrypoint" + >&2 echo " https://airflow.apache.org/docs/docker-stack/entrypoint.html" # This will not work so we fail hard exit 1 fi diff --git a/scripts/docker/entrypoint_prod.sh b/scripts/docker/entrypoint_prod.sh index f36dd15a9dab4..cd7a600641fc0 100755 --- a/scripts/docker/entrypoint_prod.sh +++ b/scripts/docker/entrypoint_prod.sh @@ -241,7 +241,7 @@ function check_uid_gid() { >&2 echo " This is to make sure you can run the image with an arbitrary UID in the future." >&2 echo >&2 echo " See more about it in the Airflow's docker image documentation" - >&2 echo " http://airflow.apache.org/docs/docker-stack/entrypoint" + >&2 echo " https://airflow.apache.org/docs/docker-stack/entrypoint.html" >&2 echo # We still allow the image to run with `airflow` user. return @@ -255,7 +255,7 @@ function check_uid_gid() { >&2 echo " This is to make sure you can run the image with an arbitrary UID." >&2 echo >&2 echo " See more about it in the Airflow's docker image documentation" - >&2 echo " http://airflow.apache.org/docs/docker-stack/entrypoint" + >&2 echo " https://airflow.apache.org/docs/docker-stack/entrypoint.html" # This will not work so we fail hard exit 1 fi diff --git a/scripts/docker/pip b/scripts/docker/pip index 226adf295663c..7fdca47a52797 100644 --- a/scripts/docker/pip +++ b/scripts/docker/pip @@ -23,7 +23,7 @@ if [[ $(id -u) == "0" ]]; then echo echo "${COLOR_RED}You are running pip as root. Please use 'airflow' user to run pip!${COLOR_RESET}" echo - echo "${COLOR_YELLOW}See: https://airflow.apache.org/docs/docker-stack/build.html#adding-a-new-pypi-package${COLOR_RESET}" + echo "${COLOR_YELLOW}See: https://airflow.apache.org/docs/docker-stack/build.html#adding-new-pypi-packages-individually${COLOR_RESET}" echo exit 1 fi From 3bf83f2afe505f748c7ec4523599e63d8329b25f Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sun, 22 Jun 2025 14:17:30 +0200 Subject: [PATCH 041/381] Remove pytest.mark.db_test: airbyte and amazon providers where possible (#52017) After #51930, we can now remove "pytest.mark.db_test" in all providers that used db only to create connections. This PR is the "trial" attempt of doing so and it verifies that it is a viable thing to do. It: * removes all pytest.mark.db_test markers from airbyte * removes / reshuffles many pytest.mark.db_tests in amazon * adds pre-commit that we can use to guard that no new pytest.mark.db_test markers will be added in providers that we already cleaned up (for example airbyte) This PR, when merged will be followed up with an issue where we will ask contributors to apply the same approach to all the remaining providers - where I will describe in detail the process of removing the markers. This is part of the #42632 which has the long-term target of making all the provider tests non-db tests and simplifying our test setup. --- .pre-commit-config.yaml | 10 ++++++++++ contributing-docs/08_static_code_checks.rst | 2 ++ dev/breeze/doc/images/output_static-checks.svg | 4 ++-- dev/breeze/doc/images/output_static-checks.txt | 2 +- dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 + .../airbyte/tests/unit/airbyte/hooks/test_airbyte.py | 4 ---- .../tests/unit/airbyte/operators/test_airbyte.py | 2 -- .../airbyte/tests/unit/airbyte/sensors/test_airbyte.py | 1 - .../tests/unit/airbyte/triggers/test_airbyte.py | 1 - .../unit/amazon/aws/executors/ecs/test_ecs_executor.py | 2 -- .../tests/unit/amazon/aws/hooks/test_base_aws.py | 2 -- .../amazon/tests/unit/amazon/aws/hooks/test_chime.py | 2 -- .../amazon/tests/unit/amazon/aws/hooks/test_emr.py | 1 - .../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 2 -- .../amazon/aws/hooks/test_sagemaker_unified_studio.py | 4 ++-- .../amazon/tests/unit/amazon/aws/links/test_athena.py | 4 ++++ .../tests/unit/amazon/aws/links/test_base_aws.py | 1 - .../amazon/tests/unit/amazon/aws/links/test_batch.py | 4 ++++ .../tests/unit/amazon/aws/links/test_comprehend.py | 4 ++++ .../tests/unit/amazon/aws/links/test_datasync.py | 5 +++++ .../amazon/tests/unit/amazon/aws/links/test_ec2.py | 4 ++++ .../amazon/tests/unit/amazon/aws/links/test_emr.py | 3 +++ .../amazon/tests/unit/amazon/aws/links/test_glue.py | 4 ++++ .../amazon/tests/unit/amazon/aws/links/test_logs.py | 4 ++++ .../tests/unit/amazon/aws/links/test_sagemaker.py | 4 ++++ .../amazon/aws/links/test_sagemaker_unified_studio.py | 4 ++++ .../tests/unit/amazon/aws/links/test_step_function.py | 2 ++ .../tests/unit/amazon/aws/sensors/test_dynamodb.py | 3 --- .../unit/amazon/aws/transfers/test_google_api_to_s3.py | 1 - .../unit/amazon/aws/triggers/test_serialization.py | 2 -- .../tests/unit/amazon/aws/utils/test_suppress.py | 1 - .../amazon/tests/unit/amazon/aws/waiters/test_eks.py | 2 ++ 32 files changed, 62 insertions(+), 30 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 995e255cf363d..1ae406eb2fd2c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -570,6 +570,16 @@ repos: entry: "pydevd.*settrace\\(" pass_filenames: true files: \.py$ + - id: check-pytest-mark-db-test-in-providers + language: pygrep + name: Check pytest.mark.db_test use in providers + entry: pytest\.mark\.db_test + pass_filenames: true + # Here we should add providers that are already free from the pytest.mark.db_test + # and we want to keep them clean and only use non-db-tests + files: > + (?x) + ^providers/airbyte/.*\.py$ - id: check-links-to-example-dags-do-not-use-hardcoded-versions name: Verify no hard-coded version in example dags description: The links to example dags should use |version| as version specification diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index d1b8a7aa4ee62..494fe6a08aa82 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -221,6 +221,8 @@ require Breeze Docker image to be built locally. +-----------------------------------------------------------+--------------------------------------------------------+---------+ | check-pydevd-left-in-code | Check for pydevd debug statements accidentally left | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ +| check-pytest-mark-db-test-in-providers | Check pytest.mark.db_test use in providers | | ++-----------------------------------------------------------+--------------------------------------------------------+---------+ | check-revision-heads-map | Check that the REVISION_HEADS_MAP is up-to-date | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ | check-safe-filter-usage-in-html | Don't use safe in templates | | diff --git a/dev/breeze/doc/images/output_static-checks.svg b/dev/breeze/doc/images/output_static-checks.svg index beaf498a9e529..cf51d1ab8d4d8 100644 --- a/dev/breeze/doc/images/output_static-checks.svg +++ b/dev/breeze/doc/images/output_static-checks.svg @@ -355,8 +355,8 @@ check-pre-commit-information-consistent | check-provide-create-sessions-imports | check-provider-docs-valid | check-provider-yaml-valid |                           check-providers-subpackages-init-file-exist | check-pydevd-left-in-code |         -check-revision-heads-map | check-safe-filter-usage-in-html |                      -check-significant-newsfragments-are-valid |                                       +check-pytest-mark-db-test-in-providers | check-revision-heads-map |               +check-safe-filter-usage-in-html | check-significant-newsfragments-are-valid |     check-sql-dependency-common-data-structure |                                      check-start-date-not-used-in-defaults | check-system-tests-present |              check-system-tests-tocs | check-taskinstance-tis-attrs |                          diff --git a/dev/breeze/doc/images/output_static-checks.txt b/dev/breeze/doc/images/output_static-checks.txt index a62f2b66d5aa2..0282b0f74e16f 100644 --- a/dev/breeze/doc/images/output_static-checks.txt +++ b/dev/breeze/doc/images/output_static-checks.txt @@ -1 +1 @@ -f31561bb0408a8cab278aad420d260b3 +bb6a22bca8cde603acddfad0f073b3c0 diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py b/dev/breeze/src/airflow_breeze/pre_commit_ids.py index de0227170d7fd..ce4f0ec27fe57 100644 --- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py +++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py @@ -74,6 +74,7 @@ "check-provider-yaml-valid", "check-providers-subpackages-init-file-exist", "check-pydevd-left-in-code", + "check-pytest-mark-db-test-in-providers", "check-revision-heads-map", "check-safe-filter-usage-in-html", "check-significant-newsfragments-are-valid", diff --git a/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py index 1672a373bc8b7..6f19b49c51ec9 100644 --- a/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/hooks/test_airbyte.py @@ -27,11 +27,7 @@ from airflow.models import Connection from airflow.providers.airbyte.hooks.airbyte import AirbyteHook -# those tests will not work with database isolation because they mock requests -pytestmark = pytest.mark.db_test - -@pytest.mark.db_test class TestAirbyteHook: """ Test all functions from Airbyte Hook diff --git a/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py index b7d6e9f6bdb35..0e9fc54c6b883 100644 --- a/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/operators/test_airbyte.py @@ -19,14 +19,12 @@ from unittest import mock -import pytest from airbyte_api.models import JobCreateRequest, JobResponse, JobStatusEnum, JobTypeEnum from airflow.models import Connection from airflow.providers.airbyte.operators.airbyte import AirbyteTriggerSyncOperator -@pytest.mark.db_test class TestAirbyteTriggerSyncOp: """ Test execute function from Airbyte Operator diff --git a/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py index bae1d7c2bc9a2..abec7b447f8ba 100644 --- a/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/sensors/test_airbyte.py @@ -27,7 +27,6 @@ from airflow.providers.airbyte.sensors.airbyte import AirbyteJobSensor -@pytest.mark.db_test class TestAirbyteJobSensor: task_id = "task-id" airbyte_conn_id = "airbyte-conn-test" diff --git a/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py b/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py index 995da3fc9108e..55985e971db1c 100644 --- a/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py +++ b/providers/airbyte/tests/unit/airbyte/triggers/test_airbyte.py @@ -29,7 +29,6 @@ from airflow.triggers.base import TriggerEvent -@pytest.mark.db_test class TestAirbyteSyncTrigger: DAG_ID = "airbyte_sync_run" TASK_ID = "airbyte_sync_run_task_op" diff --git a/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py b/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py index a29cb883a7b42..ff7b9699c98a0 100644 --- a/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py +++ b/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py @@ -61,8 +61,6 @@ from tests_common.test_utils.config import conf_vars from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS -pytestmark = pytest.mark.db_test - airflow_version = VersionInfo(*map(int, airflow_version_str.split(".")[:3])) ARN1 = "arn1" diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_base_aws.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_base_aws.py index 3970a766ade64..5aa436903ce9c 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_base_aws.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_base_aws.py @@ -883,7 +883,6 @@ def test_hook_connection_test(self): assert result assert hook.client_type == "s3" # Same client_type which defined during initialisation - @pytest.mark.db_test @mock.patch("boto3.session.Session") def test_hook_connection_test_failed(self, mock_boto3_session): """Test ``test_connection`` failure.""" @@ -1135,7 +1134,6 @@ def test_waiter_config_params_not_provided(waiter_path_mock: MagicMock, caplog): assert "PARAM_1" in str(ae.value) -@pytest.mark.db_test @mock.patch.object(AwsGenericHook, "waiter_path", new_callable=PropertyMock) def test_waiter_config_no_params_needed(waiter_path_mock: MagicMock, caplog): waiter_path_mock.return_value = TEST_WAITER_CONFIG_LOCATION diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py index 83ccf2055182a..a44140d21b88c 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_chime.py @@ -25,8 +25,6 @@ from airflow.models import Connection from airflow.providers.amazon.aws.hooks.chime import ChimeWebhookHook -pytestmark = pytest.mark.db_test - class TestChimeWebhookHook: _config = { diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_emr.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_emr.py index aaa572cc5e4f2..63668a227c04b 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_emr.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_emr.py @@ -154,7 +154,6 @@ def test_add_job_flow_steps_raises_exception_on_failure(self, mock_conn, mock_sl assert "test failure details" in caplog.messages[-1] mock_conn.get_waiter.assert_called_with("step_complete") - @pytest.mark.db_test @mock_aws def test_create_job_flow_extra_args(self): """ diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py index 2d69d2c539c6c..31b3a625a3971 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_s3.py @@ -1272,7 +1272,6 @@ def test_delete_bucket_if_bucket_not_exist(self, s3_bucket): assert mock_hook.delete_bucket(bucket_name="not-exists-bucket-name", force_delete=True) assert ctx.value.response["Error"]["Code"] == "NoSuchBucket" - @pytest.mark.db_test def test_provide_bucket_name(self): with mock.patch.object( S3Hook, @@ -1728,7 +1727,6 @@ def test_delete_bucket_tagging_with_no_tags(self): hook.get_bucket_tagging(bucket_name="new_bucket") -@pytest.mark.db_test @pytest.mark.parametrize( "key_kind, has_conn, has_bucket, precedence, expected", [ diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_sagemaker_unified_studio.py b/providers/amazon/tests/unit/amazon/aws/hooks/test_sagemaker_unified_studio.py index 179d997740c58..4d8c7f1995b03 100644 --- a/providers/amazon/tests/unit/amazon/aws/hooks/test_sagemaker_unified_studio.py +++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_sagemaker_unified_studio.py @@ -28,8 +28,6 @@ ) from airflow.utils.session import create_session -pytestmark = pytest.mark.db_test - class TestSageMakerNotebookHook: @pytest.fixture(autouse=True) @@ -174,6 +172,7 @@ def test_handle_unexpected_state(self): with pytest.raises(AirflowException, match=error_message): self.hook._handle_state(execution_id, status, error_message) + @pytest.mark.db_test @patch( "airflow.providers.amazon.aws.hooks.sagemaker_unified_studio.SageMakerNotebookHook._set_xcom_files" ) @@ -187,6 +186,7 @@ def test_set_xcom_files_negative_missing_context(self): with pytest.raises(AirflowException, match="context is required"): self.hook._set_xcom_files(self.files, {}) + @pytest.mark.db_test @patch( "airflow.providers.amazon.aws.hooks.sagemaker_unified_studio.SageMakerNotebookHook._set_xcom_s3_path" ) diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_athena.py b/providers/amazon/tests/unit/amazon/aws/links/test_athena.py index 99a3536d17838..e1d9ba41b5f40 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_athena.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_athena.py @@ -16,6 +16,8 @@ # under the License. from __future__ import annotations +import pytest + from airflow.providers.amazon.aws.links.athena import AthenaQueryResultsLink from airflow.providers.amazon.version_compat import AIRFLOW_V_3_0_PLUS @@ -24,6 +26,8 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +pytestmark = pytest.mark.db_test + class TestAthenaQueryResultsLink(BaseAwsLinksTestCase): link_class = AthenaQueryResultsLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py b/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py index 98ebcde8c92da..6155f1747bff6 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_base_aws.py @@ -132,7 +132,6 @@ class OperatorAndTi(NamedTuple): task_instance: TaskInstance -@pytest.mark.db_test @pytest.mark.need_serialized_dag class BaseAwsLinksTestCase: """Base class for AWS Provider links tests.""" diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_batch.py b/providers/amazon/tests/unit/amazon/aws/links/test_batch.py index 70cd65655bfec..38e6d573d1373 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_batch.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_batch.py @@ -16,6 +16,8 @@ # under the License. from __future__ import annotations +import pytest + from airflow.providers.amazon.aws.links.batch import ( BatchJobDefinitionLink, BatchJobDetailsLink, @@ -28,6 +30,8 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +pytestmark = pytest.mark.db_test + class TestBatchJobDefinitionLink(BaseAwsLinksTestCase): link_class = BatchJobDefinitionLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_comprehend.py b/providers/amazon/tests/unit/amazon/aws/links/test_comprehend.py index 9b88270b5bd30..c945f672949cd 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_comprehend.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_comprehend.py @@ -27,6 +27,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestComprehendPiiEntitiesDetectionLink(BaseAwsLinksTestCase): link_class = ComprehendPiiEntitiesDetectionLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_datasync.py b/providers/amazon/tests/unit/amazon/aws/links/test_datasync.py index 79c8469b701f7..983de3b2299bd 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_datasync.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_datasync.py @@ -24,6 +24,11 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + + TASK_ID = "task-0b36221bf94ad2bdd" EXECUTION_ID = "exec-00000000000000004" diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_ec2.py b/providers/amazon/tests/unit/amazon/aws/links/test_ec2.py index f451c910058cf..8d5c745230274 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_ec2.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_ec2.py @@ -24,6 +24,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestEC2InstanceLink(BaseAwsLinksTestCase): link_class = EC2InstanceLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_emr.py b/providers/amazon/tests/unit/amazon/aws/links/test_emr.py index feda067f7cc7a..fc121d4fff062 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_emr.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_emr.py @@ -36,6 +36,9 @@ from unit.amazon.aws.links.test_base_aws import BaseAwsLinksTestCase +pytestmark = pytest.mark.db_test + + if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_glue.py b/providers/amazon/tests/unit/amazon/aws/links/test_glue.py index 2b1f076e149df..bf49f23ae122a 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_glue.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_glue.py @@ -24,6 +24,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestGlueJobRunDetailsLink(BaseAwsLinksTestCase): link_class = GlueJobRunDetailsLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_logs.py b/providers/amazon/tests/unit/amazon/aws/links/test_logs.py index 2c90eecd232ad..bb7a3277d3994 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_logs.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_logs.py @@ -24,6 +24,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestCloudWatchEventsLink(BaseAwsLinksTestCase): link_class = CloudWatchEventsLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py index f08d7df93d509..7d79d931206ce 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker.py @@ -25,6 +25,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestSageMakerTransformDetailsLink(BaseAwsLinksTestCase): link_class = SageMakerTransformJobLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker_unified_studio.py b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker_unified_studio.py index bb749727323e2..487e116e0c795 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker_unified_studio.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_sagemaker_unified_studio.py @@ -24,6 +24,10 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +import pytest + +pytestmark = pytest.mark.db_test + class TestSageMakerUnifiedStudioLink(BaseAwsLinksTestCase): link_class = SageMakerUnifiedStudioLink diff --git a/providers/amazon/tests/unit/amazon/aws/links/test_step_function.py b/providers/amazon/tests/unit/amazon/aws/links/test_step_function.py index acfad7e98e96c..6526a69011baf 100644 --- a/providers/amazon/tests/unit/amazon/aws/links/test_step_function.py +++ b/providers/amazon/tests/unit/amazon/aws/links/test_step_function.py @@ -29,6 +29,8 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult +pytestmark = pytest.mark.db_test + class TestStateMachineDetailsLink(BaseAwsLinksTestCase): link_class = StateMachineDetailsLink diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_dynamodb.py b/providers/amazon/tests/unit/amazon/aws/sensors/test_dynamodb.py index 93ca01d26275d..f34acf3aac400 100644 --- a/providers/amazon/tests/unit/amazon/aws/sensors/test_dynamodb.py +++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_dynamodb.py @@ -17,14 +17,11 @@ from __future__ import annotations -import pytest from moto import mock_aws from airflow.providers.amazon.aws.hooks.dynamodb import DynamoDBHook from airflow.providers.amazon.aws.sensors.dynamodb import DynamoDBValueSensor -pytestmark = pytest.mark.db_test - class TestDynamoDBValueSensor: def setup_method(self): diff --git a/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py b/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py index e8f97104f392f..52a9937344b74 100644 --- a/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py +++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_google_api_to_s3.py @@ -26,7 +26,6 @@ from airflow.providers.amazon.aws.transfers.google_api_to_s3 import GoogleApiToS3Operator # This test mocks json.dumps so it won't work for database isolation mode -pytestmark = pytest.mark.db_test class TestGoogleApiToS3: diff --git a/providers/amazon/tests/unit/amazon/aws/triggers/test_serialization.py b/providers/amazon/tests/unit/amazon/aws/triggers/test_serialization.py index 446a799c482ad..8b5149ed343b6 100644 --- a/providers/amazon/tests/unit/amazon/aws/triggers/test_serialization.py +++ b/providers/amazon/tests/unit/amazon/aws/triggers/test_serialization.py @@ -64,8 +64,6 @@ from airflow.providers.amazon.aws.utils.rds import RdsDbType from airflow.serialization.serialized_objects import BaseSerialization -pytestmark = pytest.mark.db_test - BATCH_JOB_ID = "job_id" TEST_CLUSTER_IDENTIFIER = "test-cluster" diff --git a/providers/amazon/tests/unit/amazon/aws/utils/test_suppress.py b/providers/amazon/tests/unit/amazon/aws/utils/test_suppress.py index 7323527f65559..744df42b6e6bb 100644 --- a/providers/amazon/tests/unit/amazon/aws/utils/test_suppress.py +++ b/providers/amazon/tests/unit/amazon/aws/utils/test_suppress.py @@ -22,7 +22,6 @@ from airflow.providers.amazon.aws.utils.suppress import return_on_error -@pytest.mark.db_test def test_suppress_function(caplog): @return_on_error("error") def fn(value: str, exc: Exception | None = None) -> str: diff --git a/providers/amazon/tests/unit/amazon/aws/waiters/test_eks.py b/providers/amazon/tests/unit/amazon/aws/waiters/test_eks.py index 6aad471868e6a..1b70fff4784df 100644 --- a/providers/amazon/tests/unit/amazon/aws/waiters/test_eks.py +++ b/providers/amazon/tests/unit/amazon/aws/waiters/test_eks.py @@ -19,6 +19,7 @@ import json import boto3 +import pytest from moto import mock_aws from airflow.providers.amazon.aws.hooks.eks import EksHook @@ -36,6 +37,7 @@ def test_service_waiters(self): assert waiter in hook.list_waiters() assert waiter in hook._list_custom_waiters() + @pytest.mark.db_test @mock_aws def test_existing_waiter_inherited(self): """ From d8327be0d3f30b65080e9a550ab94e5fe96710db Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sun, 22 Jun 2025 15:43:53 +0200 Subject: [PATCH 042/381] Add providers that currently do not have pytest.mark.db to pre-commit (#52021) We do not want to add more `db` tests to the providers and there is a number of providers where db_tests are already not present - so we should prevent adding db_tests to those providers. --- .pre-commit-config.yaml | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1ae406eb2fd2c..91e5216457944 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -579,7 +579,28 @@ repos: # and we want to keep them clean and only use non-db-tests files: > (?x) - ^providers/airbyte/.*\.py$ + ^providers/airbyte/.*\.py$| + ^providers/cohere/.*\.py$| + ^providers/facebook/.*\.py$| + ^providers/grpc/.*\.py$| + ^providers/hashicorp/.*\.py$| + ^providers/influxdb/.*\.py$| + ^providers/jenkins/.*\.py$| + ^providers/neo4j/.*\.py$| + ^providers/odbc/.*\.py$| + ^providers/openai/.*\.py$| + ^providers/openfaas/.*\.py$| + ^providers/pgvector/.*\.py$| + ^providers/pinecone/.*\.py$| + ^providers/postgres/.*\.py$| + ^providers/presto/.*\.py$| + ^providers/segment/.*\.py$| + ^providers/sendgrid/.*\.py$| + ^providers/singularity/.*\.py$| + ^providers/teradata/.*\.py$| + ^providers/trino/.*\.py$| + ^providers/vertica/.*\.py$| + ^providers/yandex/.*\.py$ - id: check-links-to-example-dags-do-not-use-hardcoded-versions name: Verify no hard-coded version in example dags description: The links to example dags should use |version| as version specification From 57c1a4a52d6a9a3e3c8a8f065c12ed8e21876028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20=C5=A0im=C3=A1nek?= Date: Sun, 22 Jun 2025 15:50:51 +0200 Subject: [PATCH 043/381] Enhance ENV vars and conns visibility docs. (#52014) --- airflow-core/docs/howto/connection.rst | 11 +++++++++-- airflow-core/docs/howto/variable.rst | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/airflow-core/docs/howto/connection.rst b/airflow-core/docs/howto/connection.rst index c753e1342660f..84aa1648b8224 100644 --- a/airflow-core/docs/howto/connection.rst +++ b/airflow-core/docs/howto/connection.rst @@ -115,9 +115,16 @@ If serializing with Airflow URI: See :ref:`Connection URI format ` for more details on how to generate the a valid URI. -.. note:: +Visibility in UI and CLI +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Connections defined through environment variables are **not displayed** in the Airflow UI or listed using ``airflow connections list``. + +This is because these connections are **resolved dynamically at runtime**, typically on the **worker** process executing your task. They are not stored in the metadata database or loaded in the webserver or scheduler environment. + +This supports secure deployment patterns where environment-based secrets (e.g. via ``.env`` files, Docker, or Kubernetes secrets) are injected only into runtime components like workers — and not into components exposed to users, like the webserver. - Connections defined in environment variables will not show up in the Airflow UI or using ``airflow connections list``. +If you need connections to appear in the UI for visibility or editing, define them using the metadata database instead. Storing connections in a Secrets Backend diff --git a/airflow-core/docs/howto/variable.rst b/airflow-core/docs/howto/variable.rst index 20c36597c94e6..a07a04a154571 100644 --- a/airflow-core/docs/howto/variable.rst +++ b/airflow-core/docs/howto/variable.rst @@ -61,10 +61,20 @@ You can use them in your dags as: Single underscores surround ``VAR``. This is in contrast with the way ``airflow.cfg`` parameters are stored, where double underscores surround the config section name. - Variables set using Environment Variables would not appear in the Airflow UI but you will - be able to use them in your DAG file. Variables set using Environment Variables will also + Variables set using Environment Variables will also take precedence over variables defined in the Airflow UI. +Visibility in UI and CLI +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Variables defined through environment variables are **not displayed** in the Airflow UI or listed using ``airflow variables list``. + +This is because these variables are **resolved dynamically at runtime**, typically on the **worker** process executing your task. They are not stored in the metadata database or loaded in the webserver or scheduler environment. + +This supports secure deployment patterns where environment-based secrets (e.g. via ``.env`` files, Docker, or Kubernetes secrets) are injected only into runtime components like workers — and not into components exposed to users, like the webserver. + +If you want variables to appear in the UI for visibility or editing, define them in the metadata database instead. + Securing Variables ------------------ From 0c845f54b779d4545f55ffd1a1df238ae5b949ba Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sun, 22 Jun 2025 16:05:43 +0200 Subject: [PATCH 044/381] Remove db tests from zendesk provider (#52022) Part of #52020 --- .pre-commit-config.yaml | 3 ++- providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 91e5216457944..2bc36c3076000 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -600,7 +600,8 @@ repos: ^providers/teradata/.*\.py$| ^providers/trino/.*\.py$| ^providers/vertica/.*\.py$| - ^providers/yandex/.*\.py$ + ^providers/yandex/.*\.py$| + ^providers/zendesk/.*\.py$ - id: check-links-to-example-dags-do-not-use-hardcoded-versions name: Verify no hard-coded version in example dags description: The links to example dags should use |version| as version specification diff --git a/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py b/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py index 677c63413b14b..6b00eb6268690 100644 --- a/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py +++ b/providers/zendesk/tests/unit/zendesk/hooks/test_zendesk.py @@ -25,8 +25,6 @@ from airflow.models import Connection from airflow.providers.zendesk.hooks.zendesk import ZendeskHook -pytestmark = pytest.mark.db_test - class TestZendeskHook: conn_id = "zendesk_conn_id_test" From 64a03f66842977d0a7f341b146efc85d8edc9110 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Sun, 22 Jun 2025 19:42:07 +0530 Subject: [PATCH 045/381] Replace usage of os.environ with conf_vars in kafka IT (#52025) --- .../apache/kafka/operators/test_consume.py | 43 ++++++++----------- .../apache/kafka/operators/test_produce.py | 38 ++++++---------- 2 files changed, 32 insertions(+), 49 deletions(-) diff --git a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py index 772c9317fafab..ddca5fc502e17 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_consume.py @@ -18,19 +18,17 @@ from __future__ import annotations -import json import logging -import os from typing import Any import pytest from confluent_kafka import Producer -from airflow.models import Connection - # Import Operator from airflow.providers.apache.kafka.operators.consume import ConsumeFromTopicOperator +from tests_common.test_utils.config import conf_vars + log = logging.getLogger(__name__) @@ -52,32 +50,27 @@ def _basic_message_tester(message, test=None) -> Any: @pytest.mark.integration("kafka") +@conf_vars( + { + ( + "connections", + "operator.consumer.test.integration.test_1", + ): "kafka://broker:29092?socket.timeout.ms=10&bootstrap.servers=broker:29092&group.id=operator.consumer.test.integration.test_1&enable.auto.commit=False&auto.offset.reset=beginning", + ( + "connections", + "operator.consumer.test.integration.test_2", + ): "kafka://broker:29092?socket.timeout.ms=10&bootstrap.servers=broker:29092&group.id=operator.consumer.test.integration.test_2&enable.auto.commit=False&auto.offset.reset=beginning", + ( + "connections", + "operator.consumer.test.integration.test_3", + ): "kafka://broker:29092?socket.timeout.ms=10&bootstrap.servers=broker:29092&group.id=operator.consumer.test.integration.test_3&enable.auto.commit=False&auto.offset.reset=beginning", + } +) class TestConsumeFromTopic: """ test ConsumeFromTopicOperator """ - def setup_method(self): - """Set up connections for each test method.""" - # Create separate connections for each test - for num in (1, 2, 3): - conn = Connection( - conn_id=f"operator.consumer.test.integration.test_{num}", - conn_type="kafka", - extra=json.dumps( - { - "socket.timeout.ms": 10, - "bootstrap.servers": "broker:29092", - "group.id": f"operator.consumer.test.integration.test_{num}", - "enable.auto.commit": False, - "auto.offset.reset": "beginning", - } - ), - ) - - env_var_name = f"AIRFLOW_CONN_{conn.conn_id.upper()}" - os.environ[env_var_name] = conn.get_uri() - def test_consumer_operator_test_1(self): """test consumer works with string import""" diff --git a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py index ee73c133b4195..ada93900ce67d 100644 --- a/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py +++ b/providers/apache/kafka/tests/integration/apache/kafka/operators/test_produce.py @@ -18,14 +18,14 @@ import json import logging -import os import pytest from confluent_kafka import Consumer -from airflow.models import Connection from airflow.providers.apache.kafka.operators.produce import ProduceToTopicOperator +from tests_common.test_utils.config import conf_vars + log = logging.getLogger(__name__) @@ -35,33 +35,23 @@ def _producer_function(): @pytest.mark.integration("kafka") +@conf_vars( + { + ( + "connections", + "kafka_default_test_1", + ): "kafka://broker:29092?socket.timeout.ms=10&message.timeout.ms=10&group.id=operator.producer.test.integration.test_1", + ( + "connections", + "kafka_default_test_2", + ): "kafka://broker:29092?socket.timeout.ms=10&message.timeout.ms=10&group.id=operator.producer.test.integration.test_2", + } +) class TestProduceToTopic: """ test ProduceToTopicOperator """ - def setup_method(self): - """Set up connections for each test method.""" - # Create separate connections for each test - for num in (1, 2): - group = f"operator.producer.test.integration.test_{num}" - conn = Connection( - conn_id=f"kafka_default_test_{num}", - conn_type="kafka", - extra=json.dumps( - { - "socket.timeout.ms": 10, - "message.timeout.ms": 10, - "bootstrap.servers": "broker:29092", - "group.id": group, - } - ), - ) - - # Set environment variable directly (like create_connection_without_db does) - env_var_name = f"AIRFLOW_CONN_{conn.conn_id.upper()}" - os.environ[env_var_name] = conn.get_uri() - def test_producer_operator_test_1(self): GROUP = "operator.producer.test.integration.test_1" TOPIC = "operator.producer.test.integration.test_1" From 2e8102a926be699a913f43d44f926bab6b0c52f8 Mon Sep 17 00:00:00 2001 From: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Date: Sun, 22 Jun 2025 16:12:44 +0200 Subject: [PATCH 046/381] Revert "Revert "Remove FAB dependency from Edge3 Provider (#51995)"" (#52000) * Revert "Revert "Remove FAB dependency from Edge3 Provider (#51995)" (#51998)" This reverts commit 46385565a7f2589b53c6353f4f8a500a333d364d. * Attempt to pushup import to remove DB problems in pytests * Fix lazy loading of DB models in plugin * Mark test for DB --- providers/edge3/pyproject.toml | 2 - .../edge3/plugins/edge_executor_plugin.py | 362 +++++++++--------- .../plugins/test_edge_executor_plugin.py | 7 +- 3 files changed, 190 insertions(+), 181 deletions(-) diff --git a/providers/edge3/pyproject.toml b/providers/edge3/pyproject.toml index c111dd424e901..302d6f2afafd8 100644 --- a/providers/edge3/pyproject.toml +++ b/providers/edge3/pyproject.toml @@ -58,7 +58,6 @@ requires-python = "~=3.9" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=2.10.0", - "apache-airflow-providers-fab>=1.5.3", "pydantic>=2.11.0", "retryhttp>=1.2.0,!=1.3.0", ] @@ -68,7 +67,6 @@ dev = [ "apache-airflow", "apache-airflow-task-sdk", "apache-airflow-devel-common", - "apache-airflow-providers-fab", # Additional devel dependencies (do not remove this line and add extra development dependencies) ] diff --git a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py index 2d06f78e7b975..d48bc8d5744be 100644 --- a/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +++ b/providers/edge3/src/airflow/providers/edge3/plugins/edge_executor_plugin.py @@ -17,184 +17,194 @@ from __future__ import annotations -import re -from datetime import datetime, timedelta -from pathlib import Path from typing import TYPE_CHECKING, Any -from flask import Blueprint, redirect, request, url_for -from flask_appbuilder import BaseView, expose -from markupsafe import Markup -from sqlalchemy import select - from airflow.configuration import conf from airflow.exceptions import AirflowConfigException -from airflow.models.taskinstance import TaskInstanceState from airflow.plugins_manager import AirflowPlugin from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS -from airflow.utils.state import State - -if AIRFLOW_V_3_0_PLUS: - from airflow.api_fastapi.auth.managers.models.resource_details import AccessView - from airflow.providers.fab.www.auth import has_access_view - -else: - from airflow.auth.managers.models.resource_details import AccessView # type: ignore[no-redef] - from airflow.www.auth import has_access_view # type: ignore[no-redef] from airflow.utils.session import NEW_SESSION, provide_session -from airflow.utils.yaml import safe_load if TYPE_CHECKING: from sqlalchemy.orm import Session +if AIRFLOW_V_3_0_PLUS: + from airflow.utils.db import DBLocks, create_global_lock -def _get_airflow_2_api_endpoint() -> Blueprint: - from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED - from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver - - folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ - with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: - specification = safe_load(f) - from connexion import FlaskApi - - bp = FlaskApi( - specification=specification, - resolver=_LazyResolver(), - base_path="/edge_worker/v1", - strict_validation=True, - options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, - validate_responses=True, - validator_map={"body": _CustomErrorRequestBodyValidator}, - ).blueprint - # Need to exempt CSRF to make API usable - from airflow.www.app import csrf - - csrf.exempt(bp) - return bp - - -def _get_api_endpoint() -> dict[str, Any]: - from airflow.providers.edge3.worker_api.app import create_edge_worker_api_app - - return { - "app": create_edge_worker_api_app(), - "url_prefix": "/edge_worker/v1", - "name": "Airflow Edge Worker API", - } - - -def _state_token(state): - """Return a formatted string with HTML for a given State.""" - color = State.color(state) - fg_color = State.color_fg(state) - return Markup( - """ - {state} - """ - ).format(color=color, state=state, fg_color=fg_color) - - -def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: - if maintenance_comment: - if re.search( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment - ): - return re.sub( - r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): - return re.sub( - r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", - f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", - maintenance_comment, - ) - return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" - return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" - - -# registers airflow/providers/edge3/plugins/templates as a Jinja template folder -template_bp = Blueprint( - "template_blueprint", - __name__, - template_folder="templates", -) - - -class EdgeWorkerJobs(BaseView): - """Simple view to show Edge Worker jobs.""" - - default_view = "jobs" - - @expose("/jobs") - @has_access_view(AccessView.JOBS) @provide_session - def jobs(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_job import EdgeJobModel - - jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() - html_states = { - str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() + def _get_api_endpoint(session: Session = NEW_SESSION) -> dict[str, Any]: + # Ensure all required DB modeals are created before starting the API + with create_global_lock(session=session, lock=DBLocks.MIGRATIONS): + engine = session.get_bind().engine + from airflow.providers.edge3.models.edge_job import EdgeJobModel + from airflow.providers.edge3.models.edge_logs import EdgeLogsModel + from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel + + EdgeJobModel.metadata.create_all(engine) + EdgeLogsModel.metadata.create_all(engine) + EdgeWorkerModel.metadata.create_all(engine) + + from airflow.providers.edge3.worker_api.app import create_edge_worker_api_app + + return { + "app": create_edge_worker_api_app(), + "url_prefix": "/edge_worker/v1", + "name": "Airflow Edge Worker API", } - return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) - - -class EdgeWorkerHosts(BaseView): - """Simple view to show Edge Worker status.""" - default_view = "status" - - @expose("/status") - @has_access_view(AccessView.JOBS) - @provide_session - def status(self, session: Session = NEW_SESSION): - from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel - - hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() - five_min_ago = datetime.now() - timedelta(minutes=5) - return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) - - @expose("/status/maintenance//on", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def worker_to_maintenance(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import request_maintenance - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" - request_maintenance(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//off", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker_from_maintenance(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import exit_maintenance - - exit_maintenance(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//remove", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def remove_worker(self, worker_name: str): - from airflow.providers.edge3.models.edge_worker import remove_worker - - remove_worker(worker_name) - return redirect(url_for("EdgeWorkerHosts.status")) - - @expose("/status/maintenance//change_comment", methods=["POST"]) - @has_access_view(AccessView.JOBS) - def change_maintenance_comment(self, worker_name: str): - from flask_login import current_user - - from airflow.providers.edge3.models.edge_worker import change_maintenance_comment - - maintenance_comment = request.form.get("maintenance_comment") - maintenance_comment = modify_maintenance_comment_on_update(maintenance_comment, current_user.username) - change_maintenance_comment(worker_name, maintenance_comment) - return redirect(url_for("EdgeWorkerHosts.status")) +else: + # This is for back-compatability with Airflow 2.x and we only make this + # to prevents dependencies and breaking imports in Airflow 3.x + import re + from datetime import datetime, timedelta + from pathlib import Path + + from flask import Blueprint, redirect, request, url_for + from flask_appbuilder import BaseView, expose + from markupsafe import Markup + from sqlalchemy import select + + from airflow.auth.managers.models.resource_details import AccessView + from airflow.models.taskinstance import TaskInstanceState + from airflow.utils.state import State + from airflow.utils.yaml import safe_load + from airflow.www.auth import has_access_view + + def _get_airflow_2_api_endpoint() -> Blueprint: + from airflow.www.app import csrf + from airflow.www.constants import SWAGGER_BUNDLE, SWAGGER_ENABLED + from airflow.www.extensions.init_views import _CustomErrorRequestBodyValidator, _LazyResolver + + folder = Path(__file__).parents[1].resolve() # this is airflow/providers/edge3/ + with folder.joinpath("openapi", "edge_worker_api_v1.yaml").open() as f: + specification = safe_load(f) + from connexion import FlaskApi + + bp = FlaskApi( + specification=specification, + resolver=_LazyResolver(), + base_path="/edge_worker/v1", + strict_validation=True, + options={"swagger_ui": SWAGGER_ENABLED, "swagger_path": SWAGGER_BUNDLE.__fspath__()}, + validate_responses=True, + validator_map={"body": _CustomErrorRequestBodyValidator}, + ).blueprint + # Need to exempt CSRF to make API usable + csrf.exempt(bp) + return bp + + def _state_token(state): + """Return a formatted string with HTML for a given State.""" + color = State.color(state) + fg_color = State.color_fg(state) + return Markup( + """ + {state} + """ + ).format(color=color, state=state, fg_color=fg_color) + + def modify_maintenance_comment_on_update(maintenance_comment: str | None, username: str) -> str: + if maintenance_comment: + if re.search( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:.*", maintenance_comment + ): + return re.sub( + r"^\[[-\d:\s]+\] - .+ put node into maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + if re.search(r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:.*", maintenance_comment): + return re.sub( + r"^\[[-\d:\s]+\] - .+ updated maintenance mode\r?\nComment:", + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:", + maintenance_comment, + ) + return f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment: {maintenance_comment}" + return ( + f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {username} updated maintenance mode\nComment:" + ) + + # registers airflow/providers/edge3/plugins/templates as a Jinja template folder + template_bp = Blueprint( + "template_blueprint", + __name__, + template_folder="templates", + ) + + class EdgeWorkerJobs(BaseView): + """Simple view to show Edge Worker jobs.""" + + default_view = "jobs" + + @expose("/jobs") + @has_access_view(AccessView.JOBS) + @provide_session + def jobs(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_job import EdgeJobModel + + jobs = session.scalars(select(EdgeJobModel).order_by(EdgeJobModel.queued_dttm)).all() + html_states = { + str(state): _state_token(str(state)) for state in TaskInstanceState.__members__.values() + } + return self.render_template("edge_worker_jobs.html", jobs=jobs, html_states=html_states) + + class EdgeWorkerHosts(BaseView): + """Simple view to show Edge Worker status.""" + + default_view = "status" + + @expose("/status") + @has_access_view(AccessView.JOBS) + @provide_session + def status(self, session: Session = NEW_SESSION): + from airflow.providers.edge3.models.edge_worker import EdgeWorkerModel + + hosts = session.scalars(select(EdgeWorkerModel).order_by(EdgeWorkerModel.worker_name)).all() + five_min_ago = datetime.now() - timedelta(minutes=5) + return self.render_template("edge_worker_hosts.html", hosts=hosts, five_min_ago=five_min_ago) + + @expose("/status/maintenance//on", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def worker_to_maintenance(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import request_maintenance + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = f"[{datetime.now().strftime('%Y-%m-%d %H:%M')}] - {current_user.username} put node into maintenance mode\nComment: {maintenance_comment}" + request_maintenance(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//off", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker_from_maintenance(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import exit_maintenance + + exit_maintenance(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//remove", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def remove_worker(self, worker_name: str): + from airflow.providers.edge3.models.edge_worker import remove_worker + + remove_worker(worker_name) + return redirect(url_for("EdgeWorkerHosts.status")) + + @expose("/status/maintenance//change_comment", methods=["POST"]) + @has_access_view(AccessView.JOBS) + def change_maintenance_comment(self, worker_name: str): + from flask_login import current_user + + from airflow.providers.edge3.models.edge_worker import change_maintenance_comment + + maintenance_comment = request.form.get("maintenance_comment") + maintenance_comment = modify_maintenance_comment_on_update( + maintenance_comment, current_user.username + ) + change_maintenance_comment(worker_name, maintenance_comment) + return redirect(url_for("EdgeWorkerHosts.status")) # Check if EdgeExecutor is actually loaded @@ -209,21 +219,19 @@ class EdgeExecutorPlugin(AirflowPlugin): name = "edge_executor" if EDGE_EXECUTOR_ACTIVE: - appbuilder_views = [ - { - "name": "Edge Worker Jobs", - "category": "Admin", - "view": EdgeWorkerJobs(), - }, - { - "name": "Edge Worker Hosts", - "category": "Admin", - "view": EdgeWorkerHosts(), - }, - ] - if AIRFLOW_V_3_0_PLUS: fastapi_apps = [_get_api_endpoint()] - flask_blueprints = [template_bp] else: + appbuilder_views = [ + { + "name": "Edge Worker Jobs", + "category": "Admin", + "view": EdgeWorkerJobs(), + }, + { + "name": "Edge Worker Hosts", + "category": "Admin", + "view": EdgeWorkerHosts(), + }, + ] flask_blueprints = [_get_airflow_2_api_endpoint(), template_bp] diff --git a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py index 52e837387502e..99e5e24722e77 100644 --- a/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py +++ b/providers/edge3/tests/unit/edge3/plugins/test_edge_executor_plugin.py @@ -43,6 +43,7 @@ def test_plugin_inactive(): assert len(rep.appbuilder_views) == 0 +@pytest.mark.db_test def test_plugin_active(): with conf_vars({("edge", "api_enabled"): "true"}): importlib.reload(edge_executor_plugin) @@ -54,11 +55,12 @@ def test_plugin_active(): rep = EdgeExecutorPlugin() assert EDGE_EXECUTOR_ACTIVE - assert len(rep.appbuilder_views) == 2 if AIRFLOW_V_3_0_PLUS: - assert len(rep.flask_blueprints) == 1 + assert len(rep.appbuilder_views) == 0 + assert len(rep.flask_blueprints) == 0 assert len(rep.fastapi_apps) == 1 else: + assert len(rep.appbuilder_views) == 2 assert len(rep.flask_blueprints) == 2 @@ -73,6 +75,7 @@ def test_plugin_is_airflow_plugin(plugin): assert isinstance(plugin, AirflowPlugin) +@pytest.mark.skipif(AIRFLOW_V_3_0_PLUS, reason="Plugin endpoint is not used in Airflow 3.0+") @pytest.mark.parametrize( "initial_comment, expected_comment", [ From e6df44857ddfd882a4e2a72f8c4d2e201e0bdfbe Mon Sep 17 00:00:00 2001 From: "Alyssa Mhie M. Matila" Date: Sun, 22 Jun 2025 22:15:18 +0800 Subject: [PATCH 047/381] remove directed acyclic graphs (#51982) * remove directed acyclic graphs * update dags Co-authored-by: Wei Lee * update to workflows (Dags) * capitalization consistency * Update README.md Co-authored-by: Wei Lee * with pre-commit --------- Co-authored-by: Wei Lee --- README.md | 2 +- generated/PYPI_README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f58b2747e0642..d3b31364b94cc 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. -Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. +Use Airflow to author workflows (Dags) that orchestrate tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. diff --git a/generated/PYPI_README.md b/generated/PYPI_README.md index 97983ada39bb1..247aca59627da 100644 --- a/generated/PYPI_README.md +++ b/generated/PYPI_README.md @@ -50,7 +50,7 @@ PROJECT BY THE `generate-pypi-readme` PRE-COMMIT. YOUR CHANGES HERE WILL BE AUTO When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. -Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. +Use Airflow to author workflows (Dags) that orchestrate tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. ## Requirements From 28d35bcf261dc1f91858c5f2bbb454b6d178c89e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20=C5=A0im=C3=A1nek?= Date: Sun, 22 Jun 2025 16:18:25 +0200 Subject: [PATCH 048/381] Fix ENV variable in ui CONTRIBUTING.md, ensure app runs on expected port. (#52023) --- .../airflow/api_fastapi/auth/managers/simple/ui/package.json | 2 +- airflow-core/src/airflow/ui/CONTRIBUTING.md | 2 +- airflow-core/src/airflow/ui/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json index 00eaa21191f91..f15fc2cad77a0 100644 --- a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json +++ b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --port 5174", + "dev": "vite --port 5174 --strictPort", "build": "vite build", "lint": "eslint --quiet && tsc --p tsconfig.app.json", "lint:fix": "eslint --fix && tsc --p tsconfig.app.json", diff --git a/airflow-core/src/airflow/ui/CONTRIBUTING.md b/airflow-core/src/airflow/ui/CONTRIBUTING.md index 43f5ac043be42..a7a2ae9831e1d 100644 --- a/airflow-core/src/airflow/ui/CONTRIBUTING.md +++ b/airflow-core/src/airflow/ui/CONTRIBUTING.md @@ -26,7 +26,7 @@ With Breeze: Manually: -- Have the `dev-mode` environment variable enabled +- Have the `DEV_MODE` environment variable set to `true` when starting airflow api-server - Run `pnpm install && pnpm dev` - Note: Make sure to access the UI via the Airflow localhost port (8080 or 28080) and not the vite port (5173) diff --git a/airflow-core/src/airflow/ui/package.json b/airflow-core/src/airflow/ui/package.json index 2429adc35a0c7..e8eab0f1fd7f2 100644 --- a/airflow-core/src/airflow/ui/package.json +++ b/airflow-core/src/airflow/ui/package.json @@ -5,7 +5,7 @@ "type": "module", "homepage": "/ui", "scripts": { - "dev": "vite", + "dev": "vite --port 5173 --strictPort", "build": "vite build", "lint": "eslint --quiet && tsc --p tsconfig.app.json", "lint:fix": "eslint --fix && tsc --p tsconfig.app.json", From 62d5be96b80ab2be6cec842823381be5dcbea103 Mon Sep 17 00:00:00 2001 From: Dominik <105610163+dominikhei@users.noreply.github.com> Date: Sun, 22 Jun 2025 17:50:44 +0200 Subject: [PATCH 049/381] Removed pytest.mark_db_test from the docker provider completely (#52027) * Removed pytest.mark_db_test from the docker provider completely * Adjusted the .pre-commit-config.yaml according to review * Adjusted the pre-commit-config to remove the docker privider from check-pytest-mark-db-test-in-providers --- .../unit/docker/decorators/test_docker.py | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/providers/docker/tests/unit/docker/decorators/test_docker.py b/providers/docker/tests/unit/docker/decorators/test_docker.py index dba160afab98c..335fbac4cab69 100644 --- a/providers/docker/tests/unit/docker/decorators/test_docker.py +++ b/providers/docker/tests/unit/docker/decorators/test_docker.py @@ -36,9 +36,6 @@ from tests_common.test_utils.markers import skip_if_force_lowest_dependencies_marker -pytestmark = pytest.mark.db_test - - DEFAULT_DATE = timezone.datetime(2021, 9, 1) DILL_INSTALLED = find_spec("dill") is not None DILL_MARKER = pytest.mark.skipif(not DILL_INSTALLED, reason="`dill` is not installed") @@ -47,6 +44,7 @@ class TestDockerDecorator: + @pytest.mark.db_test def test_basic_docker_operator(self, dag_maker, session): @task.docker(image="python:3.9-slim", auto_remove="force") def f(): @@ -63,6 +61,7 @@ def f(): ti = dr.get_task_instances(session=session)[0] assert len(ti.xcom_pull()) == 100 + @pytest.mark.db_test def test_basic_docker_operator_with_param(self, dag_maker, session): @task.docker(image="python:3.9-slim", auto_remove="force") def f(num_results): @@ -81,6 +80,7 @@ def f(num_results): assert isinstance(result, list) assert len(result) == 50 + @pytest.mark.db_test def test_basic_docker_operator_with_template_fields(self, dag_maker): @task.docker(image="python:3.9-slim", container_name="python_{{dag_run.dag_id}}", auto_remove="force") def f(): @@ -94,6 +94,7 @@ def f(): rendered = ti.render_templates() assert rendered.container_name == f"python_{dr.dag_id}" + @pytest.mark.db_test def test_basic_docker_operator_multiple_output(self, dag_maker, session): @task.docker(image="python:3.9-slim", multiple_outputs=True, auto_remove="force") def return_dict(number: int): @@ -113,6 +114,7 @@ def return_dict(number: int): assert ti.xcom_pull(key="43", session=session) == 43 assert ti.xcom_pull(session=session) == {"number": test_number + 1, "43": 43} + @pytest.mark.db_test def test_no_return(self, dag_maker, session): @task.docker(image="python:3.9-slim", auto_remove="force") def f(): @@ -143,6 +145,7 @@ def do_run(): assert len(dag.task_ids) == 21 assert dag.task_ids[-1] == "do_run__20" + @pytest.mark.db_test @pytest.mark.parametrize( "kwargs, actual_exit_code, expected_state", [ @@ -183,6 +186,7 @@ def f(exit_code): ti = dr.get_task_instances(session=session)[0] assert ti.state == expected_state + @pytest.mark.db_test def test_setup_decorator_with_decorated_docker_task(self, dag_maker): @setup @task.docker(image="python:3.9-slim", auto_remove="force") @@ -196,6 +200,7 @@ def f(): setup_task = dag.task_group.children["f"] assert setup_task.is_setup + @pytest.mark.db_test def test_teardown_decorator_with_decorated_docker_task(self, dag_maker): @teardown @task.docker(image="python:3.9-slim", auto_remove="force") @@ -209,6 +214,7 @@ def f(): teardown_task = dag.task_group.children["f"] assert teardown_task.is_teardown + @pytest.mark.db_test @pytest.mark.parametrize("on_failure_fail_dagrun", [True, False]) def test_teardown_decorator_with_decorated_docker_task_and_on_failure_fail_arg( self, dag_maker, on_failure_fail_dagrun @@ -226,6 +232,7 @@ def f(): assert teardown_task.is_teardown assert teardown_task.on_failure_fail_dagrun is on_failure_fail_dagrun + @pytest.mark.db_test @pytest.mark.parametrize( "serializer", [ @@ -277,6 +284,7 @@ def g(): assert some_task.serializer == clone_of_docker_operator.serializer assert some_task.pickling_library is clone_of_docker_operator.pickling_library + @pytest.mark.db_test def test_respect_docker_host_env(self, monkeypatch, dag_maker): monkeypatch.setenv("DOCKER_HOST", "tcp://docker-host-from-env:2375") @@ -289,6 +297,7 @@ def f(): assert ret.operator.docker_url == "tcp://docker-host-from-env:2375" + @pytest.mark.db_test def test_docker_host_env_empty(self, monkeypatch, dag_maker): monkeypatch.setenv("DOCKER_HOST", "") @@ -303,6 +312,7 @@ def f(): # We want to ensure the same behavior. assert ret.operator.docker_url == "unix://var/run/docker.sock" + @pytest.mark.db_test def test_docker_host_env_unset(self, monkeypatch, dag_maker): monkeypatch.delenv("DOCKER_HOST", raising=False) @@ -315,6 +325,7 @@ def f(): assert ret.operator.docker_url == "unix://var/run/docker.sock" + @pytest.mark.db_test def test_failing_task(self, dag_maker, session): """Test regression #39319 @@ -347,6 +358,7 @@ def f(): last_line_of_docker_operator_log = log_content.splitlines()[-1] assert "ValueError: This task is expected to fail" in last_line_of_docker_operator_log + @pytest.mark.db_test def test_invalid_serializer(self, dag_maker): @task.docker(image="python:3.9-slim", auto_remove="force", serializer="airflow") def f(): @@ -388,6 +400,7 @@ def f(): ... f() assert f"Unable to import `{serializer}` module." in caplog.text + @pytest.mark.db_test @CLOUDPICKLE_MARKER def test_add_cloudpickle(self, dag_maker): @task.docker(image="python:3.9-slim", auto_remove="force", serializer="cloudpickle") @@ -398,6 +411,7 @@ def f(): with dag_maker(): f() + @pytest.mark.db_test @DILL_MARKER def test_add_dill(self, dag_maker): @task.docker(image="python:3.9-slim", auto_remove="force", serializer="dill") From 25b0cb7c138d4ce3d9906a6b28ad87a7e772989e Mon Sep 17 00:00:00 2001 From: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Date: Sun, 22 Jun 2025 17:52:09 +0200 Subject: [PATCH 050/381] Clean DB Test flag from SMTP where Connection is used (#52029) --- providers/smtp/tests/unit/smtp/hooks/test_smtp.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/providers/smtp/tests/unit/smtp/hooks/test_smtp.py b/providers/smtp/tests/unit/smtp/hooks/test_smtp.py index 9c601fdce54f5..c3c33a0b3f372 100644 --- a/providers/smtp/tests/unit/smtp/hooks/test_smtp.py +++ b/providers/smtp/tests/unit/smtp/hooks/test_smtp.py @@ -28,10 +28,6 @@ from airflow.models import Connection from airflow.providers.smtp.hooks.smtp import SmtpHook -from airflow.utils.session import create_session - -pytestmark = pytest.mark.db_test - smtplib_string = "airflow.providers.smtp.hooks.smtp.smtplib" @@ -317,8 +313,6 @@ def test_send_mime_noauth(self, mock_smtp, create_connection_without_db): smtp_hook.send_email_smtp(to="to", subject="subject", html_content="content", from_email="from") mock_smtp.assert_called_once_with(host="smtp_server_address", port=587, timeout=30) assert not mock_smtp.login.called - with create_session() as session: - session.query(Connection).filter(Connection.id == conn.id).delete() @patch("smtplib.SMTP_SSL") @patch("smtplib.SMTP") From a227d228b1935111fd84c417a01d9cea3c17a6fd Mon Sep 17 00:00:00 2001 From: Dominik <105610163+dominikhei@users.noreply.github.com> Date: Sun, 22 Jun 2025 17:55:20 +0200 Subject: [PATCH 051/381] removed usage of pytest.mark.db_test from dbt tests (#52031) --- providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py | 2 -- providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py | 3 +-- providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py | 3 --- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py index b32877a7efea5..07f2eaf8f18d3 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/hooks/test_dbt.py @@ -38,8 +38,6 @@ ) from airflow.utils import timezone -pytestmark = pytest.mark.db_test - ACCOUNT_ID_CONN = "account_id_conn" NO_ACCOUNT_ID_CONN = "no_account_id_conn" SINGLE_TENANT_CONN = "single_tenant_conn" diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py index 9fe925ec54aa8..a6b2a0d5ce867 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/operators/test_dbt.py @@ -37,8 +37,6 @@ if AIRFLOW_V_3_0_PLUS: from airflow.sdk.execution_time.comms import XComResult -pytestmark = pytest.mark.db_test - DEFAULT_DATE = timezone.datetime(2021, 1, 1) TASK_ID = "run_job_op" ACCOUNT_ID_CONN = "account_id_conn" @@ -647,6 +645,7 @@ def test_custom_trigger_reason(self, mock_run_job, conn_id, account_id): [(ACCOUNT_ID_CONN, None), (NO_ACCOUNT_ID_CONN, ACCOUNT_ID)], ids=["default_account", "explicit_account"], ) + @pytest.mark.db_test def test_run_job_operator_link( self, conn_id, account_id, create_task_instance_of_operator, request, mock_supervisor_comms ): diff --git a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py index 1bec86d4489b9..13be664c78415 100644 --- a/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py +++ b/providers/dbt/cloud/tests/unit/dbt/cloud/sensors/test_dbt.py @@ -30,9 +30,6 @@ from airflow.providers.dbt.cloud.sensors.dbt import DbtCloudJobRunSensor from airflow.providers.dbt.cloud.triggers.dbt import DbtCloudRunJobTrigger -pytestmark = pytest.mark.db_test - - ACCOUNT_ID = 11111 RUN_ID = 5555 TOKEN = "token" From c8a76496f123474c4f214be6aac839d4b942c1c2 Mon Sep 17 00:00:00 2001 From: Hiroki <59229050+Hiroki-Engineer@users.noreply.github.com> Date: Mon, 23 Jun 2025 01:33:18 +0900 Subject: [PATCH 052/381] Remove pytest db marker from datadog (#52030) --- .pre-commit-config.yaml | 1 + providers/datadog/tests/unit/datadog/sensors/test_datadog.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2bc36c3076000..fd0216d28c42e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -581,6 +581,7 @@ repos: (?x) ^providers/airbyte/.*\.py$| ^providers/cohere/.*\.py$| + ^providers/datadog/.*\.py$| ^providers/facebook/.*\.py$| ^providers/grpc/.*\.py$| ^providers/hashicorp/.*\.py$| diff --git a/providers/datadog/tests/unit/datadog/sensors/test_datadog.py b/providers/datadog/tests/unit/datadog/sensors/test_datadog.py index 2dc81e01a81c8..971f607c8c023 100644 --- a/providers/datadog/tests/unit/datadog/sensors/test_datadog.py +++ b/providers/datadog/tests/unit/datadog/sensors/test_datadog.py @@ -26,8 +26,6 @@ from airflow.models import Connection from airflow.providers.datadog.sensors.datadog import DatadogSensor -pytestmark = pytest.mark.db_test - at_least_one_event = [ { "alert_type": "info", From 5c05b8ae002e926d46037ba862aa54acc2455473 Mon Sep 17 00:00:00 2001 From: Idris Adebisi <104902482+hardeybisey@users.noreply.github.com> Date: Sun, 22 Jun 2025 17:34:28 +0100 Subject: [PATCH 053/381] Remove pytest.mark.db_test where possible from databricks provider. (#52033) --- .../tests/unit/databricks/hooks/test_databricks_sql.py | 2 -- .../tests/unit/databricks/operators/test_databricks.py | 4 ---- .../unit/databricks/operators/test_databricks_workflow.py | 2 -- .../tests/unit/databricks/plugins/test_databricks_workflow.py | 4 ---- 4 files changed, 12 deletions(-) diff --git a/providers/databricks/tests/unit/databricks/hooks/test_databricks_sql.py b/providers/databricks/tests/unit/databricks/hooks/test_databricks_sql.py index 244ec605a1796..4fd5d80c6521e 100644 --- a/providers/databricks/tests/unit/databricks/hooks/test_databricks_sql.py +++ b/providers/databricks/tests/unit/databricks/hooks/test_databricks_sql.py @@ -35,8 +35,6 @@ from airflow.providers.databricks.hooks.databricks_sql import DatabricksSqlHook, create_timeout_thread from airflow.utils.session import provide_session -pytestmark = pytest.mark.db_test - TASK_ID = "databricks-sql-operator" DEFAULT_CONN_ID = "databricks_default" HOST = "xx.cloud.databricks.com" diff --git a/providers/databricks/tests/unit/databricks/operators/test_databricks.py b/providers/databricks/tests/unit/databricks/operators/test_databricks.py index 183f33a7f6629..7c221a4d8f61d 100644 --- a/providers/databricks/tests/unit/databricks/operators/test_databricks.py +++ b/providers/databricks/tests/unit/databricks/operators/test_databricks.py @@ -48,8 +48,6 @@ ) from airflow.providers.databricks.utils import databricks as utils -pytestmark = pytest.mark.db_test - DATE = "2017-04-20" TASK_ID = "databricks-operator" DEFAULT_CONN_ID = "databricks_default" @@ -812,7 +810,6 @@ def test_init_with_merging(self): ) assert expected == utils.normalise_json_content(op.json) - @pytest.mark.db_test def test_init_with_templating(self): json = { "new_cluster": NEW_CLUSTER, @@ -1250,7 +1247,6 @@ def test_init_with_merging(self): assert expected == op.json - @pytest.mark.db_test def test_init_with_templating(self): json = {"notebook_params": NOTEBOOK_PARAMS, "jar_params": TEMPLATED_JAR_PARAMS} diff --git a/providers/databricks/tests/unit/databricks/operators/test_databricks_workflow.py b/providers/databricks/tests/unit/databricks/operators/test_databricks_workflow.py index 60a6d343ba31e..0a4c3ee1f9438 100644 --- a/providers/databricks/tests/unit/databricks/operators/test_databricks_workflow.py +++ b/providers/databricks/tests/unit/databricks/operators/test_databricks_workflow.py @@ -34,8 +34,6 @@ from airflow.providers.standard.operators.empty import EmptyOperator from airflow.utils import timezone -pytestmark = pytest.mark.db_test - DEFAULT_DATE = timezone.datetime(2021, 1, 1) diff --git a/providers/databricks/tests/unit/databricks/plugins/test_databricks_workflow.py b/providers/databricks/tests/unit/databricks/plugins/test_databricks_workflow.py index 3c6f57c1d9d5d..f79dbcbcaeb12 100644 --- a/providers/databricks/tests/unit/databricks/plugins/test_databricks_workflow.py +++ b/providers/databricks/tests/unit/databricks/plugins/test_databricks_workflow.py @@ -152,7 +152,6 @@ def app(): yield app -@pytest.mark.db_test def test_get_task_instance(app): with app.app_context(): operator = Mock() @@ -170,7 +169,6 @@ def test_get_task_instance(app): assert result == dag_run -@pytest.mark.db_test def test_get_return_url_dag_id_run_id(app): dag_id = "example_dag" run_id = "example_run" @@ -182,7 +180,6 @@ def test_get_return_url_dag_id_run_id(app): assert actual_url == expected_url, f"Expected {expected_url}, got {actual_url}" -@pytest.mark.db_test def test_workflow_job_run_link(app): with app.app_context(): link = WorkflowJobRunLink() @@ -220,7 +217,6 @@ def test_workflow_job_run_link(app): @pytest.mark.skipif( RUNNING_TESTS_AGAINST_AIRFLOW_PACKAGES, reason="Web plugin test doesn't work when not against sources" ) -@pytest.mark.db_test def test_workflow_job_repair_single_failed_link(app): with app.app_context(): link = WorkflowJobRepairSingleTaskLink() From 5a0abaec48d562d3679db3f8af0748c1593ef6b2 Mon Sep 17 00:00:00 2001 From: Bugra Ozturk Date: Sun, 22 Jun 2025 22:16:27 +0200 Subject: [PATCH 054/381] bugfix(ui): remove Commented Console Log (#52036) --- .../src/airflow/ui/src/components/FlexibleForm/FieldRow.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldRow.tsx b/airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldRow.tsx index f2596b9ac734e..3125201ceb176 100644 --- a/airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldRow.tsx +++ b/airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldRow.tsx @@ -38,8 +38,6 @@ export const FieldRow = ({ name, onUpdate: rowOnUpdate }: FlexibleFormElementPro ); const [isValid, setIsValid] = useState(!(isRequired(param) && param.value === null)); - // console.log(param); - const onUpdate = (value?: string, _error?: unknown) => { if (Boolean(_error)) { setIsValid(false); From a3ebc3e294fc27c989769e708d79a0bd99a1f937 Mon Sep 17 00:00:00 2001 From: Aritra Basu <24430013+aritra24@users.noreply.github.com> Date: Mon, 23 Jun 2025 02:07:00 +0530 Subject: [PATCH 055/381] Remove pytest.mark.db_test: Git (#52035) * Remove pytest.mark.db_test: Git Part of: #52020 * Fixed up the db tests in git One test still remains `test_repo_url_access_missing_connection_doesnt_error` which checks for non existance of connection, which doesn't work due to the false check will hit the DB to access a session. * Update test_git.py --- .../git/tests/unit/git/bundles/test_git.py | 44 +++++++++---------- .../git/tests/unit/git/hooks/test_git.py | 7 +-- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/providers/git/tests/unit/git/bundles/test_git.py b/providers/git/tests/unit/git/bundles/test_git.py index 929f790115db9..b6392d58533e5 100644 --- a/providers/git/tests/unit/git/bundles/test_git.py +++ b/providers/git/tests/unit/git/bundles/test_git.py @@ -34,9 +34,6 @@ from airflow.providers.git.hooks.git import GitHook from tests_common.test_utils.config import conf_vars -from tests_common.test_utils.db import clear_db_connections - -pytestmark = pytest.mark.db_test @pytest.fixture(autouse=True) @@ -70,7 +67,7 @@ def git_repo(tmp_path_factory): class TestGitDagBundle: @classmethod def teardown_class(cls) -> None: - clear_db_connections() + return # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture @pytest.fixture(autouse=True) @@ -414,16 +411,17 @@ def test_refresh_with_git_connection(self, mock_gitRepo): ], ) @mock.patch("airflow.providers.git.bundles.git.Repo") - def test_view_url(self, mock_gitrepo, repo_url, extra_conn_kwargs, expected_url, session): - session.query(Connection).delete() - conn = Connection( - conn_id="my_git_connection", - host=repo_url, - conn_type="git", - **(extra_conn_kwargs or {}), + def test_view_url( + self, mock_gitrepo, repo_url, extra_conn_kwargs, expected_url, create_connection_without_db + ): + create_connection_without_db( + Connection( + conn_id="my_git_connection", + host=repo_url, + conn_type="git", + **(extra_conn_kwargs or {}), + ) ) - session.add(conn) - session.commit() bundle = GitDagBundle( name="test", git_conn_id="my_git_connection", @@ -501,16 +499,17 @@ def test_view_url(self, mock_gitrepo, repo_url, extra_conn_kwargs, expected_url, ], ) @mock.patch("airflow.providers.git.bundles.git.Repo") - def test_view_url_subdir(self, mock_gitrepo, repo_url, extra_conn_kwargs, expected_url, session): - session.query(Connection).delete() - conn = Connection( - conn_id="git_default", - host=repo_url, - conn_type="git", - **(extra_conn_kwargs or {}), + def test_view_url_subdir( + self, mock_gitrepo, repo_url, extra_conn_kwargs, expected_url, create_connection_without_db + ): + create_connection_without_db( + Connection( + conn_id="git_default", + host=repo_url, + conn_type="git", + **(extra_conn_kwargs or {}), + ) ) - session.add(conn) - session.commit() bundle = GitDagBundle( name="test", tracking_ref="main", @@ -558,6 +557,7 @@ def test_clone_repo_no_such_path_error(self, mock_githook): assert "Repository path: %s not found" in str(exc_info.value) + @pytest.mark.db_test @patch.dict(os.environ, {"AIRFLOW_CONN_MY_TEST_GIT": '{"host": "something"}'}) @pytest.mark.parametrize( "conn_id, expected_hook_type", diff --git a/providers/git/tests/unit/git/hooks/test_git.py b/providers/git/tests/unit/git/hooks/test_git.py index db07f0bf4e349..eb1089f623a5f 100644 --- a/providers/git/tests/unit/git/hooks/test_git.py +++ b/providers/git/tests/unit/git/hooks/test_git.py @@ -27,9 +27,6 @@ from airflow.providers.git.hooks.git import GitHook from tests_common.test_utils.config import conf_vars -from tests_common.test_utils.db import clear_db_connections - -pytestmark = pytest.mark.db_test @pytest.fixture(autouse=True) @@ -67,7 +64,7 @@ def git_repo(tmp_path_factory): class TestGitHook: @classmethod def teardown_class(cls) -> None: - clear_db_connections() + return # TODO: Potential performance issue, converted setup_class to a setup_connections function level fixture @pytest.fixture(autouse=True) @@ -123,7 +120,7 @@ def test_correct_repo_urls(self, conn_id, hook_kwargs, expected_repo_url): hook = GitHook(git_conn_id=conn_id, **hook_kwargs) assert hook.repo_url == expected_repo_url - def test_env_var_with_configure_hook_env(self, session, create_connection_without_db): + def test_env_var_with_configure_hook_env(self, create_connection_without_db): default_hook = GitHook(git_conn_id=CONN_DEFAULT) with default_hook.configure_hook_env(): assert default_hook.env == { From 596a1cc83c779f4d276dfdd4d4fe124aab154634 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 04:42:43 +0800 Subject: [PATCH 056/381] tests: remove pytest db markers from google provider (#52039) --- .../unit/google/cloud/hooks/test_compute_ssh.py | 14 +++++++++++--- .../tests/unit/google/cloud/hooks/test_dataflow.py | 1 - .../tests/unit/google/cloud/hooks/test_dataform.py | 3 --- .../tests/unit/google/cloud/hooks/test_gcs.py | 1 - .../unit/google/cloud/operators/test_bigquery.py | 11 ++++++++--- .../unit/google/cloud/operators/test_dataflow.py | 11 +++++++---- .../google/cloud/operators/test_datapipeline.py | 1 - .../unit/google/cloud/operators/test_functions.py | 1 - .../google/cloud/secrets/test_secret_manager.py | 2 -- .../google/cloud/transfers/test_gcs_to_bigquery.py | 9 ++++++++- .../google/cloud/transfers/test_local_to_gcs.py | 2 -- .../unit/google/cloud/triggers/test_bigquery.py | 3 --- .../unit/google/cloud/triggers/test_dataproc.py | 12 +++++++++--- .../cloud/triggers/test_kubernetes_engine.py | 1 - .../cloud/utils/test_credentials_provider.py | 1 - .../unit/google/common/hooks/test_discovery_api.py | 2 -- 16 files changed, 43 insertions(+), 32 deletions(-) diff --git a/providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py b/providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py index a11613e6bc734..e069fbf824540 100644 --- a/providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py +++ b/providers/google/tests/unit/google/cloud/hooks/test_compute_ssh.py @@ -30,9 +30,6 @@ from airflow.providers.google.cloud.hooks.compute_ssh import ComputeEngineSSHHook from airflow.providers.google.cloud.hooks.os_login import OSLoginHook -pytestmark = pytest.mark.db_test - - TEST_PROJECT_ID = "test-project-id" TEST_INSTANCE_NAME = "test-instance" @@ -56,6 +53,7 @@ def test_os_login_hook(self, mocker): assert ComputeEngineSSHHook(gcp_conn_id="gcpssh")._oslogin_hook mock_os_login_hook.assert_called_with(gcp_conn_id="gcpssh") + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh._GCloudAuthorizedSSHClient") @@ -112,6 +110,7 @@ def test_get_conn_default_configuration(self, mock_ssh_client, mock_paramiko, mo ] ) + @pytest.mark.db_test @pytest.mark.parametrize( "exception_type, error_message", [(SSHException, r"Error occurred when establishing SSH connection using Paramiko")], @@ -156,6 +155,7 @@ def test_get_conn_default_configuration_test_exceptions( assert error_message in caplog.text assert "Failed establish SSH connection" in caplog.text + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -214,6 +214,7 @@ def test_get_conn_authorize_using_instance_metadata( mock_os_login_hook.return_value.import_ssh_public_key.assert_not_called() + @pytest.mark.db_test @pytest.mark.parametrize( "exception_type, error_message", [ @@ -257,6 +258,7 @@ def test_get_conn_authorize_using_instance_metadata_test_exception( assert error_message in caplog.text assert "Failed establish SSH connection" in caplog.text + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -287,6 +289,7 @@ def test_get_conn_authorize_using_instance_metadata_append_ssh_keys( zone=TEST_ZONE, ) + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -315,6 +318,7 @@ def test_get_conn_private_ip(self, mock_ssh_client, mock_paramiko, mock_os_login hostname=INTERNAL_IP, look_for_keys=mock.ANY, pkey=mock.ANY, sock=mock.ANY, username=mock.ANY ) + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -343,6 +347,7 @@ def test_get_conn_custom_hostname( username=mock.ANY, ) + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -372,6 +377,7 @@ def test_get_conn_iap_tunnel(self, mock_ssh_client, mock_paramiko, mock_os_login f"--zone={TEST_ZONE} --verbosity=warning" ) + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") @@ -407,6 +413,7 @@ def test_get_conn_iap_tunnel_with_impersonation_chain( f"--zone={TEST_ZONE} --verbosity=warning --impersonate-service-account={IMPERSONATION_CHAIN}" ) + @pytest.mark.db_test @pytest.mark.parametrize( "exception_type, error_message", [(SSHException, r"Error occurred when establishing SSH connection using Paramiko")], @@ -442,6 +449,7 @@ def test_get_conn_iap_tunnel_test_exception( assert error_message in caplog.text assert "Failed establish SSH connection" in caplog.text + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.OSLoginHook") @mock.patch("airflow.providers.google.cloud.hooks.compute_ssh.paramiko") diff --git a/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py b/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py index 8a13b1d8485c0..fbc09d77cbd3d 100644 --- a/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py +++ b/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py @@ -1695,7 +1695,6 @@ def callback(job_id): ) assert found_job_id is None - @pytest.mark.db_test @mock.patch("subprocess.Popen") @mock.patch("select.select") def test_dataflow_wait_for_done_logging(self, mock_select, mock_popen, caplog): diff --git a/providers/google/tests/unit/google/cloud/hooks/test_dataform.py b/providers/google/tests/unit/google/cloud/hooks/test_dataform.py index f96f0d5f6fb44..24607e93a0cd8 100644 --- a/providers/google/tests/unit/google/cloud/hooks/test_dataform.py +++ b/providers/google/tests/unit/google/cloud/hooks/test_dataform.py @@ -28,9 +28,6 @@ from unit.google.cloud.utils.base_gcp_mock import mock_base_gcp_hook_default_project_id -pytestmark = pytest.mark.db_test - - BASE_STRING = "airflow.providers.google.common.hooks.base_google.{}" DATAFORM_STRING = "airflow.providers.google.cloud.hooks.dataform.{}" diff --git a/providers/google/tests/unit/google/cloud/hooks/test_gcs.py b/providers/google/tests/unit/google/cloud/hooks/test_gcs.py index b705c0eb6c280..c4ba58fdb24b8 100644 --- a/providers/google/tests/unit/google/cloud/hooks/test_gcs.py +++ b/providers/google/tests/unit/google/cloud/hooks/test_gcs.py @@ -596,7 +596,6 @@ def test_delete_bucket(self, mock_service): mock_service.return_value.bucket.assert_called_once_with(test_bucket, user_project=None) mock_service.return_value.bucket.return_value.delete.assert_called_once() - @pytest.mark.db_test @mock.patch(GCS_STRING.format("GCSHook.get_conn")) def test_delete_nonexisting_bucket(self, mock_service, caplog): mock_service.return_value.bucket.return_value.delete.side_effect = exceptions.NotFound( diff --git a/providers/google/tests/unit/google/cloud/operators/test_bigquery.py b/providers/google/tests/unit/google/cloud/operators/test_bigquery.py index 6d1007fb79115..114c6f899a595 100644 --- a/providers/google/tests/unit/google/cloud/operators/test_bigquery.py +++ b/providers/google/tests/unit/google/cloud/operators/test_bigquery.py @@ -82,9 +82,6 @@ from airflow.utils.task_group import TaskGroup from airflow.utils.timezone import datetime -pytestmark = pytest.mark.db_test - - TASK_ID = "test-bq-generic-operator" TEST_DATASET = "test-dataset" TEST_DATASET_LOCATION = "EU" @@ -1820,6 +1817,7 @@ def test_bigquery_insert_job_operator_async(self, mock_hook, create_task_instanc "Trigger is not a BigQueryInsertJobTrigger" ) + @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.operators.bigquery.BigQueryHook") def test_bigquery_insert_job_operator_async_inherits_hook_project_id_when_non_given( self, mock_hook, create_task_instance_of_operator @@ -2202,6 +2200,7 @@ def test_task_label_too_big(self): op._add_job_labels() assert "labels" not in configuration + @pytest.mark.db_test def test_dag_label_too_big(self, dag_maker): configuration = { "query": { @@ -2219,6 +2218,7 @@ def test_dag_label_too_big(self, dag_maker): op._add_job_labels() assert "labels" not in configuration + @pytest.mark.db_test def test_labels_lowercase(self, dag_maker): configuration = { "query": { @@ -2237,6 +2237,7 @@ def test_labels_lowercase(self, dag_maker): assert configuration["labels"]["airflow-dag"] == "yelling_dag_name" assert configuration["labels"]["airflow-task"] == "yelling_task_id" + @pytest.mark.db_test def test_labels_starting_with_numbers(self, dag_maker): configuration = { "query": { @@ -2255,6 +2256,7 @@ def test_labels_starting_with_numbers(self, dag_maker): assert configuration["labels"]["airflow-dag"] == "123_dag" assert configuration["labels"]["airflow-task"] == "123_task" + @pytest.mark.db_test def test_labels_starting_with_underscore(self, dag_maker): configuration = { "query": { @@ -2274,6 +2276,7 @@ def test_labels_starting_with_underscore(self, dag_maker): assert configuration["labels"]["airflow-dag"] == "_dag_starting_with_underscore" assert configuration["labels"]["airflow-task"] == "_task_starting_with_underscore" + @pytest.mark.db_test def test_labels_starting_with_hyphen(self, dag_maker): configuration = { "query": { @@ -2309,6 +2312,7 @@ def test_labels_invalid_names(self, dag_maker): op._add_job_labels() assert "labels" not in configuration + @pytest.mark.db_test def test_labels_replace_dots_with_hyphens(self, dag_maker): configuration = { "query": { @@ -2341,6 +2345,7 @@ def test_labels_replace_dots_with_hyphens(self, dag_maker): assert configuration["labels"]["airflow-dag"] == "dag_with_taskgroup" assert configuration["labels"]["airflow-task"] == "task_group-task_name" + @pytest.mark.db_test def test_labels_with_task_group_prefix_group_id(self, dag_maker): configuration = { "query": { diff --git a/providers/google/tests/unit/google/cloud/operators/test_dataflow.py b/providers/google/tests/unit/google/cloud/operators/test_dataflow.py index 89b5f9180838f..a9bc77b02b6d3 100644 --- a/providers/google/tests/unit/google/cloud/operators/test_dataflow.py +++ b/providers/google/tests/unit/google/cloud/operators/test_dataflow.py @@ -575,7 +575,6 @@ def test_response_invalid(self): with pytest.raises(AirflowException): DataflowCreatePipelineOperator(**init_kwargs).execute(mock.MagicMock()) - @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.operators.dataflow.DataflowHook") def test_response_409(self, mock_hook, create_operator): """ @@ -595,7 +594,6 @@ def test_response_409(self, mock_hook, create_operator): ) -@pytest.mark.db_test class TestDataflowRunPipelineOperator: @pytest.fixture def run_operator(self): @@ -627,6 +625,7 @@ def test_execute(self, data_pipeline_hook_mock, run_operator): location=TEST_LOCATION, ) + @pytest.mark.db_test def test_invalid_data_pipeline_name(self): """ Test that AirflowException is raised if Run Operator is not given a data pipeline name. @@ -641,6 +640,7 @@ def test_invalid_data_pipeline_name(self): with pytest.raises(AirflowException): DataflowRunPipelineOperator(**init_kwargs).execute(mock.MagicMock()) + @pytest.mark.db_test def test_invalid_project_id(self): """ Test that AirflowException is raised if Run Operator is not given a project ID. @@ -655,6 +655,7 @@ def test_invalid_project_id(self): with pytest.raises(AirflowException): DataflowRunPipelineOperator(**init_kwargs).execute(mock.MagicMock()) + @pytest.mark.db_test def test_invalid_location(self): """ Test that AirflowException is raised if Run Operator is not given a location. @@ -685,7 +686,6 @@ def test_invalid_response(self): "error": {"message": "example error"} } - @pytest.mark.db_test @mock.patch("airflow.providers.google.cloud.operators.dataflow.DataflowHook") def test_response_404(self, mock_hook, run_operator): """ @@ -702,7 +702,6 @@ def test_response_404(self, mock_hook, run_operator): ) -@pytest.mark.db_test class TestDataflowDeletePipelineOperator: @pytest.fixture def run_operator(self): @@ -736,6 +735,7 @@ def test_execute(self, data_pipeline_hook_mock, run_operator): location=TEST_LOCATION, ) + @pytest.mark.db_test def test_invalid_data_pipeline_name(self): """ Test that AirflowException is raised if Delete Operator is not given a data pipeline name. @@ -750,6 +750,7 @@ def test_invalid_data_pipeline_name(self): with pytest.raises(AirflowException): DataflowDeletePipelineOperator(**init_kwargs).execute(mock.MagicMock()) + @pytest.mark.db_test def test_invalid_project_id(self): """ Test that AirflowException is raised if Delete Operator is not given a project ID. @@ -764,6 +765,7 @@ def test_invalid_project_id(self): with pytest.raises(AirflowException): DataflowDeletePipelineOperator(**init_kwargs).execute(mock.MagicMock()) + @pytest.mark.db_test def test_invalid_location(self): """ Test that AirflowException is raised if Delete Operator is not given a location. @@ -778,6 +780,7 @@ def test_invalid_location(self): with pytest.raises(AirflowException): DataflowDeletePipelineOperator(**init_kwargs).execute(mock.MagicMock()) + @pytest.mark.db_test def test_invalid_response(self): """ Test that AirflowException is raised if Delete Operator fails execution and returns error. diff --git a/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py b/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py index c2963d184e1d1..42dae66464433 100644 --- a/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py +++ b/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py @@ -84,7 +84,6 @@ def test_execute(self, mock_hook, create_operator): ) -@pytest.mark.db_test class TestDataflowRunPipelineOperator: @pytest.fixture def run_operator(self): diff --git a/providers/google/tests/unit/google/cloud/operators/test_functions.py b/providers/google/tests/unit/google/cloud/operators/test_functions.py index fa859894b746e..b075236589364 100644 --- a/providers/google/tests/unit/google/cloud/operators/test_functions.py +++ b/providers/google/tests/unit/google/cloud/operators/test_functions.py @@ -342,7 +342,6 @@ def test_invalid_source_code_union_field__execute(self, source_code, message): with pytest.raises(AirflowException, match=message): op.execute(None) - @pytest.mark.db_test @pytest.mark.parametrize( "source_code, message", [ diff --git a/providers/google/tests/unit/google/cloud/secrets/test_secret_manager.py b/providers/google/tests/unit/google/cloud/secrets/test_secret_manager.py index 4740e917b4bf2..3d3cae0029470 100644 --- a/providers/google/tests/unit/google/cloud/secrets/test_secret_manager.py +++ b/providers/google/tests/unit/google/cloud/secrets/test_secret_manager.py @@ -28,8 +28,6 @@ from airflow.models import Connection from airflow.providers.google.cloud.secrets.secret_manager import CloudSecretManagerBackend -pytestmark = pytest.mark.db_test - CREDENTIALS = "test-creds" KEY_FILE = "test-file.json" PROJECT_ID = "test-project-id" diff --git a/providers/google/tests/unit/google/cloud/transfers/test_gcs_to_bigquery.py b/providers/google/tests/unit/google/cloud/transfers/test_gcs_to_bigquery.py index c9a033b16d6d2..f27b972d9e44b 100644 --- a/providers/google/tests/unit/google/cloud/transfers/test_gcs_to_bigquery.py +++ b/providers/google/tests/unit/google/cloud/transfers/test_gcs_to_bigquery.py @@ -1620,13 +1620,13 @@ def create_task_instance(create_task_instance_of_operator, session): ) -@pytest.mark.db_test class TestAsyncGCSToBigQueryOperator: def _set_execute_complete(self, session, ti, **next_kwargs): ti.next_method = "execute_complete" ti.next_kwargs = next_kwargs session.flush() + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_execute_without_external_table_async_should_execute_successfully( self, hook, create_task_instance, session @@ -1658,6 +1658,7 @@ def test_execute_without_external_table_async_should_execute_successfully( trigger_cls = session.scalar(select(Trigger.classpath).where(Trigger.id == ti.trigger_id)) assert trigger_cls == "airflow.providers.google.cloud.triggers.bigquery.BigQueryInsertJobTrigger" + @pytest.mark.db_test def test_execute_without_external_table_async_should_throw_ex_when_event_status_error( self, create_task_instance, session ): @@ -1710,6 +1711,7 @@ def test_execute_logging_without_external_table_async_should_execute_successfull "%s completed with response %s ", "test-gcs-to-bq-operator", "Job completed" ) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_execute_without_external_table_generate_job_id_async_should_execute_successfully( self, hook, create_task_instance, session @@ -1749,6 +1751,7 @@ def test_execute_without_external_table_generate_job_id_async_should_execute_suc force_rerun=True, ) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_execute_without_external_table_reattach_async_should_execute_successfully( self, hook, create_task_instance, session @@ -1788,6 +1791,7 @@ def test_execute_without_external_table_reattach_async_should_execute_successful project_id=JOB_PROJECT_ID, ) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_execute_without_external_table_force_rerun_async_should_execute_successfully( self, hook, create_task_instance @@ -1836,6 +1840,7 @@ def test_execute_without_external_table_force_rerun_async_should_execute_success project_id=JOB_PROJECT_ID, ) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("GCSHook")) @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_schema_fields_without_external_table_async_should_execute_successfully( @@ -1897,6 +1902,7 @@ def test_schema_fields_without_external_table_async_should_execute_successfully( bq_hook.return_value.insert_job.assert_has_calls(calls) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("GCSHook")) @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_schema_fields_int_without_external_table_async_should_execute_successfully( @@ -1963,6 +1969,7 @@ def test_schema_fields_int_without_external_table_async_should_execute_successfu bq_hook.return_value.insert_job.assert_has_calls(calls) + @pytest.mark.db_test @mock.patch(GCS_TO_BQ_PATH.format("BigQueryHook")) def test_execute_complete_reassigns_job_id(self, bq_hook, create_task_instance, session): """Assert that we use job_id from event after deferral.""" diff --git a/providers/google/tests/unit/google/cloud/transfers/test_local_to_gcs.py b/providers/google/tests/unit/google/cloud/transfers/test_local_to_gcs.py index bf0ad43e1108d..2716ce9a4aab3 100644 --- a/providers/google/tests/unit/google/cloud/transfers/test_local_to_gcs.py +++ b/providers/google/tests/unit/google/cloud/transfers/test_local_to_gcs.py @@ -31,8 +31,6 @@ ) from airflow.providers.google.cloud.transfers.local_to_gcs import LocalFilesystemToGCSOperator -pytestmark = pytest.mark.db_test - class TestFileToGcsOperator: _config = { diff --git a/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py b/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py index a9552ad2a298d..22f4a17cf54bd 100644 --- a/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py +++ b/providers/google/tests/unit/google/cloud/triggers/test_bigquery.py @@ -40,9 +40,6 @@ ) from airflow.triggers.base import TriggerEvent -pytestmark = pytest.mark.db_test - - TEST_CONN_ID = "bq_default" TEST_JOB_ID = "1234" TEST_GCP_PROJECT_ID = "test-project" diff --git a/providers/google/tests/unit/google/cloud/triggers/test_dataproc.py b/providers/google/tests/unit/google/cloud/triggers/test_dataproc.py index 385572e8493ad..40048a4e5d716 100644 --- a/providers/google/tests/unit/google/cloud/triggers/test_dataproc.py +++ b/providers/google/tests/unit/google/cloud/triggers/test_dataproc.py @@ -154,7 +154,6 @@ def func(**kwargs): return func -@pytest.mark.db_test class TestDataprocClusterTrigger: def test_async_cluster_trigger_serialization_should_execute_successfully(self, cluster_trigger): classpath, kwargs = cluster_trigger.serialize() @@ -169,6 +168,7 @@ def test_async_cluster_trigger_serialization_should_execute_successfully(self, c "delete_on_error": True, } + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_cluster") async def test_async_cluster_triggers_on_success_should_execute_successfully( @@ -193,6 +193,7 @@ async def test_async_cluster_triggers_on_success_should_execute_successfully( ) assert expected_event == actual_event + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_cluster") @mock.patch( @@ -227,6 +228,7 @@ async def test_async_cluster_trigger_run_returns_error_event( assert trigger_event.payload["cluster_name"] == TEST_CLUSTER_NAME assert trigger_event.payload["cluster_state"] == ClusterStatus.State.DELETING + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_cluster") async def test_cluster_run_loop_is_still_running( @@ -293,6 +295,7 @@ async def test_cluster_trigger_cancellation_handling( except Exception as e: pytest.fail(f"Unexpected exception raised: {e}") + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_cluster") async def test_fetch_cluster_status(self, mock_get_cluster, cluster_trigger, async_get_cluster): @@ -303,6 +306,7 @@ async def test_fetch_cluster_status(self, mock_get_cluster, cluster_trigger, asy assert cluster.status.state == ClusterStatus.State.RUNNING, "The cluster state should be RUNNING" + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.delete_cluster") async def test_delete_when_error_occurred(self, mock_delete_cluster, cluster_trigger): @@ -363,7 +367,6 @@ async def test_cluster_trigger_run_cancelled_not_safe_to_cancel( mock_delete_cluster.assert_not_called() -@pytest.mark.db_test class TestDataprocBatchTrigger: def test_async_create_batch_trigger_serialization_should_execute_successfully(self, batch_trigger): """ @@ -382,6 +385,7 @@ def test_async_create_batch_trigger_serialization_should_execute_successfully(se "polling_interval_seconds": TEST_POLL_INTERVAL, } + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_batch") async def test_async_create_batch_trigger_triggers_on_success_should_execute_successfully( @@ -407,6 +411,7 @@ async def test_async_create_batch_trigger_triggers_on_success_should_execute_suc await asyncio.sleep(0.5) assert expected_event == actual_event + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_batch") async def test_async_create_batch_trigger_run_returns_failed_event( @@ -428,6 +433,7 @@ async def test_async_create_batch_trigger_run_returns_failed_event( await asyncio.sleep(0.5) assert expected_event == actual_event + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_batch") async def test_create_batch_run_returns_cancelled_event(self, mock_hook, batch_trigger, async_get_batch): @@ -447,6 +453,7 @@ async def test_create_batch_run_returns_cancelled_event(self, mock_hook, batch_t await asyncio.sleep(0.5) assert expected_event == actual_event + @pytest.mark.db_test @pytest.mark.asyncio @mock.patch("airflow.providers.google.cloud.hooks.dataproc.DataprocAsyncHook.get_batch") async def test_create_batch_run_loop_is_still_running( @@ -540,7 +547,6 @@ async def test_async_operation_triggers_on_error(self, mock_hook, operation_trig assert expected_event == actual_event -@pytest.mark.db_test class TestDataprocSubmitTrigger: def test_submit_trigger_serialization(self, submit_trigger): """Test that the trigger serializes its configuration correctly.""" diff --git a/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py b/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py index d1f1dd519c574..ffe749ef397bb 100644 --- a/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py +++ b/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py @@ -328,7 +328,6 @@ def func(**kwargs): return func -@pytest.mark.db_test class TestGKEOperationTrigger: def test_serialize(self, operation_trigger): classpath, trigger_init_kwargs = operation_trigger.serialize() diff --git a/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py b/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py index 4ad9ee8539a22..f258a55fc3cf6 100644 --- a/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py +++ b/providers/google/tests/unit/google/cloud/utils/test_credentials_provider.py @@ -176,7 +176,6 @@ def test_provide_gcp_conn_and_credentials(self, mock_builder): assert os.environ[CREDENTIALS] == ENV_VALUE -@pytest.mark.db_test class TestGetGcpCredentialsAndProjectId: test_scopes = _DEFAULT_SCOPES test_key_file = "KEY_PATH.json" diff --git a/providers/google/tests/unit/google/common/hooks/test_discovery_api.py b/providers/google/tests/unit/google/common/hooks/test_discovery_api.py index 40776fa4932b3..39ff7af766076 100644 --- a/providers/google/tests/unit/google/common/hooks/test_discovery_api.py +++ b/providers/google/tests/unit/google/common/hooks/test_discovery_api.py @@ -24,8 +24,6 @@ from airflow.models import Connection from airflow.providers.google.common.hooks.discovery_api import GoogleDiscoveryApiHook -pytestmark = pytest.mark.db_test - class TestGoogleDiscoveryApiHook: @pytest.fixture(autouse=True) From 9f58447d2911f42d8e9f9edee9b1c988b652aac2 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 04:53:41 +0800 Subject: [PATCH 057/381] test: remove pytest.mark.db_test from discord provider (#52041) --- .pre-commit-config.yaml | 1 + .../discord/tests/unit/discord/hooks/test_discord_webhook.py | 2 -- .../discord/tests/unit/discord/notifications/test_discord.py | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fd0216d28c42e..25fb2c19aa8e2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -582,6 +582,7 @@ repos: ^providers/airbyte/.*\.py$| ^providers/cohere/.*\.py$| ^providers/datadog/.*\.py$| + ^providers/discord/.*\.py$| ^providers/facebook/.*\.py$| ^providers/grpc/.*\.py$| ^providers/hashicorp/.*\.py$| diff --git a/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py b/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py index bc61b45dff8b4..fbbb2ab722e7e 100644 --- a/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py +++ b/providers/discord/tests/unit/discord/hooks/test_discord_webhook.py @@ -25,8 +25,6 @@ from airflow.models import Connection from airflow.providers.discord.hooks.discord_webhook import DiscordWebhookHook -pytestmark = pytest.mark.db_test - class TestDiscordWebhookHook: _config = { diff --git a/providers/discord/tests/unit/discord/notifications/test_discord.py b/providers/discord/tests/unit/discord/notifications/test_discord.py index 700751d0ceffe..84db7713fa591 100644 --- a/providers/discord/tests/unit/discord/notifications/test_discord.py +++ b/providers/discord/tests/unit/discord/notifications/test_discord.py @@ -24,8 +24,6 @@ from airflow.models import Connection from airflow.providers.discord.notifications.discord import DiscordNotifier -pytestmark = pytest.mark.db_test - @pytest.fixture(autouse=True) def setup_connections(create_connection_without_db): From 51596aa698085bac09cc84ce68c3a51bd65cad82 Mon Sep 17 00:00:00 2001 From: Prithvi Date: Mon, 23 Jun 2025 02:25:37 +0530 Subject: [PATCH 058/381] Fixes part of #52020 (#52038) Co-authored-by: prithvi --- .pre-commit-config.yaml | 1 + providers/oracle/tests/unit/oracle/operators/test_oracle.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 25fb2c19aa8e2..2b7f66fcd033b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -592,6 +592,7 @@ repos: ^providers/odbc/.*\.py$| ^providers/openai/.*\.py$| ^providers/openfaas/.*\.py$| + ^providers/oracle/.*\.py$| ^providers/pgvector/.*\.py$| ^providers/pinecone/.*\.py$| ^providers/postgres/.*\.py$| diff --git a/providers/oracle/tests/unit/oracle/operators/test_oracle.py b/providers/oracle/tests/unit/oracle/operators/test_oracle.py index 02bc3f391de11..6fde023ff6639 100644 --- a/providers/oracle/tests/unit/oracle/operators/test_oracle.py +++ b/providers/oracle/tests/unit/oracle/operators/test_oracle.py @@ -55,7 +55,6 @@ def test_execute(self, mock_run): handler=mock.ANY, ) - @pytest.mark.db_test @mock.patch.object(OracleHook, "callproc", autospec=OracleHook.callproc) def test_push_oracle_exit_to_xcom(self, mock_callproc, request, dag_maker): # Test pulls the value previously pushed to xcom and checks if it's the same From a8a9fc5ead28ab4902a328a6911fe2c95e737776 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 05:02:57 +0800 Subject: [PATCH 059/381] test: remove pytest.mark.db_test from github provider (#52043) --- providers/github/tests/unit/github/hooks/test_github.py | 3 --- providers/github/tests/unit/github/operators/test_github.py | 4 +--- providers/github/tests/unit/github/sensors/test_github.py | 3 --- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/providers/github/tests/unit/github/hooks/test_github.py b/providers/github/tests/unit/github/hooks/test_github.py index f94c9b1c91c48..f7e294f9c915e 100644 --- a/providers/github/tests/unit/github/hooks/test_github.py +++ b/providers/github/tests/unit/github/hooks/test_github.py @@ -25,9 +25,6 @@ from airflow.models import Connection from airflow.providers.github.hooks.github import GithubHook -pytestmark = pytest.mark.db_test - - github_client_mock = Mock(name="github_client_for_test") diff --git a/providers/github/tests/unit/github/operators/test_github.py b/providers/github/tests/unit/github/operators/test_github.py index 0738e0ba6648d..cdfc72177e5a2 100644 --- a/providers/github/tests/unit/github/operators/test_github.py +++ b/providers/github/tests/unit/github/operators/test_github.py @@ -26,9 +26,6 @@ from airflow.providers.github.operators.github import GithubOperator from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - DEFAULT_DATE = timezone.datetime(2017, 1, 1) github_client_mock = Mock(name="github_client_for_test") @@ -60,6 +57,7 @@ def test_operator_init_with_optional_args(self): assert github_operator.github_method_args == {} assert github_operator.result_processor is None + @pytest.mark.db_test @patch( "airflow.providers.github.hooks.github.GithubClient", autospec=True, return_value=github_client_mock ) diff --git a/providers/github/tests/unit/github/sensors/test_github.py b/providers/github/tests/unit/github/sensors/test_github.py index 6a4a50fa481da..b885be43ddedd 100644 --- a/providers/github/tests/unit/github/sensors/test_github.py +++ b/providers/github/tests/unit/github/sensors/test_github.py @@ -26,9 +26,6 @@ from airflow.providers.github.sensors.github import GithubTagSensor from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - DEFAULT_DATE = timezone.datetime(2017, 1, 1) github_client_mock = Mock(name="github_client_for_test") From a00ab7d3ae3b1bc91672c628180d713bb190c5d9 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 10:28:54 +0800 Subject: [PATCH 060/381] Remove pytest.mark.db_test from mongo provider (#52047) --- .pre-commit-config.yaml | 1 + providers/mongo/tests/unit/mongo/hooks/test_mongo.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2b7f66fcd033b..90458dfac6ca1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -588,6 +588,7 @@ repos: ^providers/hashicorp/.*\.py$| ^providers/influxdb/.*\.py$| ^providers/jenkins/.*\.py$| + ^providers/mongo/.*\.py$| ^providers/neo4j/.*\.py$| ^providers/odbc/.*\.py$| ^providers/openai/.*\.py$| diff --git a/providers/mongo/tests/unit/mongo/hooks/test_mongo.py b/providers/mongo/tests/unit/mongo/hooks/test_mongo.py index 126617af88fc9..f281d5d062fd2 100644 --- a/providers/mongo/tests/unit/mongo/hooks/test_mongo.py +++ b/providers/mongo/tests/unit/mongo/hooks/test_mongo.py @@ -30,8 +30,6 @@ from tests_common.test_utils.compat import connection_as_json -pytestmark = pytest.mark.db_test - if TYPE_CHECKING: from types import ModuleType From d8086e635779cbaabd7aa02af5787008a207eeac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20=C5=A0im=C3=A1nek?= Date: Mon, 23 Jun 2025 06:17:13 +0200 Subject: [PATCH 061/381] Include fixed navbar for anchor position calculation. (#52016) --- devel-common/sphinx_design/static/custom.css | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/devel-common/sphinx_design/static/custom.css b/devel-common/sphinx_design/static/custom.css index 70356c06a97ca..9671e47b2a28e 100644 --- a/devel-common/sphinx_design/static/custom.css +++ b/devel-common/sphinx_design/static/custom.css @@ -45,7 +45,7 @@ div.admonition.warning { /* Needs to be cleaned in a follow-up to source this from the origin style in */ /* https://github.com/apache/airflow-site/blob/main/landing-pages/site/assets/scss/_rst-content.scss */ .base-layout { - padding-top: 123px !important; + padding-top: 163px !important; /* banner + navbar + 2px padding */ } section { @@ -66,3 +66,18 @@ a.headerlink::after { content: " [link]" !important; /* Theme image not existing */ visibility: visible !important; } + +/* compensate for sticky headers for anchored links */ +:target::before { + content: ""; + display: block; + height: 161px; /* 40px banner + 121px navbar */ + margin: -161px 0 0; /* negative fixed header height */ +} + +@media (max-width: 1280px) { + :target::before { + height: 117px; /* 40px banner + 77px mobile navbar */ + margin: -117px 0 0; /* negative fixed header height */ + } +} From fab3d5a7351109c2801e65e51fa29b951d92c073 Mon Sep 17 00:00:00 2001 From: "Y. SOMDA" <11819890+yoeo@users.noreply.github.com> Date: Mon, 23 Jun 2025 06:22:51 +0200 Subject: [PATCH 062/381] Allow Asset decorator to work with any TaskFlow operator (#51229) --- .../docs/authoring-and-scheduling/assets.rst | 12 +++ .../sdk/definitions/asset/decorators.py | 19 ++++- .../definitions/test_asset_decorators.py | 83 +++++++++++++++++++ 3 files changed, 111 insertions(+), 3 deletions(-) diff --git a/airflow-core/docs/authoring-and-scheduling/assets.rst b/airflow-core/docs/authoring-and-scheduling/assets.rst index 4664c51d7f0e8..366a4069ca52b 100644 --- a/airflow-core/docs/authoring-and-scheduling/assets.rst +++ b/airflow-core/docs/authoring-and-scheduling/assets.rst @@ -229,6 +229,18 @@ The other way around also applies: def process_example_asset(example_asset): """Process inlet example_asset...""" +In addition, ``@asset`` can be used with ``@task`` to customize the task that generates the asset, +utilizing the modern TaskFlow approach described in :doc:`/tutorial/taskflow`. + +This combination allows you to set initial arguments for the task and to use various operators, such as the ``BashOperator``: + +.. code-block:: python + + @asset(schedule=None) + @task.bash(retries=3) + def example_asset(): + """Write to example_asset, from a Bash task with 3 retries...""" + return "echo 'run'" Output to multiple assets in one task ------------------------------------- diff --git a/task-sdk/src/airflow/sdk/definitions/asset/decorators.py b/task-sdk/src/airflow/sdk/definitions/asset/decorators.py index 44479fbb9cd42..daeb6204c3f05 100644 --- a/task-sdk/src/airflow/sdk/definitions/asset/decorators.py +++ b/task-sdk/src/airflow/sdk/definitions/asset/decorators.py @@ -18,7 +18,7 @@ from __future__ import annotations import inspect -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, cast import attrs @@ -30,6 +30,7 @@ from collections.abc import Callable, Collection, Iterator, Mapping from airflow.sdk import DAG, AssetAlias, ObjectStoragePath + from airflow.sdk.bases.decorator import _TaskDecorator from airflow.sdk.definitions.asset import AssetUniqueKey from airflow.sdk.definitions.dag import DagStateChangeCallback, ScheduleArg from airflow.sdk.definitions.param import ParamsDict @@ -96,6 +97,18 @@ def determine_kwargs(self, context: Mapping[str, Any]) -> Mapping[str, Any]: return dict(self._iter_kwargs(context)) +def _instantiate_task(definition: AssetDefinition | MultiAssetDefinition) -> None: + decorated_operator = cast("_TaskDecorator", definition._function) + if getattr(decorated_operator, "_airflow_is_task_decorator", False): + if "outlets" in decorated_operator.kwargs: + raise TypeError("@task decorator with 'outlets' argument is not supported in @asset") + + decorated_operator.kwargs["outlets"] = [v for _, v in definition.iter_assets()] + decorated_operator() + else: + _AssetMainOperator.from_definition(definition) + + @attrs.define(kw_only=True) class AssetDefinition(Asset): """ @@ -109,7 +122,7 @@ class AssetDefinition(Asset): def __attrs_post_init__(self) -> None: with self._source.create_dag(default_dag_id=self.name): - _AssetMainOperator.from_definition(self) + _instantiate_task(self) @attrs.define(kw_only=True) @@ -129,7 +142,7 @@ class MultiAssetDefinition(BaseAsset): def __attrs_post_init__(self) -> None: with self._source.create_dag(default_dag_id=self._function.__name__): - _AssetMainOperator.from_definition(self) + _instantiate_task(self) def iter_assets(self) -> Iterator[tuple[AssetUniqueKey, Asset]]: for o in self._source.outlets: diff --git a/task-sdk/tests/task_sdk/definitions/test_asset_decorators.py b/task-sdk/tests/task_sdk/definitions/test_asset_decorators.py index 406785cb7964e..3dfc0b44588a0 100644 --- a/task-sdk/tests/task_sdk/definitions/test_asset_decorators.py +++ b/task-sdk/tests/task_sdk/definitions/test_asset_decorators.py @@ -22,6 +22,7 @@ from airflow.sdk.definitions.asset import Asset from airflow.sdk.definitions.asset.decorators import _AssetMainOperator, asset +from airflow.sdk.definitions.decorators import task from airflow.sdk.execution_time.comms import AssetResult, GetAssetByName @@ -159,6 +160,27 @@ def example_asset_func(self, /): == "positional-only argument 'self' without a default is not supported in @asset" ) + def test_with_task_decorator(self, func_fixer): + @task(retries=3) + @func_fixer + def _example_task_func(): + return "This is example_task" + + asset_definition = asset(name="asset", dag_id="dag", schedule=None)(_example_task_func) + assert asset_definition.name == "asset" + assert asset_definition._source.dag_id == "dag" + assert asset_definition._function == _example_task_func + + def test_with_task_decorator_and_outlets(self, func_fixer): + @task(retries=3, outlets=Asset(name="a")) + @func_fixer + def _example_task_func(): + return "This is example_task" + + with pytest.raises(TypeError) as err: + asset(schedule=None)(_example_task_func) + assert err.value.args[0] == "@task decorator with 'outlets' argument is not supported in @asset" + @pytest.mark.parametrize( "provided_uri, expected_uri", [ @@ -222,6 +244,36 @@ def test__attrs_post_init__(self, DAG, from_definition, example_asset_func_with_ ) from_definition.assert_called_once_with(asset_definition) + @mock.patch("airflow.sdk.bases.decorator._TaskDecorator.__call__") + @mock.patch("airflow.sdk.definitions.dag.DAG") + def test_with_task_decorator(self, DAG, __call__, func_fixer): + @task(retries=3) + @func_fixer + def _example_task_func(): + return "This is example_task" + + asset_definition = asset(schedule=None, uri="s3://bucket/object", group="MLModel", extra={"k": "v"})( + _example_task_func + ) + + DAG.assert_called_once_with( + dag_id="example_asset_func", + dag_display_name="example_asset_func", + description=None, + schedule=None, + catchup=False, + is_paused_upon_creation=None, + on_failure_callback=None, + on_success_callback=None, + params=None, + access_control=None, + owner_links={}, + tags=set(), + auto_register=True, + ) + __call__.assert_called_once_with() + assert asset_definition._function.kwargs["outlets"] == [asset_definition] + class TestMultiAssetDefinition: @mock.patch("airflow.sdk.definitions.asset.decorators._AssetMainOperator.from_definition") @@ -249,6 +301,37 @@ def test__attrs_post_init__(self, DAG, from_definition, example_asset_func_with_ ) from_definition.assert_called_once_with(definition) + @mock.patch("airflow.sdk.bases.decorator._TaskDecorator.__call__") + @mock.patch("airflow.sdk.definitions.dag.DAG") + def test_with_task_decorator(self, DAG, __call__, func_fixer): + @task(retries=3) + @func_fixer + def _example_task_func(): + return "This is example_task" + + definition = asset.multi( + schedule=None, + outlets=[Asset(name="a"), Asset(name="b")], + )(_example_task_func) + + DAG.assert_called_once_with( + dag_id="example_asset_func", + dag_display_name="example_asset_func", + description=None, + schedule=None, + catchup=False, + is_paused_upon_creation=None, + on_failure_callback=None, + on_success_callback=None, + params=None, + access_control=None, + owner_links={}, + tags=set(), + auto_register=True, + ) + __call__.assert_called_once_with() + assert definition._function.kwargs["outlets"] == [Asset(name="a"), Asset(name="b")] + class Test_AssetMainOperator: def test_from_definition(self, example_asset_func_with_valid_arg_as_inlet_asset): From c22c1ef4a42acf2d56a1182fea25fc97dc224253 Mon Sep 17 00:00:00 2001 From: Aaron Chen Date: Sun, 22 Jun 2025 21:45:56 -0700 Subject: [PATCH 063/381] Fix HttpOperator(deferrable=True) crash when connection has login / password (#52050) * add serialize and deserialize handle process when using defer * refactor it to make it more concise * add unit test for serialised and _resolve_auth_type * add @pytest.mark.db_test to test function --- .../airflow/providers/http/operators/http.py | 30 ++++++++-- .../airflow/providers/http/triggers/http.py | 22 ++++++- .../tests/unit/http/operators/test_http.py | 57 ++++++++++++++++++- 3 files changed, 101 insertions(+), 8 deletions(-) diff --git a/providers/http/src/airflow/providers/http/operators/http.py b/providers/http/src/airflow/providers/http/operators/http.py index ee03180881b80..2c7f260f39e12 100644 --- a/providers/http/src/airflow/providers/http/operators/http.py +++ b/providers/http/src/airflow/providers/http/operators/http.py @@ -22,13 +22,14 @@ from collections.abc import Sequence from typing import TYPE_CHECKING, Any, Callable +from aiohttp import BasicAuth from requests import Response from airflow.configuration import conf from airflow.exceptions import AirflowException from airflow.hooks.base import BaseHook from airflow.models import BaseOperator -from airflow.providers.http.triggers.http import HttpTrigger +from airflow.providers.http.triggers.http import HttpTrigger, serialize_auth_type from airflow.utils.helpers import merge_dicts if TYPE_CHECKING: @@ -122,7 +123,7 @@ def __init__( request_kwargs: dict[str, Any] | None = None, http_conn_id: str = "http_default", log_response: bool = False, - auth_type: type[AuthBase] | None = None, + auth_type: type[AuthBase] | type[BasicAuth] | None = None, tcp_keep_alive: bool = True, tcp_keep_alive_idle: int = 120, tcp_keep_alive_count: int = 20, @@ -221,7 +222,7 @@ def execute_async(self, context: Context) -> None: self.defer( trigger=HttpTrigger( http_conn_id=self.http_conn_id, - auth_type=self.auth_type, + auth_type=serialize_auth_type(self._resolve_auth_type()), method=self.method, endpoint=self.endpoint, headers=self.headers, @@ -231,6 +232,27 @@ def execute_async(self, context: Context) -> None: method_name="execute_complete", ) + def _resolve_auth_type(self) -> type[AuthBase] | type[BasicAuth] | None: + """ + Resolve the authentication type for the HTTP request. + + If auth_type is not explicitly set, attempt to infer it from the connection configuration. + For connections with login/password, default to BasicAuth. + + :return: The resolved authentication type class, or None if no auth is needed. + """ + if self.auth_type is not None: + return self.auth_type + + try: + conn = BaseHook.get_connection(self.http_conn_id) + if conn.login or conn.password: + return BasicAuth + except Exception as e: + self.log.warning("Failed to resolve auth type from connection: %s", e) + + return None + def process_response(self, context: Context, response: Response | list[Response]) -> Any: """Process the response.""" from airflow.utils.operator_helpers import determine_kwargs @@ -291,7 +313,7 @@ def paginate_async( self.defer( trigger=HttpTrigger( http_conn_id=self.http_conn_id, - auth_type=self.auth_type, + auth_type=serialize_auth_type(self._resolve_auth_type()), method=self.method, **self._merge_next_page_parameters(next_page_params), ), diff --git a/providers/http/src/airflow/providers/http/triggers/http.py b/providers/http/src/airflow/providers/http/triggers/http.py index d25d3a55cfb5b..6c1d13b136334 100644 --- a/providers/http/src/airflow/providers/http/triggers/http.py +++ b/providers/http/src/airflow/providers/http/triggers/http.py @@ -20,6 +20,7 @@ import base64 import pickle from collections.abc import AsyncIterator +from importlib import import_module from typing import TYPE_CHECKING, Any import aiohttp @@ -35,6 +36,21 @@ from aiohttp.client_reqrep import ClientResponse +def serialize_auth_type(auth: str | type | None) -> str | None: + if auth is None: + return None + if isinstance(auth, str): + return auth + return f"{auth.__module__}.{auth.__qualname__}" + + +def deserialize_auth_type(path: str | None) -> type | None: + if path is None: + return None + module_path, cls_name = path.rsplit(".", 1) + return getattr(import_module(module_path), cls_name) + + class HttpTrigger(BaseTrigger): """ HttpTrigger run on the trigger worker. @@ -56,7 +72,7 @@ class HttpTrigger(BaseTrigger): def __init__( self, http_conn_id: str = "http_default", - auth_type: Any = None, + auth_type: str | None = None, method: str = "POST", endpoint: str | None = None, headers: dict[str, str] | None = None, @@ -66,7 +82,7 @@ def __init__( super().__init__() self.http_conn_id = http_conn_id self.method = method - self.auth_type = auth_type + self.auth_type = deserialize_auth_type(auth_type) self.endpoint = endpoint self.headers = headers self.data = data @@ -79,7 +95,7 @@ def serialize(self) -> tuple[str, dict[str, Any]]: { "http_conn_id": self.http_conn_id, "method": self.method, - "auth_type": self.auth_type, + "auth_type": serialize_auth_type(self.auth_type), "endpoint": self.endpoint, "headers": self.headers, "data": self.data, diff --git a/providers/http/tests/unit/http/operators/test_http.py b/providers/http/tests/unit/http/operators/test_http.py index 82787cb54304c..31be860cef6c0 100644 --- a/providers/http/tests/unit/http/operators/test_http.py +++ b/providers/http/tests/unit/http/operators/test_http.py @@ -21,18 +21,21 @@ import contextlib import json import pickle +from types import SimpleNamespace from unittest import mock from unittest.mock import call, patch import pytest import tenacity +from aiohttp import BasicAuth from requests import Response from requests.models import RequestEncodingMixin from airflow.exceptions import AirflowException, TaskDeferred +from airflow.hooks import base from airflow.providers.http.hooks.http import HttpHook from airflow.providers.http.operators.http import HttpOperator -from airflow.providers.http.triggers.http import HttpTrigger +from airflow.providers.http.triggers.http import HttpTrigger, serialize_auth_type @mock.patch.dict("os.environ", AIRFLOW_CONN_HTTP_EXAMPLE="http://www.example.com") @@ -92,6 +95,7 @@ def test_filters_response(self, requests_mock): result = operator.execute({}) assert result == {"value": 5} + @pytest.mark.db_test def test_async_defer_successfully(self, requests_mock): operator = HttpOperator( task_id="test_HTTP_op", @@ -186,6 +190,7 @@ def pagination_function(response: Response) -> dict | None: assert result == [5, 10] + @pytest.mark.db_test def test_async_pagination(self, requests_mock): """ Test that the HttpOperator calls asynchronously and repetitively @@ -300,3 +305,53 @@ def pagination_function(response: Response) -> dict | None: ) assert mock_run_with_advanced_retry.call_count == 2 + + def _capture_defer(self, monkeypatch): + captured = {} + + def _fake_defer(self, *, trigger, method_name, **kwargs): + captured["trigger"] = trigger + captured["kwargs"] = kwargs + + monkeypatch.setattr(HttpOperator, "defer", _fake_defer) + return captured + + @pytest.mark.parametrize( + "login, password, auth_type, expect_cls", + [ + ("user", "password", None, BasicAuth), + (None, None, None, type(None)), + ("user", "password", BasicAuth, BasicAuth), + ], + ) + def test_auth_type_is_serialised_as_string(self, monkeypatch, login, password, auth_type, expect_cls): + monkeypatch.setattr( + base.BaseHook, "get_connection", lambda _cid: SimpleNamespace(login=login, password=password) + ) + captured = self._capture_defer(monkeypatch) + + HttpOperator(task_id="test_HTTP_op", deferrable=True, auth_type=auth_type).execute(context={}) + + trigger = captured["trigger"] + kwargs = captured["trigger"].serialize()[1] + + expected_str = serialize_auth_type(expect_cls) if expect_cls is not type(None) else None + assert kwargs["auth_type"] == expected_str + + assert trigger.auth_type == expect_cls or (trigger.auth_type is None and expect_cls is type(None)) + + def test_resolve_auth_type_variants(self, monkeypatch): + monkeypatch.setattr( + base.BaseHook, "get_connection", lambda _cid: SimpleNamespace(login="user", password="password") + ) + assert HttpOperator(task_id="test_HTTP_op_1")._resolve_auth_type() is BasicAuth + + class DummyAuth: + def __init__(self, *_, **__): ... + + assert HttpOperator(task_id="test_HTTP_op_2", auth_type=DummyAuth)._resolve_auth_type() is DummyAuth + + monkeypatch.setattr( + base.BaseHook, "get_connection", lambda _cid: SimpleNamespace(login=None, password=None) + ) + assert HttpOperator(task_id="test_HTTP_op_3")._resolve_auth_type() is None From 745888473c42ec272113f1922a3c8fedd320ee58 Mon Sep 17 00:00:00 2001 From: Kevin Yang <85313829+sjyangkevin@users.noreply.github.com> Date: Mon, 23 Jun 2025 00:56:25 -0400 Subject: [PATCH 064/381] Remove db tests from cloudant provider (#52052) * remove db_test for cloudant * small fix and update pre-commit --- .pre-commit-config.yaml | 1 + providers/cloudant/tests/unit/cloudant/hooks/test_cloudant.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 90458dfac6ca1..eb3a8377e61e2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -580,6 +580,7 @@ repos: files: > (?x) ^providers/airbyte/.*\.py$| + ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/datadog/.*\.py$| ^providers/discord/.*\.py$| diff --git a/providers/cloudant/tests/unit/cloudant/hooks/test_cloudant.py b/providers/cloudant/tests/unit/cloudant/hooks/test_cloudant.py index 9580401d98d59..072c93c79528b 100644 --- a/providers/cloudant/tests/unit/cloudant/hooks/test_cloudant.py +++ b/providers/cloudant/tests/unit/cloudant/hooks/test_cloudant.py @@ -25,7 +25,7 @@ from airflow.exceptions import AirflowException from airflow.models import Connection -pytestmark = [pytest.mark.db_test] +pytestmark = [] if sys.version_info < (3, 10): pytestmark.append( From df69dd659b93b954b198df24fbfa49b8e0ddf5e6 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 13:00:56 +0800 Subject: [PATCH 065/381] Remove pytest.mark.db_test from imap provider (#52049) --- .pre-commit-config.yaml | 1 + providers/imap/tests/unit/imap/hooks/test_imap.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index eb3a8377e61e2..83cf2bb6859a3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -587,6 +587,7 @@ repos: ^providers/facebook/.*\.py$| ^providers/grpc/.*\.py$| ^providers/hashicorp/.*\.py$| + ^providers/imap/.*\.py$| ^providers/influxdb/.*\.py$| ^providers/jenkins/.*\.py$| ^providers/mongo/.*\.py$| diff --git a/providers/imap/tests/unit/imap/hooks/test_imap.py b/providers/imap/tests/unit/imap/hooks/test_imap.py index a0c6ea4b692e6..4649e5eddd275 100644 --- a/providers/imap/tests/unit/imap/hooks/test_imap.py +++ b/providers/imap/tests/unit/imap/hooks/test_imap.py @@ -29,9 +29,6 @@ from tests_common.test_utils.config import conf_vars -pytestmark = pytest.mark.db_test - - imaplib_string = "airflow.providers.imap.hooks.imap.imaplib" open_string = "airflow.providers.imap.hooks.imap.open" From 4f3b1f849b992681351edf24f120e37b1842c868 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 13:01:51 +0800 Subject: [PATCH 066/381] test: remove pytest.mark.db_test from tableau provider (#52044) --- .pre-commit-config.yaml | 1 + providers/tableau/tests/unit/tableau/hooks/test_tableau.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 83cf2bb6859a3..90c00f3c82320 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -603,6 +603,7 @@ repos: ^providers/segment/.*\.py$| ^providers/sendgrid/.*\.py$| ^providers/singularity/.*\.py$| + ^providers/tableau/.*\.py$| ^providers/teradata/.*\.py$| ^providers/trino/.*\.py$| ^providers/vertica/.*\.py$| diff --git a/providers/tableau/tests/unit/tableau/hooks/test_tableau.py b/providers/tableau/tests/unit/tableau/hooks/test_tableau.py index 8ea82b4270b06..6b47616eabbf8 100644 --- a/providers/tableau/tests/unit/tableau/hooks/test_tableau.py +++ b/providers/tableau/tests/unit/tableau/hooks/test_tableau.py @@ -23,8 +23,6 @@ from airflow import configuration, models from airflow.providers.tableau.hooks.tableau import TableauHook, TableauJobFinishCode -pytestmark = pytest.mark.db_test - class TestTableauHook: """ From 337b2db12635d85aa4f898d29b553429b197c3c2 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 13:02:26 +0800 Subject: [PATCH 067/381] Remove pytest.mark.db_test from samba provider (#52045) --- providers/samba/tests/unit/samba/hooks/test_samba.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/providers/samba/tests/unit/samba/hooks/test_samba.py b/providers/samba/tests/unit/samba/hooks/test_samba.py index b6611a9eda18c..285eadb1ee906 100644 --- a/providers/samba/tests/unit/samba/hooks/test_samba.py +++ b/providers/samba/tests/unit/samba/hooks/test_samba.py @@ -28,8 +28,6 @@ PATH_PARAMETER_NAMES = {"path", "src", "dst"} -pytestmark = pytest.mark.db_test - class TestSambaHook: @pytest.mark.db_test From d1f759f8516b0375df90d99e0f9ba9607d45ba92 Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 13:03:32 +0800 Subject: [PATCH 068/381] Remove pytest.mark.db_test: dingding (#52054) --- .pre-commit-config.yaml | 1 + providers/dingding/tests/unit/dingding/hooks/test_dingding.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 90c00f3c82320..c9a4f3f163929 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -583,6 +583,7 @@ repos: ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/datadog/.*\.py$| + ^providers/dingding/.*\.py$| ^providers/discord/.*\.py$| ^providers/facebook/.*\.py$| ^providers/grpc/.*\.py$| diff --git a/providers/dingding/tests/unit/dingding/hooks/test_dingding.py b/providers/dingding/tests/unit/dingding/hooks/test_dingding.py index 0832156a138a8..3f5f5da085fc2 100644 --- a/providers/dingding/tests/unit/dingding/hooks/test_dingding.py +++ b/providers/dingding/tests/unit/dingding/hooks/test_dingding.py @@ -24,8 +24,6 @@ from airflow.models import Connection from airflow.providers.dingding.hooks.dingding import DingdingHook -pytestmark = pytest.mark.db_test - class TestDingdingHook: conn_id = "dingding_conn_id_test" From a9d88a81952412cba226daa7820fca357f952c51 Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 13:04:42 +0800 Subject: [PATCH 069/381] Remove pytest.mark.db_test: exasol (#52057) --- .pre-commit-config.yaml | 1 + providers/exasol/tests/unit/exasol/hooks/test_sql.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c9a4f3f163929..17cf3b8ab4523 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -585,6 +585,7 @@ repos: ^providers/datadog/.*\.py$| ^providers/dingding/.*\.py$| ^providers/discord/.*\.py$| + ^providers/exasol/.*\.py$| ^providers/facebook/.*\.py$| ^providers/grpc/.*\.py$| ^providers/hashicorp/.*\.py$| diff --git a/providers/exasol/tests/unit/exasol/hooks/test_sql.py b/providers/exasol/tests/unit/exasol/hooks/test_sql.py index 88ead8d196d56..da99da330e567 100644 --- a/providers/exasol/tests/unit/exasol/hooks/test_sql.py +++ b/providers/exasol/tests/unit/exasol/hooks/test_sql.py @@ -29,9 +29,6 @@ from airflow.providers.exasol.hooks.exasol import ExasolHook from airflow.utils.session import provide_session -pytestmark = pytest.mark.db_test - - TASK_ID = "sql-operator" HOST = "host" DEFAULT_CONN_ID = "exasol_default" From c6a22ac565a701e1e6f245ac5d9ff0c64e50a72b Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 13:05:26 +0800 Subject: [PATCH 070/381] Remove pytest.mark.db_test: ftp (#52058) --- .pre-commit-config.yaml | 1 + providers/ftp/tests/unit/ftp/hooks/test_ftp.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 17cf3b8ab4523..66f82827b27d2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -587,6 +587,7 @@ repos: ^providers/discord/.*\.py$| ^providers/exasol/.*\.py$| ^providers/facebook/.*\.py$| + ^providers/ftp/.*\.py$| ^providers/grpc/.*\.py$| ^providers/hashicorp/.*\.py$| ^providers/imap/.*\.py$| diff --git a/providers/ftp/tests/unit/ftp/hooks/test_ftp.py b/providers/ftp/tests/unit/ftp/hooks/test_ftp.py index c2dd6ee2c9d47..4a8e63a5184e1 100644 --- a/providers/ftp/tests/unit/ftp/hooks/test_ftp.py +++ b/providers/ftp/tests/unit/ftp/hooks/test_ftp.py @@ -141,7 +141,6 @@ def test_connection_failure(self): assert msg == "Test" -@pytest.mark.db_test class TestIntegrationFTPHook: @pytest.fixture(autouse=True) def setup_connections(self, create_connection_without_db): From 8e15470d2aeab46af9a66f6a32df610ca6e518f9 Mon Sep 17 00:00:00 2001 From: Ankit Chaurasia <8670962+sunank200@users.noreply.github.com> Date: Mon, 23 Jun 2025 12:14:13 +0545 Subject: [PATCH 071/381] chore(tests): move doc tests to task-sdk/tests/docs (#51876) --- task-sdk/tests/task_sdk/docs/__init__.py | 16 ++++++++++++++++ .../{ => task_sdk/docs}/test_docs_inventory.py | 4 ++-- .../tests/{ => task_sdk/docs}/test_public_api.py | 0 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 task-sdk/tests/task_sdk/docs/__init__.py rename task-sdk/tests/{ => task_sdk/docs}/test_docs_inventory.py (96%) rename task-sdk/tests/{ => task_sdk/docs}/test_public_api.py (100%) diff --git a/task-sdk/tests/task_sdk/docs/__init__.py b/task-sdk/tests/task_sdk/docs/__init__.py new file mode 100644 index 0000000000000..13a83393a9124 --- /dev/null +++ b/task-sdk/tests/task_sdk/docs/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. diff --git a/task-sdk/tests/test_docs_inventory.py b/task-sdk/tests/task_sdk/docs/test_docs_inventory.py similarity index 96% rename from task-sdk/tests/test_docs_inventory.py rename to task-sdk/tests/task_sdk/docs/test_docs_inventory.py index a1308031d524f..eacbab7f4d742 100644 --- a/task-sdk/tests/test_docs_inventory.py +++ b/task-sdk/tests/task_sdk/docs/test_docs_inventory.py @@ -20,7 +20,7 @@ from pathlib import Path # Add the SDK src directory to sys.path so that importlib loads our airflow.sdk module -sys.path.insert(0, str(Path(__file__).parent.parent / "src")) +sys.path.insert(0, str(Path(__file__).parents[3] / "src")) import importlib import shutil import subprocess @@ -59,7 +59,7 @@ def test_docs_inventory_matches_public_api(tmp_path): """ Build the HTML docs and compare the generated Sphinx inventory with the public API re-exports. """ - docs_dir = Path(__file__).parent.parent / "docs" + docs_dir = Path(__file__).parents[3] / "docs" build_dir = tmp_path / "build" sphinx = shutil.which("sphinx-build") subprocess.run([sphinx, "-b", "html", "-q", str(docs_dir), str(build_dir)], check=True) diff --git a/task-sdk/tests/test_public_api.py b/task-sdk/tests/task_sdk/docs/test_public_api.py similarity index 100% rename from task-sdk/tests/test_public_api.py rename to task-sdk/tests/task_sdk/docs/test_public_api.py From 6b5f26a260fae99a9588de00e188e45a11c73087 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 08:31:07 +0200 Subject: [PATCH 072/381] Bump upper binding on pandas in all providers (#52060) We are limiting pandas to < 2.2, however Pandas is now at 2.4 and if we limit it to <2.2 it's not possible to have providers that support python 3.13 We should open up to higher pandas versions, there is no reason to believe that newer pandas versions might be breaking heavily - we are using very small subset of pandas APIs that should be stable. We also should add provisional lower bounds for Python 3.13, because older versions of Pandas do not compile for Python 3.13 and sometiems uv or other installers might attempt to build those older versions if they are not limited. --- providers/apache/hdfs/pyproject.toml | 3 ++- providers/common/sql/pyproject.toml | 7 ++----- providers/databricks/pyproject.toml | 3 ++- providers/exasol/pyproject.toml | 7 ++----- providers/papermill/pyproject.toml | 3 ++- providers/salesforce/pyproject.toml | 7 ++----- providers/snowflake/pyproject.toml | 7 ++----- providers/weaviate/pyproject.toml | 7 ++----- 8 files changed, 16 insertions(+), 28 deletions(-) diff --git a/providers/apache/hdfs/pyproject.toml b/providers/apache/hdfs/pyproject.toml index 2f26a7141552c..5c6030d945fa7 100644 --- a/providers/apache/hdfs/pyproject.toml +++ b/providers/apache/hdfs/pyproject.toml @@ -60,7 +60,8 @@ dependencies = [ "apache-airflow>=2.10.0", 'hdfs[avro,dataframe,kerberos]>=2.5.4;python_version<"3.12"', 'hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>="3.12"', - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', ] [dependency-groups] diff --git a/providers/common/sql/pyproject.toml b/providers/common/sql/pyproject.toml index 0f44f9b67d773..95d6ac9158ba8 100644 --- a/providers/common/sql/pyproject.toml +++ b/providers/common/sql/pyproject.toml @@ -69,11 +69,8 @@ dependencies = [ # Any change in the dependencies is preserved when the file is regenerated [project.optional-dependencies] "pandas" = [ - # In pandas 2.2 minimal version of the sqlalchemy is 2.0 - # https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies - # However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723 - # In addition FAB also limit sqlalchemy to < 2.0 - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', ] "openlineage" = [ "apache-airflow-providers-openlineage" diff --git a/providers/databricks/pyproject.toml b/providers/databricks/pyproject.toml index 891ddf4421fed..2da0ace112770 100644 --- a/providers/databricks/pyproject.toml +++ b/providers/databricks/pyproject.toml @@ -65,7 +65,8 @@ dependencies = [ "databricks-sqlalchemy>=1.0.2", "aiohttp>=3.9.2, <4", "mergedeep>=1.3.4", - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', "pyarrow>=14.0.1", ] diff --git a/providers/exasol/pyproject.toml b/providers/exasol/pyproject.toml index 69ae6d90ad2da..f6987a182cd48 100644 --- a/providers/exasol/pyproject.toml +++ b/providers/exasol/pyproject.toml @@ -60,11 +60,8 @@ dependencies = [ "apache-airflow>=2.10.0", "apache-airflow-providers-common-sql>=1.26.0", "pyexasol>=0.26.0", - # In pandas 2.2 minimal version of the sqlalchemy is 2.0 - # https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies - # However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723 - # In addition FAB also limit sqlalchemy to < 2.0 - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', ] [dependency-groups] diff --git a/providers/papermill/pyproject.toml b/providers/papermill/pyproject.toml index e23f18478858c..48e029356b745 100644 --- a/providers/papermill/pyproject.toml +++ b/providers/papermill/pyproject.toml @@ -61,7 +61,8 @@ dependencies = [ "papermill[all]>=2.6.0", "scrapbook[all]>=0.5.0", "ipykernel>=6.29.4", - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', "nbconvert>=7.16.1", ] diff --git a/providers/salesforce/pyproject.toml b/providers/salesforce/pyproject.toml index a9ffeaa771c82..c844229839fc0 100644 --- a/providers/salesforce/pyproject.toml +++ b/providers/salesforce/pyproject.toml @@ -59,11 +59,8 @@ requires-python = "~=3.9" dependencies = [ "apache-airflow>=2.10.0", "simple-salesforce>=1.0.0", - # In pandas 2.2 minimal version of the sqlalchemy is 2.0 - # https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies - # However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723 - # In addition FAB also limit sqlalchemy to < 2.0 - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', ] [dependency-groups] diff --git a/providers/snowflake/pyproject.toml b/providers/snowflake/pyproject.toml index 7f2a73587197a..311c2da8b3ea7 100644 --- a/providers/snowflake/pyproject.toml +++ b/providers/snowflake/pyproject.toml @@ -60,11 +60,8 @@ dependencies = [ "apache-airflow>=2.10.0", "apache-airflow-providers-common-compat>=1.6.0", "apache-airflow-providers-common-sql>=1.21.0", - # In pandas 2.2 minimal version of the sqlalchemy is 2.0 - # https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies - # However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723 - # In addition FAB also limit sqlalchemy to < 2.0 - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', "pyarrow>=14.0.1", "snowflake-connector-python>=3.7.1", "snowflake-sqlalchemy>=1.4.0", diff --git a/providers/weaviate/pyproject.toml b/providers/weaviate/pyproject.toml index d38de31595604..0ba26fded488d 100644 --- a/providers/weaviate/pyproject.toml +++ b/providers/weaviate/pyproject.toml @@ -60,11 +60,8 @@ dependencies = [ "apache-airflow>=2.10.0", "httpx>=0.25.0", "weaviate-client>=4.4.0", - # In pandas 2.2 minimal version of the sqlalchemy is 2.0 - # https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies - # However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723 - # In addition FAB also limit sqlalchemy to < 2.0 - "pandas>=2.1.2,<2.2", + 'pandas>=2.1.2; python_version <"3.13"', + 'pandas>=2.2.3; python_version >="3.13"', ] [dependency-groups] From b5a632451313567376456103d238d768194f262c Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:31:47 +0800 Subject: [PATCH 073/381] Remove pytest.mark.db_test: apache beam (#52059) --- .pre-commit-config.yaml | 1 + providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 66f82827b27d2..cf05e5b5660ef 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -580,6 +580,7 @@ repos: files: > (?x) ^providers/airbyte/.*\.py$| + ^providers/apache/beam/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/datadog/.*\.py$| diff --git a/providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py b/providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py index e7bc4b753a5e2..1f5682ddea3fd 100644 --- a/providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py +++ b/providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py @@ -386,7 +386,6 @@ def test_start_go_pipeline_with_binary(self, mock_runner): class TestBeamRunner: - @pytest.mark.db_test @mock.patch("subprocess.Popen") @mock.patch("select.select") def test_beam_wait_for_done_logging(self, mock_select, mock_popen, caplog): From d46cdffec25353fdd1031e6034f46ccc924c1090 Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:33:18 +0800 Subject: [PATCH 074/381] Remove pytest.mark.db_test: jdbc (#52061) --- .pre-commit-config.yaml | 1 + providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cf05e5b5660ef..2642e28ed053a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -593,6 +593,7 @@ repos: ^providers/hashicorp/.*\.py$| ^providers/imap/.*\.py$| ^providers/influxdb/.*\.py$| + ^providers/jdbc/.*\.py$| ^providers/jenkins/.*\.py$| ^providers/mongo/.*\.py$| ^providers/neo4j/.*\.py$| diff --git a/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py b/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py index 8e75592d83d73..0454f8a10c9e3 100644 --- a/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py +++ b/providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py @@ -33,9 +33,6 @@ from airflow.models import Connection from airflow.providers.jdbc.hooks.jdbc import JdbcHook, suppress_and_warn -pytestmark = pytest.mark.db_test - - jdbc_conn_mock = Mock(name="jdbc_conn") logger = logging.getLogger(__name__) From 9ff9cc448a4bbc20ccbdc31f87ef5f15dc59efa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20=C5=A0im=C3=A1nek?= Date: Mon, 23 Jun 2025 08:36:11 +0200 Subject: [PATCH 075/381] Show info text at empty connections page. (#52032) --- .../ui/public/i18n/locales/ar/admin.json | 4 +- .../ui/public/i18n/locales/de/admin.json | 4 +- .../ui/public/i18n/locales/en/admin.json | 7 ++- .../ui/public/i18n/locales/fr/admin.json | 4 +- .../ui/public/i18n/locales/he/admin.json | 4 +- .../ui/public/i18n/locales/ko/admin.json | 4 +- .../ui/public/i18n/locales/pl/admin.json | 4 +- .../ui/public/i18n/locales/zh-TW/admin.json | 4 +- .../ui/src/pages/Connections/Connections.tsx | 2 + .../pages/Connections/NothingFoundInfo.tsx | 45 +++++++++++++++++++ 10 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 airflow-core/src/airflow/ui/src/pages/Connections/NothingFoundInfo.tsx diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json index b3396e6c75e14..ae32f5ccd8266 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "اختر نوع الموَّصل", "standardFields": "حقول قياسية" }, - "noRowMessage": "لا توجد موَّصلات متاحة", + "nothingFound": { + "title": "لا توجد موَّصلات متاحة" + }, "searchPlaceholder": "البحث عن موَّصلات", "test": "اختبار الموَّصل", "testDisabled": "اختبار الموَّصل معطل. تواصل مع المسؤول لتفعيله.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json index f8d2194b0b571..03fe6bcf6d7ad 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/de/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "Verbindungstyp auswählen", "standardFields": "Standardfelder" }, - "noRowMessage": "Keine Verbindungen gefunden", + "nothingFound": { + "title": "Keine Verbindungen gefunden!" + }, "searchPlaceholder": "Verbindungen suchen", "test": "Verbindung testen", "testDisabled": "Das Testen von Verbindungen ist deaktiviert. Der Administrator kann via Konfiguration das Testen freischalten.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json index aeb93b92c76fd..8dfc0ec64c635 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json @@ -39,7 +39,12 @@ "selectConnectionType": "Select Connection Type", "standardFields": "Standard Fields" }, - "noRowMessage": "No connections found", + "nothingFound": { + "title": "No connection found!", + "description": "Connections defined via environment variables or secrets managers are not listed here.", + "learnMore": "These are resolved at runtime and are not visible in the UI.", + "documentationLink": "Learn more in the Airflow documentation." + }, "searchPlaceholder": "Search Connections", "test": "Test Connection", "testDisabled": "Test connection feature is disabled. Please contact an administrator to enable it.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json index 15edd6d9aad58..2c0592320df9c 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/fr/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "Sélectionner le Type de Connexion", "standardFields": "Champs Standards" }, - "noRowMessage": "Aucune connexion trouvée", + "nothingFound": { + "title": "Aucune connexion trouvée!" + }, "searchPlaceholder": "Rechercher les connexions", "test": "Test la connexion", "testDisabled": "Le test de connexion est désactivé. Veuillez contacter un administrateur pour l'activer.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json index 30bc908225b07..adadffd1961e3 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/he/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "בחר סוג חיבור", "standardFields": "שדות סטנדרטיים" }, - "noRowMessage": "לא נמצאו חיבורים", + "nothingFound": { + "title": "לא נמצאו חיבורים" + }, "searchPlaceholder": "חפש חיבורים", "test": "בדוק חיבור", "testDisabled": "אפשרות זו אינה זמינה. פנו למנהל המערכת להפעלתה", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json index ee6c8a89c03ef..c1fd0f24c7381 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "연결 유형 선택", "standardFields": "기본 필드" }, - "noRowMessage": "연결을 찾을 수 없습니다.", + "nothingFound": { + "title": "연결을 찾을 수 없습니다." + }, "searchPlaceholder": "연결 검색", "test": "연결 테스트", "testDisabled": "연결 테스트 기능이 비활성화되어 있습니다. 관리자에게 활성화를 요청하세요.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json index 909a37c294d37..573c185aa126f 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "Wybierz typ połączenia", "standardFields": "Standardowe pola" }, - "noRowMessage": "Nie znaleziono połączeń", + "nothingFound": { + "title": "Nie znaleziono połączeń!" + }, "searchPlaceholder": "Szukaj połączeń", "test": "Test połączenia", "testDisabled": "Testowanie połączeń wyłączone. Skontaktuj się z administratorem, aby je włączyć.", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json index e64f103e5bd33..c8b9242d12179 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/admin.json @@ -39,7 +39,9 @@ "selectConnectionType": "選擇連線類型", "standardFields": "標準欄位" }, - "noRowMessage": "找不到連線", + "nothingFound": { + "title": "找不到連線" + }, "searchPlaceholder": "搜尋連線", "test": "測試連線", "testDisabled": "測試連線功能已停用。請聯繫管理員以啟用。", diff --git a/airflow-core/src/airflow/ui/src/pages/Connections/Connections.tsx b/airflow-core/src/airflow/ui/src/pages/Connections/Connections.tsx index 8145c6744d047..5a33e52975ce7 100644 --- a/airflow-core/src/airflow/ui/src/pages/Connections/Connections.tsx +++ b/airflow-core/src/airflow/ui/src/pages/Connections/Connections.tsx @@ -40,6 +40,7 @@ import AddConnectionButton from "./AddConnectionButton"; import DeleteConnectionButton from "./DeleteConnectionButton"; import DeleteConnectionsButton from "./DeleteConnectionsButton"; import EditConnectionButton from "./EditConnectionButton"; +import { NothingFoundInfo } from "./NothingFoundInfo"; import TestConnectionButton from "./TestConnectionButton"; export type ConnectionBody = { @@ -198,6 +199,7 @@ export const Connections = () => { isFetching={isFetching} isLoading={isLoading} modelName={translate("common:admin.Connections")} + noRowsMessage={} onStateChange={setTableURLState} total={data?.total_entries ?? 0} /> diff --git a/airflow-core/src/airflow/ui/src/pages/Connections/NothingFoundInfo.tsx b/airflow-core/src/airflow/ui/src/pages/Connections/NothingFoundInfo.tsx new file mode 100644 index 0000000000000..4d1388c827413 --- /dev/null +++ b/airflow-core/src/airflow/ui/src/pages/Connections/NothingFoundInfo.tsx @@ -0,0 +1,45 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { Box, Text, Link, Stack } from "@chakra-ui/react"; +import { useTranslation } from "react-i18next"; + +import { useVersionServiceGetVersion } from "openapi/queries"; + +export const NothingFoundInfo = () => { + const { t: translate } = useTranslation("admin"); + const { data } = useVersionServiceGetVersion(); + const docsLink = `https://airflow.apache.org/docs/apache-airflow/${data?.version}/howto/connection.html#visibility-in-ui-and-cli`; + + return ( + + + + {translate("connections.nothingFound.title")} + + {translate("connections.nothingFound.description")} + + {translate("connections.nothingFound.learnMore")}{" "} + + {translate("connections.nothingFound.documentationLink")} + + + + + ); +}; From cc1e8c8c0b74406564ccf82e4edf1729180a1f5a Mon Sep 17 00:00:00 2001 From: Ankit Chaurasia <8670962+sunank200@users.noreply.github.com> Date: Mon, 23 Jun 2025 12:45:20 +0545 Subject: [PATCH 076/381] docs(task-sdk): add and link dynamic task mapping docs (#51871) Co-authored-by: Tzu-ping Chung --- task-sdk/docs/conf.py | 1 + task-sdk/docs/dynamic-task-mapping.rst | 99 ++++++++++++++++++++++++++ task-sdk/docs/index.rst | 1 + 3 files changed, 101 insertions(+) create mode 100644 task-sdk/docs/dynamic-task-mapping.rst diff --git a/task-sdk/docs/conf.py b/task-sdk/docs/conf.py index e3fbacae2ce1a..67cbda55f58f2 100644 --- a/task-sdk/docs/conf.py +++ b/task-sdk/docs/conf.py @@ -58,6 +58,7 @@ autoapi_file_patterns = ["*.pyi", "*.py"] html_theme = "sphinx_airflow_theme" +html_sidebars = {"**": ["localtoc.html", "globaltoc.html", "searchbox.html", "relations.html"]} global_substitutions = { diff --git a/task-sdk/docs/dynamic-task-mapping.rst b/task-sdk/docs/dynamic-task-mapping.rst new file mode 100644 index 0000000000000..84481bffcac81 --- /dev/null +++ b/task-sdk/docs/dynamic-task-mapping.rst @@ -0,0 +1,99 @@ + .. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + .. http://www.apache.org/licenses/LICENSE-2.0 + + .. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _sdk-dynamic-task-mapping: + +Dynamic Task Mapping with Task SDK +================================== + +Dynamic Task Mapping allows tasks defined with the Task SDK to generate +a variable number of task instances at runtime based on upstream data. +This is enabled via the ``expand()`` method on tasks, providing a way +to parallelize execution without knowing the number of tasks ahead of time. + +Simple Mapping +-------------- + +Map over a Python list directly in the DAG: + +.. code-block:: python + + from datetime import datetime + + from airflow.sdk import DAG, task + + + @task + def add_one(x: int): + return x + 1 + + + @task + def sum_it(values: list[int]): + print(f"Total was {sum(values)}") + + + with DAG(dag_id="dynamic-map-simple", start_date=datetime(2022, 1, 1)) as dag: + summed = sum_it(values=add_one.expand(x=[1, 2, 3, 4, 5])) + +Task-Generated Mapping +---------------------- + +Generate the list at runtime from an upstream task: + +.. code-block:: python + + @task + def make_list(): + # This could fetch data from an API, database, etc. + return ["a", "b", "c"] + + + @task + def consume(item: str): + print(item) + + + with DAG(dag_id="dynamic-map-generated", start_date=datetime(2022, 1, 1)) as dag: + consume.expand(item=make_list()) + +Details +----------- + +- Only keyword arguments can be passed to ``expand()``. +- Mapped inputs are provided to tasks as lazy proxy objects. To force + evaluation into a concrete list, wrap the proxy in ``list()``. +- Combine static parameters with mapped ones using ``partial()``: + + .. code-block:: python + + @task + def add(x: int, y: int): + return x + y + + + with DAG(dag_id="map-with-partial", start_date=datetime(2022, 1, 1)) as dag: + add.partial(y=10).expand(x=[1, 2, 3]) + +Advanced Usage +-------------- + +For advanced patterns—such as repeated mapping, cross-product mapping, +named mappings (via ``map_index_template``), and handling large +datasets—see the Airflow Core documentation: + +`Dynamic Task Mapping in the Airflow Core docs `_. diff --git a/task-sdk/docs/index.rst b/task-sdk/docs/index.rst index 6ff3650b58711..24410cd4ece45 100644 --- a/task-sdk/docs/index.rst +++ b/task-sdk/docs/index.rst @@ -88,4 +88,5 @@ Refer to :doc:`api` for the complete reference of all decorators and classes. :hidden: examples + dynamic-task-mapping api From 8d48d53df5736c376abdcdcb8378a2f08d92905b Mon Sep 17 00:00:00 2001 From: Tzu-ping Chung Date: Mon, 23 Jun 2025 15:03:54 +0800 Subject: [PATCH 077/381] Add exception to context for task callbacks (#52055) --- .../src/airflow/sdk/execution_time/task_runner.py | 3 ++- .../tests/task_sdk/execution_time/test_task_runner.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/task-sdk/src/airflow/sdk/execution_time/task_runner.py b/task-sdk/src/airflow/sdk/execution_time/task_runner.py index 7ee837915a6f1..6c6e597f65e5c 100644 --- a/task-sdk/src/airflow/sdk/execution_time/task_runner.py +++ b/task-sdk/src/airflow/sdk/execution_time/task_runner.py @@ -1295,7 +1295,8 @@ def main(): bundle_name=ti.bundle_instance.name, bundle_version=ti.bundle_instance.version, ): - state, msg, error = run(ti, context, log) + state, _, error = run(ti, context, log) + context["exception"] = error finalize(ti, state, context, log, error) except KeyboardInterrupt: log.exception("Ctrl-c hit") diff --git a/task-sdk/tests/task_sdk/execution_time/test_task_runner.py b/task-sdk/tests/task_sdk/execution_time/test_task_runner.py index f41442a0c5eff..f2ff89670818b 100644 --- a/task-sdk/tests/task_sdk/execution_time/test_task_runner.py +++ b/task-sdk/tests/task_sdk/execution_time/test_task_runner.py @@ -2288,6 +2288,9 @@ def execute(self, context): @pytest.mark.usefixtures("mock_supervisor_comms") class TestTaskRunnerCallsCallbacks: + class _Failure(Exception): + """Exception raised in a failed execution and received by the failure callback.""" + def _execute_success(self, context): self.results.append("execute success") @@ -2299,7 +2302,7 @@ def _execute_skipped(self, context): def _execute_failure(self, context): self.results.append("execute failure") - raise Exception("sorry!") + raise self._Failure("sorry!") @pytest.mark.parametrize( "execute_impl, should_retry, expected_state, expected_results", @@ -2347,6 +2350,10 @@ def test_task_runner_calls_callback( def custom_callback(context, *, kind): collected_results.append(f"on-{kind} callback") + def failure_callback(context): + custom_callback(context, kind="failure") + assert isinstance(context["exception"], self._Failure) + class CustomOperator(BaseOperator): results = collected_results execute = execute_impl @@ -2356,7 +2363,7 @@ class CustomOperator(BaseOperator): on_execute_callback=functools.partial(custom_callback, kind="execute"), on_skipped_callback=functools.partial(custom_callback, kind="skipped"), on_success_callback=functools.partial(custom_callback, kind="success"), - on_failure_callback=functools.partial(custom_callback, kind="failure"), + on_failure_callback=failure_callback, on_retry_callback=functools.partial(custom_callback, kind="retry"), ) runtime_ti = create_runtime_ti(dag_id="dag", task=task, should_retry=should_retry) From 39e3baf9e17effaabd6fb4f1236b712572f8ddb6 Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 15:25:22 +0800 Subject: [PATCH 078/381] Remove pytest.mark.db_test: apache iceberg (#52063) Co-authored-by: Jarek Potiuk --- .pre-commit-config.yaml | 1 + .../iceberg/tests/unit/apache/iceberg/hooks/test_iceberg.py | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2642e28ed053a..5231bd247ebdc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -580,6 +580,7 @@ repos: files: > (?x) ^providers/airbyte/.*\.py$| + ^providers/apache/iceberg/.*\.py$| ^providers/apache/beam/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| diff --git a/providers/apache/iceberg/tests/unit/apache/iceberg/hooks/test_iceberg.py b/providers/apache/iceberg/tests/unit/apache/iceberg/hooks/test_iceberg.py index f11e1d4ea6297..28ce20d777d31 100644 --- a/providers/apache/iceberg/tests/unit/apache/iceberg/hooks/test_iceberg.py +++ b/providers/apache/iceberg/tests/unit/apache/iceberg/hooks/test_iceberg.py @@ -19,13 +19,10 @@ from unittest.mock import Mock, patch -import pytest import requests_mock from airflow.providers.apache.iceberg.hooks.iceberg import IcebergHook -pytestmark = pytest.mark.db_test - def test_iceberg_hook(): access_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSU" From 2893be3bf2a54ef60d4a6e7faa8c454ecc7c5fc2 Mon Sep 17 00:00:00 2001 From: Dominik <105610163+dominikhei@users.noreply.github.com> Date: Mon, 23 Jun 2025 09:32:33 +0200 Subject: [PATCH 079/381] Removed usage of pytest.mark.db_test from the redis provider (#52065) --- providers/redis/tests/unit/redis/hooks/test_redis.py | 4 ++-- .../redis/tests/unit/redis/log/test_redis_task_handler.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/providers/redis/tests/unit/redis/hooks/test_redis.py b/providers/redis/tests/unit/redis/hooks/test_redis.py index b64ffb909d241..d232537b23ca7 100644 --- a/providers/redis/tests/unit/redis/hooks/test_redis.py +++ b/providers/redis/tests/unit/redis/hooks/test_redis.py @@ -24,10 +24,9 @@ from airflow.models import Connection from airflow.providers.redis.hooks.redis import RedisHook -pytestmark = pytest.mark.db_test - class TestRedisHook: + @pytest.mark.db_test def test_get_conn(self): hook = RedisHook(redis_conn_id="redis_default") assert hook.redis is None @@ -78,6 +77,7 @@ def test_get_conn_with_extra_config(self, mock_get_connection, mock_redis): ssl_check_hostname=connection.extra_dejson["ssl_check_hostname"], ) + @pytest.mark.db_test def test_get_conn_password_stays_none(self): hook = RedisHook(redis_conn_id="redis_default") hook.get_conn() diff --git a/providers/redis/tests/unit/redis/log/test_redis_task_handler.py b/providers/redis/tests/unit/redis/log/test_redis_task_handler.py index ac3c3a4078ea9..fb845ba48dd45 100644 --- a/providers/redis/tests/unit/redis/log/test_redis_task_handler.py +++ b/providers/redis/tests/unit/redis/log/test_redis_task_handler.py @@ -32,8 +32,6 @@ from tests_common.test_utils.config import conf_vars from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS -pytestmark = pytest.mark.db_test - class TestRedisTaskHandler: @pytest.fixture @@ -74,6 +72,7 @@ def ti(self): with create_session() as session: session.query(DagRun).delete() + @pytest.mark.db_test @conf_vars({("logging", "remote_log_conn_id"): "redis_default"}) def test_write(self, ti): handler = RedisTaskHandler("any", max_lines=5, ttl_seconds=2) @@ -94,6 +93,7 @@ def test_write(self, ti): pipeline.return_value.expire.assert_called_once_with(key, time=2) pipeline.return_value.execute.assert_called_once_with() + @pytest.mark.db_test @conf_vars({("logging", "remote_log_conn_id"): "redis_default"}) def test_read(self, ti): handler = RedisTaskHandler("any") From 81cd2a0bbeb2dfdaa6409f728fa00a49e80232f1 Mon Sep 17 00:00:00 2001 From: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Date: Mon, 23 Jun 2025 09:46:59 +0200 Subject: [PATCH 080/381] Fix wrong translation of control key in German UI (#52046) --- .../src/airflow/ui/public/i18n/locales/de/dags.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json index 06e96c85cd90a..d79a944687da3 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/de/dags.json @@ -23,7 +23,7 @@ }, "clear": { "button": "{{type}} zurücksetzen", - "buttonTooltip": "STRG+C zum Zurücksetzen tippen", + "buttonTooltip": "Umschalttaste+C zum Zurücksetzen tippen", "error": "Fehler beim Zurücksetzen von {{type}}", "title": "{{type}} bereinigen und neu planen" }, @@ -43,8 +43,8 @@ "markAs": { "button": "{{type}} markieren...", "buttonTooltip": { - "failed": "STRG+F tippen um als fehlgeschlagen zu markieren", - "success": "STRG+S tippen um als erfolgreich zu markieren" + "failed": "Umschalttaste+F tippen um als fehlgeschlagen zu markieren", + "success": "Umschalttaste+S tippen um als erfolgreich zu markieren" }, "title": "{{type}} auf den Status {{state}} setzen" }, From d6a05d6798895d9ab05833674d450dae246df809 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 13:34:00 +0530 Subject: [PATCH 081/381] Remove residual occurences of 'merge_conn' from cncf tests (#52064) --- .../tests/unit/cncf/kubernetes/hooks/test_kubernetes.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py index 4f28a305cbe2e..ad1b07ebf4811 100644 --- a/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py +++ b/providers/cncf/kubernetes/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py @@ -37,7 +37,6 @@ from airflow.hooks.base import BaseHook from airflow.models import Connection from airflow.providers.cncf.kubernetes.hooks.kubernetes import AsyncKubernetesHook, KubernetesHook -from airflow.utils.db import merge_conn from tests_common.test_utils.db import clear_db_connections from tests_common.test_utils.providers import get_provider_min_airflow_version @@ -840,9 +839,9 @@ def kube_config_loader(self): @staticmethod @pytest.fixture - def kubernetes_connection(): + def kubernetes_connection(create_connection_without_db): extra = {"kube_config": '{"test": "kube"}'} - merge_conn( + create_connection_without_db( Connection( conn_type="kubernetes", conn_id=CONN_ID, @@ -910,12 +909,12 @@ async def test_load_config_with_conn_id( @mock.patch(INCLUSTER_CONFIG_LOADER) @mock.patch(KUBE_CONFIG_MERGER) async def test_load_config_with_conn_id_kube_config_path( - self, kube_config_merger, incluster_config, kube_config_loader, tmp_path + self, kube_config_merger, incluster_config, kube_config_loader, tmp_path, create_connection_without_db ): file_name = f"{tmp_path}/config" extra = {"kube_config_path": file_name} try: - merge_conn( + create_connection_without_db( Connection( conn_type="kubernetes", conn_id=CONN_ID, From ab3fec794d7201a2901ed1dcaad18d6062817634 Mon Sep 17 00:00:00 2001 From: Ankit Chaurasia <8670962+sunank200@users.noreply.github.com> Date: Mon, 23 Jun 2025 13:59:12 +0545 Subject: [PATCH 082/381] Remove unused pytestmark = pytest.mark.db_test (#52067) --- providers/celery/tests/unit/celery/cli/test_celery_command.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/providers/celery/tests/unit/celery/cli/test_celery_command.py b/providers/celery/tests/unit/celery/cli/test_celery_command.py index ae124f56fb63d..41f74c9c4a687 100644 --- a/providers/celery/tests/unit/celery/cli/test_celery_command.py +++ b/providers/celery/tests/unit/celery/cli/test_celery_command.py @@ -36,8 +36,6 @@ from tests_common.test_utils.config import conf_vars from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS -pytestmark = pytest.mark.db_test - @pytest.mark.backend("mysql", "postgres") @conf_vars({("dag_processor", "stale_bundle_cleanup_interval"): 0}) From f9547e49326905a06fed97c381d0ccfcc87000c2 Mon Sep 17 00:00:00 2001 From: Wei-Yu Chen <60685934+Jasperora@users.noreply.github.com> Date: Mon, 23 Jun 2025 16:31:08 +0800 Subject: [PATCH 083/381] Remove pytest.mark.db_test: apache flink (#52062) Co-authored-by: Jarek Potiuk --- .pre-commit-config.yaml | 3 ++- .../tests/unit/apache/flink/operators/test_flink_kubernetes.py | 3 --- .../tests/unit/apache/flink/sensors/test_flink_kubernetes.py | 3 --- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5231bd247ebdc..54e221cac5691 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -580,8 +580,9 @@ repos: files: > (?x) ^providers/airbyte/.*\.py$| - ^providers/apache/iceberg/.*\.py$| ^providers/apache/beam/.*\.py$| + ^providers/apache/flink/.*\.py$| + ^providers/apache/iceberg/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/datadog/.*\.py$| diff --git a/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py b/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py index c9a4a5e8afffa..ac4c5f04f3829 100644 --- a/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py +++ b/providers/apache/flink/tests/unit/apache/flink/operators/test_flink_kubernetes.py @@ -29,9 +29,6 @@ from airflow.providers.apache.flink.operators.flink_kubernetes import FlinkKubernetesOperator from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - TEST_VALID_APPLICATION_YAML = """ apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment diff --git a/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py b/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py index dfdc399d1e538..0ac117caa3287 100644 --- a/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py +++ b/providers/apache/flink/tests/unit/apache/flink/sensors/test_flink_kubernetes.py @@ -32,9 +32,6 @@ from airflow.providers.apache.flink.sensors.flink_kubernetes import FlinkKubernetesSensor from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - TEST_NO_STATE_CLUSTER = { "apiVersion": "flink.apache.org/v1beta1", "kind": "FlinkDeployment", From d65cd6c6ec57854b5d5f6f2b19a4791662a4fa02 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 11:16:18 +0200 Subject: [PATCH 084/381] Fix compatibility with new numpy and pandas (#52071) After #52060 some tests started to fail - this PR fixes it: * test_pandas.py is removed, it makes no sense as we seem to be testing if pandas has specific API (which we neither use nor guarantee) * numpy serializers are now compatible with numpy 2 --- airflow-core/tests/unit/always/test_pandas.py | 59 ------------------- .../serializers/test_serializers.py | 10 +++- 2 files changed, 8 insertions(+), 61 deletions(-) delete mode 100644 airflow-core/tests/unit/always/test_pandas.py diff --git a/airflow-core/tests/unit/always/test_pandas.py b/airflow-core/tests/unit/always/test_pandas.py deleted file mode 100644 index 5e474392dd8aa..0000000000000 --- a/airflow-core/tests/unit/always/test_pandas.py +++ /dev/null @@ -1,59 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -from __future__ import annotations - -import pytest -from sqlalchemy import create_engine - -from airflow.configuration import conf - -pd = pytest.importorskip("pandas") -pyarrow = pytest.importorskip("pyarrow") - -pytestmark = pytest.mark.db_test - - -@pytest.mark.backend("postgres", "mysql") -class TestPandasSQLAlchemyCompatibility: - @pytest.fixture(autouse=True) - def _setup_test_cases(self): - self.temp_table = "test_to_pandas" - uri = conf.get_mandatory_value("database", "sql_alchemy_conn") - self.engine = create_engine(uri) - yield - if self.engine: - with self.engine.begin() as conn: - conn.execute(f"DROP TABLE IF EXISTS {self.temp_table};") - self.engine.dispose() - - def test_write_read_to_db(self): - pd.DataFrame({"a": [0, 1, 2, 3]}).to_sql(self.temp_table, self.engine) - pd.read_sql(f"SELECT * FROM {self.temp_table}", self.engine) - - -class TestPandasSQLAlchemyCompatibilitySQLite: - @pytest.fixture(autouse=True) - def _setup_test_cases(self): - self.temp_table = "test_to_pandas" - self.engine = create_engine("sqlite:///:memory:") - yield - if self.engine: - self.engine.dispose() - - def test_write_read_to_db(self): - pd.DataFrame({"a": [0, 1, 2, 3]}).to_sql(self.temp_table, self.engine) - pd.read_sql(f"SELECT * FROM {self.temp_table}", self.engine) diff --git a/airflow-core/tests/unit/serialization/serializers/test_serializers.py b/airflow-core/tests/unit/serialization/serializers/test_serializers.py index 6cc6505d48b0a..8aa6254816944 100644 --- a/airflow-core/tests/unit/serialization/serializers/test_serializers.py +++ b/airflow-core/tests/unit/serialization/serializers/test_serializers.py @@ -222,8 +222,14 @@ def test_numpy(self): def test_numpy_serializers(self): from airflow.serialization.serializers.numpy import serialize - assert serialize(np.bool_(False)) == (True, "numpy.bool_", 1, True) - assert serialize(np.float32(3.14)) == (float(np.float32(3.14)), "numpy.float32", 1, True) + numpy_version = metadata.version("numpy") + is_numpy_2 = version.parse(numpy_version).major == 2 + + assert serialize(np.bool_(False)) == (True, "numpy.bool" if is_numpy_2 else "numpy.bool_", 1, True) + if is_numpy_2: + assert serialize(np.float64(3.14)) == (float(np.float64(3.14)), "numpy.float64", 1, True) + else: + assert serialize(np.float32(3.14)) == (float(np.float32(3.14)), "numpy.float32", 1, True) assert serialize(np.array([1, 2, 3])) == ("", "", 0, False) @pytest.mark.parametrize( From bf34806f083ef075a1c23a323a77f2a022bba5cb Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 11:34:22 +0200 Subject: [PATCH 085/381] Some second-level providers are already db-less. We should exclude them (#52070) Part of: #52020 --- .pre-commit-config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 54e221cac5691..89592929a2afb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -585,6 +585,8 @@ repos: ^providers/apache/iceberg/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| + ^providers/common/compat/.*\.py$| + ^providers/common/messaging/.*\.py$| ^providers/datadog/.*\.py$| ^providers/dingding/.*\.py$| ^providers/discord/.*\.py$| @@ -598,6 +600,7 @@ repos: ^providers/jdbc/.*\.py$| ^providers/jenkins/.*\.py$| ^providers/mongo/.*\.py$| + ^providers/microsoft/psrp/.*\.py$| ^providers/neo4j/.*\.py$| ^providers/odbc/.*\.py$| ^providers/openai/.*\.py$| From 3698fabb4772d753269eb1e94df2812953845b8c Mon Sep 17 00:00:00 2001 From: Kacper Muda Date: Mon, 23 Jun 2025 11:51:11 +0200 Subject: [PATCH 086/381] nit: bump openlineage libraries requirement to 1.34 (#52075) --- providers/openlineage/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/providers/openlineage/pyproject.toml b/providers/openlineage/pyproject.toml index 6319f4baa99a2..dfecc87246762 100644 --- a/providers/openlineage/pyproject.toml +++ b/providers/openlineage/pyproject.toml @@ -61,8 +61,8 @@ dependencies = [ "apache-airflow-providers-common-sql>=1.20.0", "apache-airflow-providers-common-compat>=1.4.0", "attrs>=22.2", - "openlineage-integration-common>=1.31.0", - "openlineage-python>=1.31.0", + "openlineage-integration-common>=1.34.0", + "openlineage-python>=1.34.0", ] [dependency-groups] From 3ee09102e42da9a4951684df267a0c51f579533b Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 15:47:57 +0530 Subject: [PATCH 087/381] Updating kafka systests to setup connections using ENV (#52076) --- .../kafka/example_dag_event_listener.py | 17 +++++----- .../apache/kafka/example_dag_hello_kafka.py | 32 +++++++------------ 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/providers/apache/kafka/tests/system/apache/kafka/example_dag_event_listener.py b/providers/apache/kafka/tests/system/apache/kafka/example_dag_event_listener.py index a0726a5577c95..f120574209364 100644 --- a/providers/apache/kafka/tests/system/apache/kafka/example_dag_event_listener.py +++ b/providers/apache/kafka/tests/system/apache/kafka/example_dag_event_listener.py @@ -19,6 +19,7 @@ from __future__ import annotations import json +import os from pendulum import datetime @@ -32,19 +33,15 @@ # This is just for setting up connections in the demo - you should use standard # methods for setting these connections in production from airflow.providers.standard.operators.python import PythonOperator -from airflow.utils import db def load_connections(): - db.merge_conn( + conns = [ Connection( conn_id="fizz_buzz_1", conn_type="kafka", extra=json.dumps({"socket.timeout.ms": 10, "bootstrap.servers": "broker:29092"}), - ) - ) - - db.merge_conn( + ), Connection( conn_id="fizz_buzz_2", conn_type="kafka", @@ -56,8 +53,12 @@ def load_connections(): "auto.offset.reset": "beginning", } ), - ) - ) + ), + ] + + for c in conns: + envvar = f"AIRFLOW_CONN_{c.conn_id.upper()}" + os.environ[envvar] = c.get_uri() def _producer_function(): diff --git a/providers/apache/kafka/tests/system/apache/kafka/example_dag_hello_kafka.py b/providers/apache/kafka/tests/system/apache/kafka/example_dag_hello_kafka.py index 10eb36cf865d8..377e37a7157a7 100644 --- a/providers/apache/kafka/tests/system/apache/kafka/example_dag_hello_kafka.py +++ b/providers/apache/kafka/tests/system/apache/kafka/example_dag_hello_kafka.py @@ -19,6 +19,7 @@ import functools import json import logging +import os from datetime import datetime, timedelta from airflow import DAG @@ -41,17 +42,13 @@ def load_connections(): # Connections needed for this example dag to finish from airflow.models import Connection - from airflow.utils import db - db.merge_conn( + conns = [ Connection( conn_id="t1-3", conn_type="kafka", extra=json.dumps({"socket.timeout.ms": 10, "bootstrap.servers": "broker:29092"}), - ) - ) - - db.merge_conn( + ), Connection( conn_id="t2", conn_type="kafka", @@ -63,10 +60,7 @@ def load_connections(): "auto.offset.reset": "beginning", } ), - ) - ) - - db.merge_conn( + ), Connection( conn_id="t4", conn_type="kafka", @@ -78,10 +72,7 @@ def load_connections(): "auto.offset.reset": "beginning", } ), - ) - ) - - db.merge_conn( + ), Connection( conn_id="t4b", conn_type="kafka", @@ -93,10 +84,7 @@ def load_connections(): "auto.offset.reset": "beginning", } ), - ) - ) - - db.merge_conn( + ), Connection( conn_id="t5", conn_type="kafka", @@ -108,8 +96,12 @@ def load_connections(): "auto.offset.reset": "beginning", } ), - ) - ) + ), + ] + + for c in conns: + envvar = f"AIRFLOW_CONN_{c.conn_id.upper()}" + os.environ[envvar] = c.get_uri() def producer_function(): From b898a3d02a7b08d08ceebc6c95ab0a86e86e9714 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 16:22:53 +0530 Subject: [PATCH 088/381] Updating opensearch systest to setup connections using ENV (#52077) --- .../tests/system/opensearch/example_opensearch.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/providers/opensearch/tests/system/opensearch/example_opensearch.py b/providers/opensearch/tests/system/opensearch/example_opensearch.py index f0dbc03bb851f..a18e96b5de1eb 100644 --- a/providers/opensearch/tests/system/opensearch/example_opensearch.py +++ b/providers/opensearch/tests/system/opensearch/example_opensearch.py @@ -21,6 +21,7 @@ from __future__ import annotations +import os from datetime import datetime, timedelta from opensearchpy import Integer, Text @@ -61,14 +62,14 @@ def save(self, **kwargs): def load_connections(): # Connections needed for this example dag to finish from airflow.models import Connection - from airflow.utils import db - db.merge_conn( - Connection( - conn_id="opensearch_test", conn_type="opensearch", host="127.0.0.1", login="test", password="test" - ) + c = Connection( + conn_id="opensearch_test", conn_type="opensearch", host="127.0.0.1", login="test", password="test" ) + envvar = f"AIRFLOW_CONN_{c.conn_id.upper()}" + os.environ[envvar] = c.get_uri() + with DAG( dag_id=DAG_ID, From 7ec12ee7af841a83740e9d3e51531b7625823995 Mon Sep 17 00:00:00 2001 From: olegkachur-e Date: Mon, 23 Jun 2025 12:54:29 +0200 Subject: [PATCH 089/381] Add additional VertexAI Feature Store operators (#51958) - Add operators to create and manage FeatureOnlineStore, FeatureStoreView and fetching features data. - Adjust system tests and documentation. Co-authored-by: Oleg Kachur --- .../google/docs/operators/cloud/vertex_ai.rst | 57 ++ .../cloud/hooks/vertex_ai/feature_store.py | 314 ++++++++++- .../operators/vertex_ai/feature_store.py | 531 ++++++++++++++++++ .../example_vertex_ai_feature_store.py | 171 +++++- .../operators/vertex_ai/test_feature_store.py | 317 ++++++++++- 5 files changed, 1364 insertions(+), 26 deletions(-) diff --git a/providers/google/docs/operators/cloud/vertex_ai.rst b/providers/google/docs/operators/cloud/vertex_ai.rst index 646cb4fee51a0..6e23cd2d934d8 100644 --- a/providers/google/docs/operators/cloud/vertex_ai.rst +++ b/providers/google/docs/operators/cloud/vertex_ai.rst @@ -664,6 +664,36 @@ The operator returns the cached content response in :ref:`XCom ` Interacting with Vertex AI Feature Store ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +To create feature online store you can use +:class:`~airflow.providers.google.cloud.operators.vertex_ai.feature_store.CreateFeatureOnlineStoreOperator`. +The operator creation results in :ref:`XCom ` under ``return_value`` key. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_create_feature_online_store_operator] + :end-before: [END how_to_cloud_vertex_ai_create_feature_online_store_operator] + +To create feature store view you can use +:class:`~airflow.providers.google.cloud.operators.vertex_ai.feature_store.CreateFeatureViewOperator`. +The operator creation results in :ref:`XCom ` under ``return_value`` key. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_create_feature_view_store_operator] + :end-before: [END how_to_cloud_vertex_ai_create_feature_view_store_operator] + +To feature online store you can use +:class:`~airflow.providers.google.cloud.operators.vertex_ai.feature_store.GetFeatureOnlineStoreOperator`. +The operator creation results in :ref:`XCom ` under ``return_value`` key. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_get_feature_online_store_operator] + :end-before: [END how_to_cloud_vertex_ai_get_feature_online_store_operator] + To get a feature view sync job you can use :class:`~airflow.providers.google.cloud.operators.vertex_ai.feature_store.GetFeatureViewSyncOperator`. The operator returns sync job results in :ref:`XCom ` under ``return_value`` key. @@ -693,6 +723,33 @@ To check if Feature View Sync succeeded you can use :start-after: [START how_to_cloud_vertex_ai_feature_store_feature_view_sync_sensor] :end-before: [END how_to_cloud_vertex_ai_feature_store_feature_view_sync_sensor] +To check feature values data you can use the +:class:`~airflow.providers.google.cloud.sensors.vertex_ai.FetchFeatureValuesOperator`. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_fetch_feature_values_operator] + :end-before: [END how_to_cloud_vertex_ai_fetch_feature_values_operator] + +To delete the feature view you can use +:class:`~airflow.providers.google.cloud.sensors.vertex_ai.DeleteFeatureViewOperator`. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_delete_feature_view_operator] + :end-before: [END how_to_cloud_vertex_ai_delete_feature_view_operator] + +To delete the feature online store you can use +:class:`~airflow.providers.google.cloud.sensors.vertex_ai.DeleteFeatureOnlineStoreOperator`. + +.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py + :language: python + :dedent: 4 + :start-after: [START how_to_cloud_vertex_ai_delete_feature_online_store_operator] + :end-before: [END how_to_cloud_vertex_ai_delete_feature_online_store_operator] + Interacting with Ray on Vertex AI Cluster ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py index 69c7b69f8dad5..118ea6a864f82 100644 --- a/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py +++ b/providers/google/src/airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py @@ -18,15 +18,32 @@ from __future__ import annotations +from collections.abc import Sequence +from typing import ( + TYPE_CHECKING, +) + from google.api_core.client_options import ClientOptions +from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault from google.cloud.aiplatform_v1beta1 import ( FeatureOnlineStoreAdminServiceClient, + FeatureOnlineStoreServiceClient, ) from airflow.exceptions import AirflowException from airflow.providers.google.common.consts import CLIENT_INFO from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID, GoogleBaseHook +if TYPE_CHECKING: + from google.api_core.operation import Operation + from google.api_core.retry import Retry + from google.cloud.aiplatform_v1beta1.types import ( + FeatureOnlineStore, + FeatureView, + FeatureViewDataKey, + FetchFeatureValuesResponse, + ) + class FeatureStoreHook(GoogleBaseHook): """ @@ -48,6 +65,19 @@ class FeatureStoreHook(GoogleBaseHook): originating account. """ + @staticmethod + def _get_client_options( + location: str | None = None, + custom_endpoint: str | None = None, + ) -> ClientOptions: + if custom_endpoint: + client_options = ClientOptions(api_endpoint=custom_endpoint) + elif location and location != "global": + client_options = ClientOptions(api_endpoint=f"{location}-aiplatform.googleapis.com:443") + else: + client_options = ClientOptions() + return client_options + def get_feature_online_store_admin_service_client( self, location: str | None = None, @@ -62,12 +92,153 @@ def get_feature_online_store_admin_service_client( If provided and not 'global', the client will be configured to use the region-specific API endpoint. """ - if location and location != "global": - client_options = ClientOptions(api_endpoint=f"{location}-aiplatform.googleapis.com:443") - else: - client_options = ClientOptions() return FeatureOnlineStoreAdminServiceClient( - credentials=self.get_credentials(), client_info=CLIENT_INFO, client_options=client_options + credentials=self.get_credentials(), + client_info=CLIENT_INFO, + client_options=self._get_client_options(location), + ) + + def get_feature_online_store_service_client( + self, + location: str | None = None, + custom_endpoint: str | None = None, + ) -> FeatureOnlineStoreServiceClient: + return FeatureOnlineStoreServiceClient( + credentials=self.get_credentials(), + client_info=CLIENT_INFO, + client_options=self._get_client_options(location, custom_endpoint), + ) + + @GoogleBaseHook.fallback_to_default_project_id + def create_feature_online_store( + self, + feature_online_store_id: str, + feature_online_store: FeatureOnlineStore, + project_id: str = PROVIDE_PROJECT_ID, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> Operation: + """ + Create and sends request for Feature Online store. + + This method initiates VertexAI Feature Online Store creation request. + Feature Online Store aims to serve and manage features data as a part of VertexAI MLOps. + + :param feature_online_store_id: The ID of the online feature store. + :param feature_online_store: The configuration of the online repository. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + client = self.get_feature_online_store_admin_service_client(location) + return client.create_feature_online_store( + request={ + "parent": f"projects/{project_id}/locations/{location}", + "feature_online_store_id": feature_online_store_id, + "feature_online_store": feature_online_store, + }, + timeout=timeout, + retry=retry, + metadata=metadata, + ) + + @GoogleBaseHook.fallback_to_default_project_id + def get_feature_online_store( + self, + feature_online_store_id: str, + project_id: str = PROVIDE_PROJECT_ID, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> FeatureOnlineStore: + """ + Get Feature Online store data. + + Get the FeatureOnlineStore details. + Vertex AI Feature Online Store provides a centralized repository for serving ML features + and embedding indexes at low latency. + + :param feature_online_store_id: The ID of the online feature store. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + client = self.get_feature_online_store_admin_service_client(location) + return client.get_feature_online_store( + name=f"projects/{project_id}/locations/{location}/featureOnlineStores/{feature_online_store_id}", + timeout=timeout, + retry=retry, + metadata=metadata, + ) + + @staticmethod + def _get_featurestore_public_endpoint(feature_online_store: FeatureOnlineStore): + public_endpoint = None + featurestore_data = type(feature_online_store).to_dict(feature_online_store) + if "dedicated_serving_endpoint" in featurestore_data: + public_endpoint = featurestore_data["dedicated_serving_endpoint"].get( + "public_endpoint_domain_name" + ) + return public_endpoint + + @GoogleBaseHook.fallback_to_default_project_id + def create_feature_view( + self, + feature_view_id: str, + feature_view: FeatureView, + feature_online_store_id: str, + project_id: str = PROVIDE_PROJECT_ID, + run_sync_immediately: bool = False, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> Operation: + """ + Create request for Feature View creation. + + This method initiates VertexAI Feature View request for the existing Feature Online Store. + Feature View represents features and data according to the source provided. + + :param feature_view_id: The ID to use for the FeatureView, which will + become the final component of the FeatureView's resource name. + This value may be up to 60 characters, and valid characters are ``[a-z0-9_]``. + The first character cannot be a number. The value must be unique within a FeatureOnlineStore. + :param feature_view: The configuration of the FeatureView to create. + :param feature_online_store_id: The ID of the online feature store. + :param run_sync_immediately: If set to true, one on demand sync will be run + immediately, regardless the FeatureView.sync_config. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + client = self.get_feature_online_store_admin_service_client(location) + return client.create_feature_view( + request={ + "parent": f"projects/{project_id}/locations/" + f"{location}/featureOnlineStores/{feature_online_store_id}", + "feature_view_id": feature_view_id, + "feature_view": feature_view, + "run_sync_immediately": run_sync_immediately, + }, + timeout=timeout, + retry=retry, + metadata=metadata, ) def get_feature_view_sync( @@ -135,13 +306,142 @@ def sync_feature_view( environment. """ client = self.get_feature_online_store_admin_service_client(location) - feature_view = f"projects/{project_id}/locations/{location}/featureOnlineStores/{feature_online_store_id}/featureViews/{feature_view_id}" + feature_view = ( + f"projects/{project_id}/locations/{location}/featureOnlineStores/" + f"{feature_online_store_id}/featureViews/{feature_view_id}" + ) try: response = client.sync_feature_view(feature_view=feature_view) - return str(response.feature_view_sync) except Exception as e: self.log.error("Failed to sync feature view: %s", str(e)) raise AirflowException(str(e)) + + @GoogleBaseHook.fallback_to_default_project_id + def fetch_feature_values( + self, + feature_view_id: str, + feature_online_store_id: str, + entity_id: str | None = None, + project_id: str = PROVIDE_PROJECT_ID, + endpoint_domain_name: str | None = None, + data_key: FeatureViewDataKey | None = None, + data_format: int | None = None, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> FetchFeatureValuesResponse: + """ + Fetch data from the Feature View provided. + + This method fetches data from existing Feature view, filtered by provided (or default) data_key. + Helps to retrieve actual features data hosted in the VertexAI Feature Store. + + :param entity_id: Simple ID to identify Entity to fetch feature values for. + :param endpoint_domain_name: Optional. Public domain name, hosting the content of Optimized + Feature Online store. Should be omitted, if bigtable configuration provided for the FeatureStore, + and default feature store endpoint will be used, based on location provided. + :param feature_view_id: The FeatureView ID to fetch data from. + :param feature_online_store_id: The ID of the online feature store. + :param data_key: Optional. The request key to fetch feature values for. + :param data_format: Optional. Response data format. If not set, FeatureViewDataFormat.KEY_VALUE + will be used. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the + environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + data_client = self.get_feature_online_store_service_client(location, endpoint_domain_name) + return data_client.fetch_feature_values( + request={ + "id": entity_id, + "feature_view": f"projects/{project_id}/locations/{location}/featureOnlineStores/" + f"{feature_online_store_id}/featureViews/{feature_view_id}", + "data_key": data_key, + "data_format": data_format, + }, + timeout=timeout, + retry=retry, + metadata=metadata, + ) + + @GoogleBaseHook.fallback_to_default_project_id + def delete_feature_view( + self, + feature_view_id: str, + feature_online_store_id: str, + project_id: str = PROVIDE_PROJECT_ID, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> Operation: + """ + Delete the Feature View. + + This method deletes the Feature View from the Feature Online Store. + + :param feature_view_id: The ID to use for the FeatureView, to be deleted. + :param feature_online_store_id: The ID of the online feature store. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the + environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + client = self.get_feature_online_store_admin_service_client(location) + return client.delete_feature_view( + name=f"projects/{project_id}/locations/{location}/featureOnlineStores/{feature_online_store_id}" + f"/featureViews/{feature_view_id}", + timeout=timeout, + retry=retry, + metadata=metadata, + ) + + @GoogleBaseHook.fallback_to_default_project_id + def delete_feature_online_store( + self, + feature_online_store_id: str, + force: bool = False, + project_id: str = PROVIDE_PROJECT_ID, + location: str | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + ) -> Operation: + """ + Delete the FeatureOnlineStore. + + This method deletes the Feature Online Store and all features data. + The FeatureOnlineStore must not contain any FeatureViews. + + :param feature_online_store_id: The ID of the online feature store. + :param force: If set to true, any FeatureViews and Features for this FeatureOnlineStore + will also be deleted. + :param project_id: The ID of the Google Cloud project that contains the + feature store. If not provided, will attempt to determine from the + environment. + :param location: The Google Cloud region where the feature store is located + (e.g., 'us-central1', 'us-east1'). + :param retry: Designation of what errors, if any, should be retried. + :param timeout: The timeout for this request. + :param metadata: Strings which should be sent along with the request as metadata. + """ + client = self.get_feature_online_store_admin_service_client(location) + return client.delete_feature_online_store( + name=f"projects/{project_id}/locations/{location}/featureOnlineStores/{feature_online_store_id}", + force=force, + timeout=timeout, + retry=retry, + metadata=metadata, + ) diff --git a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/feature_store.py b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/feature_store.py index 318ff25a3a915..2fe98b75221d4 100644 --- a/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/feature_store.py +++ b/providers/google/src/airflow/providers/google/cloud/operators/vertex_ai/feature_store.py @@ -22,10 +22,23 @@ from collections.abc import Sequence from typing import TYPE_CHECKING, Any +from google.api_core.exceptions import GoogleAPICallError +from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault +from google.cloud.aiplatform_v1beta1.types import FeatureViewDataFormat + +from airflow.exceptions import AirflowException from airflow.providers.google.cloud.hooks.vertex_ai.feature_store import FeatureStoreHook from airflow.providers.google.cloud.operators.cloud_base import GoogleCloudBaseOperator +from airflow.providers.google.common.hooks.operation_helpers import OperationHelper if TYPE_CHECKING: + from google.api_core.retry import Retry + from google.cloud.aiplatform_v1beta1.types import ( + FeatureOnlineStore, + FeatureView, + FeatureViewDataKey, + ) + from airflow.utils.context import Context @@ -101,6 +114,257 @@ def execute(self, context: Context) -> str: return response +class CreateFeatureOnlineStoreOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Create the Feature Online store. + + This method initiates VertexAI Feature Online Store creation request. + Feature Online Store aims to serve and manage features data as a part of VertexAI MLOps. + + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param feature_online_store_id: Required. The ID of the online feature store that contains + the feature view to be synchronized. This store serves as the online serving layer. + :param feature_online_store: FeatureOnlineStore configuration object of the feature online store + to be created. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + ) + + def __init__( + self, + *, + project_id: str, + location: str, + feature_online_store_id: str, + feature_online_store: FeatureOnlineStore, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + + self.project_id = project_id + self.location = location + self.feature_online_store_id = feature_online_store_id + self.feature_online_store = feature_online_store + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + self.log.info("Creating the Feature Online Store...") + result_operation = hook.create_feature_online_store( + project_id=self.project_id, + location=self.location, + feature_online_store_id=self.feature_online_store_id, + feature_online_store=self.feature_online_store, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + op_result = self.wait_for_operation_result(operation=result_operation) + self.log.info("The Feature Online Store has been created: %s", self.feature_online_store_id) + result = type(op_result).to_dict(op_result) + return result + + +class GetFeatureOnlineStoreOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Get Feature Online store instance. + + This method initiates VertexAI Feature Online Store creation request. + Feature Online Store aims to serve and manage features data as a part of VertexAI MLOps. + + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param feature_online_store_id: Required. The ID of the online feature store that contains + the feature view to be synchronized. This store serves as the online serving layer. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + ) + + def __init__( + self, + *, + project_id: str, + location: str, + feature_online_store_id: str, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + + self.project_id = project_id + self.location = location + self.feature_online_store_id = feature_online_store_id + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + self.log.info("Get the Feature Online Store id: %s...", self.feature_online_store_id) + try: + result = hook.get_feature_online_store( + project_id=self.project_id, + location=self.location, + feature_online_store_id=self.feature_online_store_id, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + except GoogleAPICallError as ex: + exc_msg = f"Google API error getting {self.feature_online_store_id} Feature Online Store instance" + raise AirflowException(exc_msg) from ex + + result = type(result).to_dict(result) + self.log.info("The Feature Online Store has been retrieved: %s", self.feature_online_store_id) + return result + + +class CreateFeatureViewOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Create request for Feature View creation. + + This method initiates VertexAI Feature View request for the existing Feature Online Store. + Feature View represents features and data according to the source provided. + + :param feature_view_id: The ID to use for the FeatureView, which will become the final component + of the FeatureView's resource name. This value may be up to 60 characters, and valid characters + are ``[a-z0-9_]``. The first character cannot be a number. + The value must be unique within a FeatureOnlineStore. + :param feature_view: The configuration of the FeatureView to create. + :param feature_online_store_id: The ID of the online feature store. + :param run_sync_immediately: If set to true, one on demand sync will be run + immediately, regardless the FeatureView.sync_config. + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + ) + + def __init__( + self, + *, + feature_view_id: str, + feature_view: FeatureView, + feature_online_store_id: str, + run_sync_immediately: bool = False, + project_id: str, + location: str, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.project_id = project_id + self.location = location + self.feature_view_id = feature_view_id + self.feature_view = feature_view + self.run_sync_immediately = run_sync_immediately + self.feature_online_store_id = feature_online_store_id + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + self.log.info("Creating the Online Store Feature View...") + result_operation = hook.create_feature_view( + project_id=self.project_id, + location=self.location, + feature_view_id=self.feature_view_id, + feature_view=self.feature_view, + feature_online_store_id=self.feature_online_store_id, + run_sync_immediately=self.run_sync_immediately, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + op_result = self.wait_for_operation_result(operation=result_operation) + self.log.info("The Online Store Feature View has been created: %s", self.feature_online_store_id) + result = type(op_result).to_dict(op_result) + return result + + class GetFeatureViewSyncOperator(GoogleCloudBaseOperator): """ Retrieve the status and details of a Feature View synchronization operation. @@ -161,3 +425,270 @@ def execute(self, context: Context) -> dict[str, Any]: self.log.info(response) return response + + +class FetchFeatureValuesOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Fetch features data from the Feature View provided. + + This method fetches data from existing Feature view, filtered by provided (or default) data_key. + Helps to retrieve actual features data hosted in the VertexAI Feature Store. + + :param entity_id: Simple ID to identify Entity to fetch feature values for. + :param feature_view_id: The FeatureView ID to fetch data from. + :param feature_online_store_id: The ID of the online feature store. + :param data_key: The request key to fetch feature values for. + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + "feature_view_id", + "entity_id", + ) + + def __init__( + self, + *, + feature_view_id: str, + feature_online_store_id: str, + project_id: str, + location: str, + entity_id: str | None = None, + data_key: FeatureViewDataKey | None = None, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.project_id = project_id + self.location = location + self.entity_id = entity_id + self.feature_view_id = feature_view_id + self.feature_online_store_id = feature_online_store_id + self.data_key = data_key + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + try: + feature_online_store = hook.get_feature_online_store( + feature_online_store_id=self.feature_online_store_id, + project_id=self.project_id, + location=self.location, + ) + public_domain_name = hook._get_featurestore_public_endpoint(feature_online_store) + except GoogleAPICallError as ex: + exc_msg = f"Google API error getting {self.feature_online_store_id} Feature Online Store instance" + raise AirflowException(exc_msg) from ex + + self.log.info( + "Fetching data from the Feature View %s, Online Feature Store %s.", + self.feature_view_id, + self.feature_online_store_id, + ) + request_result = hook.fetch_feature_values( + project_id=self.project_id, + location=self.location, + endpoint_domain_name=public_domain_name, + entity_id=self.entity_id, + feature_view_id=self.feature_view_id, + feature_online_store_id=self.feature_online_store_id, + data_key=self.data_key, + data_format=FeatureViewDataFormat.KEY_VALUE, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + self.log.info( + "Fetching data from the Feature View %s, Online Feature Store %s. is finished.", + self.feature_view_id, + self.feature_online_store_id, + ) + result = type(request_result).to_dict(request_result) + return result + + +class DeleteFeatureOnlineStoreOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Delete the Feature Online store. + + This method initiates VertexAI Feature Online Store deletion request. + There should be no FeatureViews to be deleted successfully. + + + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param feature_online_store_id: Required. The ID of the online feature store that contains + the feature view to be synchronized. This store serves as the online serving layer. + :param force: If set to true, any FeatureViews and Features for this FeatureOnlineStore + will also be deleted. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + ) + + def __init__( + self, + *, + project_id: str, + location: str, + feature_online_store_id: str, + force: bool = False, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.project_id = project_id + self.location = location + self.feature_online_store_id = feature_online_store_id + self.force = force + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + self.log.info("Deleting the Feature Online Store...") + + result_operation = hook.delete_feature_online_store( + project_id=self.project_id, + location=self.location, + feature_online_store_id=self.feature_online_store_id, + force=self.force, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + self.wait_for_operation_result(operation=result_operation) + self.log.info("The Feature Online Store deletion has been complete: %s", self.feature_online_store_id) + + return {"result": f"The {self.feature_online_store_id} has been deleted."} + + +class DeleteFeatureViewOperator(GoogleCloudBaseOperator, OperationHelper): + """ + Delete the Feature View. + + This method deletes the Feature View from the Feature Online Store. + + :param project_id: Required. The ID of the Google Cloud project that contains the feature store. + This is used to identify which project's resources to interact with. + :param location: Required. The location of the feature store (e.g., 'us-central1', 'us-east1'). + This specifies the Google Cloud region where the feature store resources are located. + :param feature_online_store_id: Required. The ID of the online feature store that contains + the feature view to be synchronized. This store serves as the online serving layer. + :param gcp_conn_id: The connection ID to use for connecting to Google Cloud Platform. + Defaults to 'google_cloud_default'. + :param impersonation_chain: Optional service account to impersonate using short-term + credentials. Can be either a single account or a chain of accounts required to + get the access_token of the last account in the list, which will be impersonated + in the request. If set as a string, the account must grant the originating account + the Service Account Token Creator IAM role. If set as a sequence, the identities + from the list must grant Service Account Token Creator IAM role to the directly + preceding identity, with first account from the list granting this role to the + originating account. + """ + + template_fields: Sequence[str] = ( + "project_id", + "location", + "feature_online_store_id", + ) + + def __init__( + self, + *, + project_id: str, + location: str, + feature_online_store_id: str, + feature_view_id: str, + timeout: float | _MethodDefault = DEFAULT, + retry: Retry | _MethodDefault | None = DEFAULT, + metadata: Sequence[tuple[str, str]] = (), + gcp_conn_id: str = "google_cloud_default", + impersonation_chain: str | Sequence[str] | None = None, + **kwargs, + ) -> None: + super().__init__(**kwargs) + self.project_id = project_id + self.location = location + self.feature_online_store_id = feature_online_store_id + self.feature_view_id = feature_view_id + self.timeout = timeout + self.retry = retry + self.metadata = metadata + self.gcp_conn_id = gcp_conn_id + self.impersonation_chain = impersonation_chain + + def execute(self, context: Context) -> dict[str, Any]: + """Execute the get feature view sync operation.""" + hook = FeatureStoreHook( + gcp_conn_id=self.gcp_conn_id, + impersonation_chain=self.impersonation_chain, + ) + self.log.info("Deleting the Feature View %s ... ", self.feature_view_id) + result_operation = hook.delete_feature_view( + project_id=self.project_id, + location=self.location, + feature_online_store_id=self.feature_online_store_id, + feature_view_id=self.feature_view_id, + timeout=self.timeout, + retry=self.retry, + metadata=self.metadata, + ) + self.wait_for_operation_result(operation=result_operation) + self.log.info("The Feature View deletion has been complete: %s", self.feature_view_id) + + return {"result": f"The {self.feature_view_id} has been deleted."} diff --git a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py index 3d0794fa85cbd..7a2252d73c182 100644 --- a/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py +++ b/providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_feature_store.py @@ -23,30 +23,134 @@ from __future__ import annotations import os -from datetime import datetime +from datetime import datetime, timedelta + +from google.cloud.aiplatform_v1beta1 import FeatureOnlineStore, FeatureView, FeatureViewDataKey from airflow import DAG +from airflow.providers.google.cloud.operators.bigquery import ( + BigQueryCreateEmptyDatasetOperator, + BigQueryCreateTableOperator, + BigQueryDeleteDatasetOperator, +) from airflow.providers.google.cloud.operators.vertex_ai.feature_store import ( + CreateFeatureOnlineStoreOperator, + CreateFeatureViewOperator, + DeleteFeatureOnlineStoreOperator, + DeleteFeatureViewOperator, + FetchFeatureValuesOperator, + GetFeatureOnlineStoreOperator, GetFeatureViewSyncOperator, SyncFeatureViewOperator, ) from airflow.providers.google.cloud.sensors.vertex_ai.feature_store import FeatureViewSyncSensor +from airflow.utils.trigger_rule import TriggerRule PROJECT_ID = os.environ.get("SYSTEM_TESTS_GCP_PROJECT", "default") +ENV_ID = os.environ.get("SYSTEM_TESTS_ENV_ID", "default") DAG_ID = "vertex_ai_feature_store_dag" REGION = "us-central1" -FEATURE_ONLINE_STORE_ID = "my_feature_online_store_unique" -FEATURE_VIEW_ID = "feature_view_publications" +BQ_LOCATION = "US" +BQ_DATASET_ID = "bq_ds_featurestore_demo" +BQ_VIEW_ID = "product_features_view" +BQ_VIEW_FQN = f"{PROJECT_ID}.{BQ_DATASET_ID}.{BQ_VIEW_ID}" + +FEATURE_ONLINE_STORE_ID = f"my_feature_online_store_unique_{ENV_ID}" +FEATURE_VIEW_ID = "feature_view_product" +FEATURE_VIEW_DATA_KEY = {"key": "28098"} + +FEATURE_EXTRACT_QUERY = """ + WITH + product_order_agg AS ( + SELECT cast(product_id as string) as entity_id, + countif(status in ("Shipped", "Complete")) as good_order_count, + countif(status in ("Returned", "Cancelled")) as bad_order_count + FROM `bigquery-public-data.thelook_ecommerce.order_items` + WHERE + timestamp_trunc(created_at, day) >= timestamp_trunc(timestamp_sub(CURRENT_TIMESTAMP(), interval 30 day), day) and + timestamp_trunc(created_at, day) < timestamp_trunc(CURRENT_TIMESTAMP(), day) + group by 1 + order by entity_id), + product_basic AS ( + SELECT cast(id as string) AS entity_id, + lower(name) as name, + lower(category) as category, + lower(brand) as brand, + cost, + retail_price + FROM bigquery-public-data.thelook_ecommerce.products) + SELECT *, current_timestamp() as feature_timestamp + FROM product_basic + LEFT OUTER JOIN product_order_agg + USING (entity_id) + """ + with DAG( dag_id=DAG_ID, description="Sample DAG with Vertex AI Feature Store operations.", schedule="@once", - start_date=datetime(2024, 1, 1), + start_date=datetime(2025, 6, 1), catchup=False, tags=["example", "vertex_ai", "feature_store"], ) as dag: + create_bq_dataset = BigQueryCreateEmptyDatasetOperator( + task_id="create_bq_dataset", + dataset_id=BQ_DATASET_ID, + project_id=PROJECT_ID, + location=BQ_LOCATION, + ) + + create_bq_table_view = BigQueryCreateTableOperator( + task_id="create_bq_table_view", + project_id=PROJECT_ID, + location=BQ_LOCATION, + dataset_id=BQ_DATASET_ID, + table_id=BQ_VIEW_ID, + table_resource={ + "view": { + "query": FEATURE_EXTRACT_QUERY, + "useLegacySql": False, + } + }, + ) + # [START how_to_cloud_vertex_ai_create_feature_online_store_operator] + create_feature_online_store = CreateFeatureOnlineStoreOperator( + task_id="create_feature_online_store", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + feature_online_store=FeatureOnlineStore(optimized=FeatureOnlineStore.Optimized()), + ) + # [END how_to_cloud_vertex_ai_create_feature_online_store_operator] + + # [START how_to_cloud_vertex_ai_create_feature_view_store_operator] + create_feature_view = CreateFeatureViewOperator( + task_id="create_feature_view", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + feature_view_id=FEATURE_VIEW_ID, + feature_view=FeatureView( + big_query_source=FeatureView.BigQuerySource( + uri=f"bq://{BQ_VIEW_FQN}", + entity_id_columns=["entity_id"], + ), + sync_config=FeatureView.SyncConfig(cron="TZ=America/Los_Angeles 56 * * * *"), + ), + ) + # [END how_to_cloud_vertex_ai_create_feature_view_store_operator] + + # [START how_to_cloud_vertex_ai_get_feature_online_store_operator] + get_feature_online_store = GetFeatureOnlineStoreOperator( + task_id="get_feature_online_store", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + ) + # [END how_to_cloud_vertex_ai_get_feature_online_store_operator] + # [START how_to_cloud_vertex_ai_feature_store_sync_feature_view_operator] sync_task = SyncFeatureViewOperator( task_id="sync_task", @@ -63,7 +167,7 @@ location=REGION, feature_view_sync_name="{{ task_instance.xcom_pull(task_ids='sync_task', key='return_value')}}", poke_interval=60, # Check every minute - timeout=600, # Timeout after 10 minutes + timeout=1200, # Timeout after 20 minutes mode="reschedule", ) # [END how_to_cloud_vertex_ai_feature_store_feature_view_sync_sensor] @@ -76,7 +180,62 @@ ) # [END how_to_cloud_vertex_ai_feature_store_get_feature_view_sync_operator] - sync_task >> wait_for_sync >> get_task + # [START how_to_cloud_vertex_ai_fetch_feature_values_operator] + fetch_feature_data = FetchFeatureValuesOperator( + task_id="fetch_feature_data", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + feature_view_id=FEATURE_VIEW_ID, + data_key=FeatureViewDataKey(FEATURE_VIEW_DATA_KEY), + retries=3, + retry_delay=timedelta(minutes=3), + ) + # [END how_to_cloud_vertex_ai_fetch_feature_values_operator] + + # [START how_to_cloud_vertex_ai_delete_feature_view_operator] + delete_feature_view = DeleteFeatureViewOperator( + task_id="delete_feature_view", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + feature_view_id=FEATURE_VIEW_ID, + ) + # [END how_to_cloud_vertex_ai_delete_feature_view_operator] + + # [START how_to_cloud_vertex_ai_delete_feature_online_store_operator] + delete_feature_online_store = DeleteFeatureOnlineStoreOperator( + task_id="delete_feature_online_store", + project_id=PROJECT_ID, + location=REGION, + feature_online_store_id=FEATURE_ONLINE_STORE_ID, + ) + # [END how_to_cloud_vertex_ai_delete_feature_online_store_operator] + + delete_bq_dataset = BigQueryDeleteDatasetOperator( + task_id="delete_bq_dataset", + dataset_id=BQ_DATASET_ID, + delete_contents=True, + trigger_rule=TriggerRule.ALL_DONE, + ) + + # TEST SETUP + ( + create_bq_dataset + >> create_bq_table_view + # TEST BODY + >> create_feature_online_store + >> get_feature_online_store + >> create_feature_view + >> sync_task + >> wait_for_sync + >> get_task + >> fetch_feature_data + # TEST TEARDOWN + >> delete_feature_view + >> delete_feature_online_store + >> delete_bq_dataset + ) from tests_common.test_utils.watcher import watcher diff --git a/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_feature_store.py b/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_feature_store.py index 5340b69d72009..4443a23ace1ea 100644 --- a/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_feature_store.py +++ b/providers/google/tests/unit/google/cloud/operators/vertex_ai/test_feature_store.py @@ -19,7 +19,21 @@ from unittest import mock +from google.cloud.aiplatform_v1beta1.types import ( + FeatureOnlineStore, + FeatureView, + FeatureViewDataFormat, + FeatureViewDataKey, + FetchFeatureValuesResponse, +) + from airflow.providers.google.cloud.operators.vertex_ai.feature_store import ( + CreateFeatureOnlineStoreOperator, + CreateFeatureViewOperator, + DeleteFeatureOnlineStoreOperator, + DeleteFeatureViewOperator, + FetchFeatureValuesOperator, + GetFeatureOnlineStoreOperator, GetFeatureViewSyncOperator, SyncFeatureViewOperator, ) @@ -33,7 +47,17 @@ IMPERSONATION_CHAIN = ["ACCOUNT_1", "ACCOUNT_2", "ACCOUNT_3"] FEATURE_ONLINE_STORE_ID = "test-store" FEATURE_VIEW_ID = "test-view" -FEATURE_VIEW_SYNC_NAME = f"projects/{GCP_PROJECT}/locations/{GCP_LOCATION}/featureOnlineStores/{FEATURE_ONLINE_STORE_ID}/featureViews/{FEATURE_VIEW_ID}/featureViewSyncs/sync123" +FEATURE_ONLINE_STORE_NAME = ( + f"projects/{GCP_PROJECT}/locations/{GCP_LOCATION}/featureOnlineStores/{FEATURE_ONLINE_STORE_ID}" +) +FEATURE_VIEW_SYNC_NAME = ( + f"projects/{GCP_PROJECT}/locations/{GCP_LOCATION}/featureOnlineStores/" + f"{FEATURE_ONLINE_STORE_ID}/featureViews/{FEATURE_VIEW_ID}/featureViewSyncs/sync123" +) +FEATURE_VIEW_NAME = ( + f"projects/{GCP_PROJECT}/locations/{GCP_LOCATION}/featureOnlineStores/" + f"{FEATURE_ONLINE_STORE_ID}/featureViews/{FEATURE_VIEW_ID}" +) class TestSyncFeatureViewOperator: @@ -42,10 +66,8 @@ def test_execute(self, mock_hook_class): # Create the mock hook and set up its return value mock_hook = mock.MagicMock() mock_hook_class.return_value = mock_hook - # Set up the return value for sync_feature_view to match the hook implementation mock_hook.sync_feature_view.return_value = FEATURE_VIEW_SYNC_NAME - op = SyncFeatureViewOperator( task_id=TASK_ID, project_id=GCP_PROJECT, @@ -57,13 +79,11 @@ def test_execute(self, mock_hook_class): ) response = op.execute(context={"ti": mock.MagicMock()}) - # Verify hook initialization mock_hook_class.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) - # Verify hook method call mock_hook.sync_feature_view.assert_called_once_with( project_id=GCP_PROJECT, @@ -71,7 +91,6 @@ def test_execute(self, mock_hook_class): feature_online_store_id=FEATURE_ONLINE_STORE_ID, feature_view_id=FEATURE_VIEW_ID, ) - # Verify response matches expected value assert response == FEATURE_VIEW_SYNC_NAME @@ -82,17 +101,14 @@ def test_execute(self, mock_hook_class): # Create the mock hook and set up expected response mock_hook = mock.MagicMock() mock_hook_class.return_value = mock_hook - expected_response = { "name": FEATURE_VIEW_SYNC_NAME, "start_time": 1000, "end_time": 2000, "sync_summary": {"row_synced": 500, "total_slot": 4}, } - # Set up the return value for get_feature_view_sync to match the hook implementation mock_hook.get_feature_view_sync.return_value = expected_response - op = GetFeatureViewSyncOperator( task_id=TASK_ID, location=GCP_LOCATION, @@ -100,20 +116,295 @@ def test_execute(self, mock_hook_class): gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) - response = op.execute(context={"ti": mock.MagicMock()}) - # Verify hook initialization mock_hook_class.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) - # Verify hook method call mock_hook.get_feature_view_sync.assert_called_once_with( location=GCP_LOCATION, feature_view_sync_name=FEATURE_VIEW_SYNC_NAME, ) - # Verify response matches expected structure assert response == expected_response + + +class TestCreateFeatureOnlineStoreOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + FEATURE_ONLINE_STORE_CONF = FeatureOnlineStore({"name": FEATURE_ONLINE_STORE_NAME, "optimized": {}}) + sample_result = { + "etag": "", + "labels": {}, + "name": FEATURE_ONLINE_STORE_NAME, + "optimized": {}, + "satisfies_pzi": False, + "satisfies_pzs": False, + "state": 0, + } + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + # Set up the return value for hook method to match the hook implementation + sample_operation = mock.MagicMock() + sample_operation.result.return_value = FEATURE_ONLINE_STORE_CONF + mock_hook.create_feature_online_store.return_value = sample_operation + mock_hook.return_value.wait_for_operation_result.side_effect = lambda operation: operation.result() + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "feature_online_store": FEATURE_ONLINE_STORE_CONF, + "metadata": (), + "timeout": 100, + "retry": None, + } + op = CreateFeatureOnlineStoreOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + result = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.create_feature_online_store.assert_called_once_with(**common_kwargs) + # Verify result matches expected value + assert result == sample_result + + +class TestCreateFeatureViewOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + feature_view_conf_params = { + "big_query_source": FeatureView.BigQuerySource( + uri="bq://{BQ_TABLE}", + entity_id_columns=["entity_id"], + ), + "sync_config": FeatureView.SyncConfig(cron="TZ=Europe/London 56 * * * *"), + } + FEATURE_VIEW_CONF = FeatureView(**feature_view_conf_params) + + sample_result = { + "big_query_source": {"entity_id_columns": ["entity_id"], "uri": "bq://{BQ_TABLE}"}, + "etag": "", + "labels": {}, + "name": "projects/test-project/locations/us-central1/featureOnlineStores/test-store" + "/featureViews/test-view", + "satisfies_pzi": False, + "satisfies_pzs": False, + "service_account_email": "", + "service_agent_type": 0, + "sync_config": {"cron": "TZ=Europe/London 56 * * * *"}, + } + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + # Set up the return value for hook method to match the hook implementation + sample_operation = mock.MagicMock() + sample_operation.result.return_value = FeatureView( + {**feature_view_conf_params, **{"name": FEATURE_VIEW_NAME}} + ) + mock_hook.create_feature_view.return_value = sample_operation + mock_hook.return_value.wait_for_operation_result.side_effect = lambda operation: operation.result() + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "feature_view_id": FEATURE_VIEW_ID, + "feature_view": FEATURE_VIEW_CONF, + "run_sync_immediately": False, + "metadata": (), + "timeout": 100, + "retry": None, + } + op = CreateFeatureViewOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + result = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.create_feature_view.assert_called_once_with(**common_kwargs) + # Verify result matches expected value + assert result == sample_result + + +class TestFetchFeatureValuesOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + ENTITY_ID = "entity-id" + FEATURE_VIEW_DATA_KEY = {"key": "28098"} + sample_result = { + "key_values": { + "features": [ + {"name": "brand", "value": {"string_value": "rip curl"}}, + {"name": "cost", "value": {"double_value": 36.56684834767282}}, + {"name": "feature_timestamp", "value": {"int64_value": "1750151356612667"}}, + ] + } + } + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + # Set up the return value for hook method to match the hook implementation + mock_hook.get_feature_online_store = mock.MagicMock() + PUBLIC_DOMAIN_NAME = "public.domain.url" + get_public_domain_mock = mock.MagicMock() + get_public_domain_mock.return_value = PUBLIC_DOMAIN_NAME + mock_hook._get_featurestore_public_endpoint = get_public_domain_mock + mock_hook.fetch_feature_values.return_value = FetchFeatureValuesResponse(sample_result) + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "feature_view_id": FEATURE_VIEW_ID, + "entity_id": ENTITY_ID, + "data_key": FeatureViewDataKey(FEATURE_VIEW_DATA_KEY), + "metadata": (), + "timeout": 100, + "retry": None, + } + op = FetchFeatureValuesOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + result = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.fetch_feature_values.assert_called_once_with( + data_format=FeatureViewDataFormat.KEY_VALUE, + endpoint_domain_name=PUBLIC_DOMAIN_NAME, + **common_kwargs, + ) + # Verify result matches expected value + assert result == sample_result + + +class TestGetFeatureOnlineStoreOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + # Create the mock hook and set up its return value + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + # Set up the return value for get_feature_online_store to match the hook implementation + SAMPLE_RESPONSE = { + "etag": "", + "labels": {}, + "name": FEATURE_ONLINE_STORE_ID, + "satisfies_pzi": False, + "satisfies_pzs": False, + "state": 0, + } + mock_hook.get_feature_online_store.return_value = FeatureOnlineStore(SAMPLE_RESPONSE) + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "metadata": (), + "timeout": 100, + "retry": None, + } + op = GetFeatureOnlineStoreOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + response = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.get_feature_online_store.assert_called_once_with(**common_kwargs) + # Verify response matches expected value + assert response == SAMPLE_RESPONSE + + +class TestDeleteFeatureOnlineStoreOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + # Create the mock hook and set up its return value + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + sample_operation = mock.MagicMock() + mock_hook.delete_feature_online_store.return_value = sample_operation + mock_hook.return_value.wait_for_operation_result.side_effect = lambda operation: operation.result() + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "force": False, + "metadata": (), + "timeout": 100, + "retry": None, + } + op = DeleteFeatureOnlineStoreOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + response = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.delete_feature_online_store.assert_called_once_with(**common_kwargs) + # Verify response matches expected value + assert response == {"result": f"The {FEATURE_ONLINE_STORE_ID} has been deleted."} + + +class TestDeleteFeatureViewOperator: + @mock.patch(VERTEX_AI_PATH.format("feature_store.FeatureStoreHook")) + def test_execute(self, mock_hook_class): + # Create the mock hook and set up its return value + mock_hook = mock.MagicMock() + mock_hook_class.return_value = mock_hook + sample_operation = mock.MagicMock() + mock_hook.delete_feature_view.return_value = sample_operation + mock_hook.return_value.wait_for_operation_result.side_effect = lambda operation: operation.result() + common_kwargs = { + "project_id": GCP_PROJECT, + "location": GCP_LOCATION, + "feature_online_store_id": FEATURE_ONLINE_STORE_ID, + "feature_view_id": FEATURE_VIEW_ID, + "metadata": (), + "timeout": 100, + "retry": None, + } + op = DeleteFeatureViewOperator( + task_id=TASK_ID, + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + **common_kwargs, + ) + response = op.execute(context={"ti": mock.MagicMock()}) + # Verify hook initialization + mock_hook_class.assert_called_once_with( + gcp_conn_id=GCP_CONN_ID, + impersonation_chain=IMPERSONATION_CHAIN, + ) + # Verify hook method call + mock_hook.delete_feature_view.assert_called_once_with(**common_kwargs) + # Verify response matches expected value + assert response == {"result": f"The {FEATURE_VIEW_ID} has been deleted."} From 0bc84bf3af4bce7c07a783ba97dcd8c8f7e826d4 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 12:55:00 +0200 Subject: [PATCH 090/381] Add new translations in Polish. (#52078) --- .../src/airflow/ui/public/i18n/locales/pl/admin.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json index 573c185aa126f..9bf2504ec9f41 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/pl/admin.json @@ -40,7 +40,10 @@ "standardFields": "Standardowe pola" }, "nothingFound": { - "title": "Nie znaleziono połączeń!" + "description": "Połączenia zdefiniowane za pomocą zmiennych środowiskowych lub menedżerów sekretów nie są tutaj wyświetlane.", + "documentationLink": "Dowiedz się więcej w dokumentacji Airflow.", + "learnMore": "Są one rozwiązywane w czasie wykonywania i nie są widoczne w interfejsie użytkownika.", + "title": "Nie znaleziono połączeń!" }, "searchPlaceholder": "Szukaj połączeń", "test": "Test połączenia", From 130e9600443e06c08acc1b28c69a62c858d6e6a2 Mon Sep 17 00:00:00 2001 From: Dominik <105610163+dominikhei@users.noreply.github.com> Date: Mon, 23 Jun 2025 12:57:01 +0200 Subject: [PATCH 091/381] Removed pytestmark db_test from the spark provider (#52081) --- .../unit/apache/spark/hooks/test_spark_connect.py | 2 -- .../unit/apache/spark/hooks/test_spark_jdbc.py | 8 ++++++-- .../unit/apache/spark/hooks/test_spark_sql.py | 8 ++++++-- .../unit/apache/spark/hooks/test_spark_submit.py | 15 +++++++++++++-- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py index 1174ec2ff4869..27d8e8f6d7d33 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_connect.py @@ -22,8 +22,6 @@ from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_connect import SparkConnectHook -pytestmark = pytest.mark.db_test - class TestSparkConnectHook: @pytest.fixture(autouse=True) diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py index 9f6e034c62853..be2b6523bf972 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_jdbc.py @@ -24,8 +24,6 @@ from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_jdbc import SparkJDBCHook -pytestmark = pytest.mark.db_test - class TestSparkJDBCHook: _config = { @@ -122,6 +120,7 @@ def setup_connections(self, create_connection_without_db): ) ) + @pytest.mark.db_test def test_resolve_jdbc_connection(self): # Given hook = SparkJDBCHook(jdbc_conn_id="jdbc-default") @@ -139,6 +138,7 @@ def test_resolve_jdbc_connection(self): # Then assert connection == expected_connection + @pytest.mark.db_test def test_build_jdbc_arguments(self): # Given hook = SparkJDBCHook(**self._config) @@ -183,6 +183,7 @@ def test_build_jdbc_arguments(self): ] assert expected_jdbc_arguments == cmd + @pytest.mark.db_test def test_build_jdbc_arguments_invalid(self): # Given hook = SparkJDBCHook(**self._invalid_config) @@ -190,14 +191,17 @@ def test_build_jdbc_arguments_invalid(self): # Expect Exception hook._build_jdbc_application_arguments(hook._resolve_jdbc_connection()) + @pytest.mark.db_test def test_invalid_host(self): with pytest.raises(ValueError, match="host should not contain a"): SparkJDBCHook(jdbc_conn_id="jdbc-invalid-host", **self._config) + @pytest.mark.db_test def test_invalid_schema(self): with pytest.raises(ValueError, match="schema should not contain a"): SparkJDBCHook(jdbc_conn_id="jdbc-invalid-schema", **self._config) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_submit.SparkSubmitHook.submit") def test_invalid_extra_conn_prefix(self, mock_submit): hook = SparkJDBCHook(jdbc_conn_id="jdbc-invalid-extra-conn-prefix", **self._config) diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py index 96e69aaeb9ab7..301ccd730fa81 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_sql.py @@ -29,8 +29,6 @@ from tests_common.test_utils.db import clear_db_connections -pytestmark = pytest.mark.db_test - def get_after(sentinel, iterable): """Get the value after `sentinel` in an `iterable`""" @@ -78,6 +76,7 @@ def setup_connections(self, create_connection_without_db): def teardown_class(cls) -> None: clear_db_connections(add_default_connections_back=True) + @pytest.mark.db_test def test_build_command(self): hook = SparkSqlHook(**self._config) @@ -100,6 +99,7 @@ def test_build_command(self): if self._config["verbose"]: assert "--verbose" in cmd + @pytest.mark.db_test def test_build_command_with_str_conf(self): hook = SparkSqlHook(**self._config_str) @@ -123,6 +123,7 @@ def test_build_command_with_str_conf(self): if self._config["verbose"]: assert "--verbose" in cmd + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_sql.subprocess.Popen") def test_spark_process_runcmd(self, mock_popen): # Given @@ -171,6 +172,7 @@ def test_spark_process_runcmd(self, mock_popen): universal_newlines=True, ) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_sql.subprocess.Popen") def test_spark_process_runcmd_with_str(self, mock_popen): # Given @@ -201,6 +203,7 @@ def test_spark_process_runcmd_with_str(self, mock_popen): universal_newlines=True, ) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_sql.subprocess.Popen") def test_spark_process_runcmd_with_list(self, mock_popen): # Given @@ -231,6 +234,7 @@ def test_spark_process_runcmd_with_list(self, mock_popen): universal_newlines=True, ) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_sql.subprocess.Popen") def test_spark_process_runcmd_and_fail(self, mock_popen): # Given diff --git a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py index b41534baa2fd1..06a04e5573159 100644 --- a/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py +++ b/providers/apache/spark/tests/unit/apache/spark/hooks/test_spark_submit.py @@ -29,8 +29,6 @@ from airflow.models import Connection from airflow.providers.apache.spark.hooks.spark_submit import SparkSubmitHook -pytestmark = pytest.mark.db_test - class TestSparkSubmitHook: _spark_job_file = "test_application.py" @@ -170,6 +168,7 @@ def setup_connections(self, create_connection_without_db): ) ) + @pytest.mark.db_test @patch( "airflow.providers.apache.spark.hooks.spark_submit.os.getenv", return_value="/tmp/airflow_krb5_ccache" ) @@ -290,6 +289,7 @@ def test_build_track_driver_status_command(self): assert expected_spark_standalone_cluster == build_track_driver_status_spark_standalone_cluster assert expected_spark_yarn_cluster == build_track_driver_status_spark_yarn_cluster + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_submit.subprocess.Popen") def test_spark_process_runcmd(self, mock_popen): # Given @@ -310,6 +310,7 @@ def test_spark_process_runcmd(self, mock_popen): bufsize=-1, ) + @pytest.mark.db_test def test_resolve_should_track_driver_status(self): # Given hook_default = SparkSubmitHook(conn_id="") @@ -345,6 +346,7 @@ def test_resolve_should_track_driver_status(self): assert should_track_driver_status_spark_binary_set is False assert should_track_driver_status_spark_standalone_cluster is True + @pytest.mark.db_test def test_resolve_connection_yarn_default(self): # Given hook = SparkSubmitHook(conn_id="") @@ -367,6 +369,7 @@ def test_resolve_connection_yarn_default(self): assert connection == expected_spark_connection assert dict_cmd["--master"] == "yarn" + @pytest.mark.db_test def test_resolve_connection_yarn_default_connection(self): # Given hook = SparkSubmitHook(conn_id="spark_default") @@ -560,6 +563,7 @@ def test_resolve_connection_spark_binary_default_value_override(self): assert connection == expected_spark_connection assert cmd[0] == "spark3-submit" + @pytest.mark.db_test def test_resolve_connection_spark_binary_default_value(self): # Given hook = SparkSubmitHook(conn_id="spark_default") @@ -1044,6 +1048,7 @@ def test_k8s_process_on_kill(self, mock_popen, mock_client_method): ), ], ) + @pytest.mark.db_test def test_masks_passwords(self, command: str, expected: str) -> None: # Given hook = SparkSubmitHook() @@ -1054,6 +1059,7 @@ def test_masks_passwords(self, command: str, expected: str) -> None: # Then assert command_masked == expected + @pytest.mark.db_test def test_create_keytab_path_from_base64_keytab_with_decode_exception(self): hook = SparkSubmitHook() invalid_base64 = "invalid_base64" @@ -1061,6 +1067,7 @@ def test_create_keytab_path_from_base64_keytab_with_decode_exception(self): with pytest.raises(AirflowException, match="Failed to decode base64 keytab"): hook._create_keytab_path_from_base64_keytab(invalid_base64, None) + @pytest.mark.db_test @patch("pathlib.Path.exists") @patch("builtins.open", new_callable=mock_open) def test_create_keytab_path_from_base64_keytab_with_write_exception( @@ -1084,6 +1091,7 @@ def test_create_keytab_path_from_base64_keytab_with_write_exception( # Then assert mock_exists.call_count == 2 # called twice (before write, after write) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_submit.shutil.move") @patch("pathlib.Path.exists") @patch("builtins.open", new_callable=mock_open) @@ -1110,6 +1118,7 @@ def test_create_keytab_path_from_base64_keytab_with_move_exception( mock_move.assert_called_once() assert mock_exists.call_count == 2 # called twice (before write, after write) + @pytest.mark.db_test @patch("airflow.providers.apache.spark.hooks.spark_submit.uuid.uuid4") @patch("pathlib.Path.resolve") @patch("airflow.providers.apache.spark.hooks.spark_submit.shutil.move") @@ -1140,6 +1149,7 @@ def test_create_keytab_path_from_base64_keytab_with_new_keytab( mock_open().write.assert_called_once_with(keytab_value) mock_move.assert_called_once() + @pytest.mark.db_test @patch("pathlib.Path.resolve") @patch("airflow.providers.apache.spark.hooks.spark_submit.shutil.move") @patch("pathlib.Path.exists") @@ -1168,6 +1178,7 @@ def test_create_keytab_path_from_base64_keytab_with_new_keytab_with_principal( mock_open().write.assert_called_once_with(keytab_value) mock_move.assert_called_once() + @pytest.mark.db_test @patch("pathlib.Path.resolve") @patch("pathlib.Path.exists") @patch("builtins.open", new_callable=mock_open) From 6a731652cfcf2a0725257e3bbdaac61a4780dea3 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 16:49:43 +0530 Subject: [PATCH 092/381] Update numpy serializer for np 2 compat (remove np.float_ and np.complex_) (#52084) --- airflow-core/src/airflow/serialization/serializers/numpy.py | 6 ++---- .../unit/serialization/serializers/test_serializers.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/airflow-core/src/airflow/serialization/serializers/numpy.py b/airflow-core/src/airflow/serialization/serializers/numpy.py index 603f4df44a44c..c31244c587844 100644 --- a/airflow-core/src/airflow/serialization/serializers/numpy.py +++ b/airflow-core/src/airflow/serialization/serializers/numpy.py @@ -72,11 +72,9 @@ def serialize(o: object) -> tuple[U, str, int, bool]: return int(o), name, __version__, True if isinstance(o, np.bool_): - return bool(np), name, __version__, True + return bool(o), name, __version__, True - if isinstance( - o, (np.float_, np.float16, np.float32, np.float64, np.complex_, np.complex64, np.complex128) - ): + if isinstance(o, (np.float16, np.float32, np.float64, np.complex64, np.complex128)): return float(o), name, __version__, True return "", "", 0, False diff --git a/airflow-core/tests/unit/serialization/serializers/test_serializers.py b/airflow-core/tests/unit/serialization/serializers/test_serializers.py index 8aa6254816944..53eb160ec1aff 100644 --- a/airflow-core/tests/unit/serialization/serializers/test_serializers.py +++ b/airflow-core/tests/unit/serialization/serializers/test_serializers.py @@ -225,7 +225,7 @@ def test_numpy_serializers(self): numpy_version = metadata.version("numpy") is_numpy_2 = version.parse(numpy_version).major == 2 - assert serialize(np.bool_(False)) == (True, "numpy.bool" if is_numpy_2 else "numpy.bool_", 1, True) + assert serialize(np.bool_(False)) == (False, "numpy.bool" if is_numpy_2 else "numpy.bool_", 1, True) if is_numpy_2: assert serialize(np.float64(3.14)) == (float(np.float64(3.14)), "numpy.float64", 1, True) else: From bd1883dba81c91c63d7f10d15232b59e9c213c87 Mon Sep 17 00:00:00 2001 From: "Guan Ming(Wesley) Chiu" <105915352+guan404ming@users.noreply.github.com> Date: Mon, 23 Jun 2025 21:18:47 +0800 Subject: [PATCH 093/381] i18n: add jsoncRules to handle translation key sort (#51968) * Add jsoncRules to handle json key sort * Fix `ko` common key sort --- airflow-core/src/airflow/ui/eslint.config.js | 2 + airflow-core/src/airflow/ui/package.json | 1 + airflow-core/src/airflow/ui/pnpm-lock.yaml | 59 +++++++++++++++++++ .../ui/public/i18n/locales/ko/common.json | 12 ++-- airflow-core/src/airflow/ui/rules/i18n.js | 3 - airflow-core/src/airflow/ui/rules/jsonc.js | 45 ++++++++++++++ 6 files changed, 113 insertions(+), 9 deletions(-) create mode 100644 airflow-core/src/airflow/ui/rules/jsonc.js diff --git a/airflow-core/src/airflow/ui/eslint.config.js b/airflow-core/src/airflow/ui/eslint.config.js index e9edfa5ace783..ae71d9ac0b2df 100644 --- a/airflow-core/src/airflow/ui/eslint.config.js +++ b/airflow-core/src/airflow/ui/eslint.config.js @@ -23,6 +23,7 @@ import { coreRules } from "./rules/core.js"; import { i18nRules } from "./rules/i18n.js"; import { i18nextRules } from "./rules/i18next.js"; +import { jsoncRules } from "./rules/jsonc.js"; import { perfectionistRules } from "./rules/perfectionist.js"; import { prettierRules } from "./rules/prettier.js"; import { reactRules } from "./rules/react.js"; @@ -48,4 +49,5 @@ export default /** @type {const} @satisfies {ReadonlyArray} * unicornRules, i18nextRules, i18nRules, + jsoncRules, ]); diff --git a/airflow-core/src/airflow/ui/package.json b/airflow-core/src/airflow/ui/package.json index e8eab0f1fd7f2..6835f54581f1d 100644 --- a/airflow-core/src/airflow/ui/package.json +++ b/airflow-core/src/airflow/ui/package.json @@ -77,6 +77,7 @@ "eslint": "^9.25.1", "eslint-config-prettier": "^10.1.2", "eslint-plugin-i18next": "^6.1.1", + "eslint-plugin-jsonc": "^2.20.1", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^4.12.3", "eslint-plugin-prettier": "^5.2.6", diff --git a/airflow-core/src/airflow/ui/pnpm-lock.yaml b/airflow-core/src/airflow/ui/pnpm-lock.yaml index 04426f880c846..8e0903acea395 100644 --- a/airflow-core/src/airflow/ui/pnpm-lock.yaml +++ b/airflow-core/src/airflow/ui/pnpm-lock.yaml @@ -186,6 +186,9 @@ importers: eslint-plugin-i18next: specifier: ^6.1.1 version: 6.1.1 + eslint-plugin-jsonc: + specifier: ^2.20.1 + version: 2.20.1(eslint@9.26.0(jiti@1.21.7)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.26.0(jiti@1.21.7)) @@ -2343,16 +2346,39 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + eslint-compat-utils@0.6.5: + resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + eslint-config-prettier@10.1.2: resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==} hasBin: true peerDependencies: eslint: '>=7.0.0' + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true + eslint-plugin-i18next@6.1.1: resolution: {integrity: sha512-/Vy6BfX44njxpRnbJm7bbph0KaNJF2eillqN5W+u03hHuxmh9BjtjdPSrI9HPtyoEbG4j5nBn9gXm/dg99mz3Q==} engines: {node: '>=0.10.0'} + eslint-plugin-jsonc@2.20.1: + resolution: {integrity: sha512-gUzIwQHXx7ZPypUoadcyRi4WbHW2TPixDr0kqQ4miuJBU0emJmyGTlnaT3Og9X2a8R1CDayN9BFSq5weGWbTng==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + eslint-plugin-jsx-a11y@6.10.2: resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} @@ -4083,6 +4109,10 @@ packages: resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==} engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + engines: {node: ^14.18.0 || >=16.0.0} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -7402,15 +7432,40 @@ snapshots: escape-string-regexp@5.0.0: {} + eslint-compat-utils@0.6.5(eslint@9.26.0(jiti@1.21.7)): + dependencies: + eslint: 9.26.0(jiti@1.21.7) + semver: 7.7.1 + eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@1.21.7)): dependencies: eslint: 9.26.0(jiti@1.21.7) + eslint-json-compat-utils@0.2.1(eslint@9.26.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.0): + dependencies: + eslint: 9.26.0(jiti@1.21.7) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 + eslint-plugin-i18next@6.1.1: dependencies: lodash: 4.17.21 requireindex: 1.1.0 + eslint-plugin-jsonc@2.20.1(eslint@9.26.0(jiti@1.21.7)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@1.21.7)) + eslint: 9.26.0(jiti@1.21.7) + eslint-compat-utils: 0.6.5(eslint@9.26.0(jiti@1.21.7)) + eslint-json-compat-utils: 0.2.1(eslint@9.26.0(jiti@1.21.7))(jsonc-eslint-parser@2.4.0) + espree: 10.3.0 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.11.8 + transitivePeerDependencies: + - '@eslint/json' + eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0(jiti@1.21.7)): dependencies: aria-query: 5.3.2 @@ -9613,6 +9668,10 @@ snapshots: '@pkgr/core': 0.2.4 tslib: 2.8.1 + synckit@0.11.8: + dependencies: + '@pkgr/core': 0.2.4 + tar@6.2.1: dependencies: chownr: 2.0.0 diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json index b8b120f578dfa..9fabd0e1e4911 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/ko/common.json @@ -7,10 +7,10 @@ "Providers": "제공자들", "Variables": "변수들" }, - "assetEvent_one": "에셋 이벤트", - "assetEvent_other": "에셋 이벤트들", "asset_one": "에셋", "asset_other": "에셋들", + "assetEvent_one": "에셋 이벤트", + "assetEvent_other": "에셋 이벤트들", "backfill_one": "백필", "backfill_other": "백필들", "browse": { @@ -19,6 +19,8 @@ }, "createdAssetEvent_one": "생성된 에셋 이벤트", "createdAssetEvent_other": "생성된 에셋 이벤트들", + "dag_one": "Dag", + "dag_other": "Dags", "dagDetails": { "catchup": "캐치업", "concurrency": "동시 샐행 수", @@ -57,8 +59,6 @@ "dagRun_one": "Dag 실행", "dagRun_other": "Dag 실행들", "dagWarnings": "Dag 경고/오류", - "dag_one": "Dag", - "dag_other": "Dags", "defaultToGraphView": "그래프 뷰 기본 보기", "defaultToGridView": "그리드 뷰 기본 보기", "direction": "방향", @@ -182,6 +182,8 @@ "operator": "연산자", "triggerRule": "트리거 규칙" }, + "task_one": "작업", + "task_other": "작업들", "taskId": "작업 ID", "taskInstance": { "dagVersion": "Dag 버전", @@ -208,8 +210,6 @@ }, "taskInstance_one": "작업 인스턴스", "taskInstance_other": "작업 인스턴스들", - "task_one": "작업", - "task_other": "작업들", "timeRange": { "last12Hours": "지난 12 시간", "last24Hours": "지난 24 시간", diff --git a/airflow-core/src/airflow/ui/rules/i18n.js b/airflow-core/src/airflow/ui/rules/i18n.js index be2fbac79e7de..309e7e65eaada 100644 --- a/airflow-core/src/airflow/ui/rules/i18n.js +++ b/airflow-core/src/airflow/ui/rules/i18n.js @@ -26,7 +26,6 @@ import path from "node:path"; import { fileURLToPath } from "node:url"; export const i18nNamespace = "i18n"; - /** * Extract all nested keys from translation object * @param {Record} obj @@ -167,8 +166,6 @@ export const i18nRules = { [i18nNamespace]: i18nPlugin, }, rules: { - "@typescript-eslint/no-unused-expressions": "off", [`${i18nNamespace}/check-translation-completeness`]: "warn", - "no-unused-expressions": "off", }, }; diff --git a/airflow-core/src/airflow/ui/rules/jsonc.js b/airflow-core/src/airflow/ui/rules/jsonc.js new file mode 100644 index 0000000000000..a39418eb31ce6 --- /dev/null +++ b/airflow-core/src/airflow/ui/rules/jsonc.js @@ -0,0 +1,45 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import jsonc from "eslint-plugin-jsonc"; + +import { ERROR } from "./levels.js"; + +export const jsoncNamespace = "jsonc"; + +/** @type {import("@typescript-eslint/utils/ts-eslint").FlatConfig.Config} */ +export const jsoncRules = { + files: ["public/i18n/locales/**/*.json"], + plugins: { + [jsoncNamespace]: jsonc, + }, + rules: { + /** + * Enforce sorted keys. + * + * @see [jsonc/sort-keys](https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html) + */ + [`${jsoncNamespace}/sort-keys`]: [ + ERROR, + "asc", + { + natural: true, + }, + ], + }, +}; From 40437f1408cb28ed8983eec04a7b3648223f4786 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 18:55:38 +0530 Subject: [PATCH 094/381] Updating AWS systest to do connection setup using ENV (#52073) --- .../amazon/aws/example_hive_to_dynamodb.py | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/providers/amazon/tests/system/amazon/aws/example_hive_to_dynamodb.py b/providers/amazon/tests/system/amazon/aws/example_hive_to_dynamodb.py index 0d49404f5609c..56b4fee8dedcb 100644 --- a/providers/amazon/tests/system/amazon/aws/example_hive_to_dynamodb.py +++ b/providers/amazon/tests/system/amazon/aws/example_hive_to_dynamodb.py @@ -22,6 +22,7 @@ from __future__ import annotations +import os from datetime import datetime from airflow.decorators import task @@ -30,7 +31,6 @@ from airflow.models.dag import DAG from airflow.providers.amazon.aws.hooks.dynamodb import DynamoDBHook from airflow.providers.amazon.aws.transfers.hive_to_dynamodb import HiveToDynamoDBOperator -from airflow.utils import db from airflow.utils.trigger_rule import TriggerRule from system.amazon.aws.utils import SystemTestContextBuilder @@ -102,16 +102,21 @@ def delete_dynamodb_table(table_name): # is hosted on EMR. You must set the host name of the connection # to match your EMR cluster's hostname. @task -def configure_hive_connection(connection_id, hostname): - db.merge_conn( - Connection( - conn_id=connection_id, - conn_type="hiveserver2", - host=hostname, - port=10000, - ) +def configure_hive_connection(connection_id: str, hostname: str): + """ + Setup Hive connection using environment variables instead of database operations. + This approach is cleaner and compatible with Airflow 3. + """ + c = Connection( + conn_id=connection_id, + conn_type="hiveserver2", + host=hostname, + port=10000, ) + envvar = f"AIRFLOW_CONN_{c.conn_id.upper()}" + os.environ[envvar] = c.get_uri() + with DAG( dag_id=DAG_ID, From 4877df7b4fdb165a1c4a8fa3dd9835035728de92 Mon Sep 17 00:00:00 2001 From: GPK Date: Mon, 23 Jun 2025 14:36:20 +0100 Subject: [PATCH 095/381] Remove pytest db marker from Telegram (#52028) * Remove pytest db marker from Telegram * fix tests --- .../tests/unit/telegram/hooks/test_telegram.py | 14 ++++++-------- .../tests/unit/telegram/operators/test_telegram.py | 2 -- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/providers/telegram/tests/unit/telegram/hooks/test_telegram.py b/providers/telegram/tests/unit/telegram/hooks/test_telegram.py index c2e16d4bd8665..a4e231df5e5b9 100644 --- a/providers/telegram/tests/unit/telegram/hooks/test_telegram.py +++ b/providers/telegram/tests/unit/telegram/hooks/test_telegram.py @@ -26,10 +26,6 @@ import airflow from airflow.models import Connection from airflow.providers.telegram.hooks.telegram import TelegramHook -from airflow.utils import db - -pytestmark = pytest.mark.db_test - TELEGRAM_TOKEN = "dummy token" @@ -44,21 +40,22 @@ def telegram_error_side_effect(*args, **kwargs): class TestTelegramHook: - def setup_method(self): - db.merge_conn( + @pytest.fixture(autouse=True) + def setup_connections(self, create_connection_without_db): + create_connection_without_db( Connection( conn_id="telegram-webhook-without-token", conn_type="http", ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="telegram_default", conn_type="http", password=TELEGRAM_TOKEN, ) ) - db.merge_conn( + create_connection_without_db( Connection( conn_id="telegram-webhook-with-chat_id", conn_type="http", @@ -73,6 +70,7 @@ def test_should_use_default_connection(self): assert hook.token == TELEGRAM_TOKEN assert not hook.chat_id + @pytest.mark.db_test def test_should_raise_exception_if_conn_id_doesnt_exist(self): with pytest.raises(airflow.exceptions.AirflowNotFoundException) as ctx: TelegramHook(telegram_conn_id="telegram-webhook-non-existent") diff --git a/providers/telegram/tests/unit/telegram/operators/test_telegram.py b/providers/telegram/tests/unit/telegram/operators/test_telegram.py index 6e7732e998c39..d5c41bca997cc 100644 --- a/providers/telegram/tests/unit/telegram/operators/test_telegram.py +++ b/providers/telegram/tests/unit/telegram/operators/test_telegram.py @@ -26,8 +26,6 @@ from airflow.models import Connection from airflow.providers.telegram.operators.telegram import TelegramOperator -pytestmark = pytest.mark.db_test - TELEGRAM_TOKEN = "xxx:xxx" From 93a6dbf85ca455224535e365dfd97d4b87717b26 Mon Sep 17 00:00:00 2001 From: Pratiksha <128999446+Prab-27@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:25:50 +0530 Subject: [PATCH 096/381] Add Pre-Commit Hook To Prevent Usage of session.query (#52083) * add pre-commit hook to prevent usage of session.query * Add proper name in pre-commit hook id and name * rename pre-commit-python file * chnage file name from pre-commit hook --- .pre-commit-config.yaml | 10 ++ contributing-docs/08_static_code_checks.rst | 2 + .../doc/images/output_static-checks.svg | 92 ++++++++++--------- .../doc/images/output_static-checks.txt | 2 +- .../src/airflow_breeze/pre_commit_ids.py | 1 + .../prevent_deprecated_sqlalchemy_usage.py | 56 +++++++++++ 6 files changed, 118 insertions(+), 45 deletions(-) create mode 100755 scripts/ci/pre_commit/prevent_deprecated_sqlalchemy_usage.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 89592929a2afb..19d84650118e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -537,6 +537,16 @@ repos: pass_filenames: false require_serial: true additional_dependencies: ['rich>=12.4.4'] + - id: prevent-deprecated-sqlalchemy-usage + name: Prevent deprecated sqlalchemy usage + entry: ./scripts/ci/pre_commit/prevent_deprecated_sqlalchemy_usage.py + language: python + additional_dependencies: ['rich>=12.4.4'] + files: > + (?x) + ^airflow-ctl.*\.py$| + ^task_sdk.*\.py$ + pass_filenames: true - id: update-supported-versions name: Updates supported versions in documentation entry: ./scripts/ci/pre_commit/supported_versions.py diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index 494fe6a08aa82..86c64c6781ed1 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -354,6 +354,8 @@ require Breeze Docker image to be built locally. +-----------------------------------------------------------+--------------------------------------------------------+---------+ | pretty-format-json | Format JSON files | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ +| prevent-deprecated-sqlalchemy-usage | Prevent deprecated sqlalchemy usage | | ++-----------------------------------------------------------+--------------------------------------------------------+---------+ | pylint | pylint | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ | python-no-log-warn | Check if there are no deprecate log warn | | diff --git a/dev/breeze/doc/images/output_static-checks.svg b/dev/breeze/doc/images/output_static-checks.svg index cf51d1ab8d4d8..d7ef8a1294667 100644 --- a/dev/breeze/doc/images/output_static-checks.svg +++ b/dev/breeze/doc/images/output_static-checks.svg @@ -1,4 +1,4 @@ - + insert-license | kubeconform | lint-chart-schema | lint-dockerfile |              lint-helm-chart | lint-json-schema | lint-markdown | mixed-line-ending |          mypy-airflow-core | mypy-airflow-ctl | mypy-dev | mypy-devel-common |             -mypy-providers | mypy-task-sdk | pretty-format-json | pylint | python-no-log-warn -| replace-bad-characters | rst-backticks | ruff | ruff-format | shellcheck |      -trailing-whitespace | ts-compile-lint-simple-auth-manager-ui | ts-compile-lint-ui -| update-black-version | update-breeze-cmd-output |                               -update-breeze-readme-config-hash | update-chart-dependencies | update-er-diagram  -| update-in-the-wild-to-be-sorted | update-inlined-dockerfile-scripts |           -update-installed-providers-to-be-sorted | update-installers-and-pre-commit |      -update-local-yml-file | update-migration-references |                             -update-providers-build-files | update-providers-dependencies |                    -update-pyproject-toml | update-reproducible-source-date-epoch |                   -update-spelling-wordlist-to-be-sorted | update-supported-versions |               -update-vendored-in-k8s-json-schema | update-version | validate-operators-init |   -yamllint | zizmor)                                                                ---show-diff-on-failure-sShow diff for files modified by the checks. ---initialize-environmentInitialize environment before running checks. ---max-initialization-attemptsMaximum number of attempts to initialize environment before giving up. -(INTEGER RANGE)                                                        -[default: 3; 1<=x<=10]                                                 -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Selecting files to run the checks on ───────────────────────────────────────────────────────────────────────────────╮ ---file-fList of files to run the checks on.(PATH) ---all-files-aRun checks on all files. ---commit-ref-rRun checks for this commit reference only (can be any git commit-ish reference). Mutually     -exclusive with --last-commit.                                                                 -(TEXT)                                                                                        ---last-commit-cRun checks for all files in last commit. Mutually exclusive with --commit-ref. ---only-my-changes-mRun checks for commits belonging to my PR only: for all commits between merge base to `main`  -branch and HEAD of your branch.                                                               -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Building image before running checks ───────────────────────────────────────────────────────────────────────────────╮ ---skip-image-upgrade-checkSkip checking if the CI image is up to date. ---force-buildForce image build no matter if it is determined as needed. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] ---builderBuildx builder used to perform `docker buildx build` commands.(TEXT) -[default: autodetect]                                          -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---verbose-vPrint verbose information about performed steps. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +mypy-providers | mypy-task-sdk | pretty-format-json |                             +prevent-deprecated-sqlalchemy-usage | pylint | python-no-log-warn |               +replace-bad-characters | rst-backticks | ruff | ruff-format | shellcheck |        +trailing-whitespace | ts-compile-lint-simple-auth-manager-ui | ts-compile-lint-ui +| update-black-version | update-breeze-cmd-output |                               +update-breeze-readme-config-hash | update-chart-dependencies | update-er-diagram  +| update-in-the-wild-to-be-sorted | update-inlined-dockerfile-scripts |           +update-installed-providers-to-be-sorted | update-installers-and-pre-commit |      +update-local-yml-file | update-migration-references |                             +update-providers-build-files | update-providers-dependencies |                    +update-pyproject-toml | update-reproducible-source-date-epoch |                   +update-spelling-wordlist-to-be-sorted | update-supported-versions |               +update-vendored-in-k8s-json-schema | update-version | validate-operators-init |   +yamllint | zizmor)                                                                +--show-diff-on-failure-sShow diff for files modified by the checks. +--initialize-environmentInitialize environment before running checks. +--max-initialization-attemptsMaximum number of attempts to initialize environment before giving up. +(INTEGER RANGE)                                                        +[default: 3; 1<=x<=10]                                                 +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Selecting files to run the checks on ───────────────────────────────────────────────────────────────────────────────╮ +--file-fList of files to run the checks on.(PATH) +--all-files-aRun checks on all files. +--commit-ref-rRun checks for this commit reference only (can be any git commit-ish reference). Mutually     +exclusive with --last-commit.                                                                 +(TEXT)                                                                                        +--last-commit-cRun checks for all files in last commit. Mutually exclusive with --commit-ref. +--only-my-changes-mRun checks for commits belonging to my PR only: for all commits between merge base to `main`  +branch and HEAD of your branch.                                                               +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Building image before running checks ───────────────────────────────────────────────────────────────────────────────╮ +--skip-image-upgrade-checkSkip checking if the CI image is up to date. +--force-buildForce image build no matter if it is determined as needed. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +--builderBuildx builder used to perform `docker buildx build` commands.(TEXT) +[default: autodetect]                                          +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--verbose-vPrint verbose information about performed steps. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/dev/breeze/doc/images/output_static-checks.txt b/dev/breeze/doc/images/output_static-checks.txt index 0282b0f74e16f..cf3bedd858f59 100644 --- a/dev/breeze/doc/images/output_static-checks.txt +++ b/dev/breeze/doc/images/output_static-checks.txt @@ -1 +1 @@ -bb6a22bca8cde603acddfad0f073b3c0 +95021976bf6a2815709538bf791ccdc8 diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py b/dev/breeze/src/airflow_breeze/pre_commit_ids.py index ce4f0ec27fe57..f2ce310cc5046 100644 --- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py +++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py @@ -129,6 +129,7 @@ "mypy-providers", "mypy-task-sdk", "pretty-format-json", + "prevent-deprecated-sqlalchemy-usage", "pylint", "python-no-log-warn", "replace-bad-characters", diff --git a/scripts/ci/pre_commit/prevent_deprecated_sqlalchemy_usage.py b/scripts/ci/pre_commit/prevent_deprecated_sqlalchemy_usage.py new file mode 100755 index 0000000000000..a6357978426e0 --- /dev/null +++ b/scripts/ci/pre_commit/prevent_deprecated_sqlalchemy_usage.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +from __future__ import annotations + +import ast +import sys +from pathlib import Path + +from rich.console import Console + +console = Console(color_system="standard", width=200) + + +def check_session_query(mod: ast.Module) -> int: + errors = False + for node in ast.walk(mod): + if isinstance(node, ast.Call) and isinstance(node.func, ast.Attribute): + if ( + node.func.attr == "query" + and isinstance(node.func.value, ast.Name) + and node.func.value.id == "session" + ): + console.print( + f"\nUse of legacy `session.query` detected on line {node.lineno}. " + f"\nSQLAlchemy 2.0 deprecates the `Query` object" + f"use the `select()` construct instead." + ) + errors = True + return errors + + +def main(): + for file in sys.argv[1:]: + file_path = Path(file) + ast_module = ast.parse(file_path.read_text(encoding="utf-8"), file) + errors = check_session_query(ast_module) + return 1 if errors else 0 + + +if __name__ == "__main__": + sys.exit(main()) From 6b547f9b611c65e98b301125cc5227c1bdd02d00 Mon Sep 17 00:00:00 2001 From: Pierre Jeambrun Date: Mon, 23 Jun 2025 15:57:46 +0200 Subject: [PATCH 097/381] Fix yarn lint command (#52090) --- airflow-core/src/airflow/ui/eslint.config.js | 2 +- scripts/ci/pre_commit/ts_compile_lint_ui.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow-core/src/airflow/ui/eslint.config.js b/airflow-core/src/airflow/ui/eslint.config.js index ae71d9ac0b2df..c7d2363724a95 100644 --- a/airflow-core/src/airflow/ui/eslint.config.js +++ b/airflow-core/src/airflow/ui/eslint.config.js @@ -37,7 +37,7 @@ import { unicornRules } from "./rules/unicorn.js"; */ export default /** @type {const} @satisfies {ReadonlyArray} */ ([ // Global ignore of dist directory - { ignores: ["**/dist/", "**coverage/"] }, + { ignores: ["**/dist/", "**coverage/", "**/openapi-gen/"] }, // Base rules coreRules, typescriptRules, diff --git a/scripts/ci/pre_commit/ts_compile_lint_ui.py b/scripts/ci/pre_commit/ts_compile_lint_ui.py index 57791df7dc076..3e817285e2230 100755 --- a/scripts/ci/pre_commit/ts_compile_lint_ui.py +++ b/scripts/ci/pre_commit/ts_compile_lint_ui.py @@ -42,7 +42,7 @@ files = [ file[len(relative_dir.as_posix()) + 1 :] for file in original_files - if Path(file).is_relative_to(relative_dir) and "openapi-gen/" not in file + if Path(file).is_relative_to(relative_dir) ] all_non_yaml_files = [file for file in files if not file.endswith(".yaml")] print("All non-YAML files:", all_non_yaml_files) From e30936634a4008e88a6c2f1fa9b29d355f560f1d Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 16:07:48 +0200 Subject: [PATCH 098/381] Automatically add `fab` extra for --use-airflow and FABAuthManager (#52092) Similarly to CeleryExecutor, when --use-airflow is set we should add `fab` as extra when FABAuthManager is specified. By default, when `--use-airflow-version` is used, no extras are used - in order to install airflow "quickly" - you can specify them as `--airflow-extras`, but in case you want to use FABAuthManager and installl (for example) Airflow 3.0.2, you **know** you need fab extra to use the manager, so we should add it automatically, otherwise user sees errors about FABAuthManager missing. --- dev/breeze/src/airflow_breeze/params/shell_params.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py b/dev/breeze/src/airflow_breeze/params/shell_params.py index bee407009c902..8abb7181560a7 100644 --- a/dev/breeze/src/airflow_breeze/params/shell_params.py +++ b/dev/breeze/src/airflow_breeze/params/shell_params.py @@ -347,6 +347,16 @@ def compose_file(self) -> str: self.airflow_extras = ( ",".join(current_extras.split(",") + ["celery"]) if current_extras else "celery" ) + if self.auth_manager == FAB_AUTH_MANAGER: + if self.use_airflow_version: + current_extras = self.airflow_extras + if "fab" not in current_extras.split(","): + get_console().print( + "[warning]Adding `fab` extras as it is implicitly needed by FAB auth manager" + ) + self.airflow_extras = ( + ",".join(current_extras.split(",") + ["fab"]) if current_extras else "fab" + ) compose_file_list.append(DOCKER_COMPOSE_DIR / "base.yml") self.add_docker_in_docker(compose_file_list) From 4f50f38d836d70b7ef84569ba58411a8a8227631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kanto=28=EC=B9=B8=ED=86=A0=29?= Date: Mon, 23 Jun 2025 23:57:43 +0900 Subject: [PATCH 099/381] Remove pytest.mark.db_test where possible from asana provider (#52093) * Remove pytest.mark.db_test where possible from asana provider * Update .pre-commit-config.yaml --------- Co-authored-by: Jarek Potiuk --- .../asana/tests/unit/asana/operators/test_asana_tasks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/providers/asana/tests/unit/asana/operators/test_asana_tasks.py b/providers/asana/tests/unit/asana/operators/test_asana_tasks.py index 0e4d02f5ff1b6..7549405781b52 100644 --- a/providers/asana/tests/unit/asana/operators/test_asana_tasks.py +++ b/providers/asana/tests/unit/asana/operators/test_asana_tasks.py @@ -32,8 +32,6 @@ from airflow.utils import timezone # The tests do not create dag runs, so db isolation tests are skipped -pytestmark = pytest.mark.db_test - DEFAULT_DATE = timezone.datetime(2015, 1, 1) TEST_DAG_ID = "unit_test_dag" @@ -52,6 +50,7 @@ def setup_connections(self, create_connection_without_db): self.dag = dag create_connection_without_db(Connection(conn_id="asana_test", conn_type="asana", password="test")) + @pytest.mark.db_test @patch("airflow.providers.asana.hooks.asana.TasksApi", autospec=True, return_value=asana_tasks_api_mock) def test_asana_create_task_operator(self, mock_tasks_api): """ @@ -69,6 +68,7 @@ def test_asana_create_task_operator(self, mock_tasks_api): create_task.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True) assert mock_tasks_api.return_value.create_task.called + @pytest.mark.db_test @patch("airflow.providers.asana.hooks.asana.TasksApi", autospec=True, return_value=asana_tasks_api_mock) def test_asana_find_task_operator(self, mock_tasks_api): """ @@ -84,6 +84,7 @@ def test_asana_find_task_operator(self, mock_tasks_api): find_task.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True) assert mock_tasks_api.return_value.get_tasks.called + @pytest.mark.db_test @patch("airflow.providers.asana.hooks.asana.TasksApi", autospec=True, return_value=asana_tasks_api_mock) def test_asana_update_task_operator(self, mock_tasks_api): """ @@ -99,6 +100,7 @@ def test_asana_update_task_operator(self, mock_tasks_api): update_task.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True) assert mock_tasks_api.return_value.update_task.called + @pytest.mark.db_test @patch("airflow.providers.asana.hooks.asana.TasksApi", autospec=True, return_value=asana_tasks_api_mock) def test_asana_delete_task_operator(self, mock_tasks_api): """ From 8d10db96d34e44fc379c2f37ad6d427667aee6ec Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 17:18:38 +0200 Subject: [PATCH 100/381] Fix sorting in admin.json (#52101) --- airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json index 8dfc0ec64c635..5012117276db9 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/en/admin.json @@ -40,10 +40,10 @@ "standardFields": "Standard Fields" }, "nothingFound": { - "title": "No connection found!", "description": "Connections defined via environment variables or secrets managers are not listed here.", + "documentationLink": "Learn more in the Airflow documentation.", "learnMore": "These are resolved at runtime and are not visible in the UI.", - "documentationLink": "Learn more in the Airflow documentation." + "title": "No connection found!" }, "searchPlaceholder": "Search Connections", "test": "Test Connection", From 86ee9cabb202798b6a5d3be48d2197a6e82fb1d8 Mon Sep 17 00:00:00 2001 From: Amogh Desai Date: Mon, 23 Jun 2025 20:48:50 +0530 Subject: [PATCH 101/381] Replacing older `np.NaN` with `np.nan` (#52100) * Handling np.nan for salesforce provider * other occurecnes --- providers/oracle/tests/unit/oracle/hooks/test_oracle.py | 4 ++-- .../src/airflow/providers/salesforce/hooks/salesforce.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/providers/oracle/tests/unit/oracle/hooks/test_oracle.py b/providers/oracle/tests/unit/oracle/hooks/test_oracle.py index 94d9364253aab..8608b5ebc18e1 100644 --- a/providers/oracle/tests/unit/oracle/hooks/test_oracle.py +++ b/providers/oracle/tests/unit/oracle/hooks/test_oracle.py @@ -343,7 +343,7 @@ def test_insert_rows_with_fields(self): ( "'basestr_with_quote", None, - np.NAN, + np.nan, np.datetime64("2019-01-24T01:02:03"), datetime(2019, 1, 24), 1, @@ -374,7 +374,7 @@ def test_insert_rows_without_fields(self): ( "'basestr_with_quote", None, - np.NAN, + np.nan, np.datetime64("2019-01-24T01:02:03"), datetime(2019, 1, 24), 1, diff --git a/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py index d7105acdf41f4..4eb2822945bc5 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py +++ b/providers/salesforce/src/airflow/providers/salesforce/hooks/salesforce.py @@ -268,7 +268,7 @@ def _to_timestamp(cls, column: pd.Series) -> pd.Series: try: converted.append(value.timestamp()) except (ValueError, AttributeError): - converted.append(np.NaN) + converted.append(np.nan) return pd.Series(converted, index=column.index) From 2579bbf0c1bd93c2c700a40331659dcdec485222 Mon Sep 17 00:00:00 2001 From: "Guan Ming(Wesley) Chiu" <105915352+guan404ming@users.noreply.github.com> Date: Mon, 23 Jun 2025 23:56:50 +0800 Subject: [PATCH 102/381] Add scrollTo buttons in TaskLogContent (#51943) * Add scrollTo buttons in TaskLogContent * Update visibility logic, keyboard shortcuts and position issues * Add parsedLogs in useMemo dep list * Update hotkey display with meta key --- .../ui/public/i18n/locales/en/common.json | 7 ++ .../ui/public/i18n/locales/zh-TW/common.json | 9 +- .../TaskInstance/Logs/TaskLogContent.tsx | 96 +++++++++++++++---- 3 files changed, 92 insertions(+), 20 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/en/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/en/common.json index 6cebff264bdd7..cb83efcedb9d1 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/en/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/en/common.json @@ -128,6 +128,13 @@ "manual": "Manual", "scheduled": "Scheduled" }, + "scroll": { + "direction": { + "bottom": "bottom", + "top": "top" + }, + "tooltip": "Press {{hotkey}} to scroll to {{direction}}" + }, "seconds": "{{count}}s", "security": { "actions": "Actions", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json index 1b94813361e1a..7df78a954dd47 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/common.json @@ -128,6 +128,13 @@ "manual": "手動觸發", "scheduled": "已排程" }, + "scroll": { + "direction": { + "bottom": "最下方", + "top": "最上方" + }, + "tooltip": "按 {{hotkey}} 捲動到{{direction}}" + }, "seconds": "{{count}} 秒", "security": { "actions": "操作", @@ -223,7 +230,7 @@ "title": "選擇時區", "utc": "UTC" }, - "toaster": { + "toaster": { "bulkDelete": { "error": "批次刪除 {{resourceName}} 請求失敗", "success": { diff --git a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/TaskLogContent.tsx b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/TaskLogContent.tsx index c6a1e5a793213..c70ed7bc7c7ec 100644 --- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/TaskLogContent.tsx +++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/TaskLogContent.tsx @@ -16,12 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -import { Box, Code, VStack, useToken } from "@chakra-ui/react"; +import { Box, Code, VStack, IconButton } from "@chakra-ui/react"; import { useVirtualizer } from "@tanstack/react-virtual"; -import { useLayoutEffect, useRef } from "react"; +import { useLayoutEffect, useMemo, useRef } from "react"; +import { useHotkeys } from "react-hotkeys-hook"; +import { useTranslation } from "react-i18next"; +import { FiChevronDown, FiChevronUp } from "react-icons/fi"; import { ErrorAlert } from "src/components/ErrorAlert"; -import { ProgressBar } from "src/components/ui"; +import { ProgressBar, Tooltip } from "src/components/ui"; +import { getMetaKey } from "src/utils"; type Props = { readonly error: unknown; @@ -31,8 +35,50 @@ type Props = { readonly wrap: boolean; }; +const ScrollToButton = ({ + direction, + onClick, +}: { + readonly direction: "bottom" | "top"; + readonly onClick: () => void; +}) => { + const { t: translate } = useTranslation("common"); + + return ( + + + {direction === "bottom" ? : } + + + ); +}; + export const TaskLogContent = ({ error, isLoading, logError, parsedLogs, wrap }: Props) => { - const [bgLine] = useToken("colors", ["blue.emphasized"]); + const hash = location.hash.replace("#", ""); const parentRef = useRef(null); const rowVirtualizer = useVirtualizer({ count: parsedLogs.length, @@ -41,26 +87,30 @@ export const TaskLogContent = ({ error, isLoading, logError, parsedLogs, wrap }: overscan: 10, }); - useLayoutEffect(() => { - if (location.hash) { - const hash = location.hash.replace("#", ""); + const showScrollButtons = useMemo(() => { + const contentHeight = rowVirtualizer.getTotalSize(); + const containerHeight = rowVirtualizer.scrollElement?.clientHeight ?? 0; - setTimeout(() => { - const element = document.querySelector(`[id='${hash}']`); + return parsedLogs.length > 0 && contentHeight > containerHeight; + }, [rowVirtualizer, parsedLogs]); - if (element !== null) { - element.style.background = bgLine as string; - } - element?.scrollIntoView({ - behavior: "smooth", - block: "center", - }); - }, 100); + useLayoutEffect(() => { + if (location.hash && !isLoading) { + rowVirtualizer.scrollToIndex(Math.min(Number(hash) + 5, parsedLogs.length - 1)); } - }, [isLoading, bgLine]); + }, [isLoading, rowVirtualizer, hash, parsedLogs]); + + const handleScrollTo = (to: "bottom" | "top") => { + if (parsedLogs.length > 0) { + rowVirtualizer.scrollToIndex(to === "bottom" ? parsedLogs.length - 1 : 0); + } + }; + + useHotkeys("mod+ArrowDown", () => handleScrollTo("bottom"), { enabled: !isLoading }); + useHotkeys("mod+ArrowUp", () => handleScrollTo("top"), { enabled: !isLoading }); return ( - + + + {showScrollButtons ? ( + <> + handleScrollTo("top")} /> + handleScrollTo("bottom")} /> + + ) : undefined} ); }; From 61ae6603f5d6b8a6787bb061cecbfef101fbfe94 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 23:57:14 +0800 Subject: [PATCH 103/381] Remove pytest db markers from apache hive provider (#52097) --- .../unit/apache/hive/sensors/test_named_hive_partition.py | 3 +-- .../hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py | 3 ++- .../tests/unit/apache/hive/transfers/test_vertica_to_hive.py | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/providers/apache/hive/tests/unit/apache/hive/sensors/test_named_hive_partition.py b/providers/apache/hive/tests/unit/apache/hive/sensors/test_named_hive_partition.py index a67013fa10edb..2a1a66df04cec 100644 --- a/providers/apache/hive/tests/unit/apache/hive/sensors/test_named_hive_partition.py +++ b/providers/apache/hive/tests/unit/apache/hive/sensors/test_named_hive_partition.py @@ -34,9 +34,8 @@ DEFAULT_DATE_ISO = DEFAULT_DATE.isoformat() DEFAULT_DATE_DS = DEFAULT_DATE_ISO[:10] -pytestmark = pytest.mark.db_test - +@pytest.mark.db_test class TestNamedHivePartitionSensor: def setup_method(self): args = {"owner": "airflow", "start_date": DEFAULT_DATE} diff --git a/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py b/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py index 5ec2f02fca411..174b5096ac66d 100644 --- a/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py +++ b/providers/apache/hive/tests/unit/apache/hive/transfers/test_s3_to_hive.py @@ -39,7 +39,6 @@ logger = logging.getLogger(__name__) -@pytest.mark.db_test class TestS3ToHiveTransfer: @pytest.fixture(autouse=True) def setup_attrs(self): @@ -196,6 +195,7 @@ def test__delete_top_row_and_compress(self): fn_bz2 = self._get_fn(".bz2", False) assert self._check_file_equality(bz2_txt_nh, fn_bz2, ".bz2"), "bz2 Compressed file not as expected" + @pytest.mark.db_test @mock.patch("airflow.providers.apache.hive.transfers.s3_to_hive.HiveCliHook") @moto.mock_aws def test_execute(self, mock_hiveclihook): @@ -229,6 +229,7 @@ def test_execute(self, mock_hiveclihook): s32hive = S3ToHiveOperator(**self.kwargs) s32hive.execute(None) + @pytest.mark.db_test @mock.patch("airflow.providers.apache.hive.transfers.s3_to_hive.HiveCliHook") @moto.mock_aws def test_execute_with_select_expression(self, mock_hiveclihook): diff --git a/providers/apache/hive/tests/unit/apache/hive/transfers/test_vertica_to_hive.py b/providers/apache/hive/tests/unit/apache/hive/transfers/test_vertica_to_hive.py index 9a368db2f7a56..9af3a9a87590e 100644 --- a/providers/apache/hive/tests/unit/apache/hive/transfers/test_vertica_to_hive.py +++ b/providers/apache/hive/tests/unit/apache/hive/transfers/test_vertica_to_hive.py @@ -25,8 +25,6 @@ from airflow.models.dag import DAG from airflow.providers.apache.hive.transfers.vertica_to_hive import VerticaToHiveOperator -pytestmark = pytest.mark.db_test - def mock_get_conn(): commit_mock = mock.MagicMock() @@ -48,6 +46,7 @@ def setup_method(self): args = {"owner": "airflow", "start_date": datetime.datetime(2017, 1, 1)} self.dag = DAG("test_dag_id", schedule=None, default_args=args) + @pytest.mark.db_test @mock.patch( "airflow.providers.apache.hive.transfers.vertica_to_hive.VerticaHook.get_conn", side_effect=mock_get_conn, From 2e909262193fe069a348644e8a623f3eb8cdf758 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 23:58:50 +0800 Subject: [PATCH 104/381] Remove pytest db marker apache kafka (#52098) * Remove pytest db markers from apache kafka provider * Update pre-commit --- .pre-commit-config.yaml | 1 + .../apache/kafka/tests/unit/apache/kafka/hooks/test_client.py | 2 -- .../apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py | 2 -- .../apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py | 3 --- .../kafka/tests/unit/apache/kafka/operators/test_consume.py | 3 --- .../kafka/tests/unit/apache/kafka/operators/test_produce.py | 3 --- .../apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py | 3 --- .../tests/unit/apache/kafka/triggers/test_await_message.py | 2 -- .../kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py | 2 -- 9 files changed, 1 insertion(+), 20 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 19d84650118e0..213494c1390c6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -593,6 +593,7 @@ repos: ^providers/apache/beam/.*\.py$| ^providers/apache/flink/.*\.py$| ^providers/apache/iceberg/.*\.py$| + ^providers/apache/kafka/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/common/compat/.*\.py$| diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py index 568032b495798..d56bc17b20707 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_client.py @@ -27,8 +27,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.client import KafkaAdminClientHook -pytestmark = pytest.mark.db_test - log = logging.getLogger(__name__) diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py index cb0b9d0846c50..0bad37aeac32c 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_consume.py @@ -27,8 +27,6 @@ # Import Hook from airflow.providers.apache.kafka.hooks.consume import KafkaConsumerHook -pytestmark = pytest.mark.db_test - class TestConsumerHook: """ diff --git a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py index 6e5074bddb1ee..7b48026a47613 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/hooks/test_produce.py @@ -26,9 +26,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.hooks.produce import KafkaProducerHook -pytestmark = pytest.mark.db_test - - log = logging.getLogger(__name__) diff --git a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py index 35221ac38065a..facd0be92c976 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_consume.py @@ -28,9 +28,6 @@ # Import Operator from airflow.providers.apache.kafka.operators.consume import ConsumeFromTopicOperator -pytestmark = pytest.mark.db_test - - log = logging.getLogger(__name__) diff --git a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py index 94017ea962abb..92f408408aa58 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/operators/test_produce.py @@ -25,9 +25,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.operators.produce import ProduceToTopicOperator -pytestmark = pytest.mark.db_test - - log = logging.getLogger(__name__) diff --git a/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py b/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py index a4cc68d512e57..817b8bdb2fe4d 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/sensors/test_kafka.py @@ -26,9 +26,6 @@ from airflow.models import Connection from airflow.providers.apache.kafka.sensors.kafka import AwaitMessageSensor, AwaitMessageTriggerFunctionSensor -pytestmark = pytest.mark.db_test - - log = logging.getLogger(__name__) diff --git a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py index 194c772a80213..cd9380e530893 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_await_message.py @@ -27,8 +27,6 @@ from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS, get_base_airflow_version_tuple -pytestmark = pytest.mark.db_test - def apply_function_false(message): return False diff --git a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py index 7e960ca1599e3..8b3ae12344630 100644 --- a/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py +++ b/providers/apache/kafka/tests/unit/apache/kafka/triggers/test_msg_queue.py @@ -30,8 +30,6 @@ from airflow.providers.apache.kafka.triggers.msg_queue import KafkaMessageQueueTrigger from airflow.providers.common.messaging.triggers.msg_queue import MessageQueueTrigger -pytestmark = pytest.mark.db_test - def apply_function_false(message): return False From c5e97736f3eed6d9ba51fbbf522ecf45289b17f1 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Mon, 23 Jun 2025 23:59:46 +0800 Subject: [PATCH 105/381] Remove pytest db markers from apache livy provider (#52099) --- .../apache/livy/tests/unit/apache/livy/hooks/test_livy.py | 2 -- .../apache/livy/tests/unit/apache/livy/operators/test_livy.py | 3 --- .../apache/livy/tests/unit/apache/livy/sensors/test_livy.py | 3 --- 3 files changed, 8 deletions(-) diff --git a/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py index c03614b2fa5c1..ab60c70f4e838 100644 --- a/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/hooks/test_livy.py @@ -91,7 +91,6 @@ def setup_connections(self, create_connection_without_db): ) ) - @pytest.mark.db_test @pytest.mark.parametrize( "conn_id, expected", [ @@ -752,7 +751,6 @@ def setup_livy_conn(self, create_connection_without_db): create_connection_without_db(Connection(conn_id="missing_host", conn_type="http", port=1234)) create_connection_without_db(Connection(conn_id="invalid_uri", uri="http://invalid_uri:4321")) - @pytest.mark.db_test def test_build_get_hook(self, setup_livy_conn): connection_url_mapping = { # id, expected diff --git a/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py index f808210fbd547..2987796dcd362 100644 --- a/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/operators/test_livy.py @@ -28,9 +28,6 @@ from airflow.providers.apache.livy.operators.livy import LivyOperator from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - DEFAULT_DATE = timezone.datetime(2017, 1, 1) BATCH_ID = 100 APP_ID = "application_1433865536131_34483" diff --git a/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py b/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py index 5b785fe3bfac4..2bc44b35750fa 100644 --- a/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py +++ b/providers/apache/livy/tests/unit/apache/livy/sensors/test_livy.py @@ -26,9 +26,6 @@ from airflow.providers.apache.livy.sensors.livy import LivySensor from airflow.utils import timezone -pytestmark = pytest.mark.db_test - - DEFAULT_DATE = timezone.datetime(2017, 1, 1) From 9d18ddd6ac1ad74ec567839dcae4801f27cd3570 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Tue, 24 Jun 2025 00:17:01 +0800 Subject: [PATCH 106/381] Remove pytest db markers from common sql provider (#52105) --- .../sql/tests/unit/common/sql/operators/test_sql.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/providers/common/sql/tests/unit/common/sql/operators/test_sql.py b/providers/common/sql/tests/unit/common/sql/operators/test_sql.py index 7f56b34f70304..c576037630440 100644 --- a/providers/common/sql/tests/unit/common/sql/operators/test_sql.py +++ b/providers/common/sql/tests/unit/common/sql/operators/test_sql.py @@ -375,7 +375,6 @@ def test_generate_sql_query_with_partitions(self, monkeypatch): == self.correct_generate_sql_query_with_partition.lstrip() ) - @pytest.mark.db_test def test_generate_sql_query_with_templated_partitions(self, monkeypatch): checks = self.short_valid_column_mapping["X"] operator = self._construct_operator(monkeypatch, self.short_valid_column_mapping, ()) @@ -407,7 +406,6 @@ def test_generate_sql_query_with_check_partition(self, monkeypatch): ) del self.short_valid_column_mapping["X"]["distinct_check"]["partition_clause"] - @pytest.mark.db_test @mock.patch.object(SQLColumnCheckOperator, "get_db_hook") def test_generated_sql_respects_templated_partitions(self, mock_get_db_hook): records = [ @@ -433,7 +431,6 @@ def test_generated_sql_respects_templated_partitions(self, mock_get_db_hook): self._full_check_sql(self.correct_generate_sql_query_with_partition), ) - @pytest.mark.db_test @mock.patch.object(SQLColumnCheckOperator, "get_db_hook") def test_generated_sql_respects_templated_table(self, mock_get_db_hook): records = [ @@ -620,7 +617,6 @@ def test_generate_sql_query_with_partitions(self, monkeypatch): operator._generate_sql_query().lstrip() == self.correct_generate_sql_query_with_partition.lstrip() ) - @pytest.mark.db_test def test_generate_sql_query_with_templated_partitions(self, monkeypatch): operator = self._construct_operator(monkeypatch, self.checks, ()) operator.partition_clause = "{{ params.col }} > 10" @@ -629,7 +625,6 @@ def test_generate_sql_query_with_templated_partitions(self, monkeypatch): operator._generate_sql_query().lstrip() == self.correct_generate_sql_query_with_partition.lstrip() ) - @pytest.mark.db_test def test_generate_sql_query_with_templated_table(self, monkeypatch): operator = self._construct_operator(monkeypatch, self.checks, ()) operator.table = "{{ params.table }}" @@ -811,7 +806,6 @@ def _construct_operator(self, sql, pass_value, tolerance=None): tolerance=tolerance, ) - @pytest.mark.db_test def test_pass_value_template_string(self): pass_value_str = "2018-03-22" operator = self._construct_operator("select date from tab1;", "{{ ds }}") @@ -821,7 +815,6 @@ def test_pass_value_template_string(self): assert operator.task_id == self.task_id assert operator.pass_value == pass_value_str - @pytest.mark.db_test def test_pass_value_template_string_float(self): pass_value_float = 4.0 operator = self._construct_operator("select date from tab1;", pass_value_float) @@ -1080,7 +1073,6 @@ def test_fail_if_query_returns_no_rows(self, mock_get_db_hook): operator.execute(context=MagicMock()) -@pytest.mark.db_test class TestSqlBranch: """ Test for SQL Branch Operator @@ -1120,7 +1112,6 @@ def branch_op(self): dag=self.dag, ) - @pytest.mark.db_test def test_unsupported_conn_type(self): """Check if BranchSQLOperator throws an exception for unsupported connection type""" op = BranchSQLOperator( From 20c487bdbffb533c8ab0fa4617bbdd27d0750a23 Mon Sep 17 00:00:00 2001 From: "Zhen-Lun (Kevin) Hong" Date: Tue, 24 Jun 2025 00:18:32 +0800 Subject: [PATCH 107/381] Remove pytest db markers from arangodb provider (#52102) * Remove pytest db markers from arangodb provider * Update pre-commit --- .pre-commit-config.yaml | 1 + providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py | 3 --- .../arangodb/tests/unit/arangodb/sensors/test_arangodb.py | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 213494c1390c6..f59a13a3b4bdc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -594,6 +594,7 @@ repos: ^providers/apache/flink/.*\.py$| ^providers/apache/iceberg/.*\.py$| ^providers/apache/kafka/.*\.py$| + ^providers/arangodb/.*\.py$| ^providers/cloudant/.*\.py$| ^providers/cohere/.*\.py$| ^providers/common/compat/.*\.py$| diff --git a/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py b/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py index 5773b498b5186..02fc22559ed32 100644 --- a/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py +++ b/providers/arangodb/tests/unit/arangodb/hooks/test_arangodb.py @@ -24,9 +24,6 @@ from airflow.models import Connection from airflow.providers.arangodb.hooks.arangodb import ArangoDBHook -pytestmark = pytest.mark.db_test - - arangodb_client_mock = Mock(name="arangodb_client_for_test") diff --git a/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py b/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py index 4c47cfb6706c9..71e9707b3895e 100644 --- a/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py +++ b/providers/arangodb/tests/unit/arangodb/sensors/test_arangodb.py @@ -27,8 +27,6 @@ from airflow.utils import timezone # The tests do not create dag runs, so db isolation tests are skipped -pytestmark = pytest.mark.db_test - DEFAULT_DATE = timezone.datetime(2017, 1, 1) arangodb_hook_mock = Mock(name="arangodb_hook_for_test", **{"query.return_value.count.return_value": 1}) From 1b9765b821d592c8cb12f7ad30f85a5ebc5d6ff0 Mon Sep 17 00:00:00 2001 From: "Guan Ming(Wesley) Chiu" <105915352+guan404ming@users.noreply.github.com> Date: Tue, 24 Jun 2025 00:28:38 +0800 Subject: [PATCH 108/381] Remove pytest db markers from microsoft winrm provider (#52104) --- .pre-commit-config.yaml | 1 + .../winrm/tests/unit/microsoft/winrm/hooks/test_winrm.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f59a13a3b4bdc..af6164f0c7fa9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -613,6 +613,7 @@ repos: ^providers/jenkins/.*\.py$| ^providers/mongo/.*\.py$| ^providers/microsoft/psrp/.*\.py$| + ^providers/microsoft/winrm/.*\.py$| ^providers/neo4j/.*\.py$| ^providers/odbc/.*\.py$| ^providers/openai/.*\.py$| diff --git a/providers/microsoft/winrm/tests/unit/microsoft/winrm/hooks/test_winrm.py b/providers/microsoft/winrm/tests/unit/microsoft/winrm/hooks/test_winrm.py index f2140e3a188bf..b4ff975b7eb7c 100644 --- a/providers/microsoft/winrm/tests/unit/microsoft/winrm/hooks/test_winrm.py +++ b/providers/microsoft/winrm/tests/unit/microsoft/winrm/hooks/test_winrm.py @@ -25,8 +25,6 @@ from airflow.models import Connection from airflow.providers.microsoft.winrm.hooks.winrm import WinRMHook -pytestmark = pytest.mark.db_test - class TestWinRMHook: def test_get_conn_missing_remote_host(self): From 85b4512e81e7a50fa4fc6794e03f31ae6ede69ca Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 23 Jun 2025 18:33:23 +0200 Subject: [PATCH 109/381] Add octopin to automatically convert github actions to hash commits (#52089) Apache Software Foundation security team is going to introduce the rule that all actions should be pinned to hash commit (because security) and recommends to use eclipse's octopin to automatically make sure that your actions are pinned to commit rather than version (adding version as a comment). This PR integrates octopin and converts all our actions to use hashes (even the standard ones that we considered as "safe" so far. --- .github/.pre-commit-config.yaml | 28 +++++++++++ .github/actions/install-pre-commit/action.yml | 8 ++- .../workflows/additional-ci-image-checks.yml | 2 +- .../workflows/additional-prod-image-tests.yml | 4 +- .../workflows/airflow-distributions-tests.yml | 2 +- .github/workflows/automatic-backport.yml | 2 +- .github/workflows/backport-cli.yml | 2 +- .github/workflows/basic-tests.yml | 26 +++++----- .github/workflows/ci-amd.yml | 49 +++++++++++++++---- .github/workflows/ci-arm.yml | 10 ++-- .github/workflows/ci-image-build.yml | 2 +- .github/workflows/ci-image-checks.yml | 20 ++++---- .github/workflows/codeql-analysis.yml | 8 +-- .github/workflows/finalize-tests.yml | 6 +-- .github/workflows/generate-constraints.yml | 4 +- .github/workflows/helm-tests.yml | 6 +-- .../workflows/integration-system-tests.yml | 6 +-- .github/workflows/k8s-tests.yml | 4 +- .github/workflows/news-fragment.yml | 2 +- .github/workflows/prod-image-build.yml | 10 ++-- .github/workflows/publish-docs-to-s3.yml | 12 ++--- .github/workflows/push-image-cache.yml | 6 +-- .github/workflows/recheck-old-bug-report.yml | 2 +- .github/workflows/release_dockerhub_image.yml | 2 +- .../release_single_dockerhub_image.yml | 8 +-- .github/workflows/run-unit-tests.yml | 2 +- .github/workflows/stale.yml | 2 +- .github/workflows/test-providers.yml | 4 +- .pre-commit-config.yaml | 6 ++- Dockerfile | 4 +- Dockerfile.ci | 4 +- contributing-docs/08_static_code_checks.rst | 18 +++++++ dev/breeze/doc/ci/02_images.md | 2 +- .../commands/release_management_commands.py | 2 +- .../src/airflow_breeze/global_constants.py | 2 +- pyproject.toml | 2 +- scripts/ci/install_breeze.sh | 2 +- .../update_installers_and_pre_commit.py | 7 +-- scripts/tools/setup_breeze | 2 +- yamllint-config.yml | 4 ++ 40 files changed, 195 insertions(+), 99 deletions(-) create mode 100644 .github/.pre-commit-config.yaml diff --git a/.github/.pre-commit-config.yaml b/.github/.pre-commit-config.yaml new file mode 100644 index 0000000000000..23f8d57648977 --- /dev/null +++ b/.github/.pre-commit-config.yaml @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +--- +default_stages: [manual] +default_language_version: + python: python311 +minimum_pre_commit_version: '3.2.0' +repos: + - repo: https://github.com/eclipse-csi/octopin + rev: 1700a65f632fd29f328232775ceb6c54554287ce + hooks: + - id: pin-versions + name: Pin versions of dependencies in CI workflows (manual) + stages: ['manual'] diff --git a/.github/actions/install-pre-commit/action.yml b/.github/actions/install-pre-commit/action.yml index 5289389930c15..7cf34a02db913 100644 --- a/.github/actions/install-pre-commit/action.yml +++ b/.github/actions/install-pre-commit/action.yml @@ -24,13 +24,16 @@ inputs: default: "3.9" uv-version: description: 'uv version to use' - default: "0.7.8" # Keep this comment to allow automatic replacement of uv version + default: "0.7.13" # Keep this comment to allow automatic replacement of uv version pre-commit-version: description: 'pre-commit version to use' default: "4.2.0" # Keep this comment to allow automatic replacement of pre-commit version pre-commit-uv-version: description: 'pre-commit-uv version to use' default: "4.1.4" # Keep this comment to allow automatic replacement of pre-commit-uv version + skip-pre-commits: + description: "Skip some pre-commits from installation" + default: "" runs: using: "composite" steps: @@ -40,6 +43,7 @@ runs: UV_VERSION: ${{inputs.uv-version}} PRE_COMMIT_VERSION: ${{inputs.pre-commit-version}} PRE_COMMIT_UV_VERSION: ${{inputs.pre-commit-uv-version}} + SKIP: ${{ inputs.skip-pre-commits }} run: | pip install uv==${UV_VERSION} || true uv tool install pre-commit==${PRE_COMMIT_VERSION} --with uv==${UV_VERSION} \ @@ -86,3 +90,5 @@ runs: shell: bash run: pre-commit install-hooks || (cat ~/.cache/pre-commit/pre-commit.log && exit 1) working-directory: ${{ github.workspace }} + env: + SKIP: ${{ inputs.skip-pre-commits }} diff --git a/.github/workflows/additional-ci-image-checks.yml b/.github/workflows/additional-ci-image-checks.yml index 9e7edaee0ee85..cfbc5030fa883 100644 --- a/.github/workflows/additional-ci-image-checks.yml +++ b/.github/workflows/additional-ci-image-checks.yml @@ -135,7 +135,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" diff --git a/.github/workflows/additional-prod-image-tests.yml b/.github/workflows/additional-prod-image-tests.yml index a2e9deed6df5c..3a323115aa50d 100644 --- a/.github/workflows/additional-prod-image-tests.yml +++ b/.github/workflows/additional-prod-image-tests.yml @@ -107,7 +107,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 persist-credentials: false @@ -144,7 +144,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 persist-credentials: false diff --git a/.github/workflows/airflow-distributions-tests.yml b/.github/workflows/airflow-distributions-tests.yml index 8399839afd1d5..14fefbf294802 100644 --- a/.github/workflows/airflow-distributions-tests.yml +++ b/.github/workflows/airflow-distributions-tests.yml @@ -84,7 +84,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ matrix.python-version }}" diff --git a/.github/workflows/automatic-backport.yml b/.github/workflows/automatic-backport.yml index 4c72401a5d317..56e430602b4fc 100644 --- a/.github/workflows/automatic-backport.yml +++ b/.github/workflows/automatic-backport.yml @@ -37,7 +37,7 @@ jobs: - name: Find PR information id: pr-info - uses: actions/github-script@v7 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/backport-cli.yml b/.github/workflows/backport-cli.yml index 673607027496d..3f5ce494f3f31 100644 --- a/.github/workflows/backport-cli.yml +++ b/.github/workflows/backport-cli.yml @@ -53,7 +53,7 @@ jobs: steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" id: checkout-for-backport - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: true fetch-depth: 0 diff --git a/.github/workflows/basic-tests.yml b/.github/workflows/basic-tests.yml index 52983ad65d559..65286fb73d2f2 100644 --- a/.github/workflows/basic-tests.yml +++ b/.github/workflows/basic-tests.yml @@ -71,7 +71,7 @@ jobs: - name: "Cleanup repo" shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: # Need to fetch all history for selective checks tests fetch-depth: 0 @@ -94,18 +94,18 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" run: ./scripts/ci/prepare_and_cleanup_runner.sh - name: Setup pnpm - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 + uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 with: version: 9 run_install: false - name: "Setup node" - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: 21 cache: 'pnpm' @@ -158,12 +158,13 @@ jobs: runs-on: ${{ fromJSON(inputs.runners) }} env: PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}" + SKIP: ${{ inputs.skip-pre-commits }} steps: - name: "Cleanup repo" shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Install Breeze" @@ -176,6 +177,7 @@ jobs: id: pre-commit with: python-version: ${{steps.breeze.outputs.host-python-version}} + skip-pre-commits: ${{ inputs.skip-pre-commits }} # Those checks are run if no image needs to be built for checks. This is for simple changes that # Do not touch any of the python code or any of the important files that might require building @@ -191,7 +193,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -205,9 +207,10 @@ jobs: uses: ./.github/actions/install-pre-commit id: pre-commit with: - python-version: ${{steps.breeze.outputs.host-python-version}} + python-version: ${{ steps.breeze.outputs.host-python-version }} + skip-pre-commits: ${{ inputs.skip-pre-commits }} - name: Fetch incoming commit ${{ github.sha }} with its parent - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.sha }} fetch-depth: 2 @@ -228,7 +231,7 @@ jobs: runs-on: ["windows-latest"] steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 persist-credentials: false @@ -246,7 +249,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -261,6 +264,7 @@ jobs: id: pre-commit with: python-version: ${{steps.breeze.outputs.host-python-version}} + skip-pre-commits: ${{ inputs.skip-pre-commits }} - name: "Autoupdate all pre-commits" run: pre-commit autoupdate - name: "Run automated upgrade for black" @@ -319,7 +323,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" diff --git a/.github/workflows/ci-amd.yml b/.github/workflows/ci-amd.yml index 8a8e654127ca9..86a921e0d017e 100644 --- a/.github/workflows/ci-amd.yml +++ b/.github/workflows/ci-amd.yml @@ -135,13 +135,13 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" run: ./scripts/ci/prepare_and_cleanup_runner.sh - name: Fetch incoming commit ${{ github.sha }} with its parent - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.sha }} fetch-depth: 2 @@ -169,6 +169,37 @@ jobs: PR_LABELS: ${{ steps.source-run-info.outputs.pr-labels }} GITHUB_CONTEXT: ${{ toJson(github) }} + run-pin-versions-pre-commit: + name: "Run pin-versions pre-commit" + needs: [build-info] + runs-on: ${{ fromJSON(needs.build-info.outputs.amd-runners) }} + steps: + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: "Install Python 3.11 as 3.11+ is needed by pin-versions pre-commit" + uses: actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4.9.1 + with: + python-version: 3.11 + cache: "pip" + - name: Install pre-commit, uv, and pre-commit-uv + shell: bash + env: + UV_VERSION: "0.7.13" # Keep this comment to allow automatic replacement of uv version + PRE_COMMIT_VERSION: "4.2.0" # Keep this comment to allow automatic replacement of pre-commit version + PRE_COMMIT_UV_VERSION: "4.1.4" # Keep this comment to allow automatic replacement of pre-commit-uv version + run: | + pip install uv==${UV_VERSION} || true + uv tool install pre-commit==${PRE_COMMIT_VERSION} --with uv==${UV_VERSION} \ + --with pre-commit-uv==${PRE_COMMIT_UV_VERSION} + - name: "Run pin-versions pre-commit" + run: > + pre-commit run -c .github/.pre-commit-config.yaml --all-files --verbose --hook-stage manual + pin-versions + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + basic-tests: name: "Basic tests" needs: [build-info] @@ -777,13 +808,13 @@ jobs: VERBOSE: "true" steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false # keep this in sync with go.mod in go-sdk/ - name: Setup Go - uses: actions/setup-go@v5 + uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version: 1.24 cache-dependency-path: go-sdk/go.sum @@ -876,7 +907,7 @@ jobs: steps: - name: Notify Slack id: slack - uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0 + uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0 with: method: chat.postMessage token: ${{ env.SLACK_BOT_TOKEN }} @@ -901,7 +932,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -910,12 +941,12 @@ jobs: shell: bash run: ./scripts/tools/free_up_disk_space.sh - name: "Download all test warning artifacts from the current build" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: path: ./artifacts pattern: test-warnings-* - name: "Setup python" - uses: actions/setup-python@v5 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: ${{ inputs.default-python-version }} - name: "Summarize all warnings" @@ -924,7 +955,7 @@ jobs: --pattern "**/warnings-*.txt" \ --output ./files - name: "Upload artifact for summarized warnings" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: test-summarized-amd-runner-warnings path: ./files/warn-summary-*.txt diff --git a/.github/workflows/ci-arm.yml b/.github/workflows/ci-arm.yml index 0500106b94792..1333694f3bb80 100644 --- a/.github/workflows/ci-arm.yml +++ b/.github/workflows/ci-arm.yml @@ -128,13 +128,13 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" run: ./scripts/ci/prepare_and_cleanup_runner.sh - name: Fetch incoming commit ${{ github.sha }} with its parent - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.sha }} fetch-depth: 2 @@ -527,13 +527,13 @@ jobs: VERBOSE: "true" steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false # keep this in sync with go.mod in go-sdk/ - name: Setup Go - uses: actions/setup-go@v5 + uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version: 1.24 cache-dependency-path: go-sdk/go.sum @@ -594,7 +594,7 @@ jobs: steps: - name: Notify Slack id: slack - uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0 + uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0 with: method: chat.postMessage token: ${{ env.SLACK_BOT_TOKEN }} diff --git a/.github/workflows/ci-image-build.yml b/.github/workflows/ci-image-build.yml index b52fdb906fa2e..c589b7728d668 100644 --- a/.github/workflows/ci-image-build.yml +++ b/.github/workflows/ci-image-build.yml @@ -117,7 +117,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout target branch" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" diff --git a/.github/workflows/ci-image-checks.yml b/.github/workflows/ci-image-checks.yml index 2cc5f690df83f..1f0cc812ce9cf 100644 --- a/.github/workflows/ci-image-checks.yml +++ b/.github/workflows/ci-image-checks.yml @@ -127,7 +127,7 @@ jobs: run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" if: inputs.canary-run == 'true' - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false if: inputs.canary-run == 'true' @@ -173,7 +173,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -216,7 +216,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -264,7 +264,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -295,7 +295,7 @@ jobs: # to be responsible for updating it. https://github.com/actions/upload-artifact/issues/506 if: steps.restore-docs-inventory-cache != 'true' && matrix.flag == '--docs-only' - name: "Upload build docs" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: airflow-docs path: './generated/_build' @@ -327,7 +327,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -337,7 +337,7 @@ jobs: python: ${{ inputs.default-python-version }} use-uv: ${{ inputs.use-uv }} - name: "Download docs prepared as artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: airflow-docs path: './generated/_build' @@ -373,7 +373,7 @@ jobs: sudo /tmp/aws/install --update rm -rf /tmp/aws/ - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.DOCS_AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }} @@ -402,12 +402,12 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 persist-credentials: false - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: "apache/airflow-client-python" fetch-depth: 1 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 1fcf81a84fd5b..59c555da56a27 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -47,17 +47,17 @@ jobs: security-events: write steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0 with: languages: ${{ matrix.language }} - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0 diff --git a/.github/workflows/finalize-tests.yml b/.github/workflows/finalize-tests.yml index 6afcbd0812219..d3e2f86435212 100644 --- a/.github/workflows/finalize-tests.yml +++ b/.github/workflows/finalize-tests.yml @@ -99,7 +99,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: # Needed to perform push action persist-credentials: false @@ -109,14 +109,14 @@ jobs: id: constraints-branch run: ./scripts/ci/constraints/ci_branch_constraints.sh >> ${GITHUB_OUTPUT} - name: Checkout ${{ steps.constraints-branch.outputs.branch }} - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: path: "constraints" ref: ${{ steps.constraints-branch.outputs.branch }} persist-credentials: true fetch-depth: 0 - name: "Download constraints from the constraints generated by build CI image" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: constraints path: ./files diff --git a/.github/workflows/generate-constraints.yml b/.github/workflows/generate-constraints.yml index 35b31db98e575..70aa59ebf2f0c 100644 --- a/.github/workflows/generate-constraints.yml +++ b/.github/workflows/generate-constraints.yml @@ -64,7 +64,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -130,7 +130,7 @@ jobs: df -H done - name: "Upload constraint artifacts" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: constraints path: ./files/constraints-*/constraints-*.txt diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml index 26bf28cce1beb..c704745e5cf32 100644 --- a/.github/workflows/helm-tests.yml +++ b/.github/workflows/helm-tests.yml @@ -68,7 +68,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -93,7 +93,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -136,7 +136,7 @@ jobs: breeze release-management generate-issue-content-helm-chart --limit-pr-count 10 --latest --verbose - name: "Upload Helm artifacts" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: Helm artifacts path: ./dist/airflow-* diff --git a/.github/workflows/integration-system-tests.yml b/.github/workflows/integration-system-tests.yml index bf75cc87f31a3..8649044650c90 100644 --- a/.github/workflows/integration-system-tests.yml +++ b/.github/workflows/integration-system-tests.yml @@ -97,7 +97,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -146,7 +146,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -190,7 +190,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" diff --git a/.github/workflows/k8s-tests.yml b/.github/workflows/k8s-tests.yml index 6ed0c79d187c5..57342fba4873d 100644 --- a/.github/workflows/k8s-tests.yml +++ b/.github/workflows/k8s-tests.yml @@ -80,7 +80,7 @@ jobs: echo "PYTHON_MAJOR_MINOR_VERSION=${KUBERNETES_COMBO}" | sed 's/-.*//' >> $GITHUB_ENV echo "KUBERNETES_VERSION=${KUBERNETES_COMBO}" | sed 's/=[^-]*-/=/' >> $GITHUB_ENV - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false # env.PYTHON_MAJOR_MINOR_VERSION, env.KUBERNETES_VERSION are set in the previous @@ -115,7 +115,7 @@ jobs: - name: "\ Upload KinD logs ${{ matrix.executor }}-${{ matrix.kubernetes-combo }}-\ ${{ matrix.use-standard-naming }}" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: "\ kind-logs-${{ matrix.kubernetes-combo }}-${{ matrix.executor }}-\ diff --git a/.github/workflows/news-fragment.yml b/.github/workflows/news-fragment.yml index f6f68d1288a35..0a2a996c6c513 100644 --- a/.github/workflows/news-fragment.yml +++ b/.github/workflows/news-fragment.yml @@ -30,7 +30,7 @@ jobs: if: "contains(github.event.pull_request.labels.*.name, 'airflow3.0:breaking')" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false # `towncrier check` runs `git diff --name-only origin/main...`, which diff --git a/.github/workflows/prod-image-build.yml b/.github/workflows/prod-image-build.yml index c5cf5cd5cef96..6e5ae3561d20b 100644 --- a/.github/workflows/prod-image-build.yml +++ b/.github/workflows/prod-image-build.yml @@ -124,7 +124,7 @@ jobs: run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" if: inputs.upload-package-artifact == 'true' - name: "Checkout target branch" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -171,7 +171,7 @@ jobs: breeze release-management prepare-airflow-ctl-distributions --distribution-format wheel if: inputs.upload-package-artifact == 'true' - name: "Upload prepared packages as artifacts" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: prod-packages path: ./dist @@ -211,7 +211,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout target branch" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -224,14 +224,14 @@ jobs: shell: bash run: rm -fv ./dist/* ./docker-context-files/* - name: "Download packages prepared as artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: prod-packages path: ./docker-context-files - name: "Show downloaded packages" run: ls -la ./docker-context-files - name: "Download constraints" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: constraints path: ./docker-context-files diff --git a/.github/workflows/publish-docs-to-s3.yml b/.github/workflows/publish-docs-to-s3.yml index 22ba4b3e97af4..b9eb26ae86760 100644 --- a/.github/workflows/publish-docs-to-s3.yml +++ b/.github/workflows/publish-docs-to-s3.yml @@ -127,7 +127,7 @@ jobs: run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" # Check out the repo first to run cleanup - in sub-folder - name: "Checkout current version first to clean-up stuff" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false path: current-version @@ -138,7 +138,7 @@ jobs: # This will take longer as we need to rebuild CI image and it will not use cache # but it will build the CI image from the version of Airflow that is used to check out things - name: "Checkout ${{ inputs.ref }} " - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false ref: ${{ inputs.ref }} @@ -167,7 +167,7 @@ jobs: run: > breeze release-management publish-docs --override-versioned --run-in-parallel ${INCLUDE_DOCS} - name: "Upload build docs" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: airflow-docs path: /mnt/airflow-site @@ -197,7 +197,7 @@ jobs: # This will take longer as we need to rebuild CI image and it will not use cache # but it will build the CI image from the version of Airflow that is used to check out things - name: "Checkout ${{ inputs.ref }} " - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -207,7 +207,7 @@ jobs: with: use-uv: ${{ inputs.use-uv }} - name: "Download docs prepared as artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: airflow-docs path: /mnt/airflow-site @@ -234,7 +234,7 @@ jobs: sudo /tmp/aws/install --update rm -rf /tmp/aws/ - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.DOCS_AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/push-image-cache.yml b/.github/workflows/push-image-cache.yml index f2258c13b77a9..01bbbeb16b3fa 100644 --- a/.github/workflows/push-image-cache.yml +++ b/.github/workflows/push-image-cache.yml @@ -113,7 +113,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -184,7 +184,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -196,7 +196,7 @@ jobs: - name: "Cleanup dist and context file" run: rm -fv ./dist/* ./docker-context-files/* - name: "Download packages prepared as artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: prod-packages path: ./docker-context-files diff --git a/.github/workflows/recheck-old-bug-report.yml b/.github/workflows/recheck-old-bug-report.yml index 217092b86f87e..61a2691c087fb 100644 --- a/.github/workflows/recheck-old-bug-report.yml +++ b/.github/workflows/recheck-old-bug-report.yml @@ -28,7 +28,7 @@ jobs: recheck-old-bug-report: runs-on: ["ubuntu-22.04"] steps: - - uses: actions/stale@v9 + - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0 with: only-issue-labels: 'kind:bug' stale-issue-label: 'Stale Bug Report' diff --git a/.github/workflows/release_dockerhub_image.yml b/.github/workflows/release_dockerhub_image.yml index fe1ce300fbf4f..45c477d9eff54 100644 --- a/.github/workflows/release_dockerhub_image.yml +++ b/.github/workflows/release_dockerhub_image.yml @@ -83,7 +83,7 @@ jobs: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" diff --git a/.github/workflows/release_single_dockerhub_image.yml b/.github/workflows/release_single_dockerhub_image.yml index 55a8c2cc00429..8ddbef95270f7 100644 --- a/.github/workflows/release_single_dockerhub_image.yml +++ b/.github/workflows/release_single_dockerhub_image.yml @@ -76,7 +76,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -148,7 +148,7 @@ jobs: shell: bash run: find ./dist -name '*.json' - name: "Upload metadata artifact ${{ env.ARTIFACT_NAME }}" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ${{ env.ARTIFACT_NAME }} path: ./dist/metadata-* @@ -174,7 +174,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare and cleanup runner" @@ -197,7 +197,7 @@ jobs: ACTOR: ${{ github.actor }} run: echo "${GITHUB_TOKEN}" | docker login ghcr.io -u ${ACTOR} --password-stdin - name: "Download metadata artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: path: ./dist pattern: metadata-${{ inputs.pythonVersion }}-* diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml index 4b99ac6031137..da2b40eaa945d 100644 --- a/.github/workflows/run-unit-tests.yml +++ b/.github/workflows/run-unit-tests.yml @@ -167,7 +167,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ matrix.python-version }}" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2e03e9f33b120..49987b11feef6 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -29,7 +29,7 @@ jobs: stale: runs-on: ["ubuntu-22.04"] steps: - - uses: actions/stale@v9 + - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0 with: stale-pr-message: > This pull request has been automatically marked as stale because it has not had diff --git a/.github/workflows/test-providers.yml b/.github/workflows/test-providers.yml index 411b18daaa7b4..88a54be3c9d6b 100644 --- a/.github/workflows/test-providers.yml +++ b/.github/workflows/test-providers.yml @@ -89,7 +89,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}" @@ -187,7 +187,7 @@ jobs: shell: bash run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: "Prepare breeze & CI image: ${{ matrix.compat.python-version }}" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index af6164f0c7fa9..73265015836b6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -206,7 +206,11 @@ repos: entry: ./scripts/ci/pre_commit/update_installers_and_pre_commit.py stages: ['manual'] language: python - files: ^\.pre-commit-config\.yaml$|^scripts/ci/pre_commit/update_installers_and_pre_commit\.py$ + files: > + (?x) + ^\.pre-commit-config\.yaml$| + ^\.github/\.pre-commit-config\.yaml$| + ^scripts/ci/pre_commit/update_installers_and_pre_commit\.py$ pass_filenames: false require_serial: true additional_dependencies: ['pyyaml>=6.0.2', 'rich>=12.4.4', 'requests>=2.31.0'] diff --git a/Dockerfile b/Dockerfile index a8522ea0139c7..32f8cc97dfa83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,8 +56,8 @@ ARG PYTHON_BASE_IMAGE="python:3.9-slim-bookworm" # Also use `force pip` label on your PR to swap all places we use `uv` to `pip` ARG AIRFLOW_PIP_VERSION=25.1.1 # ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main" -ARG AIRFLOW_SETUPTOOLS_VERSION=80.8.0 -ARG AIRFLOW_UV_VERSION=0.7.8 +ARG AIRFLOW_SETUPTOOLS_VERSION=80.9.0 +ARG AIRFLOW_UV_VERSION=0.7.13 ARG AIRFLOW_USE_UV="false" ARG UV_HTTP_TIMEOUT="300" ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow" diff --git a/Dockerfile.ci b/Dockerfile.ci index 8474f24855f73..65907e3e4cee8 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -1388,8 +1388,8 @@ COPY --from=scripts common.sh install_packaging_tools.sh install_additional_depe # Also use `force pip` label on your PR to swap all places we use `uv` to `pip` ARG AIRFLOW_PIP_VERSION=25.1.1 # ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main" -ARG AIRFLOW_SETUPTOOLS_VERSION=80.8.0 -ARG AIRFLOW_UV_VERSION=0.7.8 +ARG AIRFLOW_SETUPTOOLS_VERSION=80.9.0 +ARG AIRFLOW_UV_VERSION=0.7.13 # TODO(potiuk): automate with upgrade check (possibly) ARG AIRFLOW_PRE_COMMIT_VERSION="4.2.0" ARG AIRFLOW_PRE_COMMIT_UV_VERSION="4.1.4" diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index 86c64c6781ed1..1ce799ad6f38e 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -533,6 +533,24 @@ there are some checks that are not run automatically and you need to run them ma checks are marked with ``manual`` in the ``Description`` column in the table below. You can run them manually by running ``pre-commit run --hook-stage manual ``. +Special pin-versions pre-commit +------------------------------- + +There is a separate pre-commit ``pin-versions`` pre-commit which is used to pin versions of +GitHub Actions in the CI workflows. + +This action requires ``GITHUB_TOKEN`` to be set, otherwise you might hit the rate limits with GitHub API, it +is also configured in a separate ``.pre-commit-config.yaml`` file in the +``.github`` directory as it requires Python 3.11 to run. It is not run automatically +when you commit the code but in runs as a separate job in the CI. However, you can run it +manually by running: + +.. code-block:: bash + + export GITHUB_TOKEN=YOUR_GITHUB_TOKEN + pre-commit run -c .github/.pre-commit-config.yaml --all-files --hook-stage manual + + Mypy checks ----------- diff --git a/dev/breeze/doc/ci/02_images.md b/dev/breeze/doc/ci/02_images.md index c651558fc18d8..51e20718ff201 100644 --- a/dev/breeze/doc/ci/02_images.md +++ b/dev/breeze/doc/ci/02_images.md @@ -443,7 +443,7 @@ can be used for CI images: | `ADDITIONAL_DEV_APT_DEPS` | | Additional apt dev dependencies installed in the first part of the image | | `ADDITIONAL_DEV_APT_ENV` | | Additional env variables defined when installing dev deps | | `AIRFLOW_PIP_VERSION` | `25.1.1` | `pip` version used. | -| `AIRFLOW_UV_VERSION` | `0.7.8` | `uv` version used. | +| `AIRFLOW_UV_VERSION` | `0.7.13` | `uv` version used. | | `AIRFLOW_PRE_COMMIT_VERSION` | `4.2.0` | `pre-commit` version used. | | `AIRFLOW_PRE_COMMIT_UV_VERSION` | `4.1.4` | `pre-commit-uv` version used. | | `AIRFLOW_USE_UV` | `true` | Whether to use UV for installation. | diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py index f4121b1c29f46..f9cf24bae709c 100644 --- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py @@ -242,7 +242,7 @@ class VersionedFile(NamedTuple): AIRFLOW_PIP_VERSION = "25.1.1" -AIRFLOW_UV_VERSION = "0.7.8" +AIRFLOW_UV_VERSION = "0.7.13" AIRFLOW_USE_UV = False # TODO(potiuk): automate upgrades of these versions (likely via requirements.txt file) GITPYTHON_VERSION = "3.1.44" diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py index 541016c20cc3d..8d280006f1db3 100644 --- a/dev/breeze/src/airflow_breeze/global_constants.py +++ b/dev/breeze/src/airflow_breeze/global_constants.py @@ -194,7 +194,7 @@ ALLOWED_INSTALL_MYSQL_CLIENT_TYPES = ["mariadb", "mysql"] PIP_VERSION = "25.1.1" -UV_VERSION = "0.7.8" +UV_VERSION = "0.7.13" DEFAULT_UV_HTTP_TIMEOUT = 300 DEFAULT_WSL2_HTTP_TIMEOUT = 900 diff --git a/pyproject.toml b/pyproject.toml index 9576ddf015a45..ba2820ccd59d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -529,7 +529,7 @@ packages = [] "apache-airflow-providers-amazon[s3fs]", ] "uv" = [ - "uv>=0.7.8", + "uv>=0.7.13", ] diff --git a/scripts/ci/install_breeze.sh b/scripts/ci/install_breeze.sh index c3b987b67976a..e52c58263229f 100755 --- a/scripts/ci/install_breeze.sh +++ b/scripts/ci/install_breeze.sh @@ -22,7 +22,7 @@ cd "$( dirname "${BASH_SOURCE[0]}" )/../../" PYTHON_ARG="" PIP_VERSION="25.1.1" -UV_VERSION="0.7.8" +UV_VERSION="0.7.13" if [[ ${PYTHON_VERSION=} != "" ]]; then PYTHON_ARG="--python=$(which python"${PYTHON_VERSION}") " fi diff --git a/scripts/ci/pre_commit/update_installers_and_pre_commit.py b/scripts/ci/pre_commit/update_installers_and_pre_commit.py index ccc75e13ebc1e..ef1b745f9fe5d 100755 --- a/scripts/ci/pre_commit/update_installers_and_pre_commit.py +++ b/scripts/ci/pre_commit/update_installers_and_pre_commit.py @@ -50,6 +50,7 @@ (AIRFLOW_ROOT_PATH / ".github" / "actions" / "install-pre-commit" / "action.yml", False), (AIRFLOW_ROOT_PATH / "dev/" / "breeze" / "doc" / "ci" / "02_images.md", True), (AIRFLOW_ROOT_PATH / ".pre-commit-config.yaml", False), + (AIRFLOW_ROOT_PATH / ".github" / "workflows" / "ci-amd.yml", False), (AIRFLOW_CORE_ROOT_PATH / "pyproject.toml", False), ] @@ -100,7 +101,7 @@ class Quoting(Enum): (re.compile(r"(\| *`AIRFLOW_UV_VERSION` *\| *)(`[0-9.]+`)( *\|)"), Quoting.REVERSE_SINGLE_QUOTED), ( re.compile( - r"(default: \")([0-9.]+)(\" # Keep this comment to " + r"(\")([0-9.]+)(\" # Keep this comment to " r"allow automatic replacement of uv version)" ), Quoting.UNQUOTED, @@ -123,7 +124,7 @@ class Quoting(Enum): ), ( re.compile( - r"(default: \")([0-9.]+)(\" # Keep this comment to allow automatic " + r"(\")([0-9.]+)(\" # Keep this comment to allow automatic " r"replacement of pre-commit version)" ), Quoting.UNQUOTED, @@ -142,7 +143,7 @@ class Quoting(Enum): ), ( re.compile( - r"(default: \")([0-9.]+)(\" # Keep this comment to allow automatic " + r"(\")([0-9.]+)(\" # Keep this comment to allow automatic " r"replacement of pre-commit-uv version)" ), Quoting.UNQUOTED, diff --git a/scripts/tools/setup_breeze b/scripts/tools/setup_breeze index a7358f2a3315b..4dd4ff6ade0ec 100755 --- a/scripts/tools/setup_breeze +++ b/scripts/tools/setup_breeze @@ -27,7 +27,7 @@ COLOR_YELLOW=$'\e[33m' COLOR_BLUE=$'\e[34m' COLOR_RESET=$'\e[0m' -UV_VERSION="0.7.8" +UV_VERSION="0.7.13" function manual_instructions() { echo diff --git a/yamllint-config.yml b/yamllint-config.yml index a88c0eab9fe16..8c4bd087ecee6 100644 --- a/yamllint-config.yml +++ b/yamllint-config.yml @@ -21,3 +21,7 @@ extends: default rules: line-length: max: 110 + + comments: + ignore: + - /.github/workflows/*.yml From 94a2afe0638b45943783693f520da4d56448d220 Mon Sep 17 00:00:00 2001 From: Pierre Jeambrun Date: Mon, 23 Jun 2025 18:53:41 +0200 Subject: [PATCH 110/381] Move useDagTagsInfinite (#52088) --- .../DagsList/DagsFilters/DagsFilters.tsx | 2 +- .../queries/useDagTagsInfinite.ts} | 25 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) rename airflow-core/src/airflow/ui/{openapi-gen/queries/useDagsInfinite.ts => src/queries/useDagTagsInfinite.ts} (71%) diff --git a/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx b/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx index 86113680952b0..958f3d68997b4 100644 --- a/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx +++ b/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx @@ -21,10 +21,10 @@ import type { MultiValue } from "chakra-react-select"; import { useCallback, useState } from "react"; import { useSearchParams } from "react-router-dom"; -import { useDagTagsInfinite } from "openapi/queries/useDagsInfinite"; import { useTableURLState } from "src/components/DataTable/useTableUrlState"; import { SearchParamsKeys, type SearchParamsKeysType } from "src/constants/searchParams"; import { useConfig } from "src/queries/useConfig"; +import { useDagTagsInfinite } from "src/queries/useDagTagsInfinite"; import { PausedFilter } from "./PausedFilter"; import { ResetButton } from "./ResetButton"; diff --git a/airflow-core/src/airflow/ui/openapi-gen/queries/useDagsInfinite.ts b/airflow-core/src/airflow/ui/src/queries/useDagTagsInfinite.ts similarity index 71% rename from airflow-core/src/airflow/ui/openapi-gen/queries/useDagsInfinite.ts rename to airflow-core/src/airflow/ui/src/queries/useDagTagsInfinite.ts index 2776977ce46d3..40a779734f5c0 100644 --- a/airflow-core/src/airflow/ui/openapi-gen/queries/useDagsInfinite.ts +++ b/airflow-core/src/airflow/ui/src/queries/useDagTagsInfinite.ts @@ -16,14 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -import { InfiniteData, useInfiniteQuery, UseInfiniteQueryOptions } from "@tanstack/react-query"; +import { type InfiniteData, useInfiniteQuery, type UseInfiniteQueryOptions } from "@tanstack/react-query"; +import { UseDagServiceGetDagTagsKeyFn } from "openapi/queries"; import { DagService } from "openapi/requests/services.gen"; -import { DAGTagCollectionResponse } from "openapi/requests/types.gen"; +import type { DAGTagCollectionResponse } from "openapi/requests/types.gen"; -import * as Common from "./common"; - -export const useDagTagsInfinite = = unknown[]>( +export const useDagTagsInfinite = ( { limit, orderBy, @@ -33,26 +32,26 @@ export const useDagTagsInfinite = , options?: Omit< UseInfiniteQueryOptions< DAGTagCollectionResponse, TError, InfiniteData, DAGTagCollectionResponse, - unknown[], + Array, number >, - "queryKey" | "queryFn" + "queryFn" | "queryKey" >, ) => useInfiniteQuery({ - queryKey: Common.UseDagServiceGetDagTagsKeyFn({ limit, orderBy, tagNamePattern }, queryKey), - queryFn: ({ pageParam }) => DagService.getDagTags({ limit, offset: pageParam, orderBy, tagNamePattern }), - initialPageParam: 0, - getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => + getNextPageParam: (lastPage, _allPages, lastPageParam) => lastPageParam < lastPage.total_entries ? lastPage.tags.length + lastPageParam : undefined, - getPreviousPageParam: (firstPage, _allPages, firstPageParam, _allPageParams) => + getPreviousPageParam: (firstPage, _allPages, firstPageParam) => firstPageParam > 0 ? -firstPage.tags.length + firstPageParam : undefined, + initialPageParam: 0, + queryFn: ({ pageParam }) => DagService.getDagTags({ limit, offset: pageParam, orderBy, tagNamePattern }), + queryKey: UseDagServiceGetDagTagsKeyFn({ limit, orderBy, tagNamePattern }, queryKey), ...options, }); From f738e848e2d6a572c5ca393694e99d76c2b603f7 Mon Sep 17 00:00:00 2001 From: "Guan Ming(Wesley) Chiu" <105915352+guan404ming@users.noreply.github.com> Date: Tue, 24 Jun 2025 01:11:12 +0800 Subject: [PATCH 111/381] Remove pytest db markers from microsoft azure provider (#52107) --- .../tests/unit/microsoft/azure/hooks/test_msgraph.py | 1 - .../tests/unit/microsoft/azure/operators/test_adx.py | 2 -- .../tests/unit/microsoft/azure/operators/test_msgraph.py | 9 --------- 3 files changed, 12 deletions(-) diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_msgraph.py b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_msgraph.py index 1f5e1f8d10ae6..a81e4df2e5a95 100644 --- a/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_msgraph.py +++ b/providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_msgraph.py @@ -401,7 +401,6 @@ def test_handle_response_async_when_internal_server_error(self): # TODO: Elad: review this after merging the bump 2.10 PR # We should not have specific provider test block the release @pytest.mark.xfail(reason="TODO: Remove") - @pytest.mark.db_test def test_when_provider_min_airflow_version_is_2_10_or_higher_remove_obsolete_code(self): """ Once this test starts failing due to the fact that the minimum Airflow version is now 2.10.0 or higher diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_adx.py b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_adx.py index ec83ed1863f6c..0161338f86384 100644 --- a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_adx.py +++ b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_adx.py @@ -19,7 +19,6 @@ from unittest import mock -import pytest from azure.kusto.data._models import KustoResultTable from airflow.models import DAG @@ -82,7 +81,6 @@ def test_run_query(self, mock_conn, mock_run_query): ) -@pytest.mark.db_test @mock.patch.object(AzureDataExplorerHook, "run_query", return_value=MockResponse()) @mock.patch.object(AzureDataExplorerHook, "get_conn") def test_azure_data_explorer_query_operator_xcom_push_and_pull( diff --git a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_msgraph.py b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_msgraph.py index 6ae597ba0e31c..d6a9fae4bdcaf 100644 --- a/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_msgraph.py +++ b/providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_msgraph.py @@ -44,7 +44,6 @@ class TestMSGraphAsyncOperator(Base): - @pytest.mark.db_test def test_execute_with_old_result_processor_signature(self): users = load_json_from_resources(dirname(__file__), "..", "resources", "users.json") next_users = load_json_from_resources(dirname(__file__), "..", "resources", "next_users.json") @@ -76,7 +75,6 @@ def test_execute_with_old_result_processor_signature(self): assert events[1].payload["type"] == "builtins.dict" assert events[1].payload["response"] == json.dumps(next_users) - @pytest.mark.db_test def test_execute_with_new_result_processor_signature(self): users = load_json_from_resources(dirname(__file__), "..", "resources", "users.json") next_users = load_json_from_resources(dirname(__file__), "..", "resources", "next_users.json") @@ -104,7 +102,6 @@ def test_execute_with_new_result_processor_signature(self): assert events[1].payload["type"] == "builtins.dict" assert events[1].payload["response"] == json.dumps(next_users) - @pytest.mark.db_test def test_execute_with_old_paginate_function_signature(self): users = load_json_from_resources(dirname(__file__), "..", "resources", "users.json") next_users = load_json_from_resources(dirname(__file__), "..", "resources", "next_users.json") @@ -139,7 +136,6 @@ def test_execute_with_old_paginate_function_signature(self): assert events[1].payload["type"] == "builtins.dict" assert events[1].payload["response"] == json.dumps(next_users) - @pytest.mark.db_test def test_execute_when_do_xcom_push_is_false(self): users = load_json_from_resources(dirname(__file__), "..", "resources", "users.json") users.pop("@odata.nextLink") @@ -162,7 +158,6 @@ def test_execute_when_do_xcom_push_is_false(self): assert events[0].payload["type"] == "builtins.dict" assert events[0].payload["response"] == json.dumps(users) - @pytest.mark.db_test def test_execute_when_an_exception_occurs(self): with self.patch_hook_and_request_adapter(AirflowException()): operator = MSGraphAsyncOperator( @@ -175,7 +170,6 @@ def test_execute_when_an_exception_occurs(self): with pytest.raises(AirflowException): execute_operator(operator) - @pytest.mark.db_test def test_execute_when_an_exception_occurs_on_custom_event_handler_with_old_signature(self): with self.patch_hook_and_request_adapter(AirflowException("An error occurred")): @@ -205,7 +199,6 @@ def custom_event_handler(context: Context, event: dict[Any, Any] | None = None): assert events[0].payload["status"] == "failure" assert events[0].payload["message"] == "An error occurred" - @pytest.mark.db_test def test_execute_when_an_exception_occurs_on_custom_event_handler_with_new_signature(self): with self.patch_hook_and_request_adapter(AirflowException("An error occurred")): @@ -231,7 +224,6 @@ def custom_event_handler(event: dict[Any, Any] | None = None, **context): assert events[0].payload["status"] == "failure" assert events[0].payload["message"] == "An error occurred" - @pytest.mark.db_test def test_execute_when_response_is_bytes(self): content = load_file_from_resources( dirname(__file__), "..", "resources", "dummy.pdf", mode="rb", encoding=None @@ -259,7 +251,6 @@ def test_execute_when_response_is_bytes(self): assert events[0].payload["type"] == "builtins.bytes" assert events[0].payload["response"] == base64_encoded_content - @pytest.mark.db_test def test_execute_with_lambda_parameter_when_response_is_bytes(self): content = load_file_from_resources( dirname(__file__), "..", "resources", "dummy.pdf", mode="rb", encoding=None From 50665617630a91cc8bd6554519af2e210dcf8d4c Mon Sep 17 00:00:00 2001 From: ihnokim Date: Tue, 24 Jun 2025 03:38:51 +0900 Subject: [PATCH 112/381] Change default executor in pod template to support executor parameter in task (#49433) --- chart/files/pod-template-file.kubernetes-helm-yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/files/pod-template-file.kubernetes-helm-yaml b/chart/files/pod-template-file.kubernetes-helm-yaml index b5c8f01fb7a7d..e62d0ea8bb7d5 100644 --- a/chart/files/pod-template-file.kubernetes-helm-yaml +++ b/chart/files/pod-template-file.kubernetes-helm-yaml @@ -95,7 +95,7 @@ spec: - envFrom: {{- include "custom_airflow_environment_from" . | default "\n []" | indent 6 }} env: - name: AIRFLOW__CORE__EXECUTOR - value: LocalExecutor + value: {{ .Values.executor | quote }} {{- if or .Values.workers.kerberosSidecar.enabled .Values.workers.kerberosInitContainer.enabled}} - name: KRB5_CONFIG value: {{ .Values.kerberos.configPath | quote }} From d95ff20af43965e3c248d48e214b5a051deca98c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 16:05:55 -0400 Subject: [PATCH 113/381] Bump the core-ui-package-updates group across 1 directory with 15 updates (#52110) --- updated-dependencies: - dependency-name: "@chakra-ui/react" dependency-version: 3.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@tanstack/react-query" dependency-version: 5.81.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: axios dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: react-hook-form dependency-version: 7.58.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@eslint/compat" dependency-version: 1.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@eslint/js" dependency-version: 9.29.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: "@stylistic/eslint-plugin" dependency-version: 5.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: "@types/react" dependency-version: 19.1.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: eslint dependency-version: 9.29.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-perfectionist dependency-version: 4.15.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: eslint-plugin-prettier dependency-version: 5.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: happy-dom dependency-version: 18.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: core-ui-package-updates - dependency-name: prettier dependency-version: 3.6.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: core-ui-package-updates - dependency-name: typescript-eslint dependency-version: 8.34.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates - dependency-name: vitest dependency-version: 3.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: core-ui-package-updates ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../auth/managers/simple/ui/package-lock.json | 1564 +++++++------- .../auth/managers/simple/ui/package.json | 30 +- .../auth/managers/simple/ui/pnpm-lock.yaml | 1904 ++++++++--------- 3 files changed, 1721 insertions(+), 1777 deletions(-) diff --git a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package-lock.json b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package-lock.json index 34694dc89ee12..1f2181114601e 100644 --- a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package-lock.json +++ b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package-lock.json @@ -8,43 +8,43 @@ "name": "simple-auth-manager-ui", "version": "0.0.0", "dependencies": { - "@chakra-ui/react": "^3.20.0", - "@tanstack/react-query": "^5.80.6", - "axios": "^1.9.0", + "@chakra-ui/react": "^3.21.0", + "@tanstack/react-query": "^5.81.2", + "axios": "^1.10.0", "next-themes": "^0.4.6", "react": "^19.1.0", "react-cookie": "^8.0.1", "react-dom": "^19.1.0", - "react-hook-form": "^7.57.0", + "react-hook-form": "^7.58.1", "react-router-dom": "^7.6.2" }, "devDependencies": { "@7nohe/openapi-react-query-codegen": "^1.6.2", - "@eslint/compat": "^1.2.9", - "@eslint/js": "^9.28.0", - "@stylistic/eslint-plugin": "^4.4.1", + "@eslint/compat": "^1.3.0", + "@eslint/js": "^9.29.0", + "@stylistic/eslint-plugin": "^5.0.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@trivago/prettier-plugin-sort-imports": "^5.2.2", - "@types/react": "^19.1.7", + "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react-swc": "^3.10.2", - "eslint": "^9.28.0", + "eslint": "^9.29.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-perfectionist": "^4.14.0", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-perfectionist": "^4.15.0", + "eslint-plugin-prettier": "^5.5.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "eslint-plugin-unicorn": "^59.0.1", - "happy-dom": "^17.6.3", - "prettier": "^3.5.3", + "happy-dom": "^18.0.1", + "prettier": "^3.6.0", "typescript": "~5.8.3", - "typescript-eslint": "^8.34.0", + "typescript-eslint": "^8.34.1", "vite": "^6.3.5", "vite-plugin-css-injected-by-js": "^3.5.2", - "vitest": "^3.2.3" + "vitest": "^3.2.4" } }, "node_modules/@7nohe/openapi-react-query-codegen": { @@ -97,69 +97,69 @@ } }, "node_modules/@ark-ui/react": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/@ark-ui/react/-/react-5.12.0.tgz", - "integrity": "sha512-UV89EqyESZoyr6rtvrbFJn/FejpswhvRVcfK44dZDU6h6UY8CxfR/6Ayvrq9UtFdD0dEawqwWrXS22l8Y05Nnw==", - "license": "MIT", - "dependencies": { - "@internationalized/date": "3.8.1", - "@zag-js/accordion": "1.15.0", - "@zag-js/anatomy": "1.15.0", - "@zag-js/angle-slider": "1.15.0", - "@zag-js/auto-resize": "1.15.0", - "@zag-js/avatar": "1.15.0", - "@zag-js/carousel": "1.15.0", - "@zag-js/checkbox": "1.15.0", - "@zag-js/clipboard": "1.15.0", - "@zag-js/collapsible": "1.15.0", - "@zag-js/collection": "1.15.0", - "@zag-js/color-picker": "1.15.0", - "@zag-js/color-utils": "1.15.0", - "@zag-js/combobox": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/date-picker": "1.15.0", - "@zag-js/date-utils": "1.15.0", - "@zag-js/dialog": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/editable": "1.15.0", - "@zag-js/file-upload": "1.15.0", - "@zag-js/file-utils": "1.15.0", - "@zag-js/floating-panel": "1.15.0", - "@zag-js/focus-trap": "1.15.0", - "@zag-js/highlight-word": "1.15.0", - "@zag-js/hover-card": "1.15.0", - "@zag-js/i18n-utils": "1.15.0", - "@zag-js/listbox": "1.15.0", - "@zag-js/menu": "1.15.0", - "@zag-js/number-input": "1.15.0", - "@zag-js/pagination": "1.15.0", - "@zag-js/password-input": "1.15.0", - "@zag-js/pin-input": "1.15.0", - "@zag-js/popover": "1.15.0", - "@zag-js/presence": "1.15.0", - "@zag-js/progress": "1.15.0", - "@zag-js/qr-code": "1.15.0", - "@zag-js/radio-group": "1.15.0", - "@zag-js/rating-group": "1.15.0", - "@zag-js/react": "1.15.0", - "@zag-js/select": "1.15.0", - "@zag-js/signature-pad": "1.15.0", - "@zag-js/slider": "1.15.0", - "@zag-js/splitter": "1.15.0", - "@zag-js/steps": "1.15.0", - "@zag-js/switch": "1.15.0", - "@zag-js/tabs": "1.15.0", - "@zag-js/tags-input": "1.15.0", - "@zag-js/time-picker": "1.15.0", - "@zag-js/timer": "1.15.0", - "@zag-js/toast": "1.15.0", - "@zag-js/toggle": "1.15.0", - "@zag-js/toggle-group": "1.15.0", - "@zag-js/tooltip": "1.15.0", - "@zag-js/tour": "1.15.0", - "@zag-js/tree-view": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@ark-ui/react/-/react-5.14.0.tgz", + "integrity": "sha512-7WWlCM3SowtF01e9NouuO4T6SYuKTM1dovR+2NZuuWTlqTBlvZ+1vPHS6BeqzXriwMLU7QUU+Y0i/TcI6/s/Sg==", + "license": "MIT", + "dependencies": { + "@internationalized/date": "3.8.2", + "@zag-js/accordion": "1.15.2", + "@zag-js/anatomy": "1.15.2", + "@zag-js/angle-slider": "1.15.2", + "@zag-js/auto-resize": "1.15.2", + "@zag-js/avatar": "1.15.2", + "@zag-js/carousel": "1.15.2", + "@zag-js/checkbox": "1.15.2", + "@zag-js/clipboard": "1.15.2", + "@zag-js/collapsible": "1.15.2", + "@zag-js/collection": "1.15.2", + "@zag-js/color-picker": "1.15.2", + "@zag-js/color-utils": "1.15.2", + "@zag-js/combobox": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/date-picker": "1.15.2", + "@zag-js/date-utils": "1.15.2", + "@zag-js/dialog": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/editable": "1.15.2", + "@zag-js/file-upload": "1.15.2", + "@zag-js/file-utils": "1.15.2", + "@zag-js/floating-panel": "1.15.2", + "@zag-js/focus-trap": "1.15.2", + "@zag-js/highlight-word": "1.15.2", + "@zag-js/hover-card": "1.15.2", + "@zag-js/i18n-utils": "1.15.2", + "@zag-js/listbox": "1.15.2", + "@zag-js/menu": "1.15.2", + "@zag-js/number-input": "1.15.2", + "@zag-js/pagination": "1.15.2", + "@zag-js/password-input": "1.15.2", + "@zag-js/pin-input": "1.15.2", + "@zag-js/popover": "1.15.2", + "@zag-js/presence": "1.15.2", + "@zag-js/progress": "1.15.2", + "@zag-js/qr-code": "1.15.2", + "@zag-js/radio-group": "1.15.2", + "@zag-js/rating-group": "1.15.2", + "@zag-js/react": "1.15.2", + "@zag-js/select": "1.15.2", + "@zag-js/signature-pad": "1.15.2", + "@zag-js/slider": "1.15.2", + "@zag-js/splitter": "1.15.2", + "@zag-js/steps": "1.15.2", + "@zag-js/switch": "1.15.2", + "@zag-js/tabs": "1.15.2", + "@zag-js/tags-input": "1.15.2", + "@zag-js/time-picker": "1.15.2", + "@zag-js/timer": "1.15.2", + "@zag-js/toast": "1.15.2", + "@zag-js/toggle": "1.15.2", + "@zag-js/toggle-group": "1.15.2", + "@zag-js/tooltip": "1.15.2", + "@zag-js/tour": "1.15.2", + "@zag-js/tree-view": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" }, "peerDependencies": { "react": ">=18.0.0", @@ -300,12 +300,12 @@ } }, "node_modules/@chakra-ui/react": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-3.20.0.tgz", - "integrity": "sha512-zHYQAUqrT2pZZ/Xi+sskRC/An9q4ZelLPJkFHdobftTYkcFo1FtkMbBO0AEBZhb/6mZGyfw3JLflSawkuR++uQ==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-3.21.0.tgz", + "integrity": "sha512-Ajw6GuUhfNhMagTM9cO1Lg/w/HSQUwsv55j2QvvvPw/dk01wHiGi1aihfuCLpa6QY4ElLNs6SS3f78xI9Fwo6A==", "license": "MIT", "dependencies": { - "@ark-ui/react": "5.12.0", + "@ark-ui/react": "5.14.0", "@emotion/is-prop-valid": "1.3.1", "@emotion/serialize": "1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "1.2.0", @@ -902,9 +902,9 @@ } }, "node_modules/@eslint/compat": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.9.tgz", - "integrity": "sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.0.tgz", + "integrity": "sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -920,9 +920,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", + "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -995,9 +995,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.28.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.28.0.tgz", - "integrity": "sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==", + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", + "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", "dev": true, "license": "MIT", "engines": { @@ -1141,18 +1141,18 @@ } }, "node_modules/@internationalized/date": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.1.tgz", - "integrity": "sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/number": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.2.tgz", - "integrity": "sha512-E5QTOlMg9wo5OrKdHD6edo1JJlIoOsylh0+mbf0evi1tHJwMZfJSaBpGtnJV9N7w3jeiioox9EG/EWRWPh82vg==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.3.tgz", + "integrity": "sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==", "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" @@ -1577,15 +1577,16 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.4.1.tgz", - "integrity": "sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.0.0.tgz", + "integrity": "sha512-nVV2FSzeTJ3oFKw+3t9gQYQcrgbopgCASSY27QOtkhEGgSfdQQjDmzZd41NeT1myQ8Wc6l+pZllST9qIu4NKzg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.32.1", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/types": "^8.34.1", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "estraverse": "^5.3.0", "picomatch": "^4.0.2" }, @@ -1845,9 +1846,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.80.6", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.80.6.tgz", - "integrity": "sha512-nl7YxT/TAU+VTf+e2zTkObGTyY8YZBMnbgeA1ee66lIVqzKlYursAII6z5t0e6rXgwUMJSV4dshBTNacNpZHbQ==", + "version": "5.81.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.81.2.tgz", + "integrity": "sha512-QLYkPdrudoMATDFa3MiLEwRhNnAlzHWDf0LKaXUqJd0/+QxN8uTPi7bahRlxoAyH0UbLMBdeDbYzWALj7THOtw==", "license": "MIT", "funding": { "type": "github", @@ -1855,12 +1856,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.80.6", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.80.6.tgz", - "integrity": "sha512-izX+5CnkpON3NQGcEm3/d7LfFQNo9ZpFtX2QsINgCYK9LT2VCIdi8D3bMaMSNhrAJCznRoAkFic76uvLroALBw==", + "version": "5.81.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.81.2.tgz", + "integrity": "sha512-pe8kFlTrL2zFLlcAj2kZk9UaYYHDk9/1hg9EBaoO3cxDhOZf1FRGJeziSXKrVZyxIfs7b3aoOj/bw7Lie0mDUg==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.80.6" + "@tanstack/query-core": "5.81.2" }, "funding": { "type": "github", @@ -2094,6 +2095,16 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/@types/node": { + "version": "20.19.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.1.tgz", + "integrity": "sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", @@ -2101,9 +2112,9 @@ "peer": true }, "node_modules/@types/react": { - "version": "19.1.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.7.tgz", - "integrity": "sha512-BnsPLV43ddr05N71gaGzyZ5hzkCmGwhMvYc8zmvI8Ci1bRkkDSzDDVfAXfN2tk748OwI7ediiPX6PfT9p0QGVg==", + "version": "19.1.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", + "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", "license": "MIT", "dependencies": { "csstype": "^3.0.2" @@ -2119,18 +2130,25 @@ "@types/react": "^19.0.0" } }, + "node_modules/@types/whatwg-mimetype": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz", + "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz", - "integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz", + "integrity": "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.34.0", - "@typescript-eslint/type-utils": "8.34.0", - "@typescript-eslint/utils": "8.34.0", - "@typescript-eslint/visitor-keys": "8.34.0", + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/type-utils": "8.34.1", + "@typescript-eslint/utils": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -2144,7 +2162,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.34.0", + "@typescript-eslint/parser": "^8.34.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } @@ -2160,16 +2178,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz", - "integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz", + "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.34.0", - "@typescript-eslint/types": "8.34.0", - "@typescript-eslint/typescript-estree": "8.34.0", - "@typescript-eslint/visitor-keys": "8.34.0", + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/typescript-estree": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", "debug": "^4.3.4" }, "engines": { @@ -2185,14 +2203,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz", - "integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.1.tgz", + "integrity": "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.34.0", - "@typescript-eslint/types": "^8.34.0", + "@typescript-eslint/tsconfig-utils": "^8.34.1", + "@typescript-eslint/types": "^8.34.1", "debug": "^4.3.4" }, "engines": { @@ -2207,14 +2225,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz", - "integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz", + "integrity": "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.34.0", - "@typescript-eslint/visitor-keys": "8.34.0" + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2225,9 +2243,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz", - "integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz", + "integrity": "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==", "dev": true, "license": "MIT", "engines": { @@ -2242,14 +2260,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz", - "integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz", + "integrity": "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.34.0", - "@typescript-eslint/utils": "8.34.0", + "@typescript-eslint/typescript-estree": "8.34.1", + "@typescript-eslint/utils": "8.34.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -2266,9 +2284,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz", - "integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz", + "integrity": "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==", "dev": true, "license": "MIT", "engines": { @@ -2280,16 +2298,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz", - "integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz", + "integrity": "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.34.0", - "@typescript-eslint/tsconfig-utils": "8.34.0", - "@typescript-eslint/types": "8.34.0", - "@typescript-eslint/visitor-keys": "8.34.0", + "@typescript-eslint/project-service": "8.34.1", + "@typescript-eslint/tsconfig-utils": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/visitor-keys": "8.34.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2309,9 +2327,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2335,16 +2353,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz", - "integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.1.tgz", + "integrity": "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.34.0", - "@typescript-eslint/types": "8.34.0", - "@typescript-eslint/typescript-estree": "8.34.0" + "@typescript-eslint/scope-manager": "8.34.1", + "@typescript-eslint/types": "8.34.1", + "@typescript-eslint/typescript-estree": "8.34.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2359,14 +2377,14 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz", - "integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz", + "integrity": "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.34.0", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.34.1", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2391,15 +2409,15 @@ } }, "node_modules/@vitest/expect": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.3.tgz", - "integrity": "sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.3", - "@vitest/utils": "3.2.3", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -2408,13 +2426,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.3.tgz", - "integrity": "sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.2.3", + "@vitest/spy": "3.2.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -2435,9 +2453,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz", - "integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", "dependencies": { @@ -2448,13 +2466,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.3.tgz", - "integrity": "sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.2.3", + "@vitest/utils": "3.2.4", "pathe": "^2.0.3", "strip-literal": "^3.0.0" }, @@ -2470,13 +2488,13 @@ "license": "MIT" }, "node_modules/@vitest/snapshot": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz", - "integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.2.3", + "@vitest/pretty-format": "3.2.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -2492,9 +2510,9 @@ "license": "MIT" }, "node_modules/@vitest/spy": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.3.tgz", - "integrity": "sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { @@ -2505,14 +2523,14 @@ } }, "node_modules/@vitest/utils": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.3.tgz", - "integrity": "sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.2.3", - "loupe": "^3.1.3", + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", "tinyrainbow": "^2.0.0" }, "funding": { @@ -2520,555 +2538,555 @@ } }, "node_modules/@zag-js/accordion": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/accordion/-/accordion-1.15.0.tgz", - "integrity": "sha512-EKNeuKx+lOQ/deCe/ApCjVPxpxpDwT2NXvMPL+YvqXmSv7hAnTLs9fDKjbDUQUMmsyx32BsBd8t6d17DL3rPXg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/accordion/-/accordion-1.15.2.tgz", + "integrity": "sha512-4ooxmmnEDeRLPLOCsrQeLHcTj+xTqBHm6pYEdho/pb67lHujAUSnbfEryorBSfvJEWdiUTYts96EfsLfbn5SYA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/anatomy": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/anatomy/-/anatomy-1.15.0.tgz", - "integrity": "sha512-r0l5I7mSsF35HdwXm22TppNhfVftFuqvKfHvTUw+wQZhni4eUL93HypJD0Fl7mDhtP5zfVGfBwR048OzD0+tCw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/anatomy/-/anatomy-1.15.2.tgz", + "integrity": "sha512-GiWZk+fqO/W15FIRVhUL237xZmYMm/gcrp8b4VJGLpZE4qaQaBd4kSYObhIl/7AnLC45VjKbV7c8fLxZKd/5kA==", "license": "MIT" }, "node_modules/@zag-js/angle-slider": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/angle-slider/-/angle-slider-1.15.0.tgz", - "integrity": "sha512-xIZBa9V6d05uK7+XQVhfdsThqbZKimSYVxtMOWJfG0sKn63N9VGPxL1OtOMq7FA4IP3SyvlelsGt+3t82TUiyA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/angle-slider/-/angle-slider-1.15.2.tgz", + "integrity": "sha512-ItcDlKHJbPFfPGmmiCGcWcd0Y8xC+WH5Dji7+uzBl40L9hh8si7/FrY9EB2cX/qUTDppNyicLPIDnZRGkByTOA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/rect-utils": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/rect-utils": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/aria-hidden": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/aria-hidden/-/aria-hidden-1.15.0.tgz", - "integrity": "sha512-3ogglAasycekTHI34ph16mqwM+VtHCOMtrFHWzPwB16itV5oDEeeMNdQXenHSSyQ/07nJ2QsRGFFjGhPm1kWNg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/aria-hidden/-/aria-hidden-1.15.2.tgz", + "integrity": "sha512-Uwt86QpEaI4qLFS/k4C7rwIfyiH8EdE5a4AWiQ26WsL8VOpjROn65rBEOJ8q3fG5CJXbdcqaYK3lg4ldqf9irQ==", "license": "MIT" }, "node_modules/@zag-js/auto-resize": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/auto-resize/-/auto-resize-1.15.0.tgz", - "integrity": "sha512-EXgrsU7OWxc7obSOt8Okh0144H8DQi1S84OsOUY04Uni11Dnp5/X8+t6mvBbkw4/Qyz5UBjChjocwBcO+HHV8w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/auto-resize/-/auto-resize-1.15.2.tgz", + "integrity": "sha512-Mg3IN3eIP2wKBFRm5qti/rjKpTj7sfIVNfO9BgWdHDSzli1VwaBX7GaOE3nGc1tZ2nJ8n0SWRvRSzr3b57cwKw==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/avatar": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/avatar/-/avatar-1.15.0.tgz", - "integrity": "sha512-EHGxzXb1mLf3n6x0z/rqFl1mghDB/gyfPAeaFUoA/cacmmMk8YB3aDUXkS9pTgN9stYJBM5f6T4xB1ZUhrP8tg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/avatar/-/avatar-1.15.2.tgz", + "integrity": "sha512-4aG2ETJbdMTALyXwU/DeGfjs/dM0Kllje+t5ov52fQrtkY123JdrvKQkcvsc7Luph1kdN1tC1/2fe/pDMhycCg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/carousel": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/carousel/-/carousel-1.15.0.tgz", - "integrity": "sha512-ZI9H34f2utdJ2Ek6GZa+iuRH4eC99GHD/VEOKLdGani8uadpT2v8M5kUwPGrlAJq9SiPbQ2UuXBmCkmurPQqdA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/carousel/-/carousel-1.15.2.tgz", + "integrity": "sha512-7bcyEtWIhv7kw+V4H+Fv5rE8I8lf0LQOj+m3HTYzWo+wiLybFfI8/bg1qywjSYKsgZr3gmGVCEZhfx3BSpP3eA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/scroll-snap": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/scroll-snap": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/checkbox": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/checkbox/-/checkbox-1.15.0.tgz", - "integrity": "sha512-6lQvPQNJXt7R0xxdpOuh2qtmAkzdBdqSvFIH7fE6GJzJ/AWiRZh0X+9deLQ76CN4EDUdxizEe7MlQfTI3a56aw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/checkbox/-/checkbox-1.15.2.tgz", + "integrity": "sha512-Ay/+rpKbxL4jE1pwVw52h0t79PpiifA6QlYnV4E+hWl1yJBkMRIi76Ryhqvqp4yY+2Wyr9OfDA9eHmQjapG4VA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-visible": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-visible": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/clipboard": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/clipboard/-/clipboard-1.15.0.tgz", - "integrity": "sha512-Q3kh0fHvOEAJUywQm3zAWyltrYyiI8OpeZQ18k5Mf3/M+bq3gSphZL0+AYsgGbKUg5O2+hJ1SfiErAjyhRtBQA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/clipboard/-/clipboard-1.15.2.tgz", + "integrity": "sha512-EE5OlsIYbBklo62qu3A7GiUnsgmoGaoDZvhpYvpNM8StWNeRREcJZXRIizv4aFC46e5eODzSNcebnMLYa8Wcgw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/collapsible": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/collapsible/-/collapsible-1.15.0.tgz", - "integrity": "sha512-GX0kdMlKk4Yk5k/2wN0prudf21k+TfArGr4EHqimTDR0vQE3dSdb3pYyPjw20fLzceKHBBCLsoi2v+YnS75gHA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/collapsible/-/collapsible-1.15.2.tgz", + "integrity": "sha512-vvUXQMFgwsZJphE4Ml5ap4FVhtyLOqK2QXPbt2+F8X8SRwJ3/pqsSsLFdH+ALpNoCK6WF9j+8FZ4lyidr7XPDw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/collection": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/collection/-/collection-1.15.0.tgz", - "integrity": "sha512-oC3i6c/oP/FuNPsfgoC1reSXbAvDBGXl0HU3CcvXiNLHbjg2ek8J7kbow6MNuXK6chiksiOHbzKxHl2Oo0Ox7A==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/collection/-/collection-1.15.2.tgz", + "integrity": "sha512-bJ9EtZ1Cpjh/rQFDMPTPrky/eSfaLpHWmMnk/S9b7wi+OhC0Hoqw38lcWzfc0AaE4bJsfru9/FLIsCDOLf7TSg==", "license": "MIT", "dependencies": { - "@zag-js/utils": "1.15.0" + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/color-picker": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/color-picker/-/color-picker-1.15.0.tgz", - "integrity": "sha512-DGujS24h1OWkYL+TWyd+xukOO8NBgcSfFCINffa4ivkHtNx3nC28qkwLPRASbl7AK69pbrcuO6bx1Sy/JQJw0Q==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/color-picker/-/color-picker-1.15.2.tgz", + "integrity": "sha512-UOYHECq+X6hSrgSxwBt5O4Y6f2IdOGMhe7P/LFev7Yn0x1F9fMxJZCIzvQGaQ2V/hR0eTatiKk5SmOp9+dJA/g==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/color-utils": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/color-utils": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/color-utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/color-utils/-/color-utils-1.15.0.tgz", - "integrity": "sha512-SKo+p5Fu0TBtdDua8UHVjptOkwLLBFoD499Z1FER/gr0R/97L03Kdir0YTxvKn5pXWXYY1EQn4hpTuTITN16lQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/color-utils/-/color-utils-1.15.2.tgz", + "integrity": "sha512-c167QcxiVHgFZ7ca0PSQZ7skhbBOd6u1lIyWYzkZ2uPf0yJndqP9gFYPMbwK6d4WIM9k6y6mLdsWCGpqIJJsIg==", "license": "MIT", "dependencies": { - "@zag-js/utils": "1.15.0" + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/combobox": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/combobox/-/combobox-1.15.0.tgz", - "integrity": "sha512-HBck3wcEeIOa7IQMsUkUKbm9cAU7bjoklIyq2zFGn90k7DcDa++oXK9Z2pmcd4TPoBYiyVuuXucaCcjmLX8V/Q==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/combobox/-/combobox-1.15.2.tgz", + "integrity": "sha512-lZXW99NLnRfLLY1ZOE0oqo4wMDglkUjKV1UZaHyj+yqXsiMtWhKQFQW/JeVBRDe6RCv8wWPPHMycNANMw581gQ==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/aria-hidden": "1.15.0", - "@zag-js/collection": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/aria-hidden": "1.15.2", + "@zag-js/collection": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/core": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/core/-/core-1.15.0.tgz", - "integrity": "sha512-P/8F3IXabMhpFnc6hC7GDg3rvUnvY27cuZU04hxjUqTH6+SfORIA/Uvqd4ekhC+dIprL9jicnFrmGgcyelyxfQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/core/-/core-1.15.2.tgz", + "integrity": "sha512-yUnh4I0nZ8rlszWgF402F5vGoYw7DNwStYz2TAO+4E08BpKBATw3FEdqAHPm+2xZm5qPqnPbM4iObwUlkBQUEw==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/dom-query": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/date-picker": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/date-picker/-/date-picker-1.15.0.tgz", - "integrity": "sha512-IZD0V9MAljp1QhxYbST80AonryuDnyx7hvEy/RrBY/VOx6I4STtKfcSJ5ZZgVIzJfH8Yyaed4+IwcenqG7W5YQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/date-picker/-/date-picker-1.15.2.tgz", + "integrity": "sha512-KElAFm3fW4GKGUNUe+jqqUX+P1H+Cigp/eGRgIl0dUjCwHocD1oN0ZCwNYmf7SJoWSgPRc1UJdA4XvpdU0IwPQ==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/date-utils": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/live-region": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/date-utils": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/live-region": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" }, "peerDependencies": { "@internationalized/date": ">=3.0.0" } }, "node_modules/@zag-js/date-utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/date-utils/-/date-utils-1.15.0.tgz", - "integrity": "sha512-FX9EesJRnUTYTpbXf5EVfCbsXW5vYtZfc635aQzojc9ekk1FGcHpqQs8ZKfCOTPuauZFOX9i6139A4KoPfQOiw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/date-utils/-/date-utils-1.15.2.tgz", + "integrity": "sha512-U+HtfdtHJ5ed2ys8izMhu8gY5jQigCd8ExPN5Cxg5CoIbSkho9NT8o/eO9OW71jc2F4kwBh+q0reyxxLJnTSbw==", "license": "MIT", "peerDependencies": { "@internationalized/date": ">=3.0.0" } }, "node_modules/@zag-js/dialog": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/dialog/-/dialog-1.15.0.tgz", - "integrity": "sha512-Vlt5vySs4u8c8xBEh2JMUvRfPc+aaVEIIUtFVxpc2ORWhBXs9glijyp1yf3rNHJhjj8gqqhF5sEvs3yUTTAk+Q==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/dialog/-/dialog-1.15.2.tgz", + "integrity": "sha512-LUF+tiiUJj7v24txhC0TOwEgsfj1GCogAmBaiJKxvqrDEDv1B91J0b6SUQ5TuTMLW+hlBEzXZw0QsTxa9OXBew==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/aria-hidden": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-trap": "1.15.0", - "@zag-js/remove-scroll": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/aria-hidden": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-trap": "1.15.2", + "@zag-js/remove-scroll": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/dismissable": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-1.15.0.tgz", - "integrity": "sha512-yv575KWy8gA1p4aajOiY5l/nBQ3Xw+Mrjpungp1+wiGd/98eNAIKJ6/adldfbE1Ygd/Q4Dx2VQ7D1AmiTdwUSw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-1.15.2.tgz", + "integrity": "sha512-+WY8a1L+L8hXPGmWKqOsSg2KCHabVWXEX8mewHamltpSb86+2WMmblpLNgTwbm6V0T6txf1N8lFuzWMojMEWSg==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0", - "@zag-js/interact-outside": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/dom-query": "1.15.2", + "@zag-js/interact-outside": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/dom-query": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-1.15.0.tgz", - "integrity": "sha512-z8H/j/Zs0eZEsGpbonScmlKSv0jEXKiAwUCrvQ9Mt6Gz9n0CQRM3MkFclSsM8aeiSv6qKLlhPfkzjl18OLkbgA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-1.15.2.tgz", + "integrity": "sha512-+r9Xj6hiQj9b2ZNkT3E/bDaXgigoAkhtikDXov9duAY14pFFJxazXr0NcVgacik8ytAEt6XOOshLcAftyalRKg==", "license": "MIT", "dependencies": { - "@zag-js/types": "1.15.0" + "@zag-js/types": "1.15.2" } }, "node_modules/@zag-js/editable": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/editable/-/editable-1.15.0.tgz", - "integrity": "sha512-F14HKZuDsfkpfIkaF/ZDYPkz/pFf6VHrvoV0rdhj8wb8QJQ4nB+lgBv2APSwkEaFb/gGrnE19v3Ojlt5tqpPsw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/editable/-/editable-1.15.2.tgz", + "integrity": "sha512-32v7DXDBnDX1CiFpGRh9uclu48UJQJT2QZPQ0Bys3ZOFgMxsWH6tCKDb7iQTcINIc/XIx/9nclWnV5egzimG9w==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/interact-outside": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/interact-outside": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/file-upload": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/file-upload/-/file-upload-1.15.0.tgz", - "integrity": "sha512-2hAlQr9qdT8EH4XnmkNkEIDCCsmp2SMoMAjq6nJKYO8UJNQGRanU2B5S8jV3quJBz0vIY43SwyvqiZ3+1VrJSg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/file-upload/-/file-upload-1.15.2.tgz", + "integrity": "sha512-Zgac/da5QrUlE0ItlNy1kyMXfTy4ynTWnq4aZ4wZ9eVHUFQhLXERv8l+hYJetImISnuclmNVxNKP8Xk+5t4+tA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/file-utils": "1.15.0", - "@zag-js/i18n-utils": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/file-utils": "1.15.2", + "@zag-js/i18n-utils": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/file-utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/file-utils/-/file-utils-1.15.0.tgz", - "integrity": "sha512-tahJt3JmrXaOtGiknH5PxIiOyyNvroMfjiBqOqnNksIPzDoWmVNxHOEme/ts7dJlkRD8U2qm2NFC2VS0bKerzg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/file-utils/-/file-utils-1.15.2.tgz", + "integrity": "sha512-aNUEBJUeK6G3pyf+zYnIMg0GgJnInddjGRedFeTnfK1UmlSO8wTbxQTCvjWd4Nnr5eCTpQkRq6wTZy8JeIcOpw==", "license": "MIT", "dependencies": { - "@zag-js/i18n-utils": "1.15.0" + "@zag-js/i18n-utils": "1.15.2" } }, "node_modules/@zag-js/floating-panel": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/floating-panel/-/floating-panel-1.15.0.tgz", - "integrity": "sha512-AYYFseA1MeQUZl+zjNoKUu4j0kwz8EyJd4oJjs8uJIR6KG8u8QhpWYIBUny63M6AtZTCSYQAgBEcEh+mrbEyyQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/floating-panel/-/floating-panel-1.15.2.tgz", + "integrity": "sha512-8oG2MRXWWeXws7iVDmJFBqHLHYOGLvYe+vgXI3vgnLhmS4SeX9qAJj6qIOar7htOmEtp1p/KiBo2w2MYtzjuAw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/rect-utils": "1.15.0", - "@zag-js/store": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/rect-utils": "1.15.2", + "@zag-js/store": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/focus-trap": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/focus-trap/-/focus-trap-1.15.0.tgz", - "integrity": "sha512-N8m/JpNe1gHUPJlr0hyGUdHg6pAuyJKkBaX0s38cyVntlo2CJhyAWZGuUdocpT2Q3HNPql666FNnH986rYPDKQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/focus-trap/-/focus-trap-1.15.2.tgz", + "integrity": "sha512-5EU5/Cg80oNO3z83A/33t9SOVYvLqLOuSPxt/7Xzy/L1Vj3vUj+s1ox6IpECmEFJcuql7X5yt6VIVitrLtgbFA==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/focus-visible": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-1.15.0.tgz", - "integrity": "sha512-TPXBf47tj6L0hhZNl9AWhuLoVzfPaNPM+/Gw8t9l9Whvy6v9rk/rqUCidY5LsrQuPiKTi7s5WI5J+Wod8ib3gw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-1.15.2.tgz", + "integrity": "sha512-zElE5T41p5QaB4856xK2SeERmHrKbA/UMzoyHzrAk/N1r6dNiMOOx1hMyHy7y6pEhC9kjJFwEpXi1QEel6/ELA==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/highlight-word": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/highlight-word/-/highlight-word-1.15.0.tgz", - "integrity": "sha512-Rwr/rRm8BaF2xW9BAEJeA2wpFVx6HzoezfYQX7GFPPgw3N8nBMAYNjx+i1YIwIEcNyad2rbaBB+pSd2fZLIniA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/highlight-word/-/highlight-word-1.15.2.tgz", + "integrity": "sha512-2a49h4k0ISIDydaZZDdASEHJpwxJeuZHSPCE7cM3/BWCR3H5galeC/jbNWRlTJVH4OQTYAR0I2wILQvOWLhSrw==", "license": "MIT" }, "node_modules/@zag-js/hover-card": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/hover-card/-/hover-card-1.15.0.tgz", - "integrity": "sha512-j6BsE+metdnv/C/Ls0TZzAMN78rtS2r8M1ccHY5FFTGyUvZnlE8BY/QPNyCSSSCUpynymzMYh3IMYlxbJgfpSQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/hover-card/-/hover-card-1.15.2.tgz", + "integrity": "sha512-FfNmhow8MPMp5RgTeC87x4EStFw+d1137w4QZ+fC5PystRzxGeiyDJyLRYGVeIQO2oP463az70vnxsbFAMu98A==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/i18n-utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/i18n-utils/-/i18n-utils-1.15.0.tgz", - "integrity": "sha512-anxSbT8kLbJaFJFSb0Ork2j/Lp+XVfMNCIgiBR2BuqUlfX72k23TIJvRxAfwNIkUfs0L8ikaSgLss9OwS4mAnw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/i18n-utils/-/i18n-utils-1.15.2.tgz", + "integrity": "sha512-1RnqCaxe+l4UR1O3fhn04T+J62yw/SkCByhrhrPSis/H7a65nW0WsoWiJTIgWp/hN9HI2Y3dVFfMEwQUFFHG1g==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/interact-outside": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-1.15.0.tgz", - "integrity": "sha512-OwBf/iesQGU9Oq3xe/tcK7gu7xipiGWsmwl2CcScr0fTp3BIMbQywHS928IgPk1DxA8KTHodY8wBjoY1dskfRA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-1.15.2.tgz", + "integrity": "sha512-WbCICcMJHL6yS8vaou0FvKV6shl1Z+CefF7yzn5MEshPLbmy33WGQ2KBzodTkIQFM/C/zdVz5xKl8TbQmi7jUg==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/dom-query": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/listbox": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/listbox/-/listbox-1.15.0.tgz", - "integrity": "sha512-Gcg76uWZwUAyMFZzGWpHnFCU/aaquNbXmVnyzzBgE3Co2snkv02rK1yG9iBwemZe3e5+VBifMMAtLLPAQJdz+g==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/listbox/-/listbox-1.15.2.tgz", + "integrity": "sha512-V6Zbi8HTiyhsV4GhFaiFYL2bJo4lOt24/SA9M/T5D7ZH+bTm3itPUxYddIBi9w6yRTU0gsorosD2GyFkHjchvg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/collection": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-visible": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/collection": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-visible": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/live-region": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/live-region/-/live-region-1.15.0.tgz", - "integrity": "sha512-Xy1PqLZD9AKzKuTKCMo9miL1Xizk/N8qFvj64iybBKUYnKr89/af3w7hRFqd2BDX+q3zrNxPp9rZ6L7MlOc7kA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/live-region/-/live-region-1.15.2.tgz", + "integrity": "sha512-dIrfDlKyNz99CQVeHu9RHe/x+yTBm3wFA7H655DXL7CugO9tpTlynkrTG9AB+0Z84JKZTeHh0vGVa2chTWKrNg==", "license": "MIT" }, "node_modules/@zag-js/menu": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/menu/-/menu-1.15.0.tgz", - "integrity": "sha512-GbEBVYu0w7+88xrGX2GrjXfnwWuX5jLhoLiEcuxvxJQal/nahKrH4AGXJvHXNaRbj+53V3nWAh3u70C9210PWw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/menu/-/menu-1.15.2.tgz", + "integrity": "sha512-54dGUChMLyTrkCGbKGh0R8l/cg0vPFnGZwMG96zYJhkmXdpDMECZgBrN3j7B6RtEIvlAR8fMH5Sya58Amb3lGg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/rect-utils": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/rect-utils": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/number-input": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/number-input/-/number-input-1.15.0.tgz", - "integrity": "sha512-+kK8kyXJhIAbEUnswoMDR+DSJUmvDNIOW0ffuZ9pbfukN3p6zaA3/dCp2Dtg3bQS7hGrFWgtrdejJ8l+mVvUAA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/number-input/-/number-input-1.15.2.tgz", + "integrity": "sha512-qtDAVUdMXBhufBSwAgi8MXm7zHb36ujfWmxCJg6HbjKVF0BEAxeoye5VexgyYul7Hp8+Rr9LkW8X35W4amjJEQ==", "license": "MIT", "dependencies": { - "@internationalized/number": "3.6.2", - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@internationalized/number": "3.6.3", + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/pagination": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/pagination/-/pagination-1.15.0.tgz", - "integrity": "sha512-Z62Q41fQPWqk59QyJk+9J0Ad3H9DCqZ0zZutI6iH8DdzT0A0xxmT6zhup6DM/8C8h0OLlaHFTWQnj0RdRNrnXg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/pagination/-/pagination-1.15.2.tgz", + "integrity": "sha512-k1jT7UWDwgkYVsf83TTUhks6iZ7aQpcEjQ+iWI2LbZu98+bVhX9hpHfxdWbvTbueGk6WjB2xa1X0tsktII1mmQ==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/password-input": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/password-input/-/password-input-1.15.0.tgz", - "integrity": "sha512-oHuZKDRJIbycqWpTVznufy4L7K2g8kwcEaZ4runkwO2ocF00zP8HVmOZQzmhkUgTny0azErQydg8XE0VR5OfYg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/password-input/-/password-input-1.15.2.tgz", + "integrity": "sha512-9BpQ26Z9XoCiNAHOmx3zwa+62+C6358/az0h3N24P4qS1EdTVWkhG1tsyPhRElg4v1koavZ40RMUppJQBH+DmA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/pin-input": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/pin-input/-/pin-input-1.15.0.tgz", - "integrity": "sha512-IykjogZBG+BfbFXymSa+KGpOi5CrV9kl8HRm6G2V2Sr3NA5jEwMFaGSd/QrcHS9vh23D1Smx/io4pvF7c3q0kg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/pin-input/-/pin-input-1.15.2.tgz", + "integrity": "sha512-1KjGGmyldtEb4RwwdBTKzbgAwpNT6CyY274LvQC8lTCEUYOBkUmS9OUaKUbwkoluCdmXrugpg/XMulisRmMtgg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/popover": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/popover/-/popover-1.15.0.tgz", - "integrity": "sha512-cdzEed3zcGbjSgPQnQnrsuXo2hVVslmSNwQbU5dHcNzG1uxxmtPCIMVeBUmGyJbAFF5XQpKCq/7mIr26dT73vw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/popover/-/popover-1.15.2.tgz", + "integrity": "sha512-6cD4eTwwj/bkTCDWVk0dMFqg01iD7qJofRSU3da7nde1Y0TMz8gBlt++GASgCF4p/hPeGLD18GcIF8FKka9IlA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/aria-hidden": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-trap": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/remove-scroll": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/aria-hidden": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-trap": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/remove-scroll": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/popper": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/popper/-/popper-1.15.0.tgz", - "integrity": "sha512-Ra/0Ko423KN+8D4+mIFFkeTn9uaHfpxn6UUNIWwZKoiJQvED8DH4dPbLbmvGEoKp6qmisnRHAzi71NLgEhk0Mw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/popper/-/popper-1.15.2.tgz", + "integrity": "sha512-5uaFW9IU8bj3NdEiyuSp2eVJaPvWoA6/q7Fh423Va8booMYW4k1KFmz2BSxQ3JfK5lt3vPI0X2026gSxTx/vmg==", "license": "MIT", "dependencies": { "@floating-ui/dom": "1.7.1", - "@zag-js/dom-query": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/dom-query": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/presence": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/presence/-/presence-1.15.0.tgz", - "integrity": "sha512-hoxXis50pm79PpkY2kA1wdhh4AEo7t7pBv0VsQYZYjmzuFh4V5IMw9oa1EOfBlC6f/A+EMZ9E+xg+EVsB68a8w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/presence/-/presence-1.15.2.tgz", + "integrity": "sha512-cNPJz3qeXdoYFEefxFixZoMDFzqfHsLgmi2ynmRrFlyHzHtFdvKjvS5ywo9YFGNgwKrEddS43n8gl3w3lgqBCA==", "license": "MIT", "dependencies": { - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0" + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2" } }, "node_modules/@zag-js/progress": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/progress/-/progress-1.15.0.tgz", - "integrity": "sha512-/Mz26GR2rOAuoErNOiSGRpvwckTmbCD5nWGDE/aYlVRID13HcsmN15Zk2Jfa4LadqK88aIN8Iy0Sk4elG0+Efw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/progress/-/progress-1.15.2.tgz", + "integrity": "sha512-VPunnrTYiJaHnnCKuh2ZARCnzgTtxYIiNKiUVPWlygsWy2AGg1K3AvVswF2CVfGpwbO4ioyBQO65EZkQiMN/Aw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/qr-code": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/qr-code/-/qr-code-1.15.0.tgz", - "integrity": "sha512-GkGy5k5tk6DIui9lGjDO8+e8TsSVOxEGp1lblPiaRm1ggIh10GhIfCQWGe/x78ezdie8WzxlSrma89suTpaiAQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/qr-code/-/qr-code-1.15.2.tgz", + "integrity": "sha512-hFtwGGArxVJo7osbY3R73BHIX3Ldb8G4gtNDZ2fGcKAcp+SQg5GXUIBK17ncxJrOC7A1Wp7sdOoYNNOPWe2fYA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0", + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2", "proxy-memoize": "3.0.1", "uqr": "0.1.2" } }, "node_modules/@zag-js/radio-group": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/radio-group/-/radio-group-1.15.0.tgz", - "integrity": "sha512-+KTebHUtMsE/YDyGE8wF5VnWfZQp+f2WoAwwzBjfhPpRxXbOUMDo0pZEEr3yxkSvQ9hgCcBhMKH8pEk0SPxvjQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/radio-group/-/radio-group-1.15.2.tgz", + "integrity": "sha512-+V9Y4EZuNITMbA9iJisysqWW+JB3YdlFF6dAomvXN8nuOuj8HE02JHndIeMflDtW6Tz99JcJLS7lNXN7G5uEuw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-visible": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-visible": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/rating-group": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/rating-group/-/rating-group-1.15.0.tgz", - "integrity": "sha512-omGKN97FhplFwBX9J/Mj7BCZuwFXSXssSVTKU7Yp2d1Cmxhez4+Ju7KdSRNnIoWB4OxFCxwZyaAPTcg3E0Pjrg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/rating-group/-/rating-group-1.15.2.tgz", + "integrity": "sha512-g7F9NyB1MF6ydE9aEr9zLPXGKXZIH2ZsUBXEQ9u6apUhnchhCSHDw6xHVXI1hYGrJHnpf2xMw3Xu1opJge1DQg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/react": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/react/-/react-1.15.0.tgz", - "integrity": "sha512-YSp9QBkdeBfZt4nVhJW+CUd5sNEEVAuwkmoZWDFUoDoWSAXwzSKuHCmTm5/8DaXg1IZD2bMrXgMNDqZv2x0hZw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/react/-/react-1.15.2.tgz", + "integrity": "sha512-T5QPiLbW4DoQ32NS5+Qu9NsIXKKz0d5MOpfEdXXuc6hKZdvV+V9d7EXeHBRohs3P6jqtf8FXpXDdK2trv37YlQ==", "license": "MIT", "dependencies": { - "@zag-js/core": "1.15.0", - "@zag-js/store": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/core": "1.15.2", + "@zag-js/store": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" }, "peerDependencies": { "react": ">=18.0.0", @@ -3076,288 +3094,289 @@ } }, "node_modules/@zag-js/rect-utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/rect-utils/-/rect-utils-1.15.0.tgz", - "integrity": "sha512-sjAn78x1t3XiDG3NT8SoFfyO0u7/SEJU5RKRhMgjTPoOLXTzZj+lu2d5N4cUw0uZTfeGb/ormObSchMQVhFgYQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/rect-utils/-/rect-utils-1.15.2.tgz", + "integrity": "sha512-wPsOM4qYncwOli20MNINgl0ZwmMY11RvrgPvjcMrkJ9dVqU/YrCcXV4rIg8Zig5jxCT+mf7rWQe9aQJlNTVipA==", "license": "MIT" }, "node_modules/@zag-js/remove-scroll": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/remove-scroll/-/remove-scroll-1.15.0.tgz", - "integrity": "sha512-vdWSAdgY8wJ7s4YeaKwTMwmZiRMBxCehmdktSxBWvwtAjU1cM3UWvjmZ9E6INJrQXxH9vDpe/rpFSyv1guIQIw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/remove-scroll/-/remove-scroll-1.15.2.tgz", + "integrity": "sha512-pXVuvFcAQND+C0KAzAve02hGaI/AgEhC7RpgpyUKaUzEccEsxLi40C88j1/2HCfta6GI7nd2e0QwPZiqngUIyA==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/scroll-snap": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/scroll-snap/-/scroll-snap-1.15.0.tgz", - "integrity": "sha512-/LfBlsjoR4tVL3Djus3k9jKLhwC2ApdHTACxEc72TAewoPe4M8icnSDLXmKHvwwOhzK0HlFz8wGm6ZncAbQbuA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/scroll-snap/-/scroll-snap-1.15.2.tgz", + "integrity": "sha512-RswpsMHg0aWHsx7xqybnPm8bTL9ow17z9GhYgxSWtIi2U9wgkUHDtEJQcRNUA9PQEGyVd29B39NM0ir64HAhNQ==", "license": "MIT", "dependencies": { - "@zag-js/dom-query": "1.15.0" + "@zag-js/dom-query": "1.15.2" } }, "node_modules/@zag-js/select": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/select/-/select-1.15.0.tgz", - "integrity": "sha512-4urUBADzhrsGEO/UsqHdjsgmDdF15Zzeid3ejEbIMTrkt2/mMMcQ1CShuxtsWqm2EUBz/N1kOcZlE6Tq69n7Xg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/select/-/select-1.15.2.tgz", + "integrity": "sha512-Y07RlBIc8bVj2WklhS7tiVySZntBv9TE9sfiA8RcLU7KFFGTdS2XUoQV4fziJubUL8XFhNzEC92/bKeBLqpgDw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/collection": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/collection": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/signature-pad": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/signature-pad/-/signature-pad-1.15.0.tgz", - "integrity": "sha512-5Tj8vkrRxEkSV417oR2qdy+TRgDmS3W8dY7xsIjpbBf/kqkt/8Uo4JpaVH2vwQAFw9AwEFogBh9i6dHcXMy0rA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/signature-pad/-/signature-pad-1.15.2.tgz", + "integrity": "sha512-vw7oD7afBfGvUyotJrFl+PjPVYOYZLgQ1eVAosKj54phgKvxheBr8/ySq9vlyTkyvOMjJ8zIkkxlywuqoZzl8g==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0", + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2", "perfect-freehand": "^1.2.2" } }, "node_modules/@zag-js/slider": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/slider/-/slider-1.15.0.tgz", - "integrity": "sha512-NYIsn3GKXIoPmvkDXsQmw9wdYg3QHbYHXnZ8Ewl2fVubN7S5mDlHSZs2iDVsBvX+a4RChWFRO6JHX8E1+BncOg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/slider/-/slider-1.15.2.tgz", + "integrity": "sha512-Lcrm+h4Vx0stD0ybAqD5tA1qOnrKEfQP9ucQsPUy+fY2em19XC6raOVOhAc6ROx4X0neTI/yEc1ARJQSaxtRZw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/splitter": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/splitter/-/splitter-1.15.0.tgz", - "integrity": "sha512-Xnedl+cpnD/hv9m+GOYCK5K2xRxbs4xuP/EajYtgVcDw8E1X5cBmxHa1hCrp7BMgb2xYCvZ5et4hnmZfb+1X9g==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/splitter/-/splitter-1.15.2.tgz", + "integrity": "sha512-LIuTTPRaw3inS64f2TLcFIlwjNe9Tx9mSE4VXf7wPhYitNKmyh7MeNE59na+wDzZisVwx9yBewAPfrZtbHDGBA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/steps": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/steps/-/steps-1.15.0.tgz", - "integrity": "sha512-VoIDcDIEErZawmW2m0yTGlffqjfRuSwR37K9LdSRy8Q4Qzz3wV7jASaTjMhTya1hlreJ7tJg+Qbjqowvw9GndA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/steps/-/steps-1.15.2.tgz", + "integrity": "sha512-NnS3wYQrFWA5OXu+jnlnPpm49rGpzHCDbN2UuUcMGvbYVETKEXEO9fC1XWh7PstVuNi03E/CrZGHl5cEjf/j8w==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/store": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/store/-/store-1.15.0.tgz", - "integrity": "sha512-ecqjcy3b1GsULpsT8RVJV9KDaikajRN0XRg48HMvaGkaPIvxI6esyrE6RKnShuqr2eVXIPghgBnCnrJUev4UlA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/store/-/store-1.15.2.tgz", + "integrity": "sha512-oDJuRdu8SaGab06UycN96OgvNau1ynawDNNfQNhA7zoOIZlaJH6jP+5YaAPFila+wyjdw7svz5+4ejs8vXcjpw==", "license": "MIT", "dependencies": { "proxy-compare": "3.0.1" } }, "node_modules/@zag-js/switch": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/switch/-/switch-1.15.0.tgz", - "integrity": "sha512-2CaAUTi7jM4lJjCYoSE1HWlFPCifI5GR+hufWOCYKpanf8VA/LM+t/a2Aq5QoBsWdcQv3B9mHxF/aVTDbnCKPQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/switch/-/switch-1.15.2.tgz", + "integrity": "sha512-2aEm5HDP/ENcLvoP77CH7DQTPXIMUzVilefHlz6WT0tQxQzOw8uMhUOYYcuNmEq0FNRUOyuMEMyZnZFUYAxqvQ==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-visible": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-visible": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/tabs": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/tabs/-/tabs-1.15.0.tgz", - "integrity": "sha512-voHWpibC1TKLmbAJfixOesxrCio7wK+gdLRvh7Xh5u+3VSsT2fP2wEw3ySkJbpw3MpEE7R2OWkInbCV/SwPcsA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/tabs/-/tabs-1.15.2.tgz", + "integrity": "sha512-SJMR4K59sxvNZEIgnJfbweLzncmgxRWTBm+FamwMtP8DKQ3RETNdjrn4aA9qLUsCObapk06KT3iTeiCXzuBaFA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/tags-input": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/tags-input/-/tags-input-1.15.0.tgz", - "integrity": "sha512-CB60z+/I/Nso1gwatTO1qrk4XITxDd4qtRD+l6fuuKyOkZGgKm0AP0W+/6qUuOvtWIuY6fas3yZHFmF2eEZ9vQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/tags-input/-/tags-input-1.15.2.tgz", + "integrity": "sha512-/mAuB8emhGoo3eoIgmlT/kQE27ukRlhghgwp3OjvEen+iTpz0XIWM+S+IV3QU6U4DlhwkadQaINht/c9ln6gxQ==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/auto-resize": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/interact-outside": "1.15.0", - "@zag-js/live-region": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/auto-resize": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/interact-outside": "1.15.2", + "@zag-js/live-region": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/time-picker": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/time-picker/-/time-picker-1.15.0.tgz", - "integrity": "sha512-4S02433X88X3MW/BxaFJiWna4BIRXsAdrmDcBb0PZ8dln29DUmpD8YHcFtONsKvmCAmrbO7Gr65n86nQwK8zeg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/time-picker/-/time-picker-1.15.2.tgz", + "integrity": "sha512-Aoe9GdbrvAMP1fdOEmzCESr/dO+cGnqhCoa0UkZB5wuB4dT3S02hRGSZsHO51Eon2NpzHPG9j+/alncwOe77Tw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" }, "peerDependencies": { "@internationalized/date": ">=3.0.0" } }, "node_modules/@zag-js/timer": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/timer/-/timer-1.15.0.tgz", - "integrity": "sha512-gDsYm4C9yju7g/r5u7n7mRQ2UY7diXXVbbLFr5Ja+0iUXgbD+uoSZEt9HypVc5TL9NWEEwn5/tut36owEeW4rw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/timer/-/timer-1.15.2.tgz", + "integrity": "sha512-v8RN3cwFuNXxuDMuxxfXKCSd+Z1UT6Ct+ueU3PRZqHqXU9u4k9Mm+vROIqnNzhCCdIHNxsqUt32/2zsRRaubbw==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/toast": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/toast/-/toast-1.15.0.tgz", - "integrity": "sha512-0RupMCXyGr7/La4Zlei7VqBF0VPNJelGd7zimLboe+IKZyy4Ypi/N2IX14rl8JZQDsDEgkLUl33xrSk/9RW2nQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/toast/-/toast-1.15.2.tgz", + "integrity": "sha512-OohJvGTy+J1MpydJ4eCV36picggfF9VbDW4nK97TT+4bIIRDgW+PGYgB4dd+PvEjRrk9194Kkm93lud95yOyZg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/toggle": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/toggle/-/toggle-1.15.0.tgz", - "integrity": "sha512-mMSQ1+f1hOMp/7gLA7rTeiSNyeZxsCjRxP4XnTBY4BxJ5LswLuhem9CplBwaVthkhY1Y/5f3HHu80LBcfF+BVQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/toggle/-/toggle-1.15.2.tgz", + "integrity": "sha512-wtDeIRhDeVhaUboWQ2GrxlCC4+cLRyZzvZiN84tad7H/sUKq9hNDdROcCnIYBhEkb1Qf4sjR8KszY12YLtJx6A==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/toggle-group": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/toggle-group/-/toggle-group-1.15.0.tgz", - "integrity": "sha512-992vMz/2sriLrUKI3LpT/01kCGTbPGLgGLibiHRt562i0v9+2tV+GiY2jBctHZjJaKPrzBY3H0l8CCCvDj8gng==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/toggle-group/-/toggle-group-1.15.2.tgz", + "integrity": "sha512-JhWV0GY2NRgDhlzP73ADlG1E4NFXqv1h2q5+m3Rmos+Bi8soOV437jch/wy+M+xYN5vdZCczXJu9BumHNlknhA==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/tooltip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/tooltip/-/tooltip-1.15.0.tgz", - "integrity": "sha512-sOpVECyfdS4RZBx46mSV+RPc9C5k9JvYQYUfoOVWh0E5RLSEz5bQm5xxctKOHfCOv+vJNTfG5gP596B1r2+Fkw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/tooltip/-/tooltip-1.15.2.tgz", + "integrity": "sha512-Spw5ewga3DNaT5H4AnrtsxJ6ebRoTxy+igwojGTYUCNUoxyQn6W3UpqZpgAAfw8B236bduTRh9MW9CsaM/hnmg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-visible": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/store": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-visible": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/store": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/tour": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/tour/-/tour-1.15.0.tgz", - "integrity": "sha512-EplcxoiE0z9vI0z6675+ABclQ9Mi1YUWhDZOHx7wfjRzpfawmJoBAlNDKzK3wc801d6OxgJx69SPj7ac0BwwwA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/tour/-/tour-1.15.2.tgz", + "integrity": "sha512-OW+autOwwsVMGwcYCxdCh3Hibeeag6Sg8w02XfmX7E+T2u9a+GGdLOrH7DPM2oHTbZV0iBUqIaKxGPKgRYZNng==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dismissable": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/focus-trap": "1.15.0", - "@zag-js/interact-outside": "1.15.0", - "@zag-js/popper": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dismissable": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/focus-trap": "1.15.2", + "@zag-js/interact-outside": "1.15.2", + "@zag-js/popper": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/tree-view": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/tree-view/-/tree-view-1.15.0.tgz", - "integrity": "sha512-wqdd+hu1bDOCWtnZ8MarRFHqbZF2t8qKBM3kO42IBq7jTI/93LCkHSlceEPft9dgZ6Ea9km0YJMHhoTqCPZ/fw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/tree-view/-/tree-view-1.15.2.tgz", + "integrity": "sha512-HWDHH3rpGEz3IN5bsj8EHZnU0ttk8uJwBOnH3reYcFQEQskA8cmyzd7y9hdBEn8PzAns+iOjUBj49IVmoYpOIg==", "license": "MIT", "dependencies": { - "@zag-js/anatomy": "1.15.0", - "@zag-js/collection": "1.15.0", - "@zag-js/core": "1.15.0", - "@zag-js/dom-query": "1.15.0", - "@zag-js/types": "1.15.0", - "@zag-js/utils": "1.15.0" + "@zag-js/anatomy": "1.15.2", + "@zag-js/collection": "1.15.2", + "@zag-js/core": "1.15.2", + "@zag-js/dom-query": "1.15.2", + "@zag-js/types": "1.15.2", + "@zag-js/utils": "1.15.2" } }, "node_modules/@zag-js/types": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/types/-/types-1.15.0.tgz", - "integrity": "sha512-lV2ov2M07BlmjDUCSwBeHxPApHI3oAiLytG94AqcYvQ0BtsCRo5T60yRQ0syFc6fHf0e9+kwt89uoIgfGFYfmw==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/types/-/types-1.15.2.tgz", + "integrity": "sha512-qEHNRA/uOYQjvXzI/ie6vuOD74/p7w6MA4X1VoZEYF2/sbIQjlRn6SzpeV3RyFZBzl6WBO6RqV/XEbgpvGSb5w==", "license": "MIT", "dependencies": { "csstype": "3.1.3" } }, "node_modules/@zag-js/utils": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-1.15.0.tgz", - "integrity": "sha512-XctFny5H8C00BsougV40Yp0qVEj9M2d/NRme7B33mon9wG+3hscZwP6miJmF6BYI5Pgu6e2P0Sv45FddQU1Tkg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-1.15.2.tgz", + "integrity": "sha512-JdlyGT6yfG2ub2FftrB6BidIlvD04cSwdKYJGb/M+NJ7p7uxnZUZMxAjeBmTLhM1nWbtJPVq3oDTYz/cBBZLng==", "license": "MIT" }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3640,9 +3659,9 @@ } }, "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -4653,19 +4672,19 @@ } }, "node_modules/eslint": { - "version": "9.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.28.0.tgz", - "integrity": "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==", + "version": "9.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", + "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", + "@eslint/config-array": "^0.20.1", "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.28.0", + "@eslint/js": "9.29.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -4677,9 +4696,9 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4770,14 +4789,14 @@ } }, "node_modules/eslint-plugin-perfectionist": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-4.14.0.tgz", - "integrity": "sha512-BkhiOqzdum8vQSFgj1/q5+6UUWPMn4GELdxuX7uIsGegmAeH/+LnWsiVxgMrxalD0p68sYfMeKaHF1NfrpI/mg==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-4.15.0.tgz", + "integrity": "sha512-pC7PgoXyDnEXe14xvRUhBII8A3zRgggKqJFx2a82fjrItDs1BSI7zdZnQtM2yQvcyod6/ujmzb7ejKPx8lZTnw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "^8.33.1", - "@typescript-eslint/utils": "^8.33.1", + "@typescript-eslint/types": "^8.34.1", + "@typescript-eslint/utils": "^8.34.1", "natural-orderby": "^5.0.0" }, "engines": { @@ -4788,9 +4807,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.1.tgz", - "integrity": "sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.0.tgz", + "integrity": "sha512-8qsOYwkkGrahrgoUv76NZi23koqXOGiiEzXMrT8Q7VcYaUISR+5MorIUxfWqYXN0fN/31WbSrxCxFkVQ43wwrA==", "dev": true, "license": "MIT", "dependencies": { @@ -4980,9 +4999,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4997,9 +5016,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5037,15 +5056,15 @@ } }, "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5653,13 +5672,14 @@ } }, "node_modules/happy-dom": { - "version": "17.6.3", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-17.6.3.tgz", - "integrity": "sha512-UVIHeVhxmxedbWPCfgS55Jg2rDfwf2BCKeylcPSqazLz5w3Kri7Q4xdBJubsr/+VUzFLh0VjIvh13RaDA2/Xug==", + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-18.0.1.tgz", + "integrity": "sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==", "dev": true, "license": "MIT", "dependencies": { - "webidl-conversions": "^7.0.0", + "@types/node": "^20.0.0", + "@types/whatwg-mimetype": "^3.0.2", "whatwg-mimetype": "^3.0.0" }, "engines": { @@ -6482,9 +6502,9 @@ } }, "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "dev": true, "license": "MIT" }, @@ -7212,9 +7232,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.0.tgz", + "integrity": "sha512-ujSB9uXHJKzM/2GBuE0hBOUgC77CN3Bnpqa+g80bkv3T3A93wL/xlzDATHhnhkzifz/UE2SNOvmbTz5hSkDlHw==", "dev": true, "license": "MIT", "bin": { @@ -7383,9 +7403,9 @@ } }, "node_modules/react-hook-form": { - "version": "7.57.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.57.0.tgz", - "integrity": "sha512-RbEks3+cbvTP84l/VXGUZ+JMrKOS8ykQCRYdm5aYsxnDquL0vspsyNhGRO7pcH6hsZqWlPOjLye7rJqdtdAmlg==", + "version": "7.58.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.58.1.tgz", + "integrity": "sha512-Lml/KZYEEFfPhUVgE0RdCVpnC4yhW+PndRhbiTtdvSlQTL8IfVR+iQkBjLIvmmc6+GGoVeM11z37ktKFPAb0FA==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -8324,9 +8344,9 @@ } }, "node_modules/tinypool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz", - "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "dev": true, "license": "MIT", "engines": { @@ -8500,15 +8520,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz", - "integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==", + "version": "8.34.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.1.tgz", + "integrity": "sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.34.0", - "@typescript-eslint/parser": "8.34.0", - "@typescript-eslint/utils": "8.34.0" + "@typescript-eslint/eslint-plugin": "8.34.1", + "@typescript-eslint/parser": "8.34.1", + "@typescript-eslint/utils": "8.34.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8560,6 +8580,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "node_modules/universal-cookie": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-8.0.1.tgz", @@ -8692,9 +8719,9 @@ } }, "node_modules/vite-node": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.3.tgz", - "integrity": "sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { @@ -8759,20 +8786,20 @@ } }, "node_modules/vitest": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.3.tgz", - "integrity": "sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.3", - "@vitest/mocker": "3.2.3", - "@vitest/pretty-format": "^3.2.3", - "@vitest/runner": "3.2.3", - "@vitest/snapshot": "3.2.3", - "@vitest/spy": "3.2.3", - "@vitest/utils": "3.2.3", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", "debug": "^4.4.1", "expect-type": "^1.2.1", @@ -8783,10 +8810,10 @@ "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.14", - "tinypool": "^1.1.0", + "tinypool": "^1.1.1", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.3", + "vite-node": "3.2.4", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8802,8 +8829,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.3", - "@vitest/ui": "3.2.3", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", "happy-dom": "*", "jsdom": "*" }, @@ -8851,15 +8878,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", diff --git a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json index f15fc2cad77a0..02e02d336671e 100644 --- a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json +++ b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/package.json @@ -15,42 +15,42 @@ "coverage": "vitest run --coverage" }, "dependencies": { - "@chakra-ui/react": "^3.20.0", - "@tanstack/react-query": "^5.80.6", - "axios": "^1.9.0", + "@chakra-ui/react": "^3.21.0", + "@tanstack/react-query": "^5.81.2", + "axios": "^1.10.0", "next-themes": "^0.4.6", "react": "^19.1.0", "react-cookie": "^8.0.1", "react-dom": "^19.1.0", - "react-hook-form": "^7.57.0", + "react-hook-form": "^7.58.1", "react-router-dom": "^7.6.2" }, "devDependencies": { "@7nohe/openapi-react-query-codegen": "^1.6.2", - "@eslint/compat": "^1.2.9", - "@eslint/js": "^9.28.0", - "@stylistic/eslint-plugin": "^4.4.1", + "@eslint/compat": "^1.3.0", + "@eslint/js": "^9.29.0", + "@stylistic/eslint-plugin": "^5.0.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@trivago/prettier-plugin-sort-imports": "^5.2.2", - "@types/react": "^19.1.7", + "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react-swc": "^3.10.2", - "eslint": "^9.28.0", + "eslint": "^9.29.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-perfectionist": "^4.14.0", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-perfectionist": "^4.15.0", + "eslint-plugin-prettier": "^5.5.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "eslint-plugin-unicorn": "^59.0.1", - "happy-dom": "^17.6.3", - "prettier": "^3.5.3", + "happy-dom": "^18.0.1", + "prettier": "^3.6.0", "typescript": "~5.8.3", - "typescript-eslint": "^8.34.0", + "typescript-eslint": "^8.34.1", "vite": "^6.3.5", "vite-plugin-css-injected-by-js": "^3.5.2", - "vitest": "^3.2.3" + "vitest": "^3.2.4" } } diff --git a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/pnpm-lock.yaml b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/pnpm-lock.yaml index 824b7750660ac..3302c76ba18c6 100644 --- a/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/pnpm-lock.yaml +++ b/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: dependencies: '@chakra-ui/react': - specifier: ^3.20.0 - version: 3.20.0(@emotion/react@11.14.0(@types/react@19.1.7)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^3.21.0 + version: 3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-query': - specifier: ^5.80.6 - version: 5.80.6(react@19.1.0) + specifier: ^5.81.2 + version: 5.81.2(react@19.1.0) axios: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -30,8 +30,8 @@ importers: specifier: ^19.1.0 version: 19.1.0(react@19.1.0) react-hook-form: - specifier: ^7.57.0 - version: 7.57.0(react@19.1.0) + specifier: ^7.58.1 + version: 7.58.1(react@19.1.0) react-router-dom: specifier: ^7.6.2 version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -40,80 +40,80 @@ importers: specifier: ^1.6.2 version: 1.6.2(commander@12.1.0)(glob@10.4.5)(magicast@0.3.5)(ts-morph@22.0.0)(typescript@5.8.3) '@eslint/compat': - specifier: ^1.2.9 - version: 1.2.9(eslint@9.28.0(jiti@1.21.7)) + specifier: ^1.3.0 + version: 1.3.0(eslint@9.29.0(jiti@1.21.7)) '@eslint/js': - specifier: ^9.28.0 - version: 9.28.0 + specifier: ^9.29.0 + version: 9.29.0 '@stylistic/eslint-plugin': - specifier: ^4.4.1 - version: 4.4.1(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^5.0.0 + version: 5.0.0(eslint@9.29.0(jiti@1.21.7)) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@trivago/prettier-plugin-sort-imports': specifier: ^5.2.2 - version: 5.2.2(prettier@3.5.3) + version: 5.2.2(prettier@3.6.0) '@types/react': - specifier: ^19.1.7 - version: 19.1.7 + specifier: ^19.1.8 + version: 19.1.8 '@types/react-dom': specifier: ^19.1.6 - version: 19.1.6(@types/react@19.1.7) + version: 19.1.6(@types/react@19.1.8) '@vitejs/plugin-react-swc': specifier: ^3.10.2 - version: 3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(jiti@1.21.7)) + version: 3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7)) eslint: - specifier: ^9.28.0 - version: 9.28.0(jiti@1.21.7) + specifier: ^9.29.0 + version: 9.29.0(jiti@1.21.7) eslint-config-prettier: specifier: ^10.1.5 - version: 10.1.5(eslint@9.28.0(jiti@1.21.7)) + version: 10.1.5(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@9.28.0(jiti@1.21.7)) + version: 6.10.2(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-perfectionist: - specifier: ^4.14.0 - version: 4.14.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^4.15.0 + version: 4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) eslint-plugin-prettier: - specifier: ^5.4.1 - version: 5.4.1(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.7)))(eslint@9.28.0(jiti@1.21.7))(prettier@3.5.3) + specifier: ^5.5.0 + version: 5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.6.0) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.28.0(jiti@1.21.7)) + version: 7.37.5(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.28.0(jiti@1.21.7)) + version: 5.2.0(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.28.0(jiti@1.21.7)) + version: 0.4.20(eslint@9.29.0(jiti@1.21.7)) eslint-plugin-unicorn: specifier: ^59.0.1 - version: 59.0.1(eslint@9.28.0(jiti@1.21.7)) + version: 59.0.1(eslint@9.29.0(jiti@1.21.7)) happy-dom: - specifier: ^17.6.3 - version: 17.6.3 + specifier: ^18.0.1 + version: 18.0.1 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.0 + version: 3.6.0 typescript: specifier: ~5.8.3 version: 5.8.3 typescript-eslint: - specifier: ^8.34.0 - version: 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) + specifier: ^8.34.1 + version: 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) vite: specifier: ^6.3.5 - version: 6.3.5(jiti@1.21.7) + version: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) vite-plugin-css-injected-by-js: specifier: ^3.5.2 - version: 3.5.2(vite@6.3.5(jiti@1.21.7)) + version: 3.5.2(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7)) vitest: - specifier: ^3.2.3 - version: 3.2.3(happy-dom@17.6.3)(jiti@1.21.7) + specifier: ^3.2.4 + version: 3.2.4(@types/node@20.19.1)(happy-dom@18.0.1)(jiti@1.21.7) packages: @@ -134,8 +134,8 @@ packages: resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} - '@ark-ui/react@5.12.0': - resolution: {integrity: sha512-UV89EqyESZoyr6rtvrbFJn/FejpswhvRVcfK44dZDU6h6UY8CxfR/6Ayvrq9UtFdD0dEawqwWrXS22l8Y05Nnw==} + '@ark-ui/react@5.14.0': + resolution: {integrity: sha512-7WWlCM3SowtF01e9NouuO4T6SYuKTM1dovR+2NZuuWTlqTBlvZ+1vPHS6BeqzXriwMLU7QUU+Y0i/TcI6/s/Sg==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' @@ -206,8 +206,8 @@ packages: resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} - '@chakra-ui/react@3.20.0': - resolution: {integrity: sha512-zHYQAUqrT2pZZ/Xi+sskRC/An9q4ZelLPJkFHdobftTYkcFo1FtkMbBO0AEBZhb/6mZGyfw3JLflSawkuR++uQ==} + '@chakra-ui/react@3.21.0': + resolution: {integrity: sha512-Ajw6GuUhfNhMagTM9cO1Lg/w/HSQUwsv55j2QvvvPw/dk01wHiGi1aihfuCLpa6QY4ElLNs6SS3f78xI9Fwo6A==} peerDependencies: '@emotion/react': '>=11' react: '>=18' @@ -417,8 +417,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.2.9': - resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} + '@eslint/compat@1.3.0': + resolution: {integrity: sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -426,12 +426,12 @@ packages: eslint: optional: true - '@eslint/config-array@0.20.0': - resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + '@eslint/config-array@0.20.1': + resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.2': - resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + '@eslint/config-helpers@0.2.3': + resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.13.0': @@ -442,12 +442,16 @@ packages: resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.15.0': + resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.28.0': - resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} + '@eslint/js@9.29.0': + resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -458,8 +462,8 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.1': - resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + '@eslint/plugin-kit@0.3.2': + resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.7.1': @@ -498,11 +502,11 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@internationalized/date@3.8.1': - resolution: {integrity: sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==} + '@internationalized/date@3.8.2': + resolution: {integrity: sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==} - '@internationalized/number@3.6.2': - resolution: {integrity: sha512-E5QTOlMg9wo5OrKdHD6edo1JJlIoOsylh0+mbf0evi1tHJwMZfJSaBpGtnJV9N7w3jeiioox9EG/EWRWPh82vg==} + '@internationalized/number@3.6.3': + resolution: {integrity: sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -655,8 +659,8 @@ packages: cpu: [x64] os: [win32] - '@stylistic/eslint-plugin@4.4.1': - resolution: {integrity: sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==} + '@stylistic/eslint-plugin@5.0.0': + resolution: {integrity: sha512-nVV2FSzeTJ3oFKw+3t9gQYQcrgbopgCASSY27QOtkhEGgSfdQQjDmzZd41NeT1myQ8Wc6l+pZllST9qIu4NKzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -739,11 +743,11 @@ packages: '@swc/types@0.1.22': resolution: {integrity: sha512-D13mY/ZA4PPEFSy6acki9eBT/3WgjMoRqNcdpIvjaYLQ44Xk5BdaL7UkDxAh6Z9UOe7tCCp67BVmZCojYp9owg==} - '@tanstack/query-core@5.80.6': - resolution: {integrity: sha512-nl7YxT/TAU+VTf+e2zTkObGTyY8YZBMnbgeA1ee66lIVqzKlYursAII6z5t0e6rXgwUMJSV4dshBTNacNpZHbQ==} + '@tanstack/query-core@5.81.2': + resolution: {integrity: sha512-QLYkPdrudoMATDFa3MiLEwRhNnAlzHWDf0LKaXUqJd0/+QxN8uTPi7bahRlxoAyH0UbLMBdeDbYzWALj7THOtw==} - '@tanstack/react-query@5.80.6': - resolution: {integrity: sha512-izX+5CnkpON3NQGcEm3/d7LfFQNo9ZpFtX2QsINgCYK9LT2VCIdi8D3bMaMSNhrAJCznRoAkFic76uvLroALBw==} + '@tanstack/react-query@5.81.2': + resolution: {integrity: sha512-pe8kFlTrL2zFLlcAj2kZk9UaYYHDk9/1hg9EBaoO3cxDhOZf1FRGJeziSXKrVZyxIfs7b3aoOj/bw7Lie0mDUg==} peerDependencies: react: ^18 || ^19 @@ -810,6 +814,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/node@20.19.1': + resolution: {integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -818,103 +825,69 @@ packages: peerDependencies: '@types/react': ^19.0.0 - '@types/react@19.1.7': - resolution: {integrity: sha512-BnsPLV43ddr05N71gaGzyZ5hzkCmGwhMvYc8zmvI8Ci1bRkkDSzDDVfAXfN2tk748OwI7ediiPX6PfT9p0QGVg==} + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} - '@typescript-eslint/eslint-plugin@8.34.0': - resolution: {integrity: sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.34.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} - '@typescript-eslint/parser@8.34.0': - resolution: {integrity: sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==} + '@typescript-eslint/eslint-plugin@8.34.1': + resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + '@typescript-eslint/parser': ^8.34.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.33.1': - resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} + '@typescript-eslint/parser@8.34.1': + resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.34.0': - resolution: {integrity: sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==} + '@typescript-eslint/project-service@8.34.1': + resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.33.1': - resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} + '@typescript-eslint/scope-manager@8.34.1': + resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.34.0': - resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.33.1': - resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} + '@typescript-eslint/tsconfig-utils@8.34.1': + resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/tsconfig-utils@8.34.0': - resolution: {integrity: sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/type-utils@8.34.0': - resolution: {integrity: sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==} + '@typescript-eslint/type-utils@8.34.1': + resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.33.1': - resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.34.0': - resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==} + '@typescript-eslint/types@8.34.1': + resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.33.1': - resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} + '@typescript-eslint/typescript-estree@8.34.1': + resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.34.0': - resolution: {integrity: sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.33.1': - resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} + '@typescript-eslint/utils@8.34.1': + resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.34.0': - resolution: {integrity: sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/visitor-keys@8.33.1': - resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.34.0': - resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==} + '@typescript-eslint/visitor-keys@8.34.1': + resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-react-swc@3.10.2': @@ -922,11 +895,11 @@ packages: peerDependencies: vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0 - '@vitest/expect@3.2.3': - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@3.2.3': - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -936,238 +909,238 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.3': - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/runner@3.2.3': - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/snapshot@3.2.3': - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@3.2.3': - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/utils@3.2.3': - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@zag-js/accordion@1.15.0': - resolution: {integrity: sha512-EKNeuKx+lOQ/deCe/ApCjVPxpxpDwT2NXvMPL+YvqXmSv7hAnTLs9fDKjbDUQUMmsyx32BsBd8t6d17DL3rPXg==} + '@zag-js/accordion@1.15.2': + resolution: {integrity: sha512-4ooxmmnEDeRLPLOCsrQeLHcTj+xTqBHm6pYEdho/pb67lHujAUSnbfEryorBSfvJEWdiUTYts96EfsLfbn5SYA==} - '@zag-js/anatomy@1.15.0': - resolution: {integrity: sha512-r0l5I7mSsF35HdwXm22TppNhfVftFuqvKfHvTUw+wQZhni4eUL93HypJD0Fl7mDhtP5zfVGfBwR048OzD0+tCw==} + '@zag-js/anatomy@1.15.2': + resolution: {integrity: sha512-GiWZk+fqO/W15FIRVhUL237xZmYMm/gcrp8b4VJGLpZE4qaQaBd4kSYObhIl/7AnLC45VjKbV7c8fLxZKd/5kA==} - '@zag-js/angle-slider@1.15.0': - resolution: {integrity: sha512-xIZBa9V6d05uK7+XQVhfdsThqbZKimSYVxtMOWJfG0sKn63N9VGPxL1OtOMq7FA4IP3SyvlelsGt+3t82TUiyA==} + '@zag-js/angle-slider@1.15.2': + resolution: {integrity: sha512-ItcDlKHJbPFfPGmmiCGcWcd0Y8xC+WH5Dji7+uzBl40L9hh8si7/FrY9EB2cX/qUTDppNyicLPIDnZRGkByTOA==} - '@zag-js/aria-hidden@1.15.0': - resolution: {integrity: sha512-3ogglAasycekTHI34ph16mqwM+VtHCOMtrFHWzPwB16itV5oDEeeMNdQXenHSSyQ/07nJ2QsRGFFjGhPm1kWNg==} + '@zag-js/aria-hidden@1.15.2': + resolution: {integrity: sha512-Uwt86QpEaI4qLFS/k4C7rwIfyiH8EdE5a4AWiQ26WsL8VOpjROn65rBEOJ8q3fG5CJXbdcqaYK3lg4ldqf9irQ==} - '@zag-js/auto-resize@1.15.0': - resolution: {integrity: sha512-EXgrsU7OWxc7obSOt8Okh0144H8DQi1S84OsOUY04Uni11Dnp5/X8+t6mvBbkw4/Qyz5UBjChjocwBcO+HHV8w==} + '@zag-js/auto-resize@1.15.2': + resolution: {integrity: sha512-Mg3IN3eIP2wKBFRm5qti/rjKpTj7sfIVNfO9BgWdHDSzli1VwaBX7GaOE3nGc1tZ2nJ8n0SWRvRSzr3b57cwKw==} - '@zag-js/avatar@1.15.0': - resolution: {integrity: sha512-EHGxzXb1mLf3n6x0z/rqFl1mghDB/gyfPAeaFUoA/cacmmMk8YB3aDUXkS9pTgN9stYJBM5f6T4xB1ZUhrP8tg==} + '@zag-js/avatar@1.15.2': + resolution: {integrity: sha512-4aG2ETJbdMTALyXwU/DeGfjs/dM0Kllje+t5ov52fQrtkY123JdrvKQkcvsc7Luph1kdN1tC1/2fe/pDMhycCg==} - '@zag-js/carousel@1.15.0': - resolution: {integrity: sha512-ZI9H34f2utdJ2Ek6GZa+iuRH4eC99GHD/VEOKLdGani8uadpT2v8M5kUwPGrlAJq9SiPbQ2UuXBmCkmurPQqdA==} + '@zag-js/carousel@1.15.2': + resolution: {integrity: sha512-7bcyEtWIhv7kw+V4H+Fv5rE8I8lf0LQOj+m3HTYzWo+wiLybFfI8/bg1qywjSYKsgZr3gmGVCEZhfx3BSpP3eA==} - '@zag-js/checkbox@1.15.0': - resolution: {integrity: sha512-6lQvPQNJXt7R0xxdpOuh2qtmAkzdBdqSvFIH7fE6GJzJ/AWiRZh0X+9deLQ76CN4EDUdxizEe7MlQfTI3a56aw==} + '@zag-js/checkbox@1.15.2': + resolution: {integrity: sha512-Ay/+rpKbxL4jE1pwVw52h0t79PpiifA6QlYnV4E+hWl1yJBkMRIi76Ryhqvqp4yY+2Wyr9OfDA9eHmQjapG4VA==} - '@zag-js/clipboard@1.15.0': - resolution: {integrity: sha512-Q3kh0fHvOEAJUywQm3zAWyltrYyiI8OpeZQ18k5Mf3/M+bq3gSphZL0+AYsgGbKUg5O2+hJ1SfiErAjyhRtBQA==} + '@zag-js/clipboard@1.15.2': + resolution: {integrity: sha512-EE5OlsIYbBklo62qu3A7GiUnsgmoGaoDZvhpYvpNM8StWNeRREcJZXRIizv4aFC46e5eODzSNcebnMLYa8Wcgw==} - '@zag-js/collapsible@1.15.0': - resolution: {integrity: sha512-GX0kdMlKk4Yk5k/2wN0prudf21k+TfArGr4EHqimTDR0vQE3dSdb3pYyPjw20fLzceKHBBCLsoi2v+YnS75gHA==} + '@zag-js/collapsible@1.15.2': + resolution: {integrity: sha512-vvUXQMFgwsZJphE4Ml5ap4FVhtyLOqK2QXPbt2+F8X8SRwJ3/pqsSsLFdH+ALpNoCK6WF9j+8FZ4lyidr7XPDw==} - '@zag-js/collection@1.15.0': - resolution: {integrity: sha512-oC3i6c/oP/FuNPsfgoC1reSXbAvDBGXl0HU3CcvXiNLHbjg2ek8J7kbow6MNuXK6chiksiOHbzKxHl2Oo0Ox7A==} + '@zag-js/collection@1.15.2': + resolution: {integrity: sha512-bJ9EtZ1Cpjh/rQFDMPTPrky/eSfaLpHWmMnk/S9b7wi+OhC0Hoqw38lcWzfc0AaE4bJsfru9/FLIsCDOLf7TSg==} - '@zag-js/color-picker@1.15.0': - resolution: {integrity: sha512-DGujS24h1OWkYL+TWyd+xukOO8NBgcSfFCINffa4ivkHtNx3nC28qkwLPRASbl7AK69pbrcuO6bx1Sy/JQJw0Q==} + '@zag-js/color-picker@1.15.2': + resolution: {integrity: sha512-UOYHECq+X6hSrgSxwBt5O4Y6f2IdOGMhe7P/LFev7Yn0x1F9fMxJZCIzvQGaQ2V/hR0eTatiKk5SmOp9+dJA/g==} - '@zag-js/color-utils@1.15.0': - resolution: {integrity: sha512-SKo+p5Fu0TBtdDua8UHVjptOkwLLBFoD499Z1FER/gr0R/97L03Kdir0YTxvKn5pXWXYY1EQn4hpTuTITN16lQ==} + '@zag-js/color-utils@1.15.2': + resolution: {integrity: sha512-c167QcxiVHgFZ7ca0PSQZ7skhbBOd6u1lIyWYzkZ2uPf0yJndqP9gFYPMbwK6d4WIM9k6y6mLdsWCGpqIJJsIg==} - '@zag-js/combobox@1.15.0': - resolution: {integrity: sha512-HBck3wcEeIOa7IQMsUkUKbm9cAU7bjoklIyq2zFGn90k7DcDa++oXK9Z2pmcd4TPoBYiyVuuXucaCcjmLX8V/Q==} + '@zag-js/combobox@1.15.2': + resolution: {integrity: sha512-lZXW99NLnRfLLY1ZOE0oqo4wMDglkUjKV1UZaHyj+yqXsiMtWhKQFQW/JeVBRDe6RCv8wWPPHMycNANMw581gQ==} - '@zag-js/core@1.15.0': - resolution: {integrity: sha512-P/8F3IXabMhpFnc6hC7GDg3rvUnvY27cuZU04hxjUqTH6+SfORIA/Uvqd4ekhC+dIprL9jicnFrmGgcyelyxfQ==} + '@zag-js/core@1.15.2': + resolution: {integrity: sha512-yUnh4I0nZ8rlszWgF402F5vGoYw7DNwStYz2TAO+4E08BpKBATw3FEdqAHPm+2xZm5qPqnPbM4iObwUlkBQUEw==} - '@zag-js/date-picker@1.15.0': - resolution: {integrity: sha512-IZD0V9MAljp1QhxYbST80AonryuDnyx7hvEy/RrBY/VOx6I4STtKfcSJ5ZZgVIzJfH8Yyaed4+IwcenqG7W5YQ==} + '@zag-js/date-picker@1.15.2': + resolution: {integrity: sha512-KElAFm3fW4GKGUNUe+jqqUX+P1H+Cigp/eGRgIl0dUjCwHocD1oN0ZCwNYmf7SJoWSgPRc1UJdA4XvpdU0IwPQ==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/date-utils@1.15.0': - resolution: {integrity: sha512-FX9EesJRnUTYTpbXf5EVfCbsXW5vYtZfc635aQzojc9ekk1FGcHpqQs8ZKfCOTPuauZFOX9i6139A4KoPfQOiw==} + '@zag-js/date-utils@1.15.2': + resolution: {integrity: sha512-U+HtfdtHJ5ed2ys8izMhu8gY5jQigCd8ExPN5Cxg5CoIbSkho9NT8o/eO9OW71jc2F4kwBh+q0reyxxLJnTSbw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/dialog@1.15.0': - resolution: {integrity: sha512-Vlt5vySs4u8c8xBEh2JMUvRfPc+aaVEIIUtFVxpc2ORWhBXs9glijyp1yf3rNHJhjj8gqqhF5sEvs3yUTTAk+Q==} + '@zag-js/dialog@1.15.2': + resolution: {integrity: sha512-LUF+tiiUJj7v24txhC0TOwEgsfj1GCogAmBaiJKxvqrDEDv1B91J0b6SUQ5TuTMLW+hlBEzXZw0QsTxa9OXBew==} - '@zag-js/dismissable@1.15.0': - resolution: {integrity: sha512-yv575KWy8gA1p4aajOiY5l/nBQ3Xw+Mrjpungp1+wiGd/98eNAIKJ6/adldfbE1Ygd/Q4Dx2VQ7D1AmiTdwUSw==} + '@zag-js/dismissable@1.15.2': + resolution: {integrity: sha512-+WY8a1L+L8hXPGmWKqOsSg2KCHabVWXEX8mewHamltpSb86+2WMmblpLNgTwbm6V0T6txf1N8lFuzWMojMEWSg==} - '@zag-js/dom-query@1.15.0': - resolution: {integrity: sha512-z8H/j/Zs0eZEsGpbonScmlKSv0jEXKiAwUCrvQ9Mt6Gz9n0CQRM3MkFclSsM8aeiSv6qKLlhPfkzjl18OLkbgA==} + '@zag-js/dom-query@1.15.2': + resolution: {integrity: sha512-+r9Xj6hiQj9b2ZNkT3E/bDaXgigoAkhtikDXov9duAY14pFFJxazXr0NcVgacik8ytAEt6XOOshLcAftyalRKg==} - '@zag-js/editable@1.15.0': - resolution: {integrity: sha512-F14HKZuDsfkpfIkaF/ZDYPkz/pFf6VHrvoV0rdhj8wb8QJQ4nB+lgBv2APSwkEaFb/gGrnE19v3Ojlt5tqpPsw==} + '@zag-js/editable@1.15.2': + resolution: {integrity: sha512-32v7DXDBnDX1CiFpGRh9uclu48UJQJT2QZPQ0Bys3ZOFgMxsWH6tCKDb7iQTcINIc/XIx/9nclWnV5egzimG9w==} - '@zag-js/file-upload@1.15.0': - resolution: {integrity: sha512-2hAlQr9qdT8EH4XnmkNkEIDCCsmp2SMoMAjq6nJKYO8UJNQGRanU2B5S8jV3quJBz0vIY43SwyvqiZ3+1VrJSg==} + '@zag-js/file-upload@1.15.2': + resolution: {integrity: sha512-Zgac/da5QrUlE0ItlNy1kyMXfTy4ynTWnq4aZ4wZ9eVHUFQhLXERv8l+hYJetImISnuclmNVxNKP8Xk+5t4+tA==} - '@zag-js/file-utils@1.15.0': - resolution: {integrity: sha512-tahJt3JmrXaOtGiknH5PxIiOyyNvroMfjiBqOqnNksIPzDoWmVNxHOEme/ts7dJlkRD8U2qm2NFC2VS0bKerzg==} + '@zag-js/file-utils@1.15.2': + resolution: {integrity: sha512-aNUEBJUeK6G3pyf+zYnIMg0GgJnInddjGRedFeTnfK1UmlSO8wTbxQTCvjWd4Nnr5eCTpQkRq6wTZy8JeIcOpw==} - '@zag-js/floating-panel@1.15.0': - resolution: {integrity: sha512-AYYFseA1MeQUZl+zjNoKUu4j0kwz8EyJd4oJjs8uJIR6KG8u8QhpWYIBUny63M6AtZTCSYQAgBEcEh+mrbEyyQ==} + '@zag-js/floating-panel@1.15.2': + resolution: {integrity: sha512-8oG2MRXWWeXws7iVDmJFBqHLHYOGLvYe+vgXI3vgnLhmS4SeX9qAJj6qIOar7htOmEtp1p/KiBo2w2MYtzjuAw==} - '@zag-js/focus-trap@1.15.0': - resolution: {integrity: sha512-N8m/JpNe1gHUPJlr0hyGUdHg6pAuyJKkBaX0s38cyVntlo2CJhyAWZGuUdocpT2Q3HNPql666FNnH986rYPDKQ==} + '@zag-js/focus-trap@1.15.2': + resolution: {integrity: sha512-5EU5/Cg80oNO3z83A/33t9SOVYvLqLOuSPxt/7Xzy/L1Vj3vUj+s1ox6IpECmEFJcuql7X5yt6VIVitrLtgbFA==} - '@zag-js/focus-visible@1.15.0': - resolution: {integrity: sha512-TPXBf47tj6L0hhZNl9AWhuLoVzfPaNPM+/Gw8t9l9Whvy6v9rk/rqUCidY5LsrQuPiKTi7s5WI5J+Wod8ib3gw==} + '@zag-js/focus-visible@1.15.2': + resolution: {integrity: sha512-zElE5T41p5QaB4856xK2SeERmHrKbA/UMzoyHzrAk/N1r6dNiMOOx1hMyHy7y6pEhC9kjJFwEpXi1QEel6/ELA==} - '@zag-js/highlight-word@1.15.0': - resolution: {integrity: sha512-Rwr/rRm8BaF2xW9BAEJeA2wpFVx6HzoezfYQX7GFPPgw3N8nBMAYNjx+i1YIwIEcNyad2rbaBB+pSd2fZLIniA==} + '@zag-js/highlight-word@1.15.2': + resolution: {integrity: sha512-2a49h4k0ISIDydaZZDdASEHJpwxJeuZHSPCE7cM3/BWCR3H5galeC/jbNWRlTJVH4OQTYAR0I2wILQvOWLhSrw==} - '@zag-js/hover-card@1.15.0': - resolution: {integrity: sha512-j6BsE+metdnv/C/Ls0TZzAMN78rtS2r8M1ccHY5FFTGyUvZnlE8BY/QPNyCSSSCUpynymzMYh3IMYlxbJgfpSQ==} + '@zag-js/hover-card@1.15.2': + resolution: {integrity: sha512-FfNmhow8MPMp5RgTeC87x4EStFw+d1137w4QZ+fC5PystRzxGeiyDJyLRYGVeIQO2oP463az70vnxsbFAMu98A==} - '@zag-js/i18n-utils@1.15.0': - resolution: {integrity: sha512-anxSbT8kLbJaFJFSb0Ork2j/Lp+XVfMNCIgiBR2BuqUlfX72k23TIJvRxAfwNIkUfs0L8ikaSgLss9OwS4mAnw==} + '@zag-js/i18n-utils@1.15.2': + resolution: {integrity: sha512-1RnqCaxe+l4UR1O3fhn04T+J62yw/SkCByhrhrPSis/H7a65nW0WsoWiJTIgWp/hN9HI2Y3dVFfMEwQUFFHG1g==} - '@zag-js/interact-outside@1.15.0': - resolution: {integrity: sha512-OwBf/iesQGU9Oq3xe/tcK7gu7xipiGWsmwl2CcScr0fTp3BIMbQywHS928IgPk1DxA8KTHodY8wBjoY1dskfRA==} + '@zag-js/interact-outside@1.15.2': + resolution: {integrity: sha512-WbCICcMJHL6yS8vaou0FvKV6shl1Z+CefF7yzn5MEshPLbmy33WGQ2KBzodTkIQFM/C/zdVz5xKl8TbQmi7jUg==} - '@zag-js/listbox@1.15.0': - resolution: {integrity: sha512-Gcg76uWZwUAyMFZzGWpHnFCU/aaquNbXmVnyzzBgE3Co2snkv02rK1yG9iBwemZe3e5+VBifMMAtLLPAQJdz+g==} + '@zag-js/listbox@1.15.2': + resolution: {integrity: sha512-V6Zbi8HTiyhsV4GhFaiFYL2bJo4lOt24/SA9M/T5D7ZH+bTm3itPUxYddIBi9w6yRTU0gsorosD2GyFkHjchvg==} - '@zag-js/live-region@1.15.0': - resolution: {integrity: sha512-Xy1PqLZD9AKzKuTKCMo9miL1Xizk/N8qFvj64iybBKUYnKr89/af3w7hRFqd2BDX+q3zrNxPp9rZ6L7MlOc7kA==} + '@zag-js/live-region@1.15.2': + resolution: {integrity: sha512-dIrfDlKyNz99CQVeHu9RHe/x+yTBm3wFA7H655DXL7CugO9tpTlynkrTG9AB+0Z84JKZTeHh0vGVa2chTWKrNg==} - '@zag-js/menu@1.15.0': - resolution: {integrity: sha512-GbEBVYu0w7+88xrGX2GrjXfnwWuX5jLhoLiEcuxvxJQal/nahKrH4AGXJvHXNaRbj+53V3nWAh3u70C9210PWw==} + '@zag-js/menu@1.15.2': + resolution: {integrity: sha512-54dGUChMLyTrkCGbKGh0R8l/cg0vPFnGZwMG96zYJhkmXdpDMECZgBrN3j7B6RtEIvlAR8fMH5Sya58Amb3lGg==} - '@zag-js/number-input@1.15.0': - resolution: {integrity: sha512-+kK8kyXJhIAbEUnswoMDR+DSJUmvDNIOW0ffuZ9pbfukN3p6zaA3/dCp2Dtg3bQS7hGrFWgtrdejJ8l+mVvUAA==} + '@zag-js/number-input@1.15.2': + resolution: {integrity: sha512-qtDAVUdMXBhufBSwAgi8MXm7zHb36ujfWmxCJg6HbjKVF0BEAxeoye5VexgyYul7Hp8+Rr9LkW8X35W4amjJEQ==} - '@zag-js/pagination@1.15.0': - resolution: {integrity: sha512-Z62Q41fQPWqk59QyJk+9J0Ad3H9DCqZ0zZutI6iH8DdzT0A0xxmT6zhup6DM/8C8h0OLlaHFTWQnj0RdRNrnXg==} + '@zag-js/pagination@1.15.2': + resolution: {integrity: sha512-k1jT7UWDwgkYVsf83TTUhks6iZ7aQpcEjQ+iWI2LbZu98+bVhX9hpHfxdWbvTbueGk6WjB2xa1X0tsktII1mmQ==} - '@zag-js/password-input@1.15.0': - resolution: {integrity: sha512-oHuZKDRJIbycqWpTVznufy4L7K2g8kwcEaZ4runkwO2ocF00zP8HVmOZQzmhkUgTny0azErQydg8XE0VR5OfYg==} + '@zag-js/password-input@1.15.2': + resolution: {integrity: sha512-9BpQ26Z9XoCiNAHOmx3zwa+62+C6358/az0h3N24P4qS1EdTVWkhG1tsyPhRElg4v1koavZ40RMUppJQBH+DmA==} - '@zag-js/pin-input@1.15.0': - resolution: {integrity: sha512-IykjogZBG+BfbFXymSa+KGpOi5CrV9kl8HRm6G2V2Sr3NA5jEwMFaGSd/QrcHS9vh23D1Smx/io4pvF7c3q0kg==} + '@zag-js/pin-input@1.15.2': + resolution: {integrity: sha512-1KjGGmyldtEb4RwwdBTKzbgAwpNT6CyY274LvQC8lTCEUYOBkUmS9OUaKUbwkoluCdmXrugpg/XMulisRmMtgg==} - '@zag-js/popover@1.15.0': - resolution: {integrity: sha512-cdzEed3zcGbjSgPQnQnrsuXo2hVVslmSNwQbU5dHcNzG1uxxmtPCIMVeBUmGyJbAFF5XQpKCq/7mIr26dT73vw==} + '@zag-js/popover@1.15.2': + resolution: {integrity: sha512-6cD4eTwwj/bkTCDWVk0dMFqg01iD7qJofRSU3da7nde1Y0TMz8gBlt++GASgCF4p/hPeGLD18GcIF8FKka9IlA==} - '@zag-js/popper@1.15.0': - resolution: {integrity: sha512-Ra/0Ko423KN+8D4+mIFFkeTn9uaHfpxn6UUNIWwZKoiJQvED8DH4dPbLbmvGEoKp6qmisnRHAzi71NLgEhk0Mw==} + '@zag-js/popper@1.15.2': + resolution: {integrity: sha512-5uaFW9IU8bj3NdEiyuSp2eVJaPvWoA6/q7Fh423Va8booMYW4k1KFmz2BSxQ3JfK5lt3vPI0X2026gSxTx/vmg==} - '@zag-js/presence@1.15.0': - resolution: {integrity: sha512-hoxXis50pm79PpkY2kA1wdhh4AEo7t7pBv0VsQYZYjmzuFh4V5IMw9oa1EOfBlC6f/A+EMZ9E+xg+EVsB68a8w==} + '@zag-js/presence@1.15.2': + resolution: {integrity: sha512-cNPJz3qeXdoYFEefxFixZoMDFzqfHsLgmi2ynmRrFlyHzHtFdvKjvS5ywo9YFGNgwKrEddS43n8gl3w3lgqBCA==} - '@zag-js/progress@1.15.0': - resolution: {integrity: sha512-/Mz26GR2rOAuoErNOiSGRpvwckTmbCD5nWGDE/aYlVRID13HcsmN15Zk2Jfa4LadqK88aIN8Iy0Sk4elG0+Efw==} + '@zag-js/progress@1.15.2': + resolution: {integrity: sha512-VPunnrTYiJaHnnCKuh2ZARCnzgTtxYIiNKiUVPWlygsWy2AGg1K3AvVswF2CVfGpwbO4ioyBQO65EZkQiMN/Aw==} - '@zag-js/qr-code@1.15.0': - resolution: {integrity: sha512-GkGy5k5tk6DIui9lGjDO8+e8TsSVOxEGp1lblPiaRm1ggIh10GhIfCQWGe/x78ezdie8WzxlSrma89suTpaiAQ==} + '@zag-js/qr-code@1.15.2': + resolution: {integrity: sha512-hFtwGGArxVJo7osbY3R73BHIX3Ldb8G4gtNDZ2fGcKAcp+SQg5GXUIBK17ncxJrOC7A1Wp7sdOoYNNOPWe2fYA==} - '@zag-js/radio-group@1.15.0': - resolution: {integrity: sha512-+KTebHUtMsE/YDyGE8wF5VnWfZQp+f2WoAwwzBjfhPpRxXbOUMDo0pZEEr3yxkSvQ9hgCcBhMKH8pEk0SPxvjQ==} + '@zag-js/radio-group@1.15.2': + resolution: {integrity: sha512-+V9Y4EZuNITMbA9iJisysqWW+JB3YdlFF6dAomvXN8nuOuj8HE02JHndIeMflDtW6Tz99JcJLS7lNXN7G5uEuw==} - '@zag-js/rating-group@1.15.0': - resolution: {integrity: sha512-omGKN97FhplFwBX9J/Mj7BCZuwFXSXssSVTKU7Yp2d1Cmxhez4+Ju7KdSRNnIoWB4OxFCxwZyaAPTcg3E0Pjrg==} + '@zag-js/rating-group@1.15.2': + resolution: {integrity: sha512-g7F9NyB1MF6ydE9aEr9zLPXGKXZIH2ZsUBXEQ9u6apUhnchhCSHDw6xHVXI1hYGrJHnpf2xMw3Xu1opJge1DQg==} - '@zag-js/react@1.15.0': - resolution: {integrity: sha512-YSp9QBkdeBfZt4nVhJW+CUd5sNEEVAuwkmoZWDFUoDoWSAXwzSKuHCmTm5/8DaXg1IZD2bMrXgMNDqZv2x0hZw==} + '@zag-js/react@1.15.2': + resolution: {integrity: sha512-T5QPiLbW4DoQ32NS5+Qu9NsIXKKz0d5MOpfEdXXuc6hKZdvV+V9d7EXeHBRohs3P6jqtf8FXpXDdK2trv37YlQ==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@zag-js/rect-utils@1.15.0': - resolution: {integrity: sha512-sjAn78x1t3XiDG3NT8SoFfyO0u7/SEJU5RKRhMgjTPoOLXTzZj+lu2d5N4cUw0uZTfeGb/ormObSchMQVhFgYQ==} + '@zag-js/rect-utils@1.15.2': + resolution: {integrity: sha512-wPsOM4qYncwOli20MNINgl0ZwmMY11RvrgPvjcMrkJ9dVqU/YrCcXV4rIg8Zig5jxCT+mf7rWQe9aQJlNTVipA==} - '@zag-js/remove-scroll@1.15.0': - resolution: {integrity: sha512-vdWSAdgY8wJ7s4YeaKwTMwmZiRMBxCehmdktSxBWvwtAjU1cM3UWvjmZ9E6INJrQXxH9vDpe/rpFSyv1guIQIw==} + '@zag-js/remove-scroll@1.15.2': + resolution: {integrity: sha512-pXVuvFcAQND+C0KAzAve02hGaI/AgEhC7RpgpyUKaUzEccEsxLi40C88j1/2HCfta6GI7nd2e0QwPZiqngUIyA==} - '@zag-js/scroll-snap@1.15.0': - resolution: {integrity: sha512-/LfBlsjoR4tVL3Djus3k9jKLhwC2ApdHTACxEc72TAewoPe4M8icnSDLXmKHvwwOhzK0HlFz8wGm6ZncAbQbuA==} + '@zag-js/scroll-snap@1.15.2': + resolution: {integrity: sha512-RswpsMHg0aWHsx7xqybnPm8bTL9ow17z9GhYgxSWtIi2U9wgkUHDtEJQcRNUA9PQEGyVd29B39NM0ir64HAhNQ==} - '@zag-js/select@1.15.0': - resolution: {integrity: sha512-4urUBADzhrsGEO/UsqHdjsgmDdF15Zzeid3ejEbIMTrkt2/mMMcQ1CShuxtsWqm2EUBz/N1kOcZlE6Tq69n7Xg==} + '@zag-js/select@1.15.2': + resolution: {integrity: sha512-Y07RlBIc8bVj2WklhS7tiVySZntBv9TE9sfiA8RcLU7KFFGTdS2XUoQV4fziJubUL8XFhNzEC92/bKeBLqpgDw==} - '@zag-js/signature-pad@1.15.0': - resolution: {integrity: sha512-5Tj8vkrRxEkSV417oR2qdy+TRgDmS3W8dY7xsIjpbBf/kqkt/8Uo4JpaVH2vwQAFw9AwEFogBh9i6dHcXMy0rA==} + '@zag-js/signature-pad@1.15.2': + resolution: {integrity: sha512-vw7oD7afBfGvUyotJrFl+PjPVYOYZLgQ1eVAosKj54phgKvxheBr8/ySq9vlyTkyvOMjJ8zIkkxlywuqoZzl8g==} - '@zag-js/slider@1.15.0': - resolution: {integrity: sha512-NYIsn3GKXIoPmvkDXsQmw9wdYg3QHbYHXnZ8Ewl2fVubN7S5mDlHSZs2iDVsBvX+a4RChWFRO6JHX8E1+BncOg==} + '@zag-js/slider@1.15.2': + resolution: {integrity: sha512-Lcrm+h4Vx0stD0ybAqD5tA1qOnrKEfQP9ucQsPUy+fY2em19XC6raOVOhAc6ROx4X0neTI/yEc1ARJQSaxtRZw==} - '@zag-js/splitter@1.15.0': - resolution: {integrity: sha512-Xnedl+cpnD/hv9m+GOYCK5K2xRxbs4xuP/EajYtgVcDw8E1X5cBmxHa1hCrp7BMgb2xYCvZ5et4hnmZfb+1X9g==} + '@zag-js/splitter@1.15.2': + resolution: {integrity: sha512-LIuTTPRaw3inS64f2TLcFIlwjNe9Tx9mSE4VXf7wPhYitNKmyh7MeNE59na+wDzZisVwx9yBewAPfrZtbHDGBA==} - '@zag-js/steps@1.15.0': - resolution: {integrity: sha512-VoIDcDIEErZawmW2m0yTGlffqjfRuSwR37K9LdSRy8Q4Qzz3wV7jASaTjMhTya1hlreJ7tJg+Qbjqowvw9GndA==} + '@zag-js/steps@1.15.2': + resolution: {integrity: sha512-NnS3wYQrFWA5OXu+jnlnPpm49rGpzHCDbN2UuUcMGvbYVETKEXEO9fC1XWh7PstVuNi03E/CrZGHl5cEjf/j8w==} - '@zag-js/store@1.15.0': - resolution: {integrity: sha512-ecqjcy3b1GsULpsT8RVJV9KDaikajRN0XRg48HMvaGkaPIvxI6esyrE6RKnShuqr2eVXIPghgBnCnrJUev4UlA==} + '@zag-js/store@1.15.2': + resolution: {integrity: sha512-oDJuRdu8SaGab06UycN96OgvNau1ynawDNNfQNhA7zoOIZlaJH6jP+5YaAPFila+wyjdw7svz5+4ejs8vXcjpw==} - '@zag-js/switch@1.15.0': - resolution: {integrity: sha512-2CaAUTi7jM4lJjCYoSE1HWlFPCifI5GR+hufWOCYKpanf8VA/LM+t/a2Aq5QoBsWdcQv3B9mHxF/aVTDbnCKPQ==} + '@zag-js/switch@1.15.2': + resolution: {integrity: sha512-2aEm5HDP/ENcLvoP77CH7DQTPXIMUzVilefHlz6WT0tQxQzOw8uMhUOYYcuNmEq0FNRUOyuMEMyZnZFUYAxqvQ==} - '@zag-js/tabs@1.15.0': - resolution: {integrity: sha512-voHWpibC1TKLmbAJfixOesxrCio7wK+gdLRvh7Xh5u+3VSsT2fP2wEw3ySkJbpw3MpEE7R2OWkInbCV/SwPcsA==} + '@zag-js/tabs@1.15.2': + resolution: {integrity: sha512-SJMR4K59sxvNZEIgnJfbweLzncmgxRWTBm+FamwMtP8DKQ3RETNdjrn4aA9qLUsCObapk06KT3iTeiCXzuBaFA==} - '@zag-js/tags-input@1.15.0': - resolution: {integrity: sha512-CB60z+/I/Nso1gwatTO1qrk4XITxDd4qtRD+l6fuuKyOkZGgKm0AP0W+/6qUuOvtWIuY6fas3yZHFmF2eEZ9vQ==} + '@zag-js/tags-input@1.15.2': + resolution: {integrity: sha512-/mAuB8emhGoo3eoIgmlT/kQE27ukRlhghgwp3OjvEen+iTpz0XIWM+S+IV3QU6U4DlhwkadQaINht/c9ln6gxQ==} - '@zag-js/time-picker@1.15.0': - resolution: {integrity: sha512-4S02433X88X3MW/BxaFJiWna4BIRXsAdrmDcBb0PZ8dln29DUmpD8YHcFtONsKvmCAmrbO7Gr65n86nQwK8zeg==} + '@zag-js/time-picker@1.15.2': + resolution: {integrity: sha512-Aoe9GdbrvAMP1fdOEmzCESr/dO+cGnqhCoa0UkZB5wuB4dT3S02hRGSZsHO51Eon2NpzHPG9j+/alncwOe77Tw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/timer@1.15.0': - resolution: {integrity: sha512-gDsYm4C9yju7g/r5u7n7mRQ2UY7diXXVbbLFr5Ja+0iUXgbD+uoSZEt9HypVc5TL9NWEEwn5/tut36owEeW4rw==} + '@zag-js/timer@1.15.2': + resolution: {integrity: sha512-v8RN3cwFuNXxuDMuxxfXKCSd+Z1UT6Ct+ueU3PRZqHqXU9u4k9Mm+vROIqnNzhCCdIHNxsqUt32/2zsRRaubbw==} - '@zag-js/toast@1.15.0': - resolution: {integrity: sha512-0RupMCXyGr7/La4Zlei7VqBF0VPNJelGd7zimLboe+IKZyy4Ypi/N2IX14rl8JZQDsDEgkLUl33xrSk/9RW2nQ==} + '@zag-js/toast@1.15.2': + resolution: {integrity: sha512-OohJvGTy+J1MpydJ4eCV36picggfF9VbDW4nK97TT+4bIIRDgW+PGYgB4dd+PvEjRrk9194Kkm93lud95yOyZg==} - '@zag-js/toggle-group@1.15.0': - resolution: {integrity: sha512-992vMz/2sriLrUKI3LpT/01kCGTbPGLgGLibiHRt562i0v9+2tV+GiY2jBctHZjJaKPrzBY3H0l8CCCvDj8gng==} + '@zag-js/toggle-group@1.15.2': + resolution: {integrity: sha512-JhWV0GY2NRgDhlzP73ADlG1E4NFXqv1h2q5+m3Rmos+Bi8soOV437jch/wy+M+xYN5vdZCczXJu9BumHNlknhA==} - '@zag-js/toggle@1.15.0': - resolution: {integrity: sha512-mMSQ1+f1hOMp/7gLA7rTeiSNyeZxsCjRxP4XnTBY4BxJ5LswLuhem9CplBwaVthkhY1Y/5f3HHu80LBcfF+BVQ==} + '@zag-js/toggle@1.15.2': + resolution: {integrity: sha512-wtDeIRhDeVhaUboWQ2GrxlCC4+cLRyZzvZiN84tad7H/sUKq9hNDdROcCnIYBhEkb1Qf4sjR8KszY12YLtJx6A==} - '@zag-js/tooltip@1.15.0': - resolution: {integrity: sha512-sOpVECyfdS4RZBx46mSV+RPc9C5k9JvYQYUfoOVWh0E5RLSEz5bQm5xxctKOHfCOv+vJNTfG5gP596B1r2+Fkw==} + '@zag-js/tooltip@1.15.2': + resolution: {integrity: sha512-Spw5ewga3DNaT5H4AnrtsxJ6ebRoTxy+igwojGTYUCNUoxyQn6W3UpqZpgAAfw8B236bduTRh9MW9CsaM/hnmg==} - '@zag-js/tour@1.15.0': - resolution: {integrity: sha512-EplcxoiE0z9vI0z6675+ABclQ9Mi1YUWhDZOHx7wfjRzpfawmJoBAlNDKzK3wc801d6OxgJx69SPj7ac0BwwwA==} + '@zag-js/tour@1.15.2': + resolution: {integrity: sha512-OW+autOwwsVMGwcYCxdCh3Hibeeag6Sg8w02XfmX7E+T2u9a+GGdLOrH7DPM2oHTbZV0iBUqIaKxGPKgRYZNng==} - '@zag-js/tree-view@1.15.0': - resolution: {integrity: sha512-wqdd+hu1bDOCWtnZ8MarRFHqbZF2t8qKBM3kO42IBq7jTI/93LCkHSlceEPft9dgZ6Ea9km0YJMHhoTqCPZ/fw==} + '@zag-js/tree-view@1.15.2': + resolution: {integrity: sha512-HWDHH3rpGEz3IN5bsj8EHZnU0ttk8uJwBOnH3reYcFQEQskA8cmyzd7y9hdBEn8PzAns+iOjUBj49IVmoYpOIg==} - '@zag-js/types@1.15.0': - resolution: {integrity: sha512-lV2ov2M07BlmjDUCSwBeHxPApHI3oAiLytG94AqcYvQ0BtsCRo5T60yRQ0syFc6fHf0e9+kwt89uoIgfGFYfmw==} + '@zag-js/types@1.15.2': + resolution: {integrity: sha512-qEHNRA/uOYQjvXzI/ie6vuOD74/p7w6MA4X1VoZEYF2/sbIQjlRn6SzpeV3RyFZBzl6WBO6RqV/XEbgpvGSb5w==} - '@zag-js/utils@1.15.0': - resolution: {integrity: sha512-XctFny5H8C00BsougV40Yp0qVEj9M2d/NRme7B33mon9wG+3hscZwP6miJmF6BYI5Pgu6e2P0Sv45FddQU1Tkg==} + '@zag-js/utils@1.15.2': + resolution: {integrity: sha512-JdlyGT6yfG2ub2FftrB6BidIlvD04cSwdKYJGb/M+NJ7p7uxnZUZMxAjeBmTLhM1nWbtJPVq3oDTYz/cBBZLng==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1258,8 +1231,8 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -1276,11 +1249,11 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -1567,14 +1540,14 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-perfectionist@4.14.0: - resolution: {integrity: sha512-BkhiOqzdum8vQSFgj1/q5+6UUWPMn4GELdxuX7uIsGegmAeH/+LnWsiVxgMrxalD0p68sYfMeKaHF1NfrpI/mg==} + eslint-plugin-perfectionist@4.15.0: + resolution: {integrity: sha512-pC7PgoXyDnEXe14xvRUhBII8A3zRgggKqJFx2a82fjrItDs1BSI7zdZnQtM2yQvcyod6/ujmzb7ejKPx8lZTnw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.45.0' - eslint-plugin-prettier@5.4.1: - resolution: {integrity: sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==} + eslint-plugin-prettier@5.5.0: + resolution: {integrity: sha512-8qsOYwkkGrahrgoUv76NZi23koqXOGiiEzXMrT8Q7VcYaUISR+5MorIUxfWqYXN0fN/31WbSrxCxFkVQ43wwrA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -1610,24 +1583,20 @@ packages: peerDependencies: eslint: '>=9.22.0' - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.28.0: - resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} + eslint@9.29.0: + resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1636,8 +1605,8 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.6.0: @@ -1744,8 +1713,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} fs-minipass@2.1.0: @@ -1823,8 +1792,8 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - happy-dom@17.6.3: - resolution: {integrity: sha512-UVIHeVhxmxedbWPCfgS55Jg2rDfwf2BCKeylcPSqazLz5w3Kri7Q4xdBJubsr/+VUzFLh0VjIvh13RaDA2/Xug==} + happy-dom@18.0.1: + resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} engines: {node: '>=20.0.0'} has-bigints@1.1.0: @@ -2083,8 +2052,8 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.1.4: + resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2331,8 +2300,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.0: + resolution: {integrity: sha512-ujSB9uXHJKzM/2GBuE0hBOUgC77CN3Bnpqa+g80bkv3T3A93wL/xlzDATHhnhkzifz/UE2SNOvmbTz5hSkDlHw==} engines: {node: '>=14'} hasBin: true @@ -2372,8 +2341,8 @@ packages: peerDependencies: react: ^19.1.0 - react-hook-form@7.57.0: - resolution: {integrity: sha512-RbEks3+cbvTP84l/VXGUZ+JMrKOS8ykQCRYdm5aYsxnDquL0vspsyNhGRO7pcH6hsZqWlPOjLye7rJqdtdAmlg==} + react-hook-form@7.58.1: + resolution: {integrity: sha512-Lml/KZYEEFfPhUVgE0RdCVpnC4yhW+PndRhbiTtdvSlQTL8IfVR+iQkBjLIvmmc6+GGoVeM11z37ktKFPAb0FA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 @@ -2634,8 +2603,8 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: @@ -2682,8 +2651,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.34.0: - resolution: {integrity: sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==} + typescript-eslint@8.34.1: + resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2706,6 +2675,9 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + universal-cookie@8.0.1: resolution: {integrity: sha512-B6ks9FLLnP1UbPPcveOidfvB9pHjP+wekP2uRYB9YDfKVpvcjKgy1W5Zj+cEXJ9KTPnqOKGfVDQBmn8/YCQfRg==} @@ -2721,8 +2693,8 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - vite-node@3.2.3: - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -2771,16 +2743,16 @@ packages: yaml: optional: true - vitest@3.2.3: - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2799,10 +2771,6 @@ packages: jsdom: optional: true - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} @@ -2879,66 +2847,66 @@ snapshots: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@ark-ui/react@5.12.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/accordion': 1.15.0 - '@zag-js/anatomy': 1.15.0 - '@zag-js/angle-slider': 1.15.0 - '@zag-js/auto-resize': 1.15.0 - '@zag-js/avatar': 1.15.0 - '@zag-js/carousel': 1.15.0 - '@zag-js/checkbox': 1.15.0 - '@zag-js/clipboard': 1.15.0 - '@zag-js/collapsible': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/color-picker': 1.15.0 - '@zag-js/color-utils': 1.15.0 - '@zag-js/combobox': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/date-picker': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/dialog': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/editable': 1.15.0 - '@zag-js/file-upload': 1.15.0 - '@zag-js/file-utils': 1.15.0 - '@zag-js/floating-panel': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/highlight-word': 1.15.0 - '@zag-js/hover-card': 1.15.0 - '@zag-js/i18n-utils': 1.15.0 - '@zag-js/listbox': 1.15.0 - '@zag-js/menu': 1.15.0 - '@zag-js/number-input': 1.15.0 - '@zag-js/pagination': 1.15.0 - '@zag-js/password-input': 1.15.0 - '@zag-js/pin-input': 1.15.0 - '@zag-js/popover': 1.15.0 - '@zag-js/presence': 1.15.0 - '@zag-js/progress': 1.15.0 - '@zag-js/qr-code': 1.15.0 - '@zag-js/radio-group': 1.15.0 - '@zag-js/rating-group': 1.15.0 - '@zag-js/react': 1.15.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@zag-js/select': 1.15.0 - '@zag-js/signature-pad': 1.15.0 - '@zag-js/slider': 1.15.0 - '@zag-js/splitter': 1.15.0 - '@zag-js/steps': 1.15.0 - '@zag-js/switch': 1.15.0 - '@zag-js/tabs': 1.15.0 - '@zag-js/tags-input': 1.15.0 - '@zag-js/time-picker': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/timer': 1.15.0 - '@zag-js/toast': 1.15.0 - '@zag-js/toggle': 1.15.0 - '@zag-js/toggle-group': 1.15.0 - '@zag-js/tooltip': 1.15.0 - '@zag-js/tour': 1.15.0 - '@zag-js/tree-view': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@ark-ui/react@5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@internationalized/date': 3.8.2 + '@zag-js/accordion': 1.15.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/angle-slider': 1.15.2 + '@zag-js/auto-resize': 1.15.2 + '@zag-js/avatar': 1.15.2 + '@zag-js/carousel': 1.15.2 + '@zag-js/checkbox': 1.15.2 + '@zag-js/clipboard': 1.15.2 + '@zag-js/collapsible': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/color-picker': 1.15.2 + '@zag-js/color-utils': 1.15.2 + '@zag-js/combobox': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/date-picker': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/dialog': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/editable': 1.15.2 + '@zag-js/file-upload': 1.15.2 + '@zag-js/file-utils': 1.15.2 + '@zag-js/floating-panel': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/highlight-word': 1.15.2 + '@zag-js/hover-card': 1.15.2 + '@zag-js/i18n-utils': 1.15.2 + '@zag-js/listbox': 1.15.2 + '@zag-js/menu': 1.15.2 + '@zag-js/number-input': 1.15.2 + '@zag-js/pagination': 1.15.2 + '@zag-js/password-input': 1.15.2 + '@zag-js/pin-input': 1.15.2 + '@zag-js/popover': 1.15.2 + '@zag-js/presence': 1.15.2 + '@zag-js/progress': 1.15.2 + '@zag-js/qr-code': 1.15.2 + '@zag-js/radio-group': 1.15.2 + '@zag-js/rating-group': 1.15.2 + '@zag-js/react': 1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@zag-js/select': 1.15.2 + '@zag-js/signature-pad': 1.15.2 + '@zag-js/slider': 1.15.2 + '@zag-js/splitter': 1.15.2 + '@zag-js/steps': 1.15.2 + '@zag-js/switch': 1.15.2 + '@zag-js/tabs': 1.15.2 + '@zag-js/tags-input': 1.15.2 + '@zag-js/time-picker': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/timer': 1.15.2 + '@zag-js/toast': 1.15.2 + '@zag-js/toggle': 1.15.2 + '@zag-js/toggle-group': 1.15.2 + '@zag-js/tooltip': 1.15.2 + '@zag-js/tour': 1.15.2 + '@zag-js/tree-view': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -3033,11 +3001,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@chakra-ui/react@3.20.0(@emotion/react@11.14.0(@types/react@19.1.7)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@chakra-ui/react@3.21.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@ark-ui/react': 5.12.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@ark-ui/react': 5.14.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.1.7)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 @@ -3079,7 +3047,7 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.1.7)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.6 '@emotion/babel-plugin': 11.13.5 @@ -3091,7 +3059,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 19.1.0 optionalDependencies: - '@types/react': 19.1.7 + '@types/react': 19.1.8 transitivePeerDependencies: - supports-color @@ -3190,18 +3158,18 @@ snapshots: '@esbuild/win32-x64@0.25.4': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@1.21.7))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@1.21.7))': dependencies: - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.9(eslint@9.28.0(jiti@1.21.7))': + '@eslint/compat@1.3.0(eslint@9.29.0(jiti@1.21.7))': optionalDependencies: - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - '@eslint/config-array@0.20.0': + '@eslint/config-array@0.20.1': dependencies: '@eslint/object-schema': 2.1.6 debug: 4.4.1 @@ -3209,7 +3177,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.2.3': {} '@eslint/core@0.13.0': dependencies: @@ -3219,11 +3187,15 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.15.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 debug: 4.4.1 - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -3233,7 +3205,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.28.0': {} + '@eslint/js@9.29.0': {} '@eslint/object-schema@2.1.6': {} @@ -3242,9 +3214,9 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 - '@eslint/plugin-kit@0.3.1': + '@eslint/plugin-kit@0.3.2': dependencies: - '@eslint/core': 0.14.0 + '@eslint/core': 0.15.0 levn: 0.4.1 '@floating-ui/core@1.7.1': @@ -3282,11 +3254,11 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@internationalized/date@3.8.1': + '@internationalized/date@3.8.2': dependencies: '@swc/helpers': 0.5.17 - '@internationalized/number@3.6.2': + '@internationalized/number@3.6.3': dependencies: '@swc/helpers': 0.5.17 @@ -3399,17 +3371,15 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.40.2': optional: true - '@stylistic/eslint-plugin@4.4.1(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': + '@stylistic/eslint-plugin@5.0.0(eslint@9.29.0(jiti@1.21.7))': dependencies: - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.28.0(jiti@1.21.7) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) + '@typescript-eslint/types': 8.34.1 + eslint: 9.29.0(jiti@1.21.7) + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.2 - transitivePeerDependencies: - - supports-color - - typescript '@swc/core-darwin-arm64@1.11.31': optional: true @@ -3468,11 +3438,11 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@tanstack/query-core@5.80.6': {} + '@tanstack/query-core@5.81.2': {} - '@tanstack/react-query@5.80.6(react@19.1.0)': + '@tanstack/react-query@5.81.2(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.80.6 + '@tanstack/query-core': 5.81.2 react: 19.1.0 '@testing-library/dom@10.4.0': @@ -3496,17 +3466,17 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 '@testing-library/dom': 10.4.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.7 - '@types/react-dom': 19.1.6(@types/react@19.1.7) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3)': + '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.6.0)': dependencies: '@babel/generator': 7.27.1 '@babel/parser': 7.27.1 @@ -3514,7 +3484,7 @@ snapshots: '@babel/types': 7.27.1 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 3.5.3 + prettier: 3.6.0 transitivePeerDependencies: - supports-color @@ -3539,30 +3509,36 @@ snapshots: '@types/hoist-non-react-statics@3.3.6': dependencies: - '@types/react': 19.1.7 + '@types/react': 19.1.8 hoist-non-react-statics: 3.3.2 '@types/json-schema@7.0.15': {} + '@types/node@20.19.1': + dependencies: + undici-types: 6.21.0 + '@types/parse-json@4.0.2': {} - '@types/react-dom@19.1.6(@types/react@19.1.7)': + '@types/react-dom@19.1.6(@types/react@19.1.8)': dependencies: - '@types/react': 19.1.7 + '@types/react': 19.1.8 - '@types/react@19.1.7': + '@types/react@19.1.8': dependencies: csstype: 3.1.3 - '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': + '@types/whatwg-mimetype@3.0.2': {} + + '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.34.0 - '@typescript-eslint/type-utils': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.0 - eslint: 9.28.0(jiti@1.21.7) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 + eslint: 9.29.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -3571,91 +3547,55 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.34.0 - '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.0 - debug: 4.4.1 - eslint: 9.28.0(jiti@1.21.7) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.1 debug: 4.4.1 + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.34.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) - '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.33.1': - dependencies: - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 - - '@typescript-eslint/scope-manager@8.34.0': + '@typescript-eslint/scope-manager@8.34.1': dependencies: - '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/visitor-keys': 8.34.0 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 - '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': dependencies: typescript: 5.8.3 - '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - typescript: 5.8.3 - - '@typescript-eslint/type-utils@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) debug: 4.4.1 - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.33.1': {} - - '@typescript-eslint/types@8.34.0': {} - - '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': - dependencies: - '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 - debug: 4.4.1 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@8.34.1': {} - '@typescript-eslint/typescript-estree@8.34.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.34.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) - '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/visitor-keys': 8.34.0 + '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/visitor-keys': 8.34.1 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -3666,592 +3606,576 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - eslint: 9.28.0(jiti@1.21.7) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3)': + '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.34.0 - '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) - eslint: 9.28.0(jiti@1.21.7) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.34.1 + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.33.1': + '@typescript-eslint/visitor-keys@8.34.1': dependencies: - '@typescript-eslint/types': 8.33.1 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.34.0': - dependencies: - '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/types': 8.34.1 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-react-swc@3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(jiti@1.21.7))': + '@vitejs/plugin-react-swc@3.10.2(@swc/helpers@0.5.17)(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.11 '@swc/core': 1.11.31(@swc/helpers@0.5.17) - vite: 6.3.5(jiti@1.21.7) + vite: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) transitivePeerDependencies: - '@swc/helpers' - '@vitest/expect@3.2.3': + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.3(vite@6.3.5(jiti@1.21.7))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7))': dependencies: - '@vitest/spy': 3.2.3 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(jiti@1.21.7) + vite: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) - '@vitest/pretty-format@3.2.3': + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.2.3': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 3.2.3 + '@vitest/utils': 3.2.4 pathe: 2.0.3 strip-literal: 3.0.0 - '@vitest/snapshot@3.2.3': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.2.3': + '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.3 - '@vitest/utils@3.2.3': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.3 + '@vitest/pretty-format': 3.2.4 + loupe: 3.1.4 tinyrainbow: 2.0.0 - '@zag-js/accordion@1.15.0': + '@zag-js/accordion@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/anatomy@1.15.0': {} + '@zag-js/anatomy@1.15.2': {} - '@zag-js/angle-slider@1.15.0': + '@zag-js/angle-slider@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/aria-hidden@1.15.0': {} + '@zag-js/aria-hidden@1.15.2': {} - '@zag-js/auto-resize@1.15.0': + '@zag-js/auto-resize@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/avatar@1.15.0': + '@zag-js/avatar@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/carousel@1.15.0': + '@zag-js/carousel@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/scroll-snap': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/scroll-snap': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/checkbox@1.15.0': + '@zag-js/checkbox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/clipboard@1.15.0': + '@zag-js/clipboard@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/collapsible@1.15.0': + '@zag-js/collapsible@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/collection@1.15.0': + '@zag-js/collection@1.15.2': dependencies: - '@zag-js/utils': 1.15.0 + '@zag-js/utils': 1.15.2 - '@zag-js/color-picker@1.15.0': + '@zag-js/color-picker@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/color-utils': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/color-utils': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/color-utils@1.15.0': + '@zag-js/color-utils@1.15.2': dependencies: - '@zag-js/utils': 1.15.0 + '@zag-js/utils': 1.15.2 - '@zag-js/combobox@1.15.0': + '@zag-js/combobox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/core@1.15.0': + '@zag-js/core@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/date-picker@1.15.0(@internationalized/date@3.8.1)': + '@zag-js/date-picker@1.15.2(@internationalized/date@3.8.2)': dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/date-utils': 1.15.0(@internationalized/date@3.8.1) - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/live-region': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@internationalized/date': 3.8.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/date-utils': 1.15.2(@internationalized/date@3.8.2) + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/live-region': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/date-utils@1.15.0(@internationalized/date@3.8.1)': + '@zag-js/date-utils@1.15.2(@internationalized/date@3.8.2)': dependencies: - '@internationalized/date': 3.8.1 + '@internationalized/date': 3.8.2 - '@zag-js/dialog@1.15.0': + '@zag-js/dialog@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/remove-scroll': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/remove-scroll': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/dismissable@1.15.0': + '@zag-js/dismissable@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/dom-query@1.15.0': + '@zag-js/dom-query@1.15.2': dependencies: - '@zag-js/types': 1.15.0 + '@zag-js/types': 1.15.2 - '@zag-js/editable@1.15.0': + '@zag-js/editable@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/file-upload@1.15.0': + '@zag-js/file-upload@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/file-utils': 1.15.0 - '@zag-js/i18n-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/file-utils': 1.15.2 + '@zag-js/i18n-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/file-utils@1.15.0': + '@zag-js/file-utils@1.15.2': dependencies: - '@zag-js/i18n-utils': 1.15.0 + '@zag-js/i18n-utils': 1.15.2 - '@zag-js/floating-panel@1.15.0': + '@zag-js/floating-panel@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/focus-trap@1.15.0': + '@zag-js/focus-trap@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/focus-visible@1.15.0': + '@zag-js/focus-visible@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/highlight-word@1.15.0': {} + '@zag-js/highlight-word@1.15.2': {} - '@zag-js/hover-card@1.15.0': + '@zag-js/hover-card@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/i18n-utils@1.15.0': + '@zag-js/i18n-utils@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/interact-outside@1.15.0': + '@zag-js/interact-outside@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/listbox@1.15.0': + '@zag-js/listbox@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/live-region@1.15.0': {} + '@zag-js/live-region@1.15.2': {} - '@zag-js/menu@1.15.0': + '@zag-js/menu@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/rect-utils': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/rect-utils': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/number-input@1.15.0': + '@zag-js/number-input@1.15.2': dependencies: - '@internationalized/number': 3.6.2 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@internationalized/number': 3.6.3 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/pagination@1.15.0': + '@zag-js/pagination@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/password-input@1.15.0': + '@zag-js/password-input@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/pin-input@1.15.0': + '@zag-js/pin-input@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/popover@1.15.0': + '@zag-js/popover@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/aria-hidden': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/remove-scroll': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/aria-hidden': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/remove-scroll': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/popper@1.15.0': + '@zag-js/popper@1.15.2': dependencies: '@floating-ui/dom': 1.7.1 - '@zag-js/dom-query': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/dom-query': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/presence@1.15.0': + '@zag-js/presence@1.15.2': dependencies: - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 - '@zag-js/progress@1.15.0': + '@zag-js/progress@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/qr-code@1.15.0': + '@zag-js/qr-code@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 proxy-memoize: 3.0.1 uqr: 0.1.2 - '@zag-js/radio-group@1.15.0': + '@zag-js/radio-group@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/rating-group@1.15.0': + '@zag-js/rating-group@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/react@1.15.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@zag-js/react@1.15.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@zag-js/core': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/core': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@zag-js/rect-utils@1.15.0': {} + '@zag-js/rect-utils@1.15.2': {} - '@zag-js/remove-scroll@1.15.0': + '@zag-js/remove-scroll@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/scroll-snap@1.15.0': + '@zag-js/scroll-snap@1.15.2': dependencies: - '@zag-js/dom-query': 1.15.0 + '@zag-js/dom-query': 1.15.2 - '@zag-js/select@1.15.0': + '@zag-js/select@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/signature-pad@1.15.0': + '@zag-js/signature-pad@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 perfect-freehand: 1.2.2 - '@zag-js/slider@1.15.0': + '@zag-js/slider@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/splitter@1.15.0': + '@zag-js/splitter@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/steps@1.15.0': + '@zag-js/steps@1.15.2': dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 - '@zag-js/store@1.15.0': + '@zag-js/store@1.15.2': dependencies: proxy-compare: 3.0.1 - '@zag-js/switch@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tabs@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tags-input@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/auto-resize': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/live-region': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/time-picker@1.15.0(@internationalized/date@3.8.1)': - dependencies: - '@internationalized/date': 3.8.1 - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/timer@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toast@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toggle-group@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/toggle@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tooltip@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-visible': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/store': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tour@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dismissable': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/focus-trap': 1.15.0 - '@zag-js/interact-outside': 1.15.0 - '@zag-js/popper': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/tree-view@1.15.0': - dependencies: - '@zag-js/anatomy': 1.15.0 - '@zag-js/collection': 1.15.0 - '@zag-js/core': 1.15.0 - '@zag-js/dom-query': 1.15.0 - '@zag-js/types': 1.15.0 - '@zag-js/utils': 1.15.0 - - '@zag-js/types@1.15.0': + '@zag-js/switch@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tabs@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tags-input@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/auto-resize': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/live-region': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/time-picker@1.15.2(@internationalized/date@3.8.2)': + dependencies: + '@internationalized/date': 3.8.2 + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/timer@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toast@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toggle-group@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/toggle@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tooltip@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-visible': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/store': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tour@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dismissable': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/focus-trap': 1.15.2 + '@zag-js/interact-outside': 1.15.2 + '@zag-js/popper': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/tree-view@1.15.2': + dependencies: + '@zag-js/anatomy': 1.15.2 + '@zag-js/collection': 1.15.2 + '@zag-js/core': 1.15.2 + '@zag-js/dom-query': 1.15.2 + '@zag-js/types': 1.15.2 + '@zag-js/utils': 1.15.2 + + '@zag-js/types@1.15.2': dependencies: csstype: 3.1.3 - '@zag-js/utils@1.15.0': {} + '@zag-js/utils@1.15.2': {} - acorn-jsx@5.3.2(acorn@8.14.1): + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - acorn: 8.14.1 + acorn: 8.15.0 - acorn@8.14.1: {} + acorn@8.15.0: {} ajv@6.12.6: dependencies: @@ -4354,10 +4278,10 @@ snapshots: axe-core@4.10.3: {} - axios@1.9.0: + axios@1.10.0: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.2 + form-data: 4.0.3 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -4374,12 +4298,12 @@ snapshots: binary-extensions@2.3.0: {} - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -4443,7 +4367,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 + loupe: 3.1.4 pathval: 2.0.0 chalk@3.0.0: @@ -4738,11 +4662,11 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.7)): + eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - eslint-plugin-jsx-a11y@6.10.2(eslint@9.28.0(jiti@1.21.7)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.29.0(jiti@1.21.7)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -4752,7 +4676,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -4761,34 +4685,34 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-perfectionist@4.14.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3): + eslint-plugin-perfectionist@4.15.0(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.28.0(jiti@1.21.7) + '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.4.1(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.7)))(eslint@9.28.0(jiti@1.21.7))(prettier@3.5.3): + eslint-plugin-prettier@5.5.0(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@1.21.7)))(eslint@9.29.0(jiti@1.21.7))(prettier@3.6.0): dependencies: - eslint: 9.28.0(jiti@1.21.7) - prettier: 3.5.3 + eslint: 9.29.0(jiti@1.21.7) + prettier: 3.6.0 prettier-linter-helpers: 1.0.0 synckit: 0.11.8 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@1.21.7)) + eslint-config-prettier: 10.1.5(eslint@9.29.0(jiti@1.21.7)) - eslint-plugin-react-hooks@5.2.0(eslint@9.28.0(jiti@1.21.7)): + eslint-plugin-react-hooks@5.2.0(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - eslint-plugin-react-refresh@0.4.20(eslint@9.28.0(jiti@1.21.7)): + eslint-plugin-react-refresh@0.4.20(eslint@9.29.0(jiti@1.21.7)): dependencies: - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) - eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@1.21.7)): + eslint-plugin-react@7.37.5(eslint@9.29.0(jiti@1.21.7)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -4796,7 +4720,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -4810,15 +4734,15 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-unicorn@59.0.1(eslint@9.28.0(jiti@1.21.7)): + eslint-plugin-unicorn@59.0.1(eslint@9.29.0(jiti@1.21.7)): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) '@eslint/plugin-kit': 0.2.8 ci-info: 4.2.0 clean-regexp: 1.0.0 core-js-compat: 3.42.0 - eslint: 9.28.0(jiti@1.21.7) + eslint: 9.29.0(jiti@1.21.7) esquery: 1.6.0 find-up-simple: 1.0.1 globals: 16.1.0 @@ -4831,40 +4755,38 @@ snapshots: semver: 7.7.1 strip-indent: 4.0.0 - eslint-scope@8.3.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} - eslint@9.28.0(jiti@1.21.7): + eslint@9.29.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.0 - '@eslint/config-helpers': 0.2.2 + '@eslint/config-array': 0.20.1 + '@eslint/config-helpers': 0.2.3 '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.28.0 - '@eslint/plugin-kit': 0.3.1 + '@eslint/js': 9.29.0 + '@eslint/plugin-kit': 0.3.2 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4884,11 +4806,11 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 esquery@1.6.0: dependencies: @@ -4973,11 +4895,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.2: + form-data@4.0.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 fs-minipass@2.1.0: @@ -5075,9 +4998,10 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - happy-dom@17.6.3: + happy-dom@18.0.1: dependencies: - webidl-conversions: 7.0.0 + '@types/node': 20.19.1 + '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 has-bigints@1.1.0: {} @@ -5323,7 +5247,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.3: {} + loupe@3.1.4: {} lru-cache@10.4.3: {} @@ -5359,11 +5283,11 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -5386,7 +5310,7 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 @@ -5548,7 +5472,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.5.3: {} + prettier@3.6.0: {} pretty-format@27.5.1: dependencies: @@ -5591,7 +5515,7 @@ snapshots: react: 19.1.0 scheduler: 0.26.0 - react-hook-form@7.57.0(react@19.1.0): + react-hook-form@7.58.1(react@19.1.0): dependencies: react: 19.1.0 @@ -5914,7 +5838,7 @@ snapshots: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.1.0: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} @@ -5972,12 +5896,12 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3): + typescript-eslint@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@1.21.7))(typescript@5.8.3) - eslint: 9.28.0(jiti@1.21.7) + '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3))(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.29.0(jiti@1.21.7) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -5996,6 +5920,8 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 + undici-types@6.21.0: {} + universal-cookie@8.0.1: dependencies: cookie: 1.0.2 @@ -6012,13 +5938,13 @@ snapshots: dependencies: punycode: 2.3.1 - vite-node@3.2.3(jiti@1.21.7): + vite-node@3.2.4(@types/node@20.19.1)(jiti@1.21.7): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(jiti@1.21.7) + vite: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) transitivePeerDependencies: - '@types/node' - jiti @@ -6033,11 +5959,11 @@ snapshots: - tsx - yaml - vite-plugin-css-injected-by-js@3.5.2(vite@6.3.5(jiti@1.21.7)): + vite-plugin-css-injected-by-js@3.5.2(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7)): dependencies: - vite: 6.3.5(jiti@1.21.7) + vite: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) - vite@6.3.5(jiti@1.21.7): + vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7): dependencies: esbuild: 0.25.4 fdir: 6.4.4(picomatch@4.0.2) @@ -6046,19 +5972,20 @@ snapshots: rollup: 4.40.2 tinyglobby: 0.2.13 optionalDependencies: + '@types/node': 20.19.1 fsevents: 2.3.3 jiti: 1.21.7 - vitest@3.2.3(happy-dom@17.6.3)(jiti@1.21.7): + vitest@3.2.4(@types/node@20.19.1)(happy-dom@18.0.1)(jiti@1.21.7): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(vite@6.3.5(jiti@1.21.7)) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.19.1)(jiti@1.21.7)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -6069,13 +5996,14 @@ snapshots: tinybench: 2.9.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 - tinypool: 1.1.0 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(jiti@1.21.7) - vite-node: 3.2.3(jiti@1.21.7) + vite: 6.3.5(@types/node@20.19.1)(jiti@1.21.7) + vite-node: 3.2.4(@types/node@20.19.1)(jiti@1.21.7) why-is-node-running: 2.3.0 optionalDependencies: - happy-dom: 17.6.3 + '@types/node': 20.19.1 + happy-dom: 18.0.1 transitivePeerDependencies: - jiti - less @@ -6090,8 +6018,6 @@ snapshots: - tsx - yaml - webidl-conversions@7.0.0: {} - whatwg-mimetype@3.0.0: {} which-boxed-primitive@1.1.1: From ecab0faf401bcdf5fad251feedeb0ea796f25ac0 Mon Sep 17 00:00:00 2001 From: Yeonguk Choo Date: Tue, 24 Jun 2025 05:08:44 +0900 Subject: [PATCH 114/381] Remove pytest.db_test marker from SQLite tests (#52037) * Remove pytest.db_test marker from SQLite tests * Refactor SqliteHook tests to imock usage * revert test_sqlite and add db_test * Refactor SqliteHook tests to use mock_connection --- .../tests/unit/sqlite/hooks/test_sqlite.py | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/providers/sqlite/tests/unit/sqlite/hooks/test_sqlite.py b/providers/sqlite/tests/unit/sqlite/hooks/test_sqlite.py index 5587bb5f4fdae..f1a8dfa7d0698 100644 --- a/providers/sqlite/tests/unit/sqlite/hooks/test_sqlite.py +++ b/providers/sqlite/tests/unit/sqlite/hooks/test_sqlite.py @@ -18,7 +18,7 @@ from __future__ import annotations from unittest import mock -from unittest.mock import patch +from unittest.mock import MagicMock, patch import pytest import sqlalchemy @@ -26,7 +26,14 @@ from airflow.models import Connection from airflow.providers.sqlite.hooks.sqlite import SqliteHook -pytestmark = pytest.mark.db_test + +def mock_connection(host=None, extra=None, uri=None): + """Create a mock connection object without triggering SQLAlchemy ORM initialization.""" + conn = MagicMock(spec=Connection) + conn.host = host + conn.extra = extra + conn.get_uri.return_value = uri if uri is not None else (host or "") + return conn class TestSqliteHookConn: @@ -39,13 +46,22 @@ class UnitTestSqliteHook(SqliteHook): @pytest.mark.parametrize( "connection, uri", [ - (Connection(host="host"), "file:host"), - (Connection(host="host", extra='{"mode":"ro"}'), "file:host?mode=ro"), - (Connection(host=":memory:"), "file::memory:"), - (Connection(), "file:"), - (Connection(uri="sqlite://relative/path/to/db?mode=ro"), "file:relative/path/to/db?mode=ro"), - (Connection(uri="sqlite:///absolute/path/to/db?mode=ro"), "file:/absolute/path/to/db?mode=ro"), - (Connection(uri="sqlite://?mode=ro"), "file:?mode=ro"), + (mock_connection(host="host", uri="sqlite:///host"), "file:/host"), + ( + mock_connection(host="host", extra='{"mode":"ro"}', uri="sqlite:///host?mode=ro"), + "file:/host?mode=ro", + ), + (mock_connection(host=":memory:", uri="sqlite:///:memory:"), "file:/:memory:"), + (mock_connection(uri="sqlite:///"), "file:/"), + ( + mock_connection(uri="sqlite:///relative/path/to/db?mode=ro"), + "file:/relative/path/to/db?mode=ro", + ), + ( + mock_connection(uri="sqlite:////absolute/path/to/db?mode=ro"), + "file://absolute/path/to/db?mode=ro", + ), + (mock_connection(uri="sqlite://?mode=ro"), "sqlite:/?mode=ro"), ], ) @patch("airflow.providers.sqlite.hooks.sqlite.sqlite3.connect") @@ -56,10 +72,12 @@ def test_get_conn(self, mock_connect, connection, uri): @patch("airflow.providers.sqlite.hooks.sqlite.sqlite3.connect") def test_get_conn_non_default_id(self, mock_connect): - self.db_hook.get_connection = mock.Mock(return_value=Connection(host="host")) + self.db_hook.get_connection = mock.Mock( + return_value=mock_connection(host="host", uri="sqlite:///host") + ) self.db_hook.test_conn_id = "non_default" self.db_hook.get_conn() - mock_connect.assert_called_once_with("file:host", uri=True) + mock_connect.assert_called_once_with("file:/host", uri=True) self.db_hook.get_connection.assert_called_once_with("non_default") @@ -135,6 +153,7 @@ def test_run_log(self): self.db_hook.run(statement) assert self.db_hook.log.info.call_count == 2 + @pytest.mark.db_test def test_generate_insert_sql_replace_false(self): expected_sql = "INSERT INTO Customer (first_name, last_name) VALUES (?,?)" rows = ("James", "1") @@ -145,6 +164,7 @@ def test_generate_insert_sql_replace_false(self): assert sql == expected_sql + @pytest.mark.db_test def test_generate_insert_sql_replace_true(self): expected_sql = "REPLACE INTO Customer (first_name, last_name) VALUES (?,?)" rows = ("James", "1") From f22f75626536f9b8ba1d7422fdf42507b9102f1c Mon Sep 17 00:00:00 2001 From: Pierre Jeambrun Date: Mon, 23 Jun 2025 22:10:29 +0200 Subject: [PATCH 115/381] Adjustment external views (#51889) * Adjustment external views * Fix lint * Fix CI * Improvements * Small update * Update following code review --- .../administration-and-deployment/plugins.rst | 24 +-- .../docs/howto/custom-view-plugin.rst | 8 +- .../core_api/datamodels/plugins.py | 26 +++- .../openapi/v2-rest-api-generated.yaml | 97 ++++++------ airflow-core/src/airflow/plugins_manager.py | 14 +- .../ui/openapi-gen/requests/schemas.gen.ts | 143 ++++++++++-------- .../ui/openapi-gen/requests/types.gen.ts | 38 +++-- .../airflow/ui/src/layouts/Nav/NavButton.tsx | 14 +- .../ui/src/layouts/Nav/PluginMenuItem.tsx | 92 +++++++++++ .../ui/src/layouts/Nav/PluginMenus.tsx | 97 ++++-------- .../src/airflow/ui/src/pages/Iframe.tsx | 4 +- .../core_api/routes/public/test_plugins.py | 39 +++++ .../unit/cli/commands/test_plugins_command.py | 11 +- .../tests/unit/plugins/test_plugin.py | 13 +- .../airflowctl/api/datamodels/generated.py | 58 ++++--- .../tests_common/test_utils/mock_plugins.py | 2 +- 16 files changed, 421 insertions(+), 259 deletions(-) create mode 100644 airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenuItem.tsx diff --git a/airflow-core/docs/administration-and-deployment/plugins.rst b/airflow-core/docs/administration-and-deployment/plugins.rst index 8747707b4a461..2daa6036ddb11 100644 --- a/airflow-core/docs/administration-and-deployment/plugins.rst +++ b/airflow-core/docs/administration-and-deployment/plugins.rst @@ -109,7 +109,7 @@ looks like: # A list of dictionaries containing FastAPI middleware factory objects and some metadata. See the example below. fastapi_root_middlewares = [] # A list of dictionaries containing iframe views and some metadata. See the example below. - iframe_views = [] + external_views = [] # A callback to perform actions when Airflow starts and the plugin is loaded. # NOTE: Ensure your plugin has *args, and **kwargs in the method definition @@ -195,18 +195,24 @@ definitions in Airflow. } # Creating a iframe view that will be rendered in the Airflow UI. - iframe_view_with_metadata = { + external_view_with_metadata = { "name": "Name of the Iframe View as displayed in the UI", - # Source URL of the iframe. This URL can be templated using context variables, depending on the location where the iframe is rendered - # the context variables available will be different, i.e a subset of (DAG_ID, RUN_ID, TASK_ID, MAP_INDEX) - "src": "https://example.com/{DAG_ID}/{RUN_ID}/{TASK_ID}", + # Source URL of the external view. This URL can be templated using context variables, depending on the location where the external view is rendered + # the context variables available will be different, i.e a subset of (DAG_ID, RUN_ID, TASK_ID, MAP_INDEX). + "href": "https://example.com/{DAG_ID}/{RUN_ID}/{TASK_ID}", # Destination of the iframe view. This is used to determine where the iframe will be loaded in the UI. - # Supported locations are Literal["nav", "dag", "dag_run", "task", "task_instance"] + # Supported locations are Literal["nav", "dag", "dag_run", "task", "task_instance"], default to "nav". "destination": "dag_run", # Optional icon, url to an svg file. "icon": "https://example.com/icon.svg", - # Optional parameters, relative URL location when opening the iframe - "url_route": "/my_iframe_view", + # Optional dark icon for the dark theme, url to an svg file. If not provided, "icon" will be used for both light and dark themes. + "icon_dark_mode": "https://example.com/dark_icon.svg", + # Optional parameters, relative URL location for the iframe rendering. If not provided, external view will be rendeded as an external link. Should + # not contain a leading slash. + "url_route": "my_iframe_view", + # Optional category, only relevant for destination "nav". This is used to group the external links in the navigation bar. We will match the existing + # menus of ["browse", "docs", "admin", "user"] and if there's no match then create a new menu. + "category": "browse", } @@ -216,7 +222,7 @@ definitions in Airflow. macros = [plugin_macro] fastapi_apps = [app_with_metadata] fastapi_root_middlewares = [middleware_with_metadata] - iframe_views = [iframe_view_with_metadata] + external_views = [external_view_with_metadata] .. seealso:: :doc:`/howto/define-extra-link` diff --git a/airflow-core/docs/howto/custom-view-plugin.rst b/airflow-core/docs/howto/custom-view-plugin.rst index 28f413b9b54a2..74a2891f47615 100644 --- a/airflow-core/docs/howto/custom-view-plugin.rst +++ b/airflow-core/docs/howto/custom-view-plugin.rst @@ -24,7 +24,7 @@ core UI using the Plugin manager. Plugins integrate with the Airflow core RestAPI. In this plugin, three object references are derived from the base class ``airflow.plugins_manager.AirflowPlugin``. -They are fastapi_apps, fastapi_root_middlewares and iframe_views. +They are fastapi_apps, fastapi_root_middlewares and external_views. Using fastapi_apps in Airflow plugin, the core RestAPI can be extended to support extra endpoints to serve custom static file or any other json/application responses. @@ -37,12 +37,12 @@ functionality to the entire FastAPI application, including core endpoints. In this object reference, the list of dictionaries with Middleware factories object, initialization parameters and some metadata information like the name are passed on. -Using iframe_views in Airflow plugin, allows to register custom views that are rendered in iframes in -the Airflow UI. This is useful for integrating external applications or custom dashboards into the Airflow UI. +Using external_views in Airflow plugin, allows to register custom views that are rendered in iframes or external link +in the Airflow UI. This is useful for integrating external applications or custom dashboards into the Airflow UI. In this object reference, the list of dictionaries with the view name, iframe src (templatable), destination and optional parameters like the icon and url_route are passed on. -Information and code samples to register ``fastapi_apps``, ``fastapi_root_middlewares`` and ``iframe_views`` are +Information and code samples to register ``fastapi_apps``, ``fastapi_root_middlewares`` and ``external_views`` are available in :doc:`plugin `. Support for Airflow 2 plugins diff --git a/airflow-core/src/airflow/api_fastapi/core_api/datamodels/plugins.py b/airflow-core/src/airflow/api_fastapi/core_api/datamodels/plugins.py index a1f51c04ab78d..daf712a8eda0e 100644 --- a/airflow-core/src/airflow/api_fastapi/core_api/datamodels/plugins.py +++ b/airflow-core/src/airflow/api_fastapi/core_api/datamodels/plugins.py @@ -19,7 +19,7 @@ from typing import Annotated, Any, Literal -from pydantic import BeforeValidator, ConfigDict, field_validator +from pydantic import BeforeValidator, ConfigDict, Field, field_validator, model_validator from airflow.api_fastapi.core_api.base import BaseModel from airflow.plugins_manager import AirflowPluginSource @@ -65,20 +65,22 @@ class AppBuilderMenuItemResponse(BaseModel): model_config = ConfigDict(extra="allow") name: str - href: str | None = None + href: str category: str | None = None -class IFrameViewsResponse(BaseModel): +class ExternalViewResponse(BaseModel): """Serializer for IFrame Plugin responses.""" model_config = ConfigDict(extra="allow") name: str - src: str + href: str icon: str | None = None + icon_dark_mode: str | None = None url_route: str | None = None - destination: Literal["nav", "dag", "dag_run", "task", "task_instance"] | None = None + category: str | None = None + destination: Literal["nav", "dag", "dag_run", "task", "task_instance"] = "nav" class PluginResponse(BaseModel): @@ -89,9 +91,13 @@ class PluginResponse(BaseModel): flask_blueprints: list[str] fastapi_apps: list[FastAPIAppResponse] fastapi_root_middlewares: list[FastAPIRootMiddlewareResponse] - iframe_views: list[IFrameViewsResponse] + external_views: list[ExternalViewResponse] = Field( + description="Aggregate all external views. Both 'external_views' and 'appbuilder_menu_items' are included here." + ) appbuilder_views: list[AppBuilderViewResponse] - appbuilder_menu_items: list[AppBuilderMenuItemResponse] + appbuilder_menu_items: list[AppBuilderMenuItemResponse] = Field( + deprecated="Kept for backward compatibility, use `external_views` instead.", + ) global_operator_extra_links: list[str] operator_extra_links: list[str] source: Annotated[str, BeforeValidator(coerce_to_string)] @@ -105,6 +111,12 @@ def convert_source(cls, data: Any) -> Any: return str(data) return data + @model_validator(mode="before") + @classmethod + def convert_external_views(cls, data: Any) -> Any: + data["external_views"] = [*data["external_views"], *data.get("appbuilder_menu_items", [])] + return data + class PluginCollectionResponse(BaseModel): """Plugin Collection serializer.""" diff --git a/airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml b/airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml index c67a089b0623e..478316b43369a 100644 --- a/airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml +++ b/airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml @@ -7029,9 +7029,7 @@ components: type: string title: Name href: - anyOf: - - type: string - - type: 'null' + type: string title: Href category: anyOf: @@ -7042,6 +7040,7 @@ components: type: object required: - name + - href title: AppBuilderMenuItemResponse description: Serializer for AppBuilder Menu Item responses. AppBuilderViewResponse: @@ -9293,6 +9292,51 @@ components: - url title: ExternalLogUrlResponse description: Response for the external log URL endpoint. + ExternalViewResponse: + properties: + name: + type: string + title: Name + href: + type: string + title: Href + icon: + anyOf: + - type: string + - type: 'null' + title: Icon + icon_dark_mode: + anyOf: + - type: string + - type: 'null' + title: Icon Dark Mode + url_route: + anyOf: + - type: string + - type: 'null' + title: Url Route + category: + anyOf: + - type: string + - type: 'null' + title: Category + destination: + type: string + enum: + - nav + - dag + - dag_run + - task + - task_instance + title: Destination + default: nav + additionalProperties: true + type: object + required: + - name + - href + title: ExternalViewResponse + description: Serializer for IFrame Plugin responses. ExtraLinkCollectionResponse: properties: extra_links: @@ -9386,42 +9430,6 @@ components: - triggerer title: HealthInfoResponse description: Health serializer for responses. - IFrameViewsResponse: - properties: - name: - type: string - title: Name - src: - type: string - title: Src - icon: - anyOf: - - type: string - - type: 'null' - title: Icon - url_route: - anyOf: - - type: string - - type: 'null' - title: Url Route - destination: - anyOf: - - type: string - enum: - - nav - - dag - - dag_run - - task - - task_instance - - type: 'null' - title: Destination - additionalProperties: true - type: object - required: - - name - - src - title: IFrameViewsResponse - description: Serializer for IFrame Plugin responses. ImportErrorCollectionResponse: properties: import_errors: @@ -9676,11 +9684,13 @@ components: $ref: '#/components/schemas/FastAPIRootMiddlewareResponse' type: array title: Fastapi Root Middlewares - iframe_views: + external_views: items: - $ref: '#/components/schemas/IFrameViewsResponse' + $ref: '#/components/schemas/ExternalViewResponse' type: array - title: Iframe Views + title: External Views + description: Aggregate all external views. Both 'external_views' and 'appbuilder_menu_items' + are included here. appbuilder_views: items: $ref: '#/components/schemas/AppBuilderViewResponse' @@ -9691,6 +9701,7 @@ components: $ref: '#/components/schemas/AppBuilderMenuItemResponse' type: array title: Appbuilder Menu Items + deprecated: true global_operator_extra_links: items: type: string @@ -9721,7 +9732,7 @@ components: - flask_blueprints - fastapi_apps - fastapi_root_middlewares - - iframe_views + - external_views - appbuilder_views - appbuilder_menu_items - global_operator_extra_links diff --git a/airflow-core/src/airflow/plugins_manager.py b/airflow-core/src/airflow/plugins_manager.py index 84cc92cd81723..8874864286b77 100644 --- a/airflow-core/src/airflow/plugins_manager.py +++ b/airflow-core/src/airflow/plugins_manager.py @@ -69,7 +69,7 @@ flask_blueprints: list[Any] | None = None fastapi_apps: list[Any] | None = None fastapi_root_middlewares: list[Any] | None = None -iframe_views: list[Any] | None = None +external_views: list[Any] | None = None menu_links: list[Any] | None = None flask_appbuilder_views: list[Any] | None = None flask_appbuilder_menu_links: list[Any] | None = None @@ -91,7 +91,7 @@ "flask_blueprints", "fastapi_apps", "fastapi_root_middlewares", - "iframe_views", + "external_views", "menu_links", "appbuilder_views", "appbuilder_menu_items", @@ -156,7 +156,7 @@ class AirflowPlugin: flask_blueprints: list[Any] = [] fastapi_apps: list[Any] = [] fastapi_root_middlewares: list[Any] = [] - iframe_views: list[Any] = [] + external_views: list[Any] = [] menu_links: list[Any] = [] appbuilder_views: list[Any] = [] appbuilder_menu_items: list[Any] = [] @@ -371,9 +371,9 @@ def ensure_plugins_loaded(): def initialize_ui_plugins(): """Collect extension points for the UI.""" global plugins - global iframe_views + global external_views - if iframe_views is not None: + if external_views is not None: return ensure_plugins_loaded() @@ -383,10 +383,10 @@ def initialize_ui_plugins(): log.debug("Initialize UI plugin") - iframe_views = [] + external_views = [] for plugin in plugins: - iframe_views.extend(plugin.iframe_views) + external_views.extend(plugin.external_views) def initialize_flask_plugins(): diff --git a/airflow-core/src/airflow/ui/openapi-gen/requests/schemas.gen.ts b/airflow-core/src/airflow/ui/openapi-gen/requests/schemas.gen.ts index 93814056bb09c..6f5f33136e54f 100644 --- a/airflow-core/src/airflow/ui/openapi-gen/requests/schemas.gen.ts +++ b/airflow-core/src/airflow/ui/openapi-gen/requests/schemas.gen.ts @@ -7,14 +7,7 @@ export const $AppBuilderMenuItemResponse = { title: 'Name' }, href: { - anyOf: [ - { - type: 'string' - }, - { - type: 'null' - } - ], + type: 'string', title: 'Href' }, category: { @@ -31,7 +24,7 @@ export const $AppBuilderMenuItemResponse = { }, additionalProperties: true, type: 'object', - required: ['name'], + required: ['name', 'href'], title: 'AppBuilderMenuItemResponse', description: 'Serializer for AppBuilder Menu Item responses.' } as const; @@ -3269,6 +3262,74 @@ export const $ExternalLogUrlResponse = { description: 'Response for the external log URL endpoint.' } as const; +export const $ExternalViewResponse = { + properties: { + name: { + type: 'string', + title: 'Name' + }, + href: { + type: 'string', + title: 'Href' + }, + icon: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Icon' + }, + icon_dark_mode: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Icon Dark Mode' + }, + url_route: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Url Route' + }, + category: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Category' + }, + destination: { + type: 'string', + enum: ['nav', 'dag', 'dag_run', 'task', 'task_instance'], + title: 'Destination', + default: 'nav' + } + }, + additionalProperties: true, + type: 'object', + required: ['name', 'href'], + title: 'ExternalViewResponse', + description: 'Serializer for IFrame Plugin responses.' +} as const; + export const $ExtraLinkCollectionResponse = { properties: { extra_links: { @@ -3399,58 +3460,6 @@ export const $HealthInfoResponse = { description: 'Health serializer for responses.' } as const; -export const $IFrameViewsResponse = { - properties: { - name: { - type: 'string', - title: 'Name' - }, - src: { - type: 'string', - title: 'Src' - }, - icon: { - anyOf: [ - { - type: 'string' - }, - { - type: 'null' - } - ], - title: 'Icon' - }, - url_route: { - anyOf: [ - { - type: 'string' - }, - { - type: 'null' - } - ], - title: 'Url Route' - }, - destination: { - anyOf: [ - { - type: 'string', - enum: ['nav', 'dag', 'dag_run', 'task', 'task_instance'] - }, - { - type: 'null' - } - ], - title: 'Destination' - } - }, - additionalProperties: true, - type: 'object', - required: ['name', 'src'], - title: 'IFrameViewsResponse', - description: 'Serializer for IFrame Plugin responses.' -} as const; - export const $ImportErrorCollectionResponse = { properties: { import_errors: { @@ -3830,12 +3839,13 @@ export const $PluginResponse = { type: 'array', title: 'Fastapi Root Middlewares' }, - iframe_views: { + external_views: { items: { - '$ref': '#/components/schemas/IFrameViewsResponse' + '$ref': '#/components/schemas/ExternalViewResponse' }, type: 'array', - title: 'Iframe Views' + title: 'External Views', + description: "Aggregate all external views. Both 'external_views' and 'appbuilder_menu_items' are included here." }, appbuilder_views: { items: { @@ -3849,7 +3859,8 @@ export const $PluginResponse = { '$ref': '#/components/schemas/AppBuilderMenuItemResponse' }, type: 'array', - title: 'Appbuilder Menu Items' + title: 'Appbuilder Menu Items', + deprecated: true }, global_operator_extra_links: { items: { @@ -3885,7 +3896,7 @@ export const $PluginResponse = { } }, type: 'object', - required: ['name', 'macros', 'flask_blueprints', 'fastapi_apps', 'fastapi_root_middlewares', 'iframe_views', 'appbuilder_views', 'appbuilder_menu_items', 'global_operator_extra_links', 'operator_extra_links', 'source', 'listeners', 'timetables'], + required: ['name', 'macros', 'flask_blueprints', 'fastapi_apps', 'fastapi_root_middlewares', 'external_views', 'appbuilder_views', 'appbuilder_menu_items', 'global_operator_extra_links', 'operator_extra_links', 'source', 'listeners', 'timetables'], title: 'PluginResponse', description: 'Plugin serializer.' } as const; diff --git a/airflow-core/src/airflow/ui/openapi-gen/requests/types.gen.ts b/airflow-core/src/airflow/ui/openapi-gen/requests/types.gen.ts index 92dee7ed04011..692a290abccfe 100644 --- a/airflow-core/src/airflow/ui/openapi-gen/requests/types.gen.ts +++ b/airflow-core/src/airflow/ui/openapi-gen/requests/types.gen.ts @@ -5,7 +5,7 @@ */ export type AppBuilderMenuItemResponse = { name: string; - href?: string | null; + href: string; category?: string | null; [key: string]: unknown | string; }; @@ -871,6 +871,22 @@ export type ExternalLogUrlResponse = { url: string; }; +/** + * Serializer for IFrame Plugin responses. + */ +export type ExternalViewResponse = { + name: string; + href: string; + icon?: string | null; + icon_dark_mode?: string | null; + url_route?: string | null; + category?: string | null; + destination?: 'nav' | 'dag' | 'dag_run' | 'task' | 'task_instance'; + [key: string]: unknown | string; +}; + +export type destination = 'nav' | 'dag' | 'dag_run' | 'task' | 'task_instance'; + /** * Extra Links Response. */ @@ -923,18 +939,6 @@ export type HealthInfoResponse = { dag_processor?: DagProcessorInfoResponse | null; }; -/** - * Serializer for IFrame Plugin responses. - */ -export type IFrameViewsResponse = { - name: string; - src: string; - icon?: string | null; - url_route?: string | null; - destination?: 'nav' | 'dag' | 'dag_run' | 'task' | 'task_instance' | null; - [key: string]: unknown | string; -}; - /** * Import Error Collection Response. */ @@ -1034,8 +1038,14 @@ export type PluginResponse = { flask_blueprints: Array<(string)>; fastapi_apps: Array; fastapi_root_middlewares: Array; - iframe_views: Array; + /** + * Aggregate all external views. Both 'external_views' and 'appbuilder_menu_items' are included here. + */ + external_views: Array; appbuilder_views: Array; + /** + * @deprecated + */ appbuilder_menu_items: Array; global_operator_extra_links: Array<(string)>; operator_extra_links: Array<(string)>; diff --git a/airflow-core/src/airflow/ui/src/layouts/Nav/NavButton.tsx b/airflow-core/src/airflow/ui/src/layouts/Nav/NavButton.tsx index 23f837cd7c62f..4ebaa90b7c3ea 100644 --- a/airflow-core/src/airflow/ui/src/layouts/Nav/NavButton.tsx +++ b/airflow-core/src/airflow/ui/src/layouts/Nav/NavButton.tsx @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { Box, Button, type ButtonProps } from "@chakra-ui/react"; +import { Box, Button, Link, type ButtonProps } from "@chakra-ui/react"; import type { ReactElement } from "react"; import { NavLink } from "react-router-dom"; @@ -33,17 +33,18 @@ const styles = { type NavButtonProps = { readonly icon: ReactElement; + readonly isExternal?: boolean; readonly title?: string; readonly to?: string; } & ButtonProps; -export const NavButton = ({ icon, title, to, ...rest }: NavButtonProps) => +export const NavButton = ({ icon, isExternal = false, title, to, ...rest }: NavButtonProps) => to === undefined ? ( - ) : ( + ) : isExternal ? ( {({ isActive }: { readonly isActive: boolean }) => ( )} + ) : ( + + + ); diff --git a/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenuItem.tsx b/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenuItem.tsx new file mode 100644 index 0000000000000..28b777570501d --- /dev/null +++ b/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenuItem.tsx @@ -0,0 +1,92 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { Box, Link, Image } from "@chakra-ui/react"; +import { LuPlug } from "react-icons/lu"; +import { Link as RouterLink } from "react-router-dom"; + +import type { ExternalViewResponse } from "openapi/requests/types.gen"; + +import { NavButton } from "./NavButton"; + +type Props = { readonly topLevel?: boolean } & ExternalViewResponse; + +export const PluginMenuItem = ({ href, icon, name, topLevel = false, url_route: urlRoute }: Props) => { + // External Link + if (urlRoute === undefined || urlRoute === null) { + return topLevel ? ( + + ) : ( + + ) + } + isExternal={true} + key={name} + title={name} + to={href} + /> + ) : ( + + + {name} + + + ); + } + + // Embedded External Link via iframes + if (topLevel) { + return ( + + ) : ( + + ) + } + key={name} + title={name} + to={`plugin/${urlRoute}`} + /> + ); + } + + return ( + + + {typeof icon === "string" ? ( + + ) : ( + + )} + {name} + + + ); +}; diff --git a/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenus.tsx b/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenus.tsx index 7ff5c58d3bbb7..13fde6fa66371 100644 --- a/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenus.tsx +++ b/airflow-core/src/airflow/ui/src/layouts/Nav/PluginMenus.tsx @@ -16,98 +16,65 @@ * specific language governing permissions and limitations * under the License. */ -import { Box, Link, Image } from "@chakra-ui/react"; +import { Box } from "@chakra-ui/react"; import { useTranslation } from "react-i18next"; import { FiChevronRight } from "react-icons/fi"; import { LuPlug } from "react-icons/lu"; -import { Link as RouterLink } from "react-router-dom"; import { usePluginServiceGetPlugins } from "openapi/queries"; -import type { AppBuilderMenuItemResponse } from "openapi/requests/types.gen"; +import type { ExternalViewResponse } from "openapi/requests/types.gen"; import { Menu } from "src/components/ui"; import { NavButton } from "./NavButton"; +import { PluginMenuItem } from "./PluginMenuItem"; export const PluginMenus = () => { const { t: translate } = useTranslation("common"); const { data } = usePluginServiceGetPlugins(); - const menuPlugins = data?.plugins.filter((plugin) => plugin.appbuilder_menu_items.length > 0); - const iframePlugins = - data?.plugins.flatMap((plugin) => plugin.iframe_views).filter((view) => view.destination === "nav") ?? []; + const menuPlugins = + data?.plugins.flatMap((plugin) => plugin.external_views).filter((view) => view.destination === "nav") ?? + []; - // Only show iframe plugins in menu if there are more than 2 - const menuIframePlugins = iframePlugins.length > 2 ? iframePlugins : []; - const directIframePlugins = iframePlugins.length <= 2 ? iframePlugins : []; + // Only show external plugins in menu if there are more than 2 + const menuExternalViews = menuPlugins.length > 2 ? menuPlugins : []; + const directExternalViews = menuPlugins.length <= 2 ? menuPlugins : []; - if (data === undefined || (menuPlugins === undefined && iframePlugins.length === 0)) { + if (data === undefined || menuPlugins.length === 0) { return undefined; } - const categories: Record> = {}; - const buttons: Array = []; + const categories: Record> = {}; + const buttons: Array = []; - menuPlugins?.forEach((plugin) => { - plugin.appbuilder_menu_items.forEach((mi) => { - if (mi.category !== null && mi.category !== undefined) { - categories[mi.category] = [...(categories[mi.category] ?? []), mi]; - } else { - buttons.push(mi); - } - }); + menuPlugins.forEach((externalView) => { + if (externalView.category !== null && externalView.category !== undefined) { + categories[externalView.category] = [...(categories[externalView.category] ?? []), externalView]; + } else { + buttons.push(externalView); + } }); - if (!buttons.length && !Object.keys(categories).length && iframePlugins.length === 0) { + if (!buttons.length && !Object.keys(categories).length && menuPlugins.length === 0) { return undefined; } return ( <> - {directIframePlugins.map((plugin) => ( - - ) : ( - - ) - } - key={plugin.name} - title={plugin.name} - to={`plugin/${plugin.url_route ?? plugin.name.toLowerCase().replace(" ", "-")}`} - /> + {directExternalViews.map((externalView) => ( + ))} - {(menuIframePlugins.length > 0 || buttons.length > 0 || Object.keys(categories).length > 0) && ( + {menuExternalViews.length > 0 && ( } title={translate("nav.plugins")} /> - {menuIframePlugins.map((plugin) => ( - - - {typeof plugin.icon === "string" ? ( - - ) : ( - - )} - - {plugin.name} - - + {buttons.map((externalView) => ( + + ))} - {buttons.map(({ href, name }) => - href !== null && href !== undefined ? ( - - - {name} - - - ) : undefined, - )} {Object.entries(categories).map(([key, menuButtons]) => ( @@ -115,15 +82,11 @@ export const PluginMenus = () => { - {menuButtons.map(({ href, name }) => - href !== undefined && href !== null ? ( - - - {name} - - - ) : undefined, - )} + {menuButtons.map((externalView) => ( + + + + ))} ))} diff --git a/airflow-core/src/airflow/ui/src/pages/Iframe.tsx b/airflow-core/src/airflow/ui/src/pages/Iframe.tsx index 69327a6a999af..9256a463b08b9 100644 --- a/airflow-core/src/airflow/ui/src/pages/Iframe.tsx +++ b/airflow-core/src/airflow/ui/src/pages/Iframe.tsx @@ -29,7 +29,7 @@ export const Iframe = () => { const { data: pluginData, isLoading } = usePluginServiceGetPlugins(); const iframeView = pluginData?.plugins - .flatMap((plugin) => plugin.iframe_views) + .flatMap((plugin) => plugin.external_views) .find((view) => (view.url_route ?? view.name.toLowerCase().replace(" ", "-")) === page); if (!iframeView) { @@ -48,7 +48,7 @@ export const Iframe = () => {

    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