From add6b9c8818bb226222e1f3fbc405a6fc494dcc9 Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 2 Jan 2026 17:58:43 +0100 Subject: [PATCH 1/6] Dependency updates --- .gitignore | 1 - api/Dockerfile | 2 +- api/package-lock.json | 282 +- api/package.json | 12 +- api/tsconfig.json | 4 +- deployments/build.sh | 3 + deployments/financial/docker-compose.yml | 2 +- deployments/standard/docker-compose.yml | 2 +- doc/Cypress.md | 39 - doc/Financial.md | 11 +- doc/Standard.md | 11 +- doc/images/cypress-tests.png | Bin 148950 -> 0 bytes doc/images/web-developer-setup.png | Bin 11782 -> 0 bytes spa/{ => css}/app.css | 0 spa/css/bootstrap.min.css | 6 + spa/cypress.config.ts | 31 - spa/cypress/e2e/spa.cy.js | 38 - spa/cypress/e2e/spa.js | 108 - spa/cypress/plugins/index.js | 22 - spa/cypress/support/commands.ts | 37 - spa/cypress/support/e2e.ts | 20 - spa/index.html | 4 +- spa/package-lock.json | 3924 +++++----------------- spa/package.json | 34 +- spa/tsconfig.json | 2 +- spa/webpack/webpack.common.ts | 28 +- spa/webpack/webpack.dev.ts | 3 + webhost/Dockerfile | 2 +- webhost/package-lock.json | 274 +- webhost/package.json | 10 +- webhost/src/server.ts | 2 +- webhost/tsconfig.json | 4 +- 32 files changed, 1233 insertions(+), 3685 deletions(-) delete mode 100644 doc/Cypress.md delete mode 100644 doc/images/cypress-tests.png delete mode 100644 doc/images/web-developer-setup.png rename spa/{ => css}/app.css (100%) create mode 100644 spa/css/bootstrap.min.css delete mode 100644 spa/cypress.config.ts delete mode 100644 spa/cypress/e2e/spa.cy.js delete mode 100644 spa/cypress/e2e/spa.js delete mode 100644 spa/cypress/plugins/index.js delete mode 100644 spa/cypress/support/commands.ts delete mode 100644 spa/cypress/support/e2e.ts diff --git a/.gitignore b/.gitignore index 1a2fad8..1a404c0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ license.json node_modules dist -spa/cypress/reports/ deployments/*/components/api/config.json deployments/*/components/spa/config.json deployments/*/components/webhost/config.json diff --git a/api/Dockerfile b/api/Dockerfile index 148b6b5..988ef6c 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20-bookworm-slim +FROM node:22-bookworm-slim RUN groupadd --gid 10000 apiuser \ && useradd --uid 10001 --gid apiuser --shell /bin/bash --create-home apiuser diff --git a/api/package-lock.json b/api/package-lock.json index 33f9d4e..9afe591 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -9,22 +9,22 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "express": "^5.1.0", - "jose": "^6.0.10" + "express": "^5.2.1", + "jose": "^6.1.3" }, "devDependencies": { - "@types/express": "^5.0.1", - "@types/node": "^20.11.30", - "typescript": "^5.8.3" + "@types/express": "^5.0.6", + "@types/node": "^22.13.14", + "typescript": "^5.9.3" }, "engines": { - "node": ">=20" + "node": ">=22" } }, "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { @@ -43,21 +43,21 @@ } }, "node_modules/@types/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz", - "integrity": "sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", - "@types/serve-static": "*" + "@types/serve-static": "^2" } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz", + "integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==", "dev": true, "license": "MIT", "dependencies": { @@ -68,33 +68,26 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz", - "integrity": "sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==", + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.21.0" } }, "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, @@ -106,26 +99,24 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" + "@types/node": "*" } }, "node_modules/accepts": { @@ -142,23 +133,27 @@ } }, "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz", + "integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", - "debug": "^4.4.0", + "debug": "^4.4.3", "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", + "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/bytes": { @@ -200,15 +195,16 @@ } }, "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -239,9 +235,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -339,18 +335,19 @@ } }, "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { "accepts": "^2.0.0", - "body-parser": "^2.2.0", + "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", + "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", @@ -381,9 +378,9 @@ } }, "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -394,7 +391,11 @@ "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/forwarded": { @@ -498,31 +499,39 @@ } }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", + "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/inherits": { @@ -547,9 +556,9 @@ "license": "MIT" }, "node_modules/jose": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.0.10.tgz", - "integrity": "sha512-skIAxZqcMkOrSwjJvplIPYrlXGpxTPnro2/QWTDCxAdWQrSTV5/KqspMWmi5WAx5+ULswASJiZ0a+1B/Lxt9cw==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", + "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -595,15 +604,19 @@ } }, "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ms": { @@ -664,12 +677,13 @@ } }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/proxy-addr": { @@ -686,9 +700,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -710,18 +724,18 @@ } }, "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, "node_modules/router": { @@ -740,26 +754,6 @@ "node": ">= 18" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -767,31 +761,35 @@ "license": "MIT" }, "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "license": "MIT", "dependencies": { - "debug": "^4.3.5", + "debug": "^4.4.3", "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", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", - "statuses": "^2.0.1" + "statuses": "^2.0.2" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -801,6 +799,10 @@ }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/setprototypeof": { @@ -882,9 +884,9 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -914,9 +916,9 @@ } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -928,9 +930,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "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" }, diff --git a/api/package.json b/api/package.json index 7b0db6b..aba5d6f 100644 --- a/api/package.json +++ b/api/package.json @@ -7,19 +7,19 @@ "main": "server.ts", "type": "module", "engines": { - "node": ">=20" + "node": ">=22" }, "scripts": { "build": "rm -rf dist && tsc", "start": "npm run build && node dist/server.js" }, "dependencies": { - "express": "^5.1.0", - "jose": "^6.0.10" + "express": "^5.2.1", + "jose": "^6.1.3" }, "devDependencies": { - "@types/express": "^5.0.1", - "@types/node": "^20.11.30", - "typescript": "^5.8.3" + "@types/express": "^5.0.6", + "@types/node": "^22.13.14", + "typescript": "^5.9.3" } } diff --git a/api/tsconfig.json b/api/tsconfig.json index 1a4a342..e313e39 100644 --- a/api/tsconfig.json +++ b/api/tsconfig.json @@ -3,8 +3,8 @@ "strict": true, "target": "ES2022", "lib": ["ES2022"], - "module": "ES2022", - "moduleResolution": "node", + "module": "Node18", + "moduleResolution": "Node16", "allowSyntheticDefaultImports": true, "outDir": "dist" }, diff --git a/deployments/build.sh b/deployments/build.sh index 089698c..70e4b78 100755 --- a/deployments/build.sh +++ b/deployments/build.sh @@ -82,6 +82,9 @@ if [ "$OAUTH_AGENT" == 'NODE' ]; then fi cd oauth-agent + # TODO: delete after merge + git checkout feature/dependency-updates + npm install if [ $? -ne 0 ]; then echo "Problem encountered installing the OAuth Agent dependencies" diff --git a/deployments/financial/docker-compose.yml b/deployments/financial/docker-compose.yml index 26a311d..026cbeb 100644 --- a/deployments/financial/docker-compose.yml +++ b/deployments/financial/docker-compose.yml @@ -134,7 +134,7 @@ services: # A SQL database used by the Curity Identity Server # curity-data: - image: postgres:17.4 + image: postgres:18.1 hostname: dbserver volumes: - ./components/idsvr/data-backup.sql:/docker-entrypoint-initdb.d/data-backup.sql diff --git a/deployments/standard/docker-compose.yml b/deployments/standard/docker-compose.yml index f557e43..a6d4eb6 100644 --- a/deployments/standard/docker-compose.yml +++ b/deployments/standard/docker-compose.yml @@ -102,7 +102,7 @@ services: # A SQL database used by the Curity Identity Server # curity-data: - image: postgres:17.4 + image: postgres:18.1 hostname: dbserver volumes: - ./components/idsvr/data-backup.sql:/docker-entrypoint-initdb.d/data-backup.sql diff --git a/doc/Cypress.md b/doc/Cypress.md deleted file mode 100644 index 76b3221..0000000 --- a/doc/Cypress.md +++ /dev/null @@ -1,39 +0,0 @@ -# Automated UI Tests - -The SPA project includes some Cypress resources to show how to run automated tests for login related logic: - -```bash -cd spa -npm run uitests -``` - -This will spin up the Chrome browser and run UI tests against the login operations: - -![cypress tests](images/cypress-tests.png) - -## Test Parameters - -URLs used by tests are specified in the `cypress.config.ts` file and can be overridden if required.\ -When using the financial grade example deployment, set them as follows: - -```typescript -env: { - ORIGIN: 'https://www.example.com', - LOGIN_START_URL: 'https://api.example.com/oauth-agent/login/start', - IDSVR_BASE_URL: 'https://login.example.com:8443', -} -``` - -If HTTP URLs are used, some browsers may redirect the origin to an HTTPS URL.\ -In this case, reload the browser at an HTTP URL of `http://www.example.com`. - -## Additional Commands - -Various other operations are possible, as explained in the [Cypress docs](https://docs.cypress.io/guides/guides/command-line).\ -Some example commands are shown here, which could be added as scripts to `package.json`: - -| Description | Command | -| ----------- | ------- | -| Open the main Cypress console | cypress open | -| Run tests without a user interface | cypress run --headless --browser chrome | -| Generate a test report HTML file | npx mochawesome-merge cypress/reports/separate-reports/*.json > cypress/reports/index.json && npx marge --reportDir cypress/reports/ cypress/reports/index.json | diff --git a/doc/Financial.md b/doc/Financial.md index ced6eb7..92b4d40 100644 --- a/doc/Financial.md +++ b/doc/Financial.md @@ -23,7 +23,7 @@ Add these entries to your /etc/hosts file: Ensure that these tools are installed locally: -- [Node.js 20 or later](https://nodejs.org/en/download/) +- [Node.js 22 or later](https://nodejs.org/en/download/) - [Java 17 or later](https://openjdk.java.net/projects/jdk/17/) - [Docker](https://www.docker.com/products/docker-desktop) - [openssl](https://www.openssl.org/source/) @@ -120,15 +120,6 @@ API_GATEWAY_CONTAINER_ID=$(docker container ls | grep api-gateway | awk '{print docker logs -f $API_GATEWAY_CONTAINER_ID ``` -## Run UI Tests - -If required, run the SPA's [automated UI tests](Cypress.md) for login related operations: - -```bash -cd spa -npm run uitests -``` - ## Free Resources When finished with your development session, run the following script to free resources: diff --git a/doc/Standard.md b/doc/Standard.md index c607fd1..be28fb5 100644 --- a/doc/Standard.md +++ b/doc/Standard.md @@ -22,7 +22,7 @@ Add these entries to your /etc/hosts file: Ensure that these tools are installed locally: -- [Node.js 20 or later](https://nodejs.org/en/download/) +- [Node.js 22 or later](https://nodejs.org/en/download/) - [Docker](https://www.docker.com/products/docker-desktop) - [jq](https://stedolan.github.io/jq/download/) - [envsubst](https://www.gnu.org/software/gettext/) @@ -121,15 +121,6 @@ API_GATEWAY_CONTAINER_ID=$(docker container ls | grep api-gateway | awk '{print docker logs -f $API_GATEWAY_CONTAINER_ID ``` -## Run UI Tests - -If required, run the SPA's [automated UI tests](Cypress.md) for login related operations: - -```bash -cd spa -npm run uitests -``` - ## Free Resources When finished with your development session, run the following script to free resources: diff --git a/doc/images/cypress-tests.png b/doc/images/cypress-tests.png deleted file mode 100644 index d9c8a599df2192f587501209cec455c3edb0d02e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148950 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%0D>K8m=z~{qZfE<;=h1Jl{D%BJ~NQ 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%0D9bk%}4z0%x@;oRRPYf`$1<$(B%#0 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 GLK6TP+rH@l diff --git a/doc/images/web-developer-setup.png b/doc/images/web-developer-setup.png deleted file mode 100644 index 73e62be68c025f581d31f644127acc3fc068bb60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11782 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 z 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:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} + \ No newline at end of file diff --git a/spa/cypress.config.ts b/spa/cypress.config.ts deleted file mode 100644 index 83670a6..0000000 --- a/spa/cypress.config.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { defineConfig } from "cypress"; - -export default defineConfig({ - chromeWebSecurity: false, - viewportWidth: 1920, - viewportHeight: 1080, - defaultCommandTimeout: 10000, - videosFolder: "cypress/reports/videos", - screenshotsFolder: "cypress/reports/screenshots", - retries: 1, - reporter: "mochawesome", - - reporterOptions: { - reportDir: "cypress/reports/separate-reports", - overwrite: false, - html: false, - json: true, - }, - - env: { - ORIGIN: 'http://www.example.com', - LOGIN_START_URL: 'http://api.example.com/oauth-agent/login/start', - IDSVR_BASE_URL: 'http://login.example.com:8443', - }, - - e2e: { - setupNodeEvents(on, config) { - // implement node event listeners here - }, - }, -}); diff --git a/spa/cypress/e2e/spa.cy.js b/spa/cypress/e2e/spa.cy.js deleted file mode 100644 index 78e0b81..0000000 --- a/spa/cypress/e2e/spa.cy.js +++ /dev/null @@ -1,38 +0,0 @@ -import { - BASE_URL, - ORIGIN, - authenticateUser, - signOutUser, - clickElement -} from './spa'; - -describe('Single Page App Tests', () => { - beforeEach(() => { - cy.intercept('/oauth-agent/**', (req) => { - req.headers['Origin'] = ORIGIN; - }).as('oauthAgentCall'); - cy.intercept('/api/**', (req) => { - req.headers['Origin'] = ORIGIN - }).as('businessApiCall'); - cy.visit(BASE_URL); - authenticateUser(); - }); - - afterEach(() => { - signOutUser(); - }); - - it('Login then get ID token claims, user info and call APIs from the application', () => { - - clickElement('#getUserInfo'); - cy.get('#getUserInfoResult') - .contains('Demo User'); - clickElement('#getClaims'); - cy.get('#getClaimsResult') - .contains('auth_time'); - clickElement('#getApiData', true); - cy.get('#getDataResult') - .contains('Success response from the Business API'); - }) - -}) diff --git a/spa/cypress/e2e/spa.js b/spa/cypress/e2e/spa.js deleted file mode 100644 index 6367ddb..0000000 --- a/spa/cypress/e2e/spa.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2021 Curity AB - * - * Licensed 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. - */ - -export const TIMEOUT_100 = 100; -export const TIMEOUT_500 = 500; -export const TIMEOUT_1000 = 1000; -export const ORIGIN = Cypress.env('ORIGIN'); -export const BASE_URL = ORIGIN + '/'; -export const LOGIN_START_URL = Cypress.env('LOGIN_START_URL'); -export const IDSVR_BASE_URL = Cypress.env('IDSVR_BASE_URL'); -export const USERNAME = 'demouser'; -export const PASSWORD = 'Password1'; - -export function authenticateUser() { - cy.request({ - // Get the authorization URL from the OAuth Agent - method: 'POST', - url: LOGIN_START_URL, - headers: { Origin: ORIGIN } - }) - .then(response => { - // Call the authorization URL - return cy.request({ - method: "POST", - url: response.body.authorizationRequestUrl, - followRedirect: true - }) - }) - .then(response => { - const jqueryHtml = getHTMLBodyAsJQueryDOM(response.body); - const action = jqueryHtml.find('form').attr('action'); - - // Post username and password - return cy.request({ - method: "POST", - url: IDSVR_BASE_URL + action, - body: { userName: USERNAME, password: PASSWORD }, - form: true, - followRedirect: true - }) - }) - .then(response => { - const jqueryHtml = getHTMLBodyAsJQueryDOM(response.body) - // For some reason jQuery can't find the form element, but it finds a div inside of the form... - const form = jqueryHtml.find('#noscript').parent(); - const action = form.attr('action'); - const token = form.find('input[name="token"]').val(); - const state = form.find('input[name="state"]').val(); - - // Submit the final form (normally this is done by JS in the browser) - return cy.request({ - method: "POST", - url: IDSVR_BASE_URL + action, - body: { token, state }, - form: true, - followRedirect: false - }) - }) - .then(resp => { - // Navigate to the redirect URL to finish login - return cy.visit(resp.redirectedToUrl) - }) - .then(() => { - cy.url().should('eq', BASE_URL); - cy.get('#getUserInfo') - .should('exist') - cy.get('#getClaims') - .should('exist') - }) -} - -export function signOutUser() { - clickElement('#signOut'); - cy.get('#startAuthentication') - .should('exist'); -} - -export function inputText(selector, text) { - cy.get(selector) - .click({ force: true }) - .clear() - .type(text); -} - -export function clickElement(selector, apiCall = false, clickOptions = null) { - const waitForCall = apiCall ? '@businessApiCall' : '@oauthAgentCall'; - cy.get(selector) - .should('exist') - .click(clickOptions) - .wait(waitForCall); -} - -function getHTMLBodyAsJQueryDOM(body) { - return Cypress.$(body); -} diff --git a/spa/cypress/plugins/index.js b/spa/cypress/plugins/index.js deleted file mode 100644 index 59b2bab..0000000 --- a/spa/cypress/plugins/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -// eslint-disable-next-line no-unused-vars -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -} diff --git a/spa/cypress/support/commands.ts b/spa/cypress/support/commands.ts deleted file mode 100644 index 698b01a..0000000 --- a/spa/cypress/support/commands.ts +++ /dev/null @@ -1,37 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } \ No newline at end of file diff --git a/spa/cypress/support/e2e.ts b/spa/cypress/support/e2e.ts deleted file mode 100644 index f80f74f..0000000 --- a/spa/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/e2e.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file diff --git a/spa/index.html b/spa/index.html index fef424f..214a9cd 100644 --- a/spa/index.html +++ b/spa/index.html @@ -5,7 +5,7 @@ Demo Web Client - + @@ -13,4 +13,4 @@ - \ No newline at end of file + diff --git a/spa/package-lock.json b/spa/package-lock.json index 83e905f..f744d5b 100644 --- a/spa/package-lock.json +++ b/spa/package-lock.json @@ -9,87 +9,25 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "axios": "^1.8.4", - "react": "^19.1.0", - "react-dom": "^19.1.0" + "axios": "^1.13.2", + "react": "^19.2.3", + "react-dom": "^19.2.3" }, "devDependencies": { - "@types/react": "^19.1.2", - "@types/react-dom": "^19.1.0", - "cypress": "^13.14.2", - "mochawesome": "^7.1.3", - "ts-loader": "^9.5.1", - "tsx": "^4.19.3", - "typescript": "^5.8.3", - "webpack": "^5.99.5", + "@types/node": "^22.13.14", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "copy-webpack-plugin": "^13.0.1", + "ts-loader": "^9.5.4", + "tsx": "^4.21.0", + "typescript": "^5.9.3", + "webpack": "^5.104.1", "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.1", + "webpack-dev-server": "^5.2.2", "webpack-merge": "^6.0.1" }, "engines": { - "node": ">=20" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cypress/request": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.8.tgz", - "integrity": "sha512-h0NFgh1mJmm1nr4jCwkGHwKneVYKghUyWe6TMNrk0B9zsjAJxpg8C4/+BAcmLgCPa1vj1V8rNUaILl+zYRUWBQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~4.0.0", - "http-signature": "~1.4.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "6.14.0", - "safe-buffer": "^5.1.2", - "tough-cookie": "^5.0.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@cypress/xvfb": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.1.0", - "lodash.once": "^4.1.1" - } - }, - "node_modules/@cypress/xvfb/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "node": ">=22" } }, "node_modules/@discoveryjs/json-ext": { @@ -103,9 +41,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", "cpu": [ "ppc64" ], @@ -120,9 +58,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", "cpu": [ "arm" ], @@ -137,9 +75,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", "cpu": [ "arm64" ], @@ -154,9 +92,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", "cpu": [ "x64" ], @@ -171,9 +109,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", "cpu": [ "arm64" ], @@ -188,9 +126,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", "cpu": [ "x64" ], @@ -205,9 +143,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", "cpu": [ "arm64" ], @@ -222,9 +160,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", "cpu": [ "x64" ], @@ -239,9 +177,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", "cpu": [ "arm" ], @@ -256,9 +194,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", "cpu": [ "arm64" ], @@ -273,9 +211,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", "cpu": [ "ia32" ], @@ -290,9 +228,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", "cpu": [ "loong64" ], @@ -307,9 +245,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", "cpu": [ "mips64el" ], @@ -324,9 +262,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", "cpu": [ "ppc64" ], @@ -341,9 +279,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", "cpu": [ "riscv64" ], @@ -358,9 +296,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", "cpu": [ "s390x" ], @@ -375,9 +313,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", "cpu": [ "x64" ], @@ -392,9 +330,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", "cpu": [ "arm64" ], @@ -409,9 +347,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", "cpu": [ "x64" ], @@ -426,9 +364,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", "cpu": [ "arm64" ], @@ -443,9 +381,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", "cpu": [ "x64" ], @@ -459,10 +397,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", "cpu": [ "x64" ], @@ -477,9 +432,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", "cpu": [ "arm64" ], @@ -494,9 +449,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", "cpu": [ "ia32" ], @@ -511,9 +466,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", "cpu": [ "x64" ], @@ -527,129 +482,15 @@ "node": ">=18" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -662,20 +503,10 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "dev": true, "license": "MIT", "dependencies": { @@ -684,16 +515,16 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -718,17 +549,76 @@ "tslib": "2" } }, + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" }, "engines": { "node": ">=10.0" @@ -742,11 +632,15 @@ } }, "node_modules/@jsonjoy.com/util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", - "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, "engines": { "node": ">=10.0" }, @@ -765,22 +659,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { @@ -842,29 +724,29 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", "dev": true, "license": "MIT", "dependencies": { @@ -875,16 +757,16 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", "dev": true, "license": "MIT", "dependencies": { @@ -906,9 +788,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.14.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", - "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", "dev": true, "license": "MIT", "dependencies": { @@ -916,9 +798,9 @@ } }, "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", "dev": true, "license": "MIT", "dependencies": { @@ -926,9 +808,9 @@ } }, "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, @@ -940,23 +822,24 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.2.tgz", - "integrity": "sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^19.0.0" + "@types/react": "^19.2.0" } }, "node_modules/@types/retry": { @@ -967,13 +850,12 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, @@ -988,30 +870,27 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/sizzle": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", - "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } }, "node_modules/@types/sockjs": { "version": "0.3.36", @@ -1033,17 +912,6 @@ "@types/node": "*" } }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -1291,11 +1159,12 @@ } }, "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "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", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1303,18 +1172,17 @@ "node": ">=0.4.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" } }, "node_modules/ajv": { @@ -1323,6 +1191,7 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -1365,32 +1234,6 @@ "ajv": "^8.8.2" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -1404,16 +1247,6 @@ "ansi-html": "bin/ansi-html" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1444,34 +1277,18 @@ "node": ">= 8" } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "Python-2.0", - "peer": true + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/array-flatten": { "version": "1.1.1", @@ -1480,115 +1297,32 @@ "dev": true, "license": "MIT" }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true, - "license": "MIT" - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "dev": true, - "license": "MIT" - }, "node_modules/axios": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", - "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/baseline-browser-mapping": { + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, "node_modules/batch": { "version": "0.6.1", @@ -1597,16 +1331,6 @@ "dev": true, "license": "MIT" }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -1620,78 +1344,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "license": "MIT" - }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -1703,17 +1380,6 @@ "multicast-dns": "^7.2.5" } }, - "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==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -1727,18 +1393,10 @@ "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true, - "license": "ISC", - "peer": true - }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -1755,11 +1413,13 @@ } ], "license": "MIT", + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -1768,41 +1428,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -1836,16 +1461,6 @@ "node": ">= 0.8" } }, - "node_modules/cachedir": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", - "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -1876,24 +1491,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001713", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", - "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", + "version": "1.0.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", "dev": true, "funding": [ { @@ -1911,13 +1512,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1935,29 +1529,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -1983,101 +1554,27 @@ "fsevents": "~2.3.2" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", - "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-table3": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "string-width": "^4.2.0" + "is-glob": "^4.0.1" }, "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "node": ">= 6" } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, "engines": { - "node": ">=12" + "node": ">=6.0" } }, "node_modules/clone-deep": { @@ -2135,24 +1632,11 @@ } }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } + "license": "MIT" }, "node_modules/compressible": { "version": "2.0.18", @@ -2168,9 +1652,9 @@ } }, "node_modules/compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, "license": "MIT", "dependencies": { @@ -2178,7 +1662,7 @@ "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", - "on-headers": "~1.0.2", + "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" }, @@ -2186,23 +1670,6 @@ "node": ">= 0.8.0" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -2237,9 +1704,9 @@ } }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "license": "MIT", "engines": { @@ -2247,16 +1714,40 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true, "license": "MIT" }, + "node_modules/copy-webpack-plugin": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", + "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true, "license": "MIT" }, @@ -2276,144 +1767,26 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/cypress": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", - "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@cypress/request": "^3.0.6", - "@cypress/xvfb": "^1.2.4", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.7.1", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "ci-info": "^4.0.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^6.2.1", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.4", - "enquirer": "^2.3.6", - "eventemitter2": "6.4.7", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.8", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "process": "^0.11.10", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.5.3", - "supports-color": "^8.1.1", - "tmp": "~0.2.3", - "tree-kill": "1.2.2", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" - }, - "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" - } - }, - "node_modules/cypress/node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true, - "license": "MIT" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, "license": "MIT" }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "ms": "2.0.0" } }, "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", "dev": true, "license": "MIT", "dependencies": { @@ -2428,9 +1801,9 @@ } }, "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "dev": true, "license": "MIT", "engines": { @@ -2490,16 +1863,6 @@ "dev": true, "license": "MIT" }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -2527,25 +1890,6 @@ "node": ">= 0.4" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -2554,19 +1898,12 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.137", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.137.tgz", - "integrity": "sha512-/QSJaU2JyIuTbbABAo/crOs+SuAZLS+fVVS10PVrIT9hrRkmZl8Hb0xPSkKRUUWHQtYzXHpQUW3Dy5hwMzGZkA==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -2577,20 +1914,10 @@ "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2601,24 +1928,10 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, "license": "MIT", "bin": { @@ -2647,9 +1960,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, "license": "MIT" }, @@ -2681,9 +1994,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2694,31 +2007,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" } }, "node_modules/escalade": { @@ -2738,16 +2052,6 @@ "dev": true, "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -2805,13 +2109,6 @@ "node": ">= 0.6" } }, - "node_modules/eventemitter2": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", - "dev": true, - "license": "MIT" - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -2829,78 +2126,41 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -2913,77 +2173,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/express/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2992,9 +2181,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, "funding": [ { @@ -3031,30 +2220,22 @@ "node": ">=0.8.0" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=8" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, "node_modules/fill-range": { @@ -3071,63 +2252,42 @@ } }, "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~2.0.2", "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, "license": "BSD-3-Clause", "bin": { @@ -3135,9 +2295,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "funding": [ { "type": "individual", @@ -3154,57 +2314,16 @@ } } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "peer": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -3231,22 +2350,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3262,13 +2365,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fsu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz", - "integrity": "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==", - "dev": true, - "license": "MIT" - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3278,16 +2374,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -3325,26 +2411,10 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3354,59 +2424,34 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^3.2.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", - "peer": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "is-glob": "^4.0.3" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">= 6" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, "node_modules/glob-to-regexp": { @@ -3416,39 +2461,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -3524,17 +2536,6 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -3589,20 +2590,24 @@ "license": "MIT" }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/http-parser-js": { @@ -3652,31 +2657,6 @@ } } }, - "node_modules/http-signature": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", - "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.18.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, "node_modules/hyperdyperid": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", @@ -3700,27 +2680,6 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -3741,16 +2700,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -3758,16 +2707,6 @@ "dev": true, "license": "ISC" }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -3779,9 +2718,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", "dev": true, "license": "MIT", "engines": { @@ -3843,16 +2782,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -3885,27 +2814,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", + "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", "dev": true, "license": "MIT", "engines": { @@ -3925,16 +2837,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -3961,39 +2863,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-wsl": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", @@ -4034,34 +2903,10 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "peer": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "license": "MIT", "dependencies": { @@ -4073,34 +2918,22 @@ "node": ">= 10.13.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "argparse": "^2.0.1" + "has-flag": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "license": "MIT" - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -4108,13 +2941,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true, - "license": "(AFL-2.1 OR BSD-3-Clause)" - }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -4122,42 +2948,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "license": "ISC" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -4169,213 +2959,43 @@ } }, "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "> 0.8" - } - }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isempty": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isobject": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", - "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC", - "peer": true - }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -4396,20 +3016,19 @@ } }, "node_modules/memfs": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", - "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", + "version": "4.51.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz", + "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", "tslib": "^2.0.0" }, - "engines": { - "node": ">= 4.0.0" - }, "funding": { "type": "github", "url": "https://github.com/sponsors/streamich" @@ -4456,6 +3075,19 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -4490,16 +3122,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -4507,157 +3129,10 @@ "dev": true, "license": "ISC" }, - "node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "peer": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mocha": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.1.0.tgz", - "integrity": "sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^10.4.5", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^17.7.2", - "yargs-parser": "^21.1.1", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mochawesome": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz", - "integrity": "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "diff": "^5.0.0", - "json-stringify-safe": "^5.0.1", - "lodash.isempty": "^4.4.0", - "lodash.isfunction": "^3.0.9", - "lodash.isobject": "^3.0.2", - "lodash.isstring": "^4.0.1", - "mochawesome-report-generator": "^6.2.0", - "strip-ansi": "^6.0.1", - "uuid": "^8.3.2" - }, - "peerDependencies": { - "mocha": ">=7" - } - }, - "node_modules/mochawesome-report-generator": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz", - "integrity": "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "dateformat": "^4.5.1", - "escape-html": "^1.0.3", - "fs-extra": "^10.0.0", - "fsu": "^1.1.1", - "lodash.isfunction": "^3.0.9", - "opener": "^1.5.2", - "prop-types": "^15.7.2", - "tcomb": "^3.2.17", - "tcomb-validation": "^3.3.0", - "validator": "^13.6.0", - "yargs": "^17.2.1" - }, - "bin": { - "marge": "bin/cli.js" - } - }, - "node_modules/mochawesome-report-generator/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -4693,9 +3168,9 @@ "license": "MIT" }, "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -4703,9 +3178,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, @@ -4719,29 +3194,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -4776,52 +3228,26 @@ } }, "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/open": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", - "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "wsl-utils": "^0.1.0" }, "engines": { "node": ">=18" @@ -4830,71 +3256,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true, - "license": "MIT" - }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-retry": { @@ -4915,220 +3303,92 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0", - "peer": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "peer": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { "node": ">=8" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=8" } }, "node_modules/process-nextick-args": { @@ -5138,18 +3398,6 @@ "dev": true, "license": "MIT" }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -5180,21 +3428,10 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -5228,49 +3465,43 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { - "scheduler": "^0.26.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.1.0" + "react": "^19.2.3" } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -5299,6 +3530,19 @@ "node": ">=8.10.0" } }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", @@ -5312,26 +3556,6 @@ "node": ">= 10.13.0" } }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "throttleit": "^1.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -5350,13 +3574,13 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5403,20 +3627,6 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -5427,17 +3637,10 @@ "node": ">= 4" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", "dev": true, "license": "MIT", "engines": { @@ -5447,16 +3650,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5486,15 +3679,15 @@ "license": "MIT" }, "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "license": "MIT", "dependencies": { @@ -5533,9 +3726,9 @@ } }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { @@ -5546,57 +3739,37 @@ } }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~2.0.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", @@ -5626,16 +3799,6 @@ "node": ">= 0.8.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/serve-index/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -5669,13 +3832,6 @@ "dev": true, "license": "ISC" }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -5694,16 +3850,16 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "dev": true, "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "~0.19.1" }, "engines": { "node": ">= 0.8.0" @@ -5753,9 +3909,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", "engines": { @@ -5841,28 +3997,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -5876,13 +4010,13 @@ } }, "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, "license": "BSD-3-Clause", "engines": { - "node": ">= 8" + "node": ">= 12" } }, "node_modules/source-map-support": { @@ -5938,150 +4072,87 @@ "wbuf": "^1.7.3" } }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ms": "^2.1.3" }, "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "node": ">=6.0" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/spdy/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "ansi-regex": "^5.0.1" + "ms": "^2.1.3" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/spdy/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "safe-buffer": "~5.2.0" } }, "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -6098,41 +4169,28 @@ } }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" - } - }, - "node_modules/tcomb": { - "version": "3.2.29", - "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz", - "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/tcomb-validation": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz", - "integrity": "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tcomb": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -6144,9 +4202,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6178,43 +4236,23 @@ } } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", + "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", "dev": true, - "license": "Unlicense", + "license": "MIT", "engines": { "node": ">=10.18" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, "peerDependencies": { "tslib": "^2" } }, - "node_modules/throttleit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", - "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -6222,34 +4260,21 @@ "dev": true, "license": "MIT" }, - "node_modules/tldts": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.86" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=14.14" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/to-regex-range": { @@ -6275,23 +4300,10 @@ "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, - "engines": { - "node": ">=16" - } - }, "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -6305,20 +4317,10 @@ "tslib": "2" } }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, "node_modules/ts-loader": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", - "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6341,16 +4343,17 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tsx": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", - "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "~0.25.0", + "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "bin": { @@ -6363,39 +4366,6 @@ "fsevents": "~2.3.3" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -6411,11 +4381,12 @@ } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6431,16 +4402,6 @@ "dev": true, "license": "MIT" }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -6451,20 +4412,10 @@ "node": ">= 0.8" } }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -6519,16 +4470,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/validator": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", - "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -6539,25 +4480,10 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", + "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", "dev": true, "license": "MIT", "dependencies": { @@ -6579,35 +4505,38 @@ } }, "node_modules/webpack": { - "version": "5.99.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.5.tgz", - "integrity": "sha512-q+vHBa6H9qwBLUlHL4Y7L0L1/LlyBKZtS9FHNCQmtayxjI5RKC9yD8gpvLeqGv5lCQp1Re04yi0MF40pf30Pvg==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -6631,6 +4560,7 @@ "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@discoveryjs/json-ext": "^0.6.1", "@webpack-cli/configtest": "^3.0.1", @@ -6679,15 +4609,15 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", "dev": true, "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -6708,10 +4638,37 @@ } } }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/webpack-dev-server": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.1.tgz", - "integrity": "sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", "dependencies": { @@ -6731,7 +4688,7 @@ "connect-history-api-fallback": "^2.0.0", "express": "^4.21.2", "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", + "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -6782,9 +4739,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "dev": true, "license": "MIT", "engines": { @@ -6839,63 +4796,10 @@ "dev": true, "license": "MIT" }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -6914,93 +4818,17 @@ } } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "is-wsl": "^3.1.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/spa/package.json b/spa/package.json index fb78a12..41bb522 100644 --- a/spa/package.json +++ b/spa/package.json @@ -7,32 +7,28 @@ "main": "index.ts", "type": "module", "engines": { - "node": ">=20" + "node": ">=22" }, "scripts": { - "start": "npm run clean && npm run copy && npm run serve", - "clean": "rm -rf dist", - "copy": "mkdir dist && cp index.html app.css config.json dist/", - "serve": "NODE_OPTIONS='--import tsx' webpack serve --config webpack/webpack.dev.ts", - "build": "npm run clean && npm run copy && NODE_OPTIONS='--import tsx' webpack --config webpack/webpack.prod.ts", - "uitests": "cypress run --headed --no-exit --browser chrome" + "start": "NODE_OPTIONS='--import tsx' webpack serve --config webpack/webpack.dev.ts", + "build": "NODE_OPTIONS='--import tsx' webpack --config webpack/webpack.prod.ts" }, "dependencies": { - "axios": "^1.8.4", - "react": "^19.1.0", - "react-dom": "^19.1.0" + "axios": "^1.13.2", + "react": "^19.2.3", + "react-dom": "^19.2.3" }, "devDependencies": { - "@types/react": "^19.1.2", - "@types/react-dom": "^19.1.0", - "cypress": "^13.14.2", - "mochawesome": "^7.1.3", - "ts-loader": "^9.5.1", - "tsx": "^4.19.3", - "typescript": "^5.8.3", - "webpack": "^5.99.5", + "@types/node": "^22.13.14", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "copy-webpack-plugin": "^13.0.1", + "ts-loader": "^9.5.4", + "tsx": "^4.21.0", + "typescript": "^5.9.3", + "webpack": "^5.104.1", "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.1", + "webpack-dev-server": "^5.2.2", "webpack-merge": "^6.0.1" } } diff --git a/spa/tsconfig.json b/spa/tsconfig.json index 7a2e0ea..276d743 100644 --- a/spa/tsconfig.json +++ b/spa/tsconfig.json @@ -5,7 +5,7 @@ "lib": ["ES2022", "DOM"], "jsx": "react", "module": "ES2015", - "moduleResolution": "Node", + "moduleResolution": "Bundler", "allowSyntheticDefaultImports": true, "outDir": "dist", }, diff --git a/spa/webpack/webpack.common.ts b/spa/webpack/webpack.common.ts index c750fec..6a78846 100644 --- a/spa/webpack/webpack.common.ts +++ b/spa/webpack/webpack.common.ts @@ -1,13 +1,15 @@ +import CopyPlugin from 'copy-webpack-plugin'; import path from 'path'; const dirname = process.cwd(); export default { - context: path.resolve(dirname, './src'), + context: path.resolve(dirname, '.'), target: ['web'], + devtool: 'source-map', entry: { - app: ['./index.tsx'] + app: ['./src/index.tsx'] }, module: { @@ -25,6 +27,7 @@ export default { output: { path: path.resolve(dirname, './dist'), filename: `[name].bundle.js`, + clean: true, }, optimization: { @@ -38,5 +41,24 @@ export default { }, } } - } + }, + plugins: [ + + new CopyPlugin({ + patterns: [ + { + from: 'index.html', + to: path.resolve('dist'), + }, + { + from: 'css', + to: path.resolve('dist'), + }, + { + from: 'config.json', + to: path.resolve('dist'), + }, + ] + }), + ] } diff --git a/spa/webpack/webpack.dev.ts b/spa/webpack/webpack.dev.ts index dcbb2d7..490e841 100644 --- a/spa/webpack/webpack.dev.ts +++ b/spa/webpack/webpack.dev.ts @@ -16,6 +16,9 @@ const devConfig: webpack.Configuration = { allowedHosts: [ 'www.example.com' ], + devMiddleware: { + writeToDisk: true, + }, }, } diff --git a/webhost/Dockerfile b/webhost/Dockerfile index b1d003c..565d9b1 100644 --- a/webhost/Dockerfile +++ b/webhost/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20-bookworm-slim +FROM node:22-bookworm-slim RUN groupadd --gid 10000 webuser \ && useradd --uid 10001 --gid webuser --shell /bin/bash --create-home webuser diff --git a/webhost/package-lock.json b/webhost/package-lock.json index 0cd510d..e37cbe7 100644 --- a/webhost/package-lock.json +++ b/webhost/package-lock.json @@ -9,21 +9,21 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "express": "^5.1.0" + "express": "^5.2.1" }, "devDependencies": { - "@types/express": "^5.0.1", - "@types/node": "^20.11.30", - "typescript": "^5.8.3" + "@types/express": "^5.0.6", + "@types/node": "^22.13.14", + "typescript": "^5.9.3" }, "engines": { - "node": ">=20" + "node": ">=22" } }, "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { @@ -42,21 +42,21 @@ } }, "node_modules/@types/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz", - "integrity": "sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", - "@types/serve-static": "*" + "@types/serve-static": "^2" } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz", + "integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==", "dev": true, "license": "MIT", "dependencies": { @@ -67,33 +67,26 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz", - "integrity": "sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==", + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.21.0" } }, "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, @@ -105,26 +98,24 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" + "@types/node": "*" } }, "node_modules/accepts": { @@ -141,23 +132,27 @@ } }, "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz", + "integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", - "debug": "^4.4.0", + "debug": "^4.4.3", "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", + "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/bytes": { @@ -199,15 +194,16 @@ } }, "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -238,9 +234,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -338,18 +334,19 @@ } }, "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { "accepts": "^2.0.0", - "body-parser": "^2.2.0", + "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", + "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", @@ -380,9 +377,9 @@ } }, "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -393,7 +390,11 @@ "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/forwarded": { @@ -497,31 +498,39 @@ } }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", + "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/inherits": { @@ -585,15 +594,19 @@ } }, "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ms": { @@ -654,12 +667,13 @@ } }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/proxy-addr": { @@ -676,9 +690,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -700,18 +714,18 @@ } }, "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, "node_modules/router": { @@ -730,26 +744,6 @@ "node": ">= 18" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -757,31 +751,35 @@ "license": "MIT" }, "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "license": "MIT", "dependencies": { - "debug": "^4.3.5", + "debug": "^4.4.3", "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", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", - "statuses": "^2.0.1" + "statuses": "^2.0.2" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -791,6 +789,10 @@ }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/setprototypeof": { @@ -872,9 +874,9 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -904,9 +906,9 @@ } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -918,9 +920,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "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" }, diff --git a/webhost/package.json b/webhost/package.json index 422046c..aa69a8b 100644 --- a/webhost/package.json +++ b/webhost/package.json @@ -7,18 +7,18 @@ "main": "server.ts", "type": "module", "engines": { - "node": ">=20" + "node": ">=22" }, "scripts": { "build": "rm -rf dist && tsc", "start": "npm run build && node dist/server.js" }, "dependencies": { - "express": "^5.1.0" + "express": "^5.2.1" }, "devDependencies": { - "@types/express": "^5.0.1", - "@types/node": "^20.11.30", - "typescript": "^5.8.3" + "@types/express": "^5.0.6", + "@types/node": "^22.13.14", + "typescript": "^5.9.3" } } diff --git a/webhost/src/server.ts b/webhost/src/server.ts index 65c26a0..a118db5 100644 --- a/webhost/src/server.ts +++ b/webhost/src/server.ts @@ -2,7 +2,7 @@ import express from 'express'; import fs from 'fs'; import https from 'https'; import path from 'path'; -import {Configuration} from './configuration'; +import {Configuration} from './configuration.js'; /* * First load configuration diff --git a/webhost/tsconfig.json b/webhost/tsconfig.json index 9a1d9cb..c994fcc 100644 --- a/webhost/tsconfig.json +++ b/webhost/tsconfig.json @@ -3,8 +3,8 @@ "strict": true, "target": "ES2022", "lib": ["ES2022"], - "module": "ES2022", - "moduleResolution": "node", + "module": "Node18", + "moduleResolution": "Node16", "allowSyntheticDefaultImports": true, "outDir": "dist" }, From 3d814b7d3f8052aa435890fb74da612730376e13 Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 2 Jan 2026 19:32:23 +0100 Subject: [PATCH 2/6] Updates after testing --- spa/src/views/app/app.tsx | 2 -- spa/src/views/app/appViewModel.ts | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/spa/src/views/app/app.tsx b/spa/src/views/app/app.tsx index 77d764d..8d82ac4 100644 --- a/spa/src/views/app/app.tsx +++ b/spa/src/views/app/app.tsx @@ -42,8 +42,6 @@ export default function App(props: AppProps) { setPageLoadError(ErrorRenderer.toDisplayFormat(e)); } - - } /* diff --git a/spa/src/views/app/appViewModel.ts b/spa/src/views/app/appViewModel.ts index ab004f3..efcbfdc 100644 --- a/spa/src/views/app/appViewModel.ts +++ b/spa/src/views/app/appViewModel.ts @@ -52,8 +52,11 @@ export class AppViewModel { isLoggedIn: false, handled: false, } + return; } + throw e; + } finally { if (this.pageLoadResponse?.handled) { From 20bf5b37a99277b877d768c0560cdd417ce4c3d1 Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 16 Jan 2026 11:22:18 +0100 Subject: [PATCH 3/6] Added latest SQL scripts --- .../components/idsvr/data-backup.sql | 34 +++++++++++++++++-- .../standard/components/idsvr/data-backup.sql | 34 +++++++++++++++++-- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/deployments/financial/components/idsvr/data-backup.sql b/deployments/financial/components/idsvr/data-backup.sql index e8135bc..4c7997a 100644 --- a/deployments/financial/components/idsvr/data-backup.sql +++ b/deployments/financial/components/idsvr/data-backup.sql @@ -11,6 +11,7 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE delegations ( id VARCHAR(40) PRIMARY KEY, + tenant_id VARCHAR(64) NULL, owner VARCHAR(128) NOT NULL, created BIGINT NOT NULL, expires BIGINT NOT NULL, @@ -31,6 +32,7 @@ CREATE INDEX IDX_DELEGATIONS_OWNER ON delegations (owner ASC); CREATE INDEX IDX_DELEGATIONS_AUTHORIZATION_CODE_HASH ON delegations (authorization_code_hash ASC); COMMENT ON COLUMN delegations.id IS 'Unique identifier'; +COMMENT ON COLUMN delegations.tenant_id IS 'The tenant ID of this delegation'; COMMENT ON COLUMN delegations.owner IS 'Subject for whom the delegation is issued'; COMMENT ON COLUMN delegations.expires IS 'Moment when delegation expires, as measured in number of seconds since epoch'; COMMENT ON COLUMN delegations.scope IS 'Space delimited list of scope values'; @@ -360,14 +362,42 @@ COMMENT ON COLUMN buckets.attributes IS 'All attributes stored for this subject/ COMMENT ON COLUMN buckets.created IS 'When this bucket was created'; COMMENT ON COLUMN buckets.updated IS 'When this bucket was last updated'; +CREATE TABLE IF NOT EXISTS database_service_providers +( + id VARCHAR(64) NOT NULL, + profile_id VARCHAR(64) NOT NULL, + service_provider_name VARCHAR(128) NULL, + created TIMESTAMP NOT NULL, + updated TIMESTAMP NOT NULL, + owner VARCHAR(128) NOT NULL, + enabled VARCHAR(16) NOT NULL DEFAULT 'enabled', + service_provider_metadata JSONB NOT NULL DEFAULT '{}', + configuration_references JSONB NOT NULL DEFAULT '{}', + attributes JSONB NOT NULL DEFAULT '{}', + + PRIMARY KEY (id, profile_id) + ); + +COMMENT ON COLUMN database_service_providers.id IS 'The service provider ID of this service provider instance'; +COMMENT ON COLUMN database_service_providers.profile_id IS 'The profile ID owning this service provider instance'; +COMMENT ON COLUMN database_service_providers.service_provider_name IS 'The optional database service provider display name'; +COMMENT ON COLUMN database_service_providers.created IS 'When this service provider was originally created (in UTC time)'; +COMMENT ON COLUMN database_service_providers.updated IS 'When this service provider was last updated (in UTC time)'; +COMMENT ON COLUMN database_service_providers.owner IS 'The owner of the database service provider. This is the user or service provider who has administrative rights on the database service provider'; +COMMENT ON COLUMN database_service_providers.service_provider_metadata IS 'Metadata, as a JSON document, tied to this service provider, especially tags categorizing it'; +COMMENT ON COLUMN database_service_providers.configuration_references IS 'JSON document with all attributes referencing an item in the configuration'; +COMMENT ON COLUMN database_service_providers.attributes IS 'Canonical object representing this service provider'; + +CREATE INDEX IF NOT EXISTS IDX_DBSP_PROFILE_ID ON database_service_providers (profile_id); +CREATE INDEX IF NOT EXISTS IDX_DBSP_SERVICE_PROVIDER_NAME ON database_service_providers (service_provider_name); +CREATE INDEX IF NOT EXISTS IDX_DBSP_OWNER ON database_service_providers (owner); + -- -- Restore the test user account and its password credential -- - COPY accounts (account_id, username, password, email, phone, attributes, active, created, updated) FROM stdin; 79b6852c-8062-403b-b0a9-3b19d7175233 demouser \N demo@user.com 07711 {"name": {"givenName": "Demo", "familyName": "User"}, "emails": [{"value": "demo@user.com", "primary": true}], "agreeToTerms": "on", "phoneNumbers": [{"value": "07711", "primary": true}], "urn:se:curity:scim:2.0:Devices": []} 1 1708008810 1708008810 \. - COPY credentials (id, subject, password, attributes, created, updated) FROM stdin; 6a273e20-6015-4243-8117-44379cadf582 demouser $5$rounds=20000$p32Fp4ecezzC0BSk$kaqe1ol1ShkqespXd9QiX.NNRasd0nOOQiC6ES1wOiB {} 2024-02-15 14:53:30.623009 2024-02-15 14:53:30.623009 \. diff --git a/deployments/standard/components/idsvr/data-backup.sql b/deployments/standard/components/idsvr/data-backup.sql index e8135bc..4c7997a 100644 --- a/deployments/standard/components/idsvr/data-backup.sql +++ b/deployments/standard/components/idsvr/data-backup.sql @@ -11,6 +11,7 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE delegations ( id VARCHAR(40) PRIMARY KEY, + tenant_id VARCHAR(64) NULL, owner VARCHAR(128) NOT NULL, created BIGINT NOT NULL, expires BIGINT NOT NULL, @@ -31,6 +32,7 @@ CREATE INDEX IDX_DELEGATIONS_OWNER ON delegations (owner ASC); CREATE INDEX IDX_DELEGATIONS_AUTHORIZATION_CODE_HASH ON delegations (authorization_code_hash ASC); COMMENT ON COLUMN delegations.id IS 'Unique identifier'; +COMMENT ON COLUMN delegations.tenant_id IS 'The tenant ID of this delegation'; COMMENT ON COLUMN delegations.owner IS 'Subject for whom the delegation is issued'; COMMENT ON COLUMN delegations.expires IS 'Moment when delegation expires, as measured in number of seconds since epoch'; COMMENT ON COLUMN delegations.scope IS 'Space delimited list of scope values'; @@ -360,14 +362,42 @@ COMMENT ON COLUMN buckets.attributes IS 'All attributes stored for this subject/ COMMENT ON COLUMN buckets.created IS 'When this bucket was created'; COMMENT ON COLUMN buckets.updated IS 'When this bucket was last updated'; +CREATE TABLE IF NOT EXISTS database_service_providers +( + id VARCHAR(64) NOT NULL, + profile_id VARCHAR(64) NOT NULL, + service_provider_name VARCHAR(128) NULL, + created TIMESTAMP NOT NULL, + updated TIMESTAMP NOT NULL, + owner VARCHAR(128) NOT NULL, + enabled VARCHAR(16) NOT NULL DEFAULT 'enabled', + service_provider_metadata JSONB NOT NULL DEFAULT '{}', + configuration_references JSONB NOT NULL DEFAULT '{}', + attributes JSONB NOT NULL DEFAULT '{}', + + PRIMARY KEY (id, profile_id) + ); + +COMMENT ON COLUMN database_service_providers.id IS 'The service provider ID of this service provider instance'; +COMMENT ON COLUMN database_service_providers.profile_id IS 'The profile ID owning this service provider instance'; +COMMENT ON COLUMN database_service_providers.service_provider_name IS 'The optional database service provider display name'; +COMMENT ON COLUMN database_service_providers.created IS 'When this service provider was originally created (in UTC time)'; +COMMENT ON COLUMN database_service_providers.updated IS 'When this service provider was last updated (in UTC time)'; +COMMENT ON COLUMN database_service_providers.owner IS 'The owner of the database service provider. This is the user or service provider who has administrative rights on the database service provider'; +COMMENT ON COLUMN database_service_providers.service_provider_metadata IS 'Metadata, as a JSON document, tied to this service provider, especially tags categorizing it'; +COMMENT ON COLUMN database_service_providers.configuration_references IS 'JSON document with all attributes referencing an item in the configuration'; +COMMENT ON COLUMN database_service_providers.attributes IS 'Canonical object representing this service provider'; + +CREATE INDEX IF NOT EXISTS IDX_DBSP_PROFILE_ID ON database_service_providers (profile_id); +CREATE INDEX IF NOT EXISTS IDX_DBSP_SERVICE_PROVIDER_NAME ON database_service_providers (service_provider_name); +CREATE INDEX IF NOT EXISTS IDX_DBSP_OWNER ON database_service_providers (owner); + -- -- Restore the test user account and its password credential -- - COPY accounts (account_id, username, password, email, phone, attributes, active, created, updated) FROM stdin; 79b6852c-8062-403b-b0a9-3b19d7175233 demouser \N demo@user.com 07711 {"name": {"givenName": "Demo", "familyName": "User"}, "emails": [{"value": "demo@user.com", "primary": true}], "agreeToTerms": "on", "phoneNumbers": [{"value": "07711", "primary": true}], "urn:se:curity:scim:2.0:Devices": []} 1 1708008810 1708008810 \. - COPY credentials (id, subject, password, attributes, created, updated) FROM stdin; 6a273e20-6015-4243-8117-44379cadf582 demouser $5$rounds=20000$p32Fp4ecezzC0BSk$kaqe1ol1ShkqespXd9QiX.NNRasd0nOOQiC6ES1wOiB {} 2024-02-15 14:53:30.623009 2024-02-15 14:53:30.623009 \. From 834a3deeafe19232dcadb6dc7656c978d3e07beb Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 16 Jan 2026 12:58:20 +0100 Subject: [PATCH 4/6] Updates to support .NET OAuth agent on ARM64 --- deployments/build.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/deployments/build.sh b/deployments/build.sh index 70e4b78..37c1061 100755 --- a/deployments/build.sh +++ b/deployments/build.sh @@ -6,6 +6,11 @@ cd "$(dirname "${BASH_SOURCE[0]}")" +# +# Get the platform for Docker builds +# +export PLATFORM=$(uname -m) + # # Get the OAuth agent and default to Node.js # @@ -45,6 +50,11 @@ fi # if [ "$OAUTH_PROXY" == 'NGINX' ]; then + if [ "$(uname -m)" != 'x64' ]; then + echo 'NGINX modules are currently only supported on x64 hosts' + exit 1 + fi + docker build --no-cache -f nginx/Dockerfile -t custom_nginx:1.27.4-alpine . if [ $? -ne 0 ]; then echo "Problem encountered building the NGINX docker image" @@ -106,7 +116,10 @@ elif [ "$OAUTH_AGENT" == 'NET' ]; then fi cd oauth-agent - dotnet publish oauth-agent.csproj -c Release -r linux-x64 --no-self-contained + # TODO: delete after merge + git checkout feature/dependency-updates + + dotnet publish oauth-agent.csproj -c Release -r "linux-$PLATFORM" --no-self-contained if [ $? -ne 0 ]; then echo "Problem encountered building the OAuth Agent's Java code" exit 1 @@ -142,7 +155,8 @@ elif [ "$OAUTH_AGENT" == 'FINANCIAL' ]; then exit 1 fi fi -docker build -t oauthagent:1.0.0 . + +docker build --build-arg "PLATFORM=$PLATFORM" -t oauthagent:1.0.0 . if [ $? -ne 0 ]; then echo "Problem encountered building the OAuth Agent docker image" exit 1 From 937df230e98305aaa53ed36247b2858cec92aaed Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 16 Jan 2026 13:15:06 +0100 Subject: [PATCH 5/6] README updates --- doc/Standard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Standard.md b/doc/Standard.md index be28fb5..f9741e1 100644 --- a/doc/Standard.md +++ b/doc/Standard.md @@ -61,7 +61,7 @@ OAUTH_AGENT supported values: OAUTH_PROXY supported values: - KONG (default) - - NGINX + - NGINX (only supported for x64 host computers) - OPENRESTY ## Deploy the System From dd7e03d15e32ba0060319928d653cf9ed1d6cacb Mon Sep 17 00:00:00 2001 From: gary Date: Fri, 16 Jan 2026 12:40:46 +0000 Subject: [PATCH 6/6] Fix to platform architecture detection --- deployments/build.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/deployments/build.sh b/deployments/build.sh index 37c1061..81fad3b 100755 --- a/deployments/build.sh +++ b/deployments/build.sh @@ -7,9 +7,12 @@ cd "$(dirname "${BASH_SOURCE[0]}")" # -# Get the platform for Docker builds +# Get the platform for Docker builds and default to x64 # -export PLATFORM=$(uname -m) +export PLATFORM='x64' +if [ "$(uname -m)" == 'arm64' ]; then + PLATFORM='arm64' +fi # # Get the OAuth agent and default to Node.js