From 301b2007a0666258dd68355ff1b550a9a42df56c Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 19 Jul 2022 20:53:19 +0800 Subject: [PATCH 001/494] Drop Alpine support --- docker/alpine-base.dockerfile | 8 -------- docker/dockerfile-alpine | 25 ------------------------- package.json | 6 +----- 3 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 docker/alpine-base.dockerfile delete mode 100644 docker/dockerfile-alpine diff --git a/docker/alpine-base.dockerfile b/docker/alpine-base.dockerfile deleted file mode 100644 index cde65bb6..00000000 --- a/docker/alpine-base.dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -# DON'T UPDATE TO alpine3.13, 1.14, see #41. -FROM node:16-alpine3.12 -WORKDIR /app - -# Install apprise, iputils for non-root ping, setpriv -RUN apk add --no-cache iputils setpriv dumb-init python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \ - pip3 --no-cache-dir install apprise==0.9.9 && \ - rm -rf /root/.cache diff --git a/docker/dockerfile-alpine b/docker/dockerfile-alpine deleted file mode 100644 index ab9255f9..00000000 --- a/docker/dockerfile-alpine +++ /dev/null @@ -1,25 +0,0 @@ -FROM louislam/uptime-kuma:base-alpine AS build -WORKDIR /app - -ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 - -COPY . . -RUN npm ci --production && \ - chmod +x /app/extra/entrypoint.sh - - -FROM louislam/uptime-kuma:base-alpine AS release -WORKDIR /app - -# Copy app files from build layer -COPY --from=build /app /app - -EXPOSE 3001 -VOLUME ["/app/data"] -HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js -ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"] -CMD ["node", "server/server.js"] - - -FROM release AS nightly -RUN npm run mark-as-nightly diff --git a/package.json b/package.json index 7a18dbdf..676a0558 100644 --- a/package.json +++ b/package.json @@ -30,13 +30,10 @@ "jest-backend": "cross-env TEST_BACKEND=1 jest --config=./config/jest-backend.config.js", "tsc": "tsc", "vite-preview-dist": "vite preview --host --config ./config/vite.config.js", - "build-docker": "npm run build && npm run build-docker-debian && npm run build-docker-alpine", - "build-docker-alpine-base": "docker buildx build -f docker/alpine-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-alpine . --push", + "build-docker": "npm run build && npm run build-docker-debian", "build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push", - "build-docker-alpine": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:$VERSION-alpine --target release . --push", "build-docker-debian": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:$VERSION -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:$VERSION-debian --target release . --push", "build-docker-nightly": "npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push", - "build-docker-nightly-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push", "build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain", "upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain", "setup": "git checkout 1.17.1 && npm ci --production && npm run download-dist", @@ -46,7 +43,6 @@ "remove-2fa": "node extra/remove-2fa.js", "compile-install-script": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./extra/compile-install-script.ps1", "test-install-script-centos7": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/centos7.dockerfile .", - "test-install-script-alpine3": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/alpine3.dockerfile .", "test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .", "test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .", "test-nodejs16": "docker build --progress plain -f test/ubuntu-nodejs16.dockerfile .", From b0d39b44ce8eedc976fd13111c5b83f0ac73bb79 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 22 Jul 2022 23:15:55 +0800 Subject: [PATCH 002/494] Testing --- docker/debian-base.dockerfile | 2 +- docker/dockerfile | 9 +++++++-- package-lock.json | 2 +- package.json | 3 ++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/docker/debian-base.dockerfile b/docker/debian-base.dockerfile index f90968a8..19d996db 100644 --- a/docker/debian-base.dockerfile +++ b/docker/debian-base.dockerfile @@ -7,7 +7,7 @@ WORKDIR /app # Install Curl # Install Apprise, add sqlite3 cli for debugging in the future, iputils-ping for ping, util-linux for setpriv -# Stupid python3 and python3-pip actually install a lot of useless things into Debian, specify --no-install-recommends to skip them, make the base even smaller than alpine! +# Stupid python3 and python3-pip actually install a lot of useless things into Debian, specify --no-install-recommends to skip them. RUN apt update && \ apt --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \ sqlite3 iputils-ping util-linux dumb-init && \ diff --git a/docker/dockerfile b/docker/dockerfile index a9984351..174775a5 100644 --- a/docker/dockerfile +++ b/docker/dockerfile @@ -20,11 +20,16 @@ HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD nod ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"] CMD ["node", "server/server.js"] +FROM release AS mariadb +# Install MariaDB +RUN apt update && \ + apt --yes --no-install-recommends install mariadb-server && \ + rm -rf /var/lib/apt/lists/* && \ + apt --yes autoremove -FROM release AS nightly +FROM mariadb AS nightly RUN npm run mark-as-nightly - # Upload the artifact to Github FROM louislam/uptime-kuma:base-debian AS upload-artifact WORKDIR / diff --git a/package-lock.json b/package-lock.json index e64f9fa7..d76f5a94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "badge-maker": "^3.3.1", "bcryptjs": "~2.4.3", "bree": "~7.1.5", - "cacheable-lookup": "^6.0.4", + "cacheable-lookup": "~6.0.4", "chardet": "^1.3.0", "check-password-strength": "^2.0.5", "cheerio": "^1.0.0-rc.10", diff --git a/package.json b/package.json index 676a0558..1fc45546 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,10 @@ "jest-backend": "cross-env TEST_BACKEND=1 jest --config=./config/jest-backend.config.js", "tsc": "tsc", "vite-preview-dist": "vite preview --host --config ./config/vite.config.js", - "build-docker": "npm run build && npm run build-docker-debian", + "build-docker": "npm run build && npm run build-docker-debian && npm run build-docker-debian-mariadb", "build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push", "build-docker-debian": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:$VERSION -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:$VERSION-debian --target release . --push", + "build-docker-debian-mariadb": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:mariadb -t louislam/uptime-kuma:1-mariadb -t louislam/uptime-kuma:$VERSION-mariadb --target mariadb . --push", "build-docker-nightly": "npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push", "build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain", "upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain", From f89ed0a3a44b7d8dad2b98c9e7a0163bbd93d7ca Mon Sep 17 00:00:00 2001 From: Stefan Ottosson Date: Fri, 12 Aug 2022 18:43:24 +0200 Subject: [PATCH 003/494] feat: added HTTP method option for push monitor --- server/routers/api-router.js | 7 ++- src/pages/EditMonitor.vue | 82 ++++++++++++++++++------------------ 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/server/routers/api-router.js b/server/routers/api-router.js index 201efc41..bba789ac 100644 --- a/server/routers/api-router.js +++ b/server/routers/api-router.js @@ -31,9 +31,8 @@ router.get("/api/entry-page", async (request, response) => { response.json(result); }); -router.get("/api/push/:pushToken", async (request, response) => { +router.all("/api/push/:pushToken", async (request, response) => { try { - let pushToken = request.params.pushToken; let msg = request.query.msg || "OK"; let ping = request.query.ping || null; @@ -48,6 +47,10 @@ router.get("/api/push/:pushToken", async (request, response) => { throw new Error("Monitor not found or not active."); } + if (monitor.method !== request.method) { + throw new Error("Monitor HTTP method (" + monitor.method + ") does not match request (" + request.method + ")."); + } + const previousHeartbeat = await Monitor.getPreviousHeartbeat(monitor.id); if (monitor.isUpsideDown()) { diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index 82859a4f..d82aa280 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -398,7 +398,7 @@ - @@ -90,18 +76,18 @@ export default { computed: { headersPlaceholder() { return this.$t("Example:", [ - ` -{ +`{ "Authorization": "Authorization Token" }`, ]); }, customBodyPlaceholder() { - return `Example: -{ - "Title": "Uptime Kuma Alert - {{ monitorJSON['name'] }}", + return this.$t("Example:", [ +`{ + "Title": "Uptime Kuma Alert{% if monitorJSON %} - {{ monitorJSON['name'] }}{% endif %}", "Body": "{{ msg }}" -}`; +}` + ]); } }, }; diff --git a/src/lang/en.json b/src/lang/en.json index e1b390fa..90d6de27 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -213,7 +213,12 @@ "Content Type": "Content Type", "webhookJsonDesc": "{0} is good for any modern HTTP servers such as Express.js", "webhookFormDataDesc": "{multipart} is good for PHP. The JSON will need to be parsed with {decodeFunction}", - "webhookCustomBodyDesc": "Define a custom HTTP Body for the request. Template variables {msg}, {heartbeat}, {monitor} are accepted.", + "liquidIntroduction": "Templatability is achieved via the Liquid templating language. Please refer to the {0} for usage instructions. These are the available variables:", + "templateMsg": "message of the notification", + "templateHeartbeatJSON": "object describing the heartbeat", + "templateMonitorJSON": "object describing the monitor", + "templateLimitedToUpDownCertNotifications": "only available for UP/DOWN/Certificate expiry notifications", + "templateLimitedToUpDownNotifications": "only available for UP/DOWN notifications", "webhookAdditionalHeadersTitle": "Additional Headers", "webhookAdditionalHeadersDesc": "Sets additional headers sent with the webhook. Each header should be defined as a JSON key/value.", "webhookBodyPresetOption": "Preset - {0}", From adc3548e9d59a086428b738866feb185cc8f316f Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 17 Oct 2023 20:23:58 +0800 Subject: [PATCH 146/494] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ade376f2..6b4ae858 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name upti Uptime Kuma is now running on http://localhost:3001 > [!WARNING] -> **NFS** (Network File System) are **NOT** supported. Please map to a local directory or volume. +> File Systems like **NFS** (Network File System) are **NOT** supported. Please map to a local directory or volume. ### 💪🏻 Non-Docker From 8c7dea521957fe6117f0e3db73df6bf2e00b9d6b Mon Sep 17 00:00:00 2001 From: DevMirza <53424436+Zaid-maker@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:45:14 +0500 Subject: [PATCH 147/494] =?UTF-8?q?=F0=9F=9A=80=20Add=20CodeQL=20Action=20?= =?UTF-8?q?to=20analyze=20code=20(#3910)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create codeql-analysis.yml * Update codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..0e3b72c4 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,43 @@ +name: "CodeQL" + +on: + push: + branches: [ "master", "1.23.X"] + pull_request: + branches: [ "master", "1.23.X"] + schedule: + - cron: '16 22 * * 0' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + timeout-minutes: 360 + + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'go', 'javascript-typescript' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" From e11aad2d600ca055166831419727551497d8577c Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 16 Oct 2023 10:18:28 +0800 Subject: [PATCH 148/494] Add some comments --- server/database.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/server/database.js b/server/database.js index f064fb8b..6ca40706 100644 --- a/server/database.js +++ b/server/database.js @@ -12,22 +12,40 @@ const mysql = require("mysql2/promise"); */ class Database { + /** + * Boostrap database for SQLite + * @type {string} + */ static templatePath = "./db/kuma.db"; /** * Data Dir (Default: ./data) + * @type {string} */ static dataDir; /** * User Upload Dir (Default: ./data/upload) + * @type {string} */ static uploadDir; + /** + * Chrome Screenshot Dir (Default: ./data/screenshots) + * @type {string} + */ static screenshotDir; + /** + * SQLite file path (Default: ./data/kuma.db) + * @type {string} + */ static sqlitePath; + /** + * For storing Docker TLS certs (Default: ./data/docker-tls) + * @type {string} + */ static dockerTLSDir; /** @@ -84,8 +102,8 @@ class Database { "patch-add-certificate-expiry-status-page.sql": true, "patch-monitor-oauth-cc.sql": true, "patch-add-timeout-monitor.sql": true, - "patch-add-gamedig-given-port.sql": true, // The last file so far converted to a knex migration file - "patch-notification-config.sql": true, + "patch-add-gamedig-given-port.sql": true, + "patch-notification-config.sql": true, // The last file so far converted to a knex migration file }; /** From bbaba29222eccdcda0a5a1e1e6355b8b0da057b9 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 18 Oct 2023 21:54:22 +0800 Subject: [PATCH 149/494] Set default ua for axios: `Uptime-Kuma/version` instead of `axios/version` --- server/docker.js | 1 - server/model/monitor.js | 3 --- server/uptime-kuma-server.js | 8 ++++++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/docker.js b/server/docker.js index 545c14bd..a96324a9 100644 --- a/server/docker.js +++ b/server/docker.js @@ -72,7 +72,6 @@ class DockerHost { url: "/containers/json?all=true", headers: { "Accept": "*/*", - "User-Agent": "Uptime-Kuma/" + version }, }; diff --git a/server/model/monitor.js b/server/model/monitor.js index 3e595f92..5dcb7171 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -447,7 +447,6 @@ class Monitor extends BeanModel { timeout: this.timeout * 1000, headers: { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "User-Agent": "Uptime-Kuma/" + version, ...(contentType ? { "Content-Type": contentType } : {}), ...(basicAuthHeader), ...(oauth2AuthHeader), @@ -627,7 +626,6 @@ class Monitor extends BeanModel { timeout: this.timeout * 1000, headers: { "Accept": "*/*", - "User-Agent": "Uptime-Kuma/" + version, }, httpsAgent: CacheableDnsHttpAgent.getHttpsAgent({ maxCachedSessions: 0, // Use Custom agent to disable session reuse (https://github.com/nodejs/node/issues/3940) @@ -681,7 +679,6 @@ class Monitor extends BeanModel { timeout: this.interval * 1000 * 0.8, headers: { "Accept": "*/*", - "User-Agent": "Uptime-Kuma/" + version, }, httpsAgent: CacheableDnsHttpAgent.getHttpsAgent({ maxCachedSessions: 0, // Use Custom agent to disable session reuse (https://github.com/nodejs/node/issues/3940) diff --git a/server/uptime-kuma-server.js b/server/uptime-kuma-server.js index 9d5749f2..a47b5b51 100644 --- a/server/uptime-kuma-server.js +++ b/server/uptime-kuma-server.js @@ -12,6 +12,7 @@ const { Settings } = require("./settings"); const dayjs = require("dayjs"); const childProcess = require("child_process"); const path = require("path"); +const axios = require("axios"); // DO NOT IMPORT HERE IF THE MODULES USED `UptimeKumaServer.getInstance()`, put at the bottom of this file instead. /** @@ -83,6 +84,9 @@ class UptimeKumaServer { const sslCert = args["ssl-cert"] || process.env.UPTIME_KUMA_SSL_CERT || process.env.SSL_CERT || undefined; const sslKeyPassphrase = args["ssl-key-passphrase"] || process.env.UPTIME_KUMA_SSL_KEY_PASSPHRASE || process.env.SSL_KEY_PASSPHRASE || undefined; + // Set axios default user-agent to Uptime-Kuma/version + axios.defaults.headers.common["User-Agent"] = this.getUserAgent(); + log.debug("server", "Creating express and socket.io instance"); this.app = express(); if (sslKey && sslCert) { @@ -411,6 +415,10 @@ class UptimeKumaServer { } } } + + getUserAgent() { + return "Uptime-Kuma/" + require("../package.json").version + } } module.exports = { From 8412e19fe6d6089c75085e973301853ac27e92fc Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 19 Oct 2023 09:41:30 +0800 Subject: [PATCH 150/494] Add a comment --- server/uptime-kuma-server.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/uptime-kuma-server.js b/server/uptime-kuma-server.js index a47b5b51..0b9ab47e 100644 --- a/server/uptime-kuma-server.js +++ b/server/uptime-kuma-server.js @@ -416,8 +416,12 @@ class UptimeKumaServer { } } + /** + * Default User-Agent when making HTTP requests + * @returns {string} User-Agent + */ getUserAgent() { - return "Uptime-Kuma/" + require("../package.json").version + return "Uptime-Kuma/" + require("../package.json").version; } } From 9b599ccd1de600e64ade4485b3d03e288360c3b4 Mon Sep 17 00:00:00 2001 From: atmaniak Date: Thu, 19 Oct 2023 13:32:42 +0200 Subject: [PATCH 151/494] Add Grafana Oncall notification provider (#2783) * Add Grafana Oncall notification provider * Fix linter errors * Remove useless variables * Remove test message Co-authored-by: Frank Elsinga * spelling consistency * Update server/notification-providers/grafana-oncall.js Co-authored-by: Frank Elsinga * Update server/notification-providers/grafana-oncall.js Co-authored-by: Frank Elsinga * eslint requirements Co-authored-by: Matthew Nickson * Add Grafana Oncall translation * Update src/components/notifications/GrafanaOncall.vue Co-authored-by: Frank Elsinga * Check empty url --------- Co-authored-by: Emmanuel Cohen Co-authored-by: Frank Elsinga Co-authored-by: Matthew Nickson Co-authored-by: Louis Lam --- .../notification-providers/grafana-oncall.js | 61 +++++++++++++++++++ server/notification.js | 2 + src/components/NotificationDialog.vue | 1 + .../notifications/GrafanaOncall.vue | 7 +++ src/components/notifications/index.js | 2 + src/lang/en.json | 3 +- 6 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 server/notification-providers/grafana-oncall.js create mode 100644 src/components/notifications/GrafanaOncall.vue diff --git a/server/notification-providers/grafana-oncall.js b/server/notification-providers/grafana-oncall.js new file mode 100644 index 00000000..ee1bfd47 --- /dev/null +++ b/server/notification-providers/grafana-oncall.js @@ -0,0 +1,61 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); +const { DOWN, UP } = require("../../src/util"); + +class GrafanaOncall extends NotificationProvider { + + name = "GrafanaOncall"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + + if (!notification.GrafanaOncallURL) { + throw new Error("GrafanaOncallURL cannot be empty"); + } + + let okMsg = "Sent Successfully."; + try { + if (heartbeatJSON === null) { + let grafanaupdata = { + title: "General notification", + message: msg, + state: "alerting", + }; + await axios.post( + notification.GrafanaOncallURL, + grafanaupdata + ); + return okMsg; + } else if (heartbeatJSON["status"] === DOWN) { + let grafanadowndata = { + title: monitorJSON["name"] + " is down", + message: heartbeatJSON["msg"], + state: "alerting", + }; + await axios.post( + notification.GrafanaOncallURL, + grafanadowndata + ); + return okMsg; + } else if (heartbeatJSON["status"] === UP) { + let grafanaupdata = { + title: monitorJSON["name"] + " is up", + message: heartbeatJSON["msg"], + state: "ok", + }; + await axios.post( + notification.GrafanaOncallURL, + grafanaupdata + ); + return okMsg; + } + } catch (error) { + this.throwGeneralAxiosError(error); + } + + } +} + +module.exports = GrafanaOncall; diff --git a/server/notification.js b/server/notification.js index 80530e55..5e76d6eb 100644 --- a/server/notification.js +++ b/server/notification.js @@ -14,6 +14,7 @@ const FreeMobile = require("./notification-providers/freemobile"); const GoogleChat = require("./notification-providers/google-chat"); const Gorush = require("./notification-providers/gorush"); const Gotify = require("./notification-providers/gotify"); +const GrafanaOncall = require("./notification-providers/grafana-oncall"); const HomeAssistant = require("./notification-providers/home-assistant"); const Kook = require("./notification-providers/kook"); const Line = require("./notification-providers/line"); @@ -84,6 +85,7 @@ class Notification { new GoogleChat(), new Gorush(), new Gotify(), + new GrafanaOncall(), new HomeAssistant(), new Kook(), new Line(), diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 170a1d4c..57a2fdf2 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -119,6 +119,7 @@ export default { "GoogleChat": "Google Chat (Google Workspace)", "gorush": "Gorush", "gotify": "Gotify", + "GrafanaOncall": "Grafana Oncall", "HomeAssistant": "Home Assistant", "Kook": "Kook", "line": "LINE Messenger", diff --git a/src/components/notifications/GrafanaOncall.vue b/src/components/notifications/GrafanaOncall.vue new file mode 100644 index 00000000..a8d3c2b4 --- /dev/null +++ b/src/components/notifications/GrafanaOncall.vue @@ -0,0 +1,7 @@ + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index a95c9da2..0606d41a 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -12,6 +12,7 @@ import FreeMobile from "./FreeMobile.vue"; import GoogleChat from "./GoogleChat.vue"; import Gorush from "./Gorush.vue"; import Gotify from "./Gotify.vue"; +import GrafanaOncall from "./GrafanaOncall.vue"; import HomeAssistant from "./HomeAssistant.vue"; import Kook from "./Kook.vue"; import Line from "./Line.vue"; @@ -71,6 +72,7 @@ const NotificationFormList = { "GoogleChat": GoogleChat, "gorush": Gorush, "gotify": Gotify, + "GrafanaOncall": GrafanaOncall, "HomeAssistant": HomeAssistant, "Kook": Kook, "line": Line, diff --git a/src/lang/en.json b/src/lang/en.json index 90d6de27..057b2790 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -856,5 +856,6 @@ "successDisabled": "Disabled Successfully.", "successEnabled": "Enabled Successfully.", "tagNotFound": "Tag not found.", - "foundChromiumVersion": "Found Chromium/Chrome. Version: {0}" + "foundChromiumVersion": "Found Chromium/Chrome. Version: {0}", + "GrafanaOncallUrl": "Grafana Oncall URL" } From 87b2e45fbf31be91d19d89e6bead3b9653a1cd6e Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 22 Oct 2023 00:50:47 +0800 Subject: [PATCH 152/494] Check if the password changed when user is not null --- server/server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/server.js b/server/server.js index d03c715d..f726790c 100644 --- a/server/server.js +++ b/server/server.js @@ -318,12 +318,12 @@ let needSetup = false; decoded.username, ]); - // Check if the password changed - if (decoded.h !== shake256(user.password, SHAKE256_LENGTH)) { - throw new Error("The token is invalid due to password change or old token"); - } - if (user) { + // Check if the password changed + if (decoded.h !== shake256(user.password, SHAKE256_LENGTH)) { + throw new Error("The token is invalid due to password change or old token"); + } + log.debug("auth", "afterLogin"); afterLogin(socket, user); log.debug("auth", "afterLogin ok"); From 9379498b49c8bd892d69ac1e177160d754592478 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:46:13 +0800 Subject: [PATCH 153/494] Chore: Allow MS Edge for real-browser monitor (#3941) --- server/monitor-types/real-browser-monitor-type.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/monitor-types/real-browser-monitor-type.js b/server/monitor-types/real-browser-monitor-type.js index 94ceb02e..12ff66e4 100644 --- a/server/monitor-types/real-browser-monitor-type.js +++ b/server/monitor-types/real-browser-monitor-type.js @@ -24,6 +24,9 @@ if (process.platform === "win32") { allowedList.push(process.env.PROGRAMFILES + "\\Chromium\\Application\\chrome.exe"); allowedList.push(process.env["ProgramFiles(x86)"] + "\\Chromium\\Application\\chrome.exe"); + // Allow MS Edge + allowedList.push(process.env["ProgramFiles(x86)"] + "\\Microsoft\\Edge\\Application\\msedge.exe"); + // For Loop A to Z for (let i = 65; i <= 90; i++) { let drive = String.fromCharCode(i); From ddd135efa8953124f2f805887c0a2738c23e606e Mon Sep 17 00:00:00 2001 From: Chongyi Zheng Date: Fri, 27 Oct 2023 20:15:49 -0400 Subject: [PATCH 154/494] Confirm chrome path in macOS is correct (#3950) --- server/monitor-types/real-browser-monitor-type.js | 1 - 1 file changed, 1 deletion(-) diff --git a/server/monitor-types/real-browser-monitor-type.js b/server/monitor-types/real-browser-monitor-type.js index 12ff66e4..4003c68e 100644 --- a/server/monitor-types/real-browser-monitor-type.js +++ b/server/monitor-types/real-browser-monitor-type.js @@ -45,7 +45,6 @@ if (process.platform === "win32") { "/usr/bin/google-chrome", ]; } else if (process.platform === "darwin") { - // TODO: Generated by GitHub Copilot, but not sure if it's correct allowedList = [ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", "/Applications/Chromium.app/Contents/MacOS/Chromium", From b32d869823787003b576ead24036bc7fdfc80ef9 Mon Sep 17 00:00:00 2001 From: check bot <113978832+check-bot@users.noreply.github.com> Date: Sat, 28 Oct 2023 05:46:53 +0530 Subject: [PATCH 155/494] Fix: sentence framing (#3945) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b4ae858..8afa9e69 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ If you love this project, please consider giving me a ⭐. ## 🗣️ Discussion / Ask for Help -⚠️ For any general or technical questions, please don't send me an email, as I am unable to provide support in that manner. I will not respond if you asked such questions. +⚠️ For any general or technical questions, please don't send me an email, as I am unable to provide support in that manner. I will not respond if you ask such questions. I recommend using Google, GitHub Issues, or Uptime Kuma's Subreddit for finding answers to your question. If you cannot find the information you need, feel free to ask: From 201c10416e0aeaa2f28c1f6e5168077fc5ecacd1 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sat, 28 Oct 2023 10:34:15 +0800 Subject: [PATCH 156/494] Fix: Entry page setting in Dev mode (#3940) --- src/pages/Entry.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/Entry.vue b/src/pages/Entry.vue index b87c4d99..2a539fb8 100644 --- a/src/pages/Entry.vue +++ b/src/pages/Entry.vue @@ -33,10 +33,10 @@ export default { } else if (res.type === "entryPage") { // Dev only. For production, the logic is in the server side const entryPage = res.entryPage; - - if (entryPage === "statusPage") { - this.$router.push("/status"); + if (entryPage.startsWith("statusPage-")) { + this.$router.push("/status/" + entryPage.replace("statusPage-", "")); } else { + // should the old setting style still exist here? this.$router.push("/dashboard"); } } else if (res.type === "setup-database") { From d7b9bcf4b4b2869e30754159709c516c5695d69b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 29 Oct 2023 15:28:47 +0800 Subject: [PATCH 157/494] Drop install.sh and related files (#3955) --- extra/install.batsh | 276 ------------------ install.sh | 228 --------------- package.json | 8 - test/test_install_script/alpine3.dockerfile | 4 - .../alpine3.dockerfile.dockerignore | 0 test/test_install_script/centos7.dockerfile | 4 - .../centos7.dockerfile.dockerignore | 0 .../debian-buster.dockerfile | 10 - .../debian-buster.dockerfile.dockerignore | 0 test/test_install_script/debian.dockerfile | 10 - .../debian.dockerfile.dockerignore | 0 .../test_install_script/rockylinux.dockerfile | 4 - .../rockylinux.dockerfile.dockerignore | 0 test/test_install_script/ubuntu.dockerfile | 10 - .../ubuntu.dockerfile.dockerignore | 0 .../test_install_script/ubuntu1604.dockerfile | 9 - .../ubuntu1604.dockerfile.dockerignore | 0 .../test_install_script/ubuntu1804.dockerfile | 4 - .../ubuntu1804.dockerfile.dockerignore | 0 19 files changed, 567 deletions(-) delete mode 100644 extra/install.batsh delete mode 100644 install.sh delete mode 100644 test/test_install_script/alpine3.dockerfile delete mode 100644 test/test_install_script/alpine3.dockerfile.dockerignore delete mode 100644 test/test_install_script/centos7.dockerfile delete mode 100644 test/test_install_script/centos7.dockerfile.dockerignore delete mode 100644 test/test_install_script/debian-buster.dockerfile delete mode 100644 test/test_install_script/debian-buster.dockerfile.dockerignore delete mode 100644 test/test_install_script/debian.dockerfile delete mode 100644 test/test_install_script/debian.dockerfile.dockerignore delete mode 100644 test/test_install_script/rockylinux.dockerfile delete mode 100644 test/test_install_script/rockylinux.dockerfile.dockerignore delete mode 100644 test/test_install_script/ubuntu.dockerfile delete mode 100644 test/test_install_script/ubuntu.dockerfile.dockerignore delete mode 100644 test/test_install_script/ubuntu1604.dockerfile delete mode 100644 test/test_install_script/ubuntu1604.dockerfile.dockerignore delete mode 100644 test/test_install_script/ubuntu1804.dockerfile delete mode 100644 test/test_install_script/ubuntu1804.dockerfile.dockerignore diff --git a/extra/install.batsh b/extra/install.batsh deleted file mode 100644 index e2f9a751..00000000 --- a/extra/install.batsh +++ /dev/null @@ -1,276 +0,0 @@ -// install.sh is generated by ./extra/install.batsh, do not modify it directly. -// "npm run compile-install-script" to compile install.sh -// The command is working on Windows PowerShell and Docker for Windows only. - - -// curl -o kuma_install.sh https://raw.githubusercontent.com/louislam/uptime-kuma/master/install.sh && sudo bash kuma_install.sh -println("====================="); -println("Uptime Kuma Install Script"); -println("====================="); -println("Supported OS: Ubuntu >= 16.04, Debian and CentOS/RHEL 7/8"); -println("---------------------------------------"); -println("This script is designed for Linux and basic usage."); -println("For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation"); -println("---------------------------------------"); -println(""); -println("Local - Install Uptime Kuma on your current machine with git, Node.js and pm2"); -println("Docker - Install Uptime Kuma Docker container"); -println(""); - -if ("$1" != "") { - type = "$1"; -} else { - call("read", "-p", "Which installation method do you prefer? [DOCKER/local]: ", "type"); -} - -defaultPort = "3001"; - -function checkNode() { - bash("nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])')"); - println("Node Version: " ++ nodeVersion); - - if (nodeVersion <= "12") { - println("Error: Required Node.js 14"); - call("exit", "1"); - } -} - -function deb() { - bash("nodeCheck=$(node -v)"); - bash("apt --yes update"); - - if (nodeCheck != "") { - checkNode(); - } else { - - // Old nodejs binary name is "nodejs" - bash("check=$(nodejs --version)"); - if (check != "") { - println("Error: 'node' command is not found, but 'nodejs' command is found. Your NodeJS should be too old."); - bash("exit 1"); - } - - bash("curlCheck=$(curl --version)"); - if (curlCheck == "") { - println("Installing Curl"); - bash("apt --yes install curl"); - } - - println("Installing Node.js 16"); - bash("curl -sL https://deb.nodesource.com/setup_16.x | bash - > log.txt"); - bash("apt --yes install nodejs"); - bash("node -v"); - - bash("nodeCheckAgain=$(node -v)"); - - if (nodeCheckAgain == "") { - println("Error during Node.js installation"); - bash("exit 1"); - } - } - - bash("check=$(git --version)"); - if (check == "") { - println("Installing Git"); - bash("apt --yes install git"); - } -} - -if (type == "local") { - defaultInstallPath = "/opt/uptime-kuma"; - - if (exists("/etc/redhat-release")) { - os = call("cat", "/etc/redhat-release"); - distribution = "rhel"; - - } else if (exists("/etc/issue")) { - bash("os=$(head -n1 /etc/issue | cut -f 1 -d ' ')"); - if (os == "Ubuntu") { - distribution = "ubuntu"; - - // Get ubuntu version - bash(". /etc/lsb-release"); - version = DISTRIB_RELEASE; - } - if (os == "Debian") { - distribution = "debian"; - } - } - - bash("arch=$(uname -i)"); - - println("Your OS: " ++ os); - println("Distribution: " ++ distribution); - println("Version: " ++ version); - println("Arch: " ++ arch); - - if ("$3" != "") { - port = "$3"; - } else { - call("read", "-p", "Listening Port [$defaultPort]: ", "port"); - - if (port == "") { - port = defaultPort; - } - } - - if ("$2" != "") { - installPath = "$2"; - } else { - call("read", "-p", "Installation Path [$defaultInstallPath]: ", "installPath"); - - if (installPath == "") { - installPath = defaultInstallPath; - } - } - - // CentOS - if (distribution == "rhel") { - bash("nodeCheck=$(node -v)"); - - if (nodeCheck != "") { - checkNode(); - } else { - - bash("dnfCheck=$(dnf --version)"); - - // Use yum - if (dnfCheck == "") { - bash("curlCheck=$(curl --version)"); - if (curlCheck == "") { - println("Installing Curl"); - bash("yum -y -q install curl"); - } - - println("Installing Node.js 16"); - bash("curl -sL https://rpm.nodesource.com/setup_16.x | bash - > log.txt"); - bash("yum install -y -q nodejs"); - } else { - bash("curlCheck=$(curl --version)"); - if (curlCheck == "") { - println("Installing Curl"); - bash("dnf -y install curl"); - } - - println("Installing Node.js 16"); - bash("curl -sL https://rpm.nodesource.com/setup_16.x | bash - > log.txt"); - bash("dnf install -y nodejs"); - } - - - bash("node -v"); - - bash("nodeCheckAgain=$(node -v)"); - - if (nodeCheckAgain == "") { - println("Error during Node.js installation"); - bash("exit 1"); - } - } - - bash("check=$(git --version)"); - if (check == "") { - println("Installing Git"); - bash("yum -y -q install git"); - } - - // Ubuntu - } else if (distribution == "ubuntu") { - deb(); - - // Debian - } else if (distribution == "debian") { - deb(); - - } else { - // Unknown distribution - error = 0; - - bash("check=$(git --version)"); - if (check == "") { - error = 1; - println("Error: git is not found!"); - println("help: an installation guide is available at https://git-scm.com/book/en/v2/Getting-Started-Installing-Git"); - } - - bash("check=$(node -v)"); - if (check == "") { - error = 1; - println("Error: node is not found"); - println("help: an installation guide is available at https://nodejs.org/en/download"); - } - - if (error > 0) { - println("Please install above missing software"); - bash("exit 1"); - } - } - - bash("check=$(pm2 --version)"); - if (check == "") { - println("Installing PM2"); - bash("npm install pm2 -g && pm2 install pm2-logrotate"); - bash("pm2 startup"); - } - - - // Check again - bash("check=$(pm2 --version)"); - if (check == "") { - println("Error: pm2 is not found!"); - println("help: an installation guide is available at https://pm2.keymetrics.io/docs/usage/quick-start/"); - bash("exit 1"); - } - - bash("mkdir -p $installPath"); - bash("cd $installPath"); - bash("git clone https://github.com/louislam/uptime-kuma.git ."); - bash("npm run setup"); - - bash("pm2 start server/server.js --name uptime-kuma -- --port=$port"); - -} else { - defaultVolume = "uptime-kuma"; - - bash("check=$(docker -v)"); - if (check == "") { - println("Error: docker is not found!"); - println("help: an installation guide is available at https://docs.docker.com/desktop/"); - bash("exit 1"); - } - - bash("check=$(docker info)"); - - bash("if [[ \"$check\" == *\"Is the docker daemon running\"* ]]; then - \"echo\" \"Error: docker is not running\" - \"echo\" \"help: a troubleshooting guide is available at https://docs.docker.com/config/daemon/troubleshoot/\" - \"exit\" \"1\" - fi"); - - if ("$3" != "") { - port = "$3"; - } else { - call("read", "-p", "Expose Port [$defaultPort]: ", "port"); - - if (port == "") { - port = defaultPort; - } - } - - if ("$2" != "") { - volume = "$2"; - } else { - call("read", "-p", "Volume Name [$defaultVolume]: ", "volume"); - - if (volume == "") { - volume = defaultVolume; - } - } - - println("Port: $port"); - println("Volume: $volume"); - bash("docker volume create $volume"); - bash("docker run -d --restart=always -p $port:3001 -v $volume:/app/data --name uptime-kuma louislam/uptime-kuma:1"); -} - -println("http://localhost:$port"); diff --git a/install.sh b/install.sh deleted file mode 100644 index d965867c..00000000 --- a/install.sh +++ /dev/null @@ -1,228 +0,0 @@ -# install.sh is generated by ./extra/install.batsh, do not modify it directly. -# "npm run compile-install-script" to compile install.sh -# The command is working on Windows PowerShell and Docker for Windows only. -# curl -o kuma_install.sh https://raw.githubusercontent.com/louislam/uptime-kuma/master/install.sh && sudo bash kuma_install.sh -"echo" "-e" "=====================" -"echo" "-e" "Uptime Kuma Install Script" -"echo" "-e" "=====================" -"echo" "-e" "Supported OS: Ubuntu >= 16.04, Debian and CentOS/RHEL 7/8" -"echo" "-e" "---------------------------------------" -"echo" "-e" "This script is designed for Linux and basic usage." -"echo" "-e" "For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation" -"echo" "-e" "---------------------------------------" -"echo" "-e" "" -"echo" "-e" "Local - Install Uptime Kuma on your current machine with git, Node.js and pm2" -"echo" "-e" "Docker - Install Uptime Kuma Docker container" -"echo" "-e" "" -if [ "$1" != "" ]; then - type="$1" -else - "read" "-p" "Which installation method do you prefer? [DOCKER/local]: " "type" -fi -defaultPort="3001" -function checkNode { - local _0 - nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])') - "echo" "-e" "Node Version: ""$nodeVersion" - _0="12" - if [ $(($nodeVersion <= $_0)) == 1 ]; then - "echo" "-e" "Error: Required Node.js 14" - "exit" "1" -fi -} -function deb { - nodeCheck=$(node -v) - apt --yes update - if [ "$nodeCheck" != "" ]; then - "checkNode" - else - # Old nodejs binary name is "nodejs" - check=$(nodejs --version) - if [ "$check" != "" ]; then - "echo" "-e" "Error: 'node' command is not found, but 'nodejs' command is found. Your NodeJS should be too old." - exit 1 -fi - curlCheck=$(curl --version) - if [ "$curlCheck" == "" ]; then - "echo" "-e" "Installing Curl" - apt --yes install curl -fi - "echo" "-e" "Installing Node.js 16" - curl -sL https://deb.nodesource.com/setup_16.x | bash - > log.txt - apt --yes install nodejs - node -v - nodeCheckAgain=$(node -v) - if [ "$nodeCheckAgain" == "" ]; then - "echo" "-e" "Error during Node.js installation" - exit 1 -fi - fi - check=$(git --version) - if [ "$check" == "" ]; then - "echo" "-e" "Installing Git" - apt --yes install git -fi -} -if [ "$type" == "local" ]; then - defaultInstallPath="/opt/uptime-kuma" - if [ -e "/etc/redhat-release" ]; then - os=$("cat" "/etc/redhat-release") - distribution="rhel" - else - if [ -e "/etc/issue" ]; then - os=$(head -n1 /etc/issue | cut -f 1 -d ' ') - if [ "$os" == "Ubuntu" ]; then - distribution="ubuntu" - # Get ubuntu version - . /etc/lsb-release - version="$DISTRIB_RELEASE" -fi - if [ "$os" == "Debian" ]; then - distribution="debian" -fi -fi - fi - arch=$(uname -i) - "echo" "-e" "Your OS: ""$os" - "echo" "-e" "Distribution: ""$distribution" - "echo" "-e" "Version: ""$version" - "echo" "-e" "Arch: ""$arch" - if [ "$3" != "" ]; then - port="$3" - else - "read" "-p" "Listening Port [$defaultPort]: " "port" - if [ "$port" == "" ]; then - port="$defaultPort" -fi - fi - if [ "$2" != "" ]; then - installPath="$2" - else - "read" "-p" "Installation Path [$defaultInstallPath]: " "installPath" - if [ "$installPath" == "" ]; then - installPath="$defaultInstallPath" -fi - fi - # CentOS - if [ "$distribution" == "rhel" ]; then - nodeCheck=$(node -v) - if [ "$nodeCheck" != "" ]; then - "checkNode" - else - dnfCheck=$(dnf --version) - # Use yum - if [ "$dnfCheck" == "" ]; then - curlCheck=$(curl --version) - if [ "$curlCheck" == "" ]; then - "echo" "-e" "Installing Curl" - yum -y -q install curl -fi - "echo" "-e" "Installing Node.js 16" - curl -sL https://rpm.nodesource.com/setup_16.x | bash - > log.txt - yum install -y -q nodejs - else - curlCheck=$(curl --version) - if [ "$curlCheck" == "" ]; then - "echo" "-e" "Installing Curl" - dnf -y install curl -fi - "echo" "-e" "Installing Node.js 16" - curl -sL https://rpm.nodesource.com/setup_16.x | bash - > log.txt - dnf install -y nodejs - fi - node -v - nodeCheckAgain=$(node -v) - if [ "$nodeCheckAgain" == "" ]; then - "echo" "-e" "Error during Node.js installation" - exit 1 -fi - fi - check=$(git --version) - if [ "$check" == "" ]; then - "echo" "-e" "Installing Git" - yum -y -q install git -fi - # Ubuntu - else - if [ "$distribution" == "ubuntu" ]; then - "deb" - # Debian - else - if [ "$distribution" == "debian" ]; then - "deb" - else - # Unknown distribution - error=$((0)) - check=$(git --version) - if [ "$check" == "" ]; then - error=$((1)) - "echo" "-e" "Error: git is not found!" - "echo" "-e" "help: an installation guide is available at https://git-scm.com/book/en/v2/Getting-Started-Installing-Git" -fi - check=$(node -v) - if [ "$check" == "" ]; then - error=$((1)) - "echo" "-e" "Error: node is not found" - "echo" "-e" "help: an installation guide is available at https://nodejs.org/en/download" -fi - if [ $(($error > 0)) == 1 ]; then - "echo" "-e" "Please install above missing software" - exit 1 -fi - fi - fi - fi - check=$(pm2 --version) - if [ "$check" == "" ]; then - "echo" "-e" "Installing PM2" - npm install pm2 -g && pm2 install pm2-logrotate - pm2 startup -fi - # Check again - check=$(pm2 --version) - if [ "$check" == "" ]; then - "echo" "-e" "Error: pm2 is not found!" - "echo" "-e" "help: an installation guide is available at https://pm2.keymetrics.io/docs/usage/quick-start/" - exit 1 -fi - mkdir -p $installPath - cd $installPath - git clone https://github.com/louislam/uptime-kuma.git . - npm run setup - pm2 start server/server.js --name uptime-kuma -- --port=$port -else - defaultVolume="uptime-kuma" - check=$(docker -v) - if [ "$check" == "" ]; then - "echo" "-e" "Error: docker is not found!" - "echo" "-e" "help: an installation guide is available at https://docs.docker.com/desktop/" - exit 1 -fi - check=$(docker info) - if [[ "$check" == *"Is the docker daemon running"* ]]; then - "echo" "Error: docker is not running" - "echo" "help: a troubleshooting guide is available at https://docs.docker.com/config/daemon/troubleshoot/" - "exit" "1" - fi - if [ "$3" != "" ]; then - port="$3" - else - "read" "-p" "Expose Port [$defaultPort]: " "port" - if [ "$port" == "" ]; then - port="$defaultPort" -fi - fi - if [ "$2" != "" ]; then - volume="$2" - else - "read" "-p" "Volume Name [$defaultVolume]: " "volume" - if [ "$volume" == "" ]; then - volume="$defaultVolume" -fi - fi - "echo" "-e" "Port: $port" - "echo" "-e" "Volume: $volume" - docker volume create $volume - docker run -d --restart=always -p $port:3001 -v $volume:/app/data --name uptime-kuma louislam/uptime-kuma:1 -fi -"echo" "-e" "http://localhost:$port" diff --git a/package.json b/package.json index c0fe6e26..f1171265 100644 --- a/package.json +++ b/package.json @@ -46,14 +46,6 @@ "mark-as-nightly": "node extra/mark-as-nightly.js", "reset-password": "node extra/reset-password.js", "remove-2fa": "node extra/remove-2fa.js", - "compile-install-script": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./extra/compile-install-script.ps1", - "test-install-script-rockylinux": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/rockylinux.dockerfile .", - "test-install-script-centos7": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/centos7.dockerfile .", - "test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile .", - "test-install-script-debian-buster": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian-buster.dockerfile .", - "test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .", - "test-install-script-ubuntu1804": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1804.dockerfile .", - "test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .", "simple-dns-server": "node extra/simple-dns-server.js", "simple-mqtt-server": "node extra/simple-mqtt-server.js", "simple-mongo": "docker run --rm -p 27017:27017 mongo", diff --git a/test/test_install_script/alpine3.dockerfile b/test/test_install_script/alpine3.dockerfile deleted file mode 100644 index c4278277..00000000 --- a/test/test_install_script/alpine3.dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM alpine:3 -RUN apk add --update nodejs npm git -COPY ./install.sh . -RUN /bin/sh install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/alpine3.dockerfile.dockerignore b/test/test_install_script/alpine3.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/centos7.dockerfile b/test/test_install_script/centos7.dockerfile deleted file mode 100644 index 6e50b919..00000000 --- a/test/test_install_script/centos7.dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM centos:7 - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/centos7.dockerfile.dockerignore b/test/test_install_script/centos7.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/debian-buster.dockerfile b/test/test_install_script/debian-buster.dockerfile deleted file mode 100644 index cd5e8abb..00000000 --- a/test/test_install_script/debian-buster.dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:buster-slim - -# Test invalid node version, these commands install nodejs 10 -# RUN apt-get update -# RUN apt --yes install nodejs -# RUN ln -s /usr/bin/nodejs /usr/bin/node -# RUN node -v - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/debian-buster.dockerfile.dockerignore b/test/test_install_script/debian-buster.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/debian.dockerfile b/test/test_install_script/debian.dockerfile deleted file mode 100644 index 6e1d172e..00000000 --- a/test/test_install_script/debian.dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:bookworm-slim - -# Test invalid node version, these commands install nodejs 10 -# RUN apt-get update -# RUN apt --yes install nodejs -# RUN ln -s /usr/bin/nodejs /usr/bin/node -# RUN node -v - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/debian.dockerfile.dockerignore b/test/test_install_script/debian.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/rockylinux.dockerfile b/test/test_install_script/rockylinux.dockerfile deleted file mode 100644 index 884ec473..00000000 --- a/test/test_install_script/rockylinux.dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM rockylinux:9 - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/rockylinux.dockerfile.dockerignore b/test/test_install_script/rockylinux.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/ubuntu.dockerfile b/test/test_install_script/ubuntu.dockerfile deleted file mode 100644 index 07d8a25a..00000000 --- a/test/test_install_script/ubuntu.dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM ubuntu - -# Test invalid node version, these commands install nodejs 10 -# RUN apt-get update -# RUN apt --yes install nodejs -# RUN ln -s /usr/bin/nodejs /usr/bin/node -# RUN node -v - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/ubuntu.dockerfile.dockerignore b/test/test_install_script/ubuntu.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/ubuntu1604.dockerfile b/test/test_install_script/ubuntu1604.dockerfile deleted file mode 100644 index c6b529ab..00000000 --- a/test/test_install_script/ubuntu1604.dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM ubuntu:16.04 - -# Test invalid node version, these commands install nodejs 10 -#RUN apt --yes install nodejs -# RUN ln -s /usr/bin/nodejs /usr/bin/node -# RUN node -v - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/ubuntu1604.dockerfile.dockerignore b/test/test_install_script/ubuntu1604.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 diff --git a/test/test_install_script/ubuntu1804.dockerfile b/test/test_install_script/ubuntu1804.dockerfile deleted file mode 100644 index d41f67ed..00000000 --- a/test/test_install_script/ubuntu1804.dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM ubuntu:18.04 - -COPY ./install.sh . -RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0 diff --git a/test/test_install_script/ubuntu1804.dockerfile.dockerignore b/test/test_install_script/ubuntu1804.dockerfile.dockerignore deleted file mode 100644 index e69de29b..00000000 From df832f15fe21c5afc2d3e1d040bced79790962f2 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 30 Oct 2023 09:23:47 +0800 Subject: [PATCH 158/494] Add Uzbek language (#3959) * Add uz * Update i18n.js --- src/i18n.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n.js b/src/i18n.js index c33b523e..8402096a 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -42,7 +42,8 @@ const languageList = { "yue": "繁體中文 (廣東話 / 粵語)", "ro": "Limba română", "ur": "Urdu", - "ge": "ქართული" + "ge": "ქართული", + "uz": "O'zbek tili", }; let messages = { From fdfb572e09bc6d4c4c0e80bde779cba0dad54ad1 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Wed, 1 Nov 2023 09:48:13 +0800 Subject: [PATCH 159/494] Fix: Add axios abort signal (#3961) * Fix: Add axios abort signal * Chore: Fix comment --- server/model/monitor.js | 3 ++- server/util-server.js | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 5dcb7171..ef71eacc 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -6,7 +6,7 @@ const { log, UP, DOWN, PENDING, MAINTENANCE, flipStatus, MAX_INTERVAL_SECOND, MI SQL_DATETIME_FORMAT } = require("../../src/util"); const { tcping, ping, checkCertificate, checkStatusCode, getTotalClientInRoom, setting, mssqlQuery, postgresQuery, mysqlQuery, mqttAsync, setSetting, httpNtlm, radius, grpcQuery, - redisPingAsync, mongodbPing, kafkaProducerAsync, getOidcTokenClientCredentials, + redisPingAsync, mongodbPing, kafkaProducerAsync, getOidcTokenClientCredentials, axiosAbortSignal } = require("../util-server"); const { R } = require("redbean-node"); const { BeanModel } = require("redbean-node/dist/bean-model"); @@ -456,6 +456,7 @@ class Monitor extends BeanModel { validateStatus: (status) => { return checkStatusCode(status, this.getAcceptedStatuscodes()); }, + signal: axiosAbortSignal(this.timeout * 1000), }; if (bodyValue) { diff --git a/server/util-server.js b/server/util-server.js index 18107384..ca8b5ce6 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -1095,3 +1095,26 @@ if (process.env.TEST_BACKEND) { return module.exports.__test[functionName]; }; } + +/** + * Generates an abort signal with the specified timeout. + * @param {number} timeoutMs - The timeout in milliseconds. + * @returns {AbortSignal | null} - The generated abort signal, or null if not supported. + */ +module.exports.axiosAbortSignal = (timeoutMs) => { + try { + return AbortSignal.timeout(timeoutMs); + } catch (_) { + // v16-: AbortSignal.timeout is not supported + try { + const abortController = new AbortController(); + + setTimeout(() => abortController.abort(), timeoutMs || 0); + + return abortController.signal; + } catch (_) { + // v15-: AbortController is not supported + return null; + } + } +}; From b534fde26512bb4e6ae674aa92d5447c11e15b2c Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Fri, 3 Nov 2023 21:25:28 +0800 Subject: [PATCH 160/494] Fix: Use ActionSelect for Docker Host & validate input (#3864) * Fix: Use ActionSelect Docker Host & validate input * Fix: Handle docker host deleted while editing * UI: Use add for ActionSelect & prevent delete instead --- server/model/monitor.js | 8 ++++-- src/components/ActionSelect.vue | 22 +++++++++++++-- src/components/DockerHostDialog.vue | 3 +- src/lang/en.json | 2 ++ src/pages/EditMonitor.vue | 44 ++++++++++++++++++++--------- 5 files changed, 59 insertions(+), 20 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index ef71eacc..27f52312 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -673,8 +673,6 @@ class Monitor extends BeanModel { } else if (this.type === "docker") { log.debug("monitor", `[${this.name}] Prepare Options for Axios`); - const dockerHost = await R.load("docker_host", this.docker_host); - const options = { url: `/containers/${this.docker_container}/json`, timeout: this.interval * 1000 * 0.8, @@ -690,6 +688,12 @@ class Monitor extends BeanModel { }), }; + const dockerHost = await R.load("docker_host", this.docker_host); + + if (!dockerHost) { + throw new Error("Failed to load docker host config"); + } + if (dockerHost._dockerType === "socket") { options.socketPath = dockerHost._dockerDaemon; } else if (dockerHost._dockerType === "tcp") { diff --git a/src/components/ActionSelect.vue b/src/components/ActionSelect.vue index ae09e656..78daebc2 100644 --- a/src/components/ActionSelect.vue +++ b/src/components/ActionSelect.vue @@ -1,9 +1,9 @@ @@ -846,6 +871,7 @@ import CopyableInput from "../components/CopyableInput.vue"; import CreateGroupDialog from "../components/CreateGroupDialog.vue"; import NotificationDialog from "../components/NotificationDialog.vue"; import DockerHostDialog from "../components/DockerHostDialog.vue"; +import RemoteBrowserDialog from "../components/RemoteBrowserDialog.vue"; import ProxyDialog from "../components/ProxyDialog.vue"; import TagsManager from "../components/TagsManager.vue"; import { genSecret, isDev, MAX_INTERVAL_SECOND, MIN_INTERVAL_SECOND } from "../util.ts"; @@ -894,6 +920,7 @@ const monitorDefaults = { kafkaProducerSsl: false, kafkaProducerAllowAutoTopicCreation: false, gamedigGivenPortOnly: true, + remote_browser: null }; export default { @@ -905,6 +932,7 @@ export default { CreateGroupDialog, NotificationDialog, DockerHostDialog, + RemoteBrowserDialog, TagsManager, VueMultiselect, }, @@ -932,6 +960,7 @@ export default { "mongodb": "mongodb://username:password@host:port/database", }, draftGroupName: null, + remoteBrowsersEnabled: false, }; }, @@ -955,7 +984,31 @@ export default { } return this.$t(name); }, - + remoteBrowsersOptions() { + return this.$root.remoteBrowserList.map(browser => { + return { + label: browser.name, + value: browser.id, + }; + }); + }, + remoteBrowsersToggle: { + get() { + return this.remoteBrowsersEnabled || this.monitor.remote_browser != null; + }, + set(value) { + if (value) { + this.remoteBrowsersEnabled = true; + if (this.monitor.remote_browser == null && this.$root.remoteBrowserList.length > 0) { + // set a default remote browser if there is one. Otherwise, the user will have to select one manually. + this.monitor.remote_browser = this.$root.remoteBrowserList[0].id; + } + } else { + this.remoteBrowsersEnabled = false; + this.monitor.remote_browser = null; + } + } + }, isAdd() { return this.$route.path === "/add"; }, diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue index 4598dfb6..3da1ed9a 100644 --- a/src/pages/Settings.vue +++ b/src/pages/Settings.vue @@ -104,6 +104,9 @@ export default { "docker-hosts": { title: this.$t("Docker Hosts"), }, + "remote-browsers": { + title: this.$t("Remote Browsers"), + }, security: { title: this.$t("Security"), }, diff --git a/src/router.js b/src/router.js index 0ceb139f..36cdeada 100644 --- a/src/router.js +++ b/src/router.js @@ -31,6 +31,7 @@ import MonitorHistory from "./components/settings/MonitorHistory.vue"; const Security = () => import("./components/settings/Security.vue"); import Proxies from "./components/settings/Proxies.vue"; import About from "./components/settings/About.vue"; +import RemoteBrowsers from "./components/settings/RemoteBrowsers.vue"; const routes = [ { @@ -113,6 +114,10 @@ const routes = [ path: "docker-hosts", component: DockerHosts, }, + { + path: "remote-browsers", + component: RemoteBrowsers, + }, { path: "security", component: Security, From c3260bbf51bb119f4dfae6aa0c7bc0837852ef13 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 2 Dec 2023 18:43:41 +0800 Subject: [PATCH 179/494] Merge lock file --- package-lock.json | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96311c9b..8fb4c7a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -142,7 +142,7 @@ "vue-router": "~4.0.14", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", - "wait-on": "^6.0.1", + "wait-on": "^7.2.0", "whatwg-url": "~12.0.1" }, "engines": { @@ -16126,31 +16126,33 @@ } }, "node_modules/wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", "dev": true, "dependencies": { - "axios": "^0.25.0", - "joi": "^17.6.0", + "axios": "^1.6.1", + "joi": "^17.11.0", "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" + "minimist": "^1.2.8", + "rxjs": "^7.8.1" }, "bin": { "wait-on": "bin/wait-on" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.0.0" } }, "node_modules/wait-on/node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.7" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/wait-on/node_modules/joi": { @@ -16166,6 +16168,12 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/wait-on/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", From 35479c7690791cde3a1c6a18b938a9fc917edbfd Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sun, 3 Dec 2023 01:34:26 +0800 Subject: [PATCH 180/494] Fix: Disable timezone conversion for mariadb (#3756) --- server/database.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server/database.js b/server/database.js index 4162e331..4a12746f 100644 --- a/server/database.js +++ b/server/database.js @@ -263,7 +263,14 @@ class Database { user: dbConfig.username, password: dbConfig.password, database: dbConfig.dbName, - timezone: "+00:00", + timezone: "Z", + typeCast: function (field, next) { + if (field.type === "DATETIME") { + // Do not perform timezone conversion + return field.string(); + } + return next(); + }, }, pool: mariadbPoolConfig, }; @@ -277,6 +284,14 @@ class Database { socketPath: embeddedMariaDB.socketPath, user: "node", database: "kuma", + timezone: "Z", + typeCast: function (field, next) { + if (field.type === "DATETIME") { + // Do not perform timezone conversion + return field.string(); + } + return next(); + }, }, pool: mariadbPoolConfig, }; From 46432618e15833ba8befa62fc97054c11be2d52a Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sun, 3 Dec 2023 01:36:19 +0800 Subject: [PATCH 181/494] Feat: Add json-query to MQTT monitor type (#3857) * Feat: Add json-query MQTT monitor type * Fix: Allow result to be null * Fix: Remove unused parameter * Chore: Update JSDoc * Fix: Add default if checkType is not set --------- Co-authored-by: Louis Lam --- .../2023-10-08-0000-mqtt-query.js | 16 +++ server/model/monitor.js | 11 +- server/monitor-types/mqtt.js | 121 ++++++++++++++++++ server/server.js | 1 + server/uptime-kuma-server.js | 2 + server/util-server.js | 68 ---------- src/lang/en.json | 4 +- src/pages/EditMonitor.vue | 29 ++++- 8 files changed, 170 insertions(+), 82 deletions(-) create mode 100644 db/knex_migrations/2023-10-08-0000-mqtt-query.js create mode 100644 server/monitor-types/mqtt.js diff --git a/db/knex_migrations/2023-10-08-0000-mqtt-query.js b/db/knex_migrations/2023-10-08-0000-mqtt-query.js new file mode 100644 index 00000000..f37bab83 --- /dev/null +++ b/db/knex_migrations/2023-10-08-0000-mqtt-query.js @@ -0,0 +1,16 @@ +exports.up = function (knex) { + // Add new column monitor.mqtt_check_type + return knex.schema + .alterTable("monitor", function (table) { + table.string("mqtt_check_type", 255).notNullable().defaultTo("keyword"); + }); + +}; + +exports.down = function (knex) { + // Drop column monitor.mqtt_check_type + return knex.schema + .alterTable("monitor", function (table) { + table.dropColumn("mqtt_check_type"); + }); +}; diff --git a/server/model/monitor.js b/server/model/monitor.js index 3cf72d23..e0b52062 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -4,7 +4,7 @@ const { Prometheus } = require("../prometheus"); const { log, UP, DOWN, PENDING, MAINTENANCE, flipStatus, MAX_INTERVAL_SECOND, MIN_INTERVAL_SECOND, SQL_DATETIME_FORMAT } = require("../../src/util"); -const { tcping, ping, checkCertificate, checkStatusCode, getTotalClientInRoom, setting, mssqlQuery, postgresQuery, mysqlQuery, mqttAsync, setSetting, httpNtlm, radius, grpcQuery, +const { tcping, ping, checkCertificate, checkStatusCode, getTotalClientInRoom, setting, mssqlQuery, postgresQuery, mysqlQuery, setSetting, httpNtlm, radius, grpcQuery, redisPingAsync, mongodbPing, kafkaProducerAsync, getOidcTokenClientCredentials, rootCertificatesFingerprints, axiosAbortSignal } = require("../util-server"); const { R } = require("redbean-node"); @@ -134,6 +134,7 @@ class Monitor extends BeanModel { maintenance: await Monitor.isUnderMaintenance(this.id), mqttTopic: this.mqttTopic, mqttSuccessMessage: this.mqttSuccessMessage, + mqttCheckType: this.mqttCheckType, databaseQuery: this.databaseQuery, authMethod: this.authMethod, grpcUrl: this.grpcUrl, @@ -757,14 +758,6 @@ class Monitor extends BeanModel { } else { throw Error("Container State is " + res.data.State.Status); } - } else if (this.type === "mqtt") { - bean.msg = await mqttAsync(this.hostname, this.mqttTopic, this.mqttSuccessMessage, { - port: this.port, - username: this.mqttUsername, - password: this.mqttPassword, - interval: this.interval, - }); - bean.status = UP; } else if (this.type === "sqlserver") { let startTime = dayjs().valueOf(); diff --git a/server/monitor-types/mqtt.js b/server/monitor-types/mqtt.js new file mode 100644 index 00000000..cff5c93d --- /dev/null +++ b/server/monitor-types/mqtt.js @@ -0,0 +1,121 @@ +const { MonitorType } = require("./monitor-type"); +const { log, UP } = require("../../src/util"); +const mqtt = require("mqtt"); +const jsonata = require("jsonata"); + +class MqttMonitorType extends MonitorType { + + name = "mqtt"; + + /** + * Run the monitoring check on the MQTT monitor + * @param {Monitor} monitor Monitor to check + * @param {Heartbeat} heartbeat Monitor heartbeat to update + * @param {UptimeKumaServer} server Uptime Kuma server + * @returns {Promise} + */ + async check(monitor, heartbeat, server) { + const receivedMessage = await this.mqttAsync(monitor.hostname, monitor.mqttTopic, { + port: monitor.port, + username: monitor.mqttUsername, + password: monitor.mqttPassword, + interval: monitor.interval, + }); + + if (monitor.mqttCheckType == null || monitor.mqttCheckType === "") { + // use old default + monitor.mqttCheckType = "keyword"; + } + + if (monitor.mqttCheckType === "keyword") { + if (receivedMessage != null && receivedMessage.includes(monitor.mqttSuccessMessage)) { + heartbeat.msg = `Topic: ${monitor.mqttTopic}; Message: ${receivedMessage}`; + heartbeat.status = UP; + } else { + throw Error(`Message Mismatch - Topic: ${monitor.mqttTopic}; Message: ${receivedMessage}`); + } + } else if (monitor.mqttCheckType === "json-query") { + const parsedMessage = JSON.parse(receivedMessage); + + let expression = jsonata(monitor.jsonPath); + + let result = await expression.evaluate(parsedMessage); + + if (result?.toString() === monitor.expectedValue) { + heartbeat.msg = "Message received, expected value is found"; + heartbeat.status = UP; + } else { + throw new Error("Message received but value is not equal to expected value, value was: [" + result + "]"); + } + } else { + throw Error("Unknown MQTT Check Type"); + } + } + + /** + * Connect to MQTT Broker, subscribe to topic and receive message as String + * @param {string} hostname Hostname / address of machine to test + * @param {string} topic MQTT topic + * @param {object} options MQTT options. Contains port, username, + * password and interval (interval defaults to 20) + * @returns {Promise} Received MQTT message + */ + mqttAsync(hostname, topic, options = {}) { + return new Promise((resolve, reject) => { + const { port, username, password, interval = 20 } = options; + + // Adds MQTT protocol to the hostname if not already present + if (!/^(?:http|mqtt|ws)s?:\/\//.test(hostname)) { + hostname = "mqtt://" + hostname; + } + + const timeoutID = setTimeout(() => { + log.debug("mqtt", "MQTT timeout triggered"); + client.end(); + reject(new Error("Timeout, Message not received")); + }, interval * 1000 * 0.8); + + const mqttUrl = `${hostname}:${port}`; + + log.debug("mqtt", `MQTT connecting to ${mqttUrl}`); + + let client = mqtt.connect(mqttUrl, { + username, + password + }); + + client.on("connect", () => { + log.debug("mqtt", "MQTT connected"); + + try { + client.subscribe(topic, () => { + log.debug("mqtt", "MQTT subscribed to topic"); + }); + } catch (e) { + client.end(); + clearTimeout(timeoutID); + reject(new Error("Cannot subscribe topic")); + } + }); + + client.on("error", (error) => { + client.end(); + clearTimeout(timeoutID); + reject(error); + }); + + client.on("message", (messageTopic, message) => { + if (messageTopic === topic) { + client.end(); + clearTimeout(timeoutID); + resolve(message.toString("utf8")); + } + }); + + }); + } +} + +module.exports = { + MqttMonitorType, +}; diff --git a/server/server.js b/server/server.js index 0be9a972..b5665fa6 100644 --- a/server/server.js +++ b/server/server.js @@ -799,6 +799,7 @@ let needSetup = false; bean.mqttPassword = monitor.mqttPassword; bean.mqttTopic = monitor.mqttTopic; bean.mqttSuccessMessage = monitor.mqttSuccessMessage; + bean.mqttCheckType = monitor.mqttCheckType; bean.databaseConnectionString = monitor.databaseConnectionString; bean.databaseQuery = monitor.databaseQuery; bean.authMethod = monitor.authMethod; diff --git a/server/uptime-kuma-server.js b/server/uptime-kuma-server.js index f55dcde3..6a06f7da 100644 --- a/server/uptime-kuma-server.js +++ b/server/uptime-kuma-server.js @@ -118,6 +118,7 @@ class UptimeKumaServer { UptimeKumaServer.monitorTypeList["real-browser"] = new RealBrowserMonitorType(); UptimeKumaServer.monitorTypeList["tailscale-ping"] = new TailscalePing(); UptimeKumaServer.monitorTypeList["dns"] = new DnsMonitorType(); + UptimeKumaServer.monitorTypeList["mqtt"] = new MqttMonitorType(); this.io = new Server(this.httpServer); } @@ -436,3 +437,4 @@ module.exports = { const { RealBrowserMonitorType } = require("./monitor-types/real-browser-monitor-type"); const { TailscalePing } = require("./monitor-types/tailscale-ping"); const { DnsMonitorType } = require("./monitor-types/dns"); +const { MqttMonitorType } = require("./monitor-types/mqtt"); diff --git a/server/util-server.js b/server/util-server.js index 3e95e70a..3246925e 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -7,7 +7,6 @@ const { Resolver } = require("dns"); const childProcess = require("child_process"); const iconv = require("iconv-lite"); const chardet = require("chardet"); -const mqtt = require("mqtt"); const chroma = require("chroma-js"); const { badgeConstants } = require("./config"); const mssql = require("mssql"); @@ -173,73 +172,6 @@ exports.pingAsync = function (hostname, ipv6 = false, size = 56) { }); }; -/** - * MQTT Monitor - * @param {string} hostname Hostname / address of machine to test - * @param {string} topic MQTT topic - * @param {string} okMessage Expected result - * @param {object} options MQTT options. Contains port, username, - * password and interval (interval defaults to 20) - * @returns {Promise} Received MQTT message - */ -exports.mqttAsync = function (hostname, topic, okMessage, options = {}) { - return new Promise((resolve, reject) => { - const { port, username, password, interval = 20 } = options; - - // Adds MQTT protocol to the hostname if not already present - if (!/^(?:http|mqtt|ws)s?:\/\//.test(hostname)) { - hostname = "mqtt://" + hostname; - } - - const timeoutID = setTimeout(() => { - log.debug("mqtt", "MQTT timeout triggered"); - client.end(); - reject(new Error("Timeout")); - }, interval * 1000 * 0.8); - - const mqttUrl = `${hostname}:${port}`; - - log.debug("mqtt", `MQTT connecting to ${mqttUrl}`); - - let client = mqtt.connect(mqttUrl, { - username, - password - }); - - client.on("connect", () => { - log.debug("mqtt", "MQTT connected"); - - try { - log.debug("mqtt", "MQTT subscribe topic"); - client.subscribe(topic); - } catch (e) { - client.end(); - clearTimeout(timeoutID); - reject(new Error("Cannot subscribe topic")); - } - }); - - client.on("error", (error) => { - client.end(); - clearTimeout(timeoutID); - reject(error); - }); - - client.on("message", (messageTopic, message) => { - if (messageTopic === topic) { - client.end(); - clearTimeout(timeoutID); - if (okMessage != null && okMessage !== "" && message.toString() !== okMessage) { - reject(new Error(`Message Mismatch - Topic: ${messageTopic}; Message: ${message.toString()}`)); - } else { - resolve(`Topic: ${messageTopic}; Message: ${message.toString()}`); - } - } - }); - - }); -}; - /** * Monitor Kafka using Producer * @param {string[]} brokers List of kafka brokers to connect, host and diff --git a/src/lang/en.json b/src/lang/en.json index bcf9e220..1bacee31 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -246,8 +246,8 @@ "Current User": "Current User", "topic": "Topic", "topicExplanation": "MQTT topic to monitor", - "successMessage": "Success Message", - "successMessageExplanation": "MQTT message that will be considered as success", + "successKeyword": "Success Keyword", + "successKeywordExplanation": "MQTT Keyword that will be considered as success", "recent": "Recent", "Reset Token": "Reset Token", "Done": "Done", diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index 490e55ab..1a2d1c93 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -349,11 +349,33 @@
- - + + +
+ +
+ +
- {{ $t("successMessageExplanation") }} + {{ $t("successKeywordExplanation") }} +
+
+ + +
+ + + + +
+
+ + +
@@ -914,6 +936,7 @@ const monitorDefaults = { mqttPassword: "", mqttTopic: "", mqttSuccessMessage: "", + mqttCheckType: "keyword", authMethod: null, oauth_auth_method: "client_secret_basic", httpBodyEncoding: "json", From db7a92a74cc5c6bb0a614a1f6ceea8fe786eb11b Mon Sep 17 00:00:00 2001 From: DevMirza <53424436+Zaid-maker@users.noreply.github.com> Date: Sun, 3 Dec 2023 17:27:09 +0500 Subject: [PATCH 182/494] =?UTF-8?q?=F0=9F=90=9B=20fix(remote-browser):=20R?= =?UTF-8?q?emove=20unused=20test()=20function=20(#4155)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix * fix lint * Update Notifications.vue * Update ActionInput.vue --- server/remote-browser.js | 12 +----------- src/components/ActionInput.vue | 2 +- src/components/settings/Notifications.vue | 2 +- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/server/remote-browser.js b/server/remote-browser.js index 0d17f1a5..da8e9a5e 100644 --- a/server/remote-browser.js +++ b/server/remote-browser.js @@ -1,5 +1,5 @@ const { R } = require("redbean-node"); -const { testRemoteBrowser } = require("./monitor-types/real-browser-monitor-type.js"); + class RemoteBrowser { /** @@ -67,16 +67,6 @@ class RemoteBrowser { await R.trash(bean); } - /** - * Tests the connection to Remote Browser - * @param {object} remoteBrowser Docker host to check for - * @returns {boolean} Returns if connection worked - */ - static async test(remoteBrowser) { - const testResult = await testRemoteBrowser(remoteBrowser.id, remoteBrowser.user_id); - return testResult; - } - } module.exports = { diff --git a/src/components/ActionInput.vue b/src/components/ActionInput.vue index 44c9e586..5303e427 100644 --- a/src/components/ActionInput.vue +++ b/src/components/ActionInput.vue @@ -8,7 +8,7 @@ :placeholder="placeholder" :disabled="!enabled" > - diff --git a/src/components/settings/Notifications.vue b/src/components/settings/Notifications.vue index 946208a9..2a65d796 100644 --- a/src/components/settings/Notifications.vue +++ b/src/components/settings/Notifications.vue @@ -60,7 +60,7 @@
{{ day }} {{ $tc("day", day) }} -
From 8aa497fb894b34baf92316a549950699767e9c99 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 4 Dec 2023 02:11:52 +0800 Subject: [PATCH 183/494] Update actions/stale from v7 to v8 and disable it for pull request --- .github/workflows/stale-bot.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stale-bot.yml b/.github/workflows/stale-bot.yml index b39f68fc..4d1cd93e 100644 --- a/.github/workflows/stale-bot.yml +++ b/.github/workflows/stale-bot.yml @@ -1,4 +1,4 @@ -name: 'Automatically close stale issues and PRs' +name: 'Automatically close stale issues' on: workflow_dispatch: schedule: @@ -9,14 +9,14 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v7 + - uses: actions/stale@v8 with: stale-issue-message: 'We are clearing up our old issues and your ticket has been open for 3 months with no activity. Remove stale label or comment or this will be closed in 2 days.' close-issue-message: 'This issue was closed because it has been stalled for 2 days with no activity.' days-before-stale: 90 days-before-close: 2 - days-before-pr-stale: 999999999 - days-before-pr-close: 1 + days-before-pr-stale: -1 + days-before-pr-close: -1 exempt-issue-labels: 'News,Medium,High,discussion,bug,doc,feature-request' exempt-issue-assignees: 'louislam' operations-per-run: 200 From 20a68a16f5436ac1039c3796597cbafdb566fd86 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 4 Dec 2023 02:32:11 +0800 Subject: [PATCH 184/494] Update CONTRIBUTING.md --- CONTRIBUTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33b7336d..1712b66c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -75,12 +75,12 @@ Before deep into coding, discussion first is preferred. Creating an empty pull r 1. Fork the project 2. Clone your fork repo to local 3. Create a new branch -4. Create an empty commit: `git commit -m "[empty commit] pull request for " --allow-empty` +4. Create an empty commit: `git commit -m "" --allow-empty` 5. Push to your fork repo -6. Create a pull request: https://github.com/louislam/uptime-kuma/compare -7. Write a proper description -8. Click "Change to draft" -9. Discussion +6. Prepare a pull request: https://github.com/louislam/uptime-kuma/compare +7. Write a proper description. You can mention @louislam in it, so @louislam will get the notification. +8. Create your pull request as a Draft +9. Wait for the discussion ## Project Styles From 81b84a3c53ae89fae4a26b9f1e8026a18b3ead56 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Tue, 5 Dec 2023 04:04:54 +0800 Subject: [PATCH 185/494] Fix: Filtering works with group monitors (again) (#3685) * Fix: Group monitors use nested filtering * Chore: Fix lint --- src/components/MonitorList.vue | 154 ++++++++++++++++------------- src/components/MonitorListItem.vue | 52 +++------- 2 files changed, 102 insertions(+), 104 deletions(-) diff --git a/src/components/MonitorList.vue b/src/components/MonitorList.vue index f8e69947..d662d2b0 100644 --- a/src/components/MonitorList.vue +++ b/src/components/MonitorList.vue @@ -51,11 +51,12 @@ v-for="(item, index) in sortedMonitorList" :key="index" :monitor="item" - :showPathName="filtersActive" :isSelectMode="selectMode" :isSelected="isSelected" :select="select" :deselect="deselect" + :filter-func="filterFunc" + :sort-func="sortFunc" />
@@ -126,75 +127,16 @@ export default { let result = Object.values(this.$root.monitorList); result = result.filter(monitor => { - // filter by search text - // finds monitor name, tag name or tag value - let searchTextMatch = true; - if (this.searchText !== "") { - const loweredSearchText = this.searchText.toLowerCase(); - searchTextMatch = - monitor.name.toLowerCase().includes(loweredSearchText) - || monitor.tags.find(tag => tag.name.toLowerCase().includes(loweredSearchText) - || tag.value?.toLowerCase().includes(loweredSearchText)); + // The root list does not show children + if (monitor.parent !== null) { + return false; } - - // filter by status - let statusMatch = true; - if (this.filterState.status != null && this.filterState.status.length > 0) { - if (monitor.id in this.$root.lastHeartbeatList && this.$root.lastHeartbeatList[monitor.id]) { - monitor.status = this.$root.lastHeartbeatList[monitor.id].status; - } - statusMatch = this.filterState.status.includes(monitor.status); - } - - // filter by active - let activeMatch = true; - if (this.filterState.active != null && this.filterState.active.length > 0) { - activeMatch = this.filterState.active.includes(monitor.active); - } - - // filter by tags - let tagsMatch = true; - if (this.filterState.tags != null && this.filterState.tags.length > 0) { - tagsMatch = monitor.tags.map(tag => tag.tag_id) // convert to array of tag IDs - .filter(monitorTagId => this.filterState.tags.includes(monitorTagId)) // perform Array Intersaction between filter and monitor's tags - .length > 0; - } - - // Hide children if not filtering - let showChild = true; - if (this.filterState.status == null && this.filterState.active == null && this.filterState.tags == null && this.searchText === "") { - if (monitor.parent !== null) { - showChild = false; - } - } - - return searchTextMatch && statusMatch && activeMatch && tagsMatch && showChild; + return true; }); - // Filter result by active state, weight and alphabetical - result.sort((m1, m2) => { - if (m1.active !== m2.active) { - if (m1.active === false) { - return 1; - } + result = result.filter(this.filterFunc); - if (m2.active === false) { - return -1; - } - } - - if (m1.weight !== m2.weight) { - if (m1.weight > m2.weight) { - return -1; - } - - if (m1.weight < m2.weight) { - return 1; - } - } - - return m1.name.localeCompare(m2.name); - }); + result.sort(this.sortFunc); return result; }, @@ -361,6 +303,85 @@ export default { this.cancelSelectMode(); }, + /** + * Whether a monitor should be displayed based on the filters + * @param {object} monitor Monitor to check + * @returns {boolean} Should the monitor be displayed + */ + filterFunc(monitor) { + // Group monitors bypass filter if at least 1 of children matched + if (monitor.type === "group") { + const children = Object.values(this.$root.monitorList).filter(m => m.parent === monitor.id); + if (children.some((child, index, children) => this.filterFunc(child))) { + return true; + } + } + + // filter by search text + // finds monitor name, tag name or tag value + let searchTextMatch = true; + if (this.searchText !== "") { + const loweredSearchText = this.searchText.toLowerCase(); + searchTextMatch = + monitor.name.toLowerCase().includes(loweredSearchText) + || monitor.tags.find(tag => tag.name.toLowerCase().includes(loweredSearchText) + || tag.value?.toLowerCase().includes(loweredSearchText)); + } + + // filter by status + let statusMatch = true; + if (this.filterState.status != null && this.filterState.status.length > 0) { + if (monitor.id in this.$root.lastHeartbeatList && this.$root.lastHeartbeatList[monitor.id]) { + monitor.status = this.$root.lastHeartbeatList[monitor.id].status; + } + statusMatch = this.filterState.status.includes(monitor.status); + } + + // filter by active + let activeMatch = true; + if (this.filterState.active != null && this.filterState.active.length > 0) { + activeMatch = this.filterState.active.includes(monitor.active); + } + + // filter by tags + let tagsMatch = true; + if (this.filterState.tags != null && this.filterState.tags.length > 0) { + tagsMatch = monitor.tags.map(tag => tag.tag_id) // convert to array of tag IDs + .filter(monitorTagId => this.filterState.tags.includes(monitorTagId)) // perform Array Intersaction between filter and monitor's tags + .length > 0; + } + + return searchTextMatch && statusMatch && activeMatch && tagsMatch; + }, + /** + * Function used in Array.sort to order monitors in a list. + * @param {*} m1 monitor 1 + * @param {*} m2 monitor 2 + * @returns {number} -1, 0 or 1 + */ + sortFunc(m1, m2) { + if (m1.active !== m2.active) { + if (m1.active === false) { + return 1; + } + + if (m2.active === false) { + return -1; + } + } + + if (m1.weight !== m2.weight) { + if (m1.weight > m2.weight) { + return -1; + } + + if (m1.weight < m2.weight) { + return 1; + } + } + + return m1.name.localeCompare(m2.name); + } }, }; @@ -458,5 +479,4 @@ export default { align-items: center; gap: 10px; } - diff --git a/src/components/MonitorListItem.vue b/src/components/MonitorListItem.vue index 5b844968..9b45ae9f 100644 --- a/src/components/MonitorListItem.vue +++ b/src/components/MonitorListItem.vue @@ -20,7 +20,7 @@ - {{ monitorName }} + {{ monitor.name }}
@@ -44,7 +44,6 @@ {} }, + /** Function to filter child monitors */ + filterFunc: { + type: Function, + default: () => {} + }, + /** Function to sort child monitors */ + sortFunc: { + type: Function, + default: () => {}, + } }, data() { return { @@ -115,32 +119,13 @@ export default { sortedChildMonitorList() { let result = Object.values(this.$root.monitorList); + // Get children result = result.filter(childMonitor => childMonitor.parent === this.monitor.id); - result.sort((m1, m2) => { + // Run filter on children + result = result.filter(this.filterFunc); - if (m1.active !== m2.active) { - if (m1.active === 0) { - return 1; - } - - if (m2.active === 0) { - return -1; - } - } - - if (m1.weight !== m2.weight) { - if (m1.weight > m2.weight) { - return -1; - } - - if (m1.weight < m2.weight) { - return 1; - } - } - - return m1.name.localeCompare(m2.name); - }); + result.sort(this.sortFunc); return result; }, @@ -152,13 +137,6 @@ export default { marginLeft: `${31 * this.depth}px`, }; }, - monitorName() { - if (this.showPathName) { - return this.monitor.pathName; - } else { - return this.monitor.name; - } - } }, watch: { isSelectMode() { From 478403ef6346dec34f1e3b38242ae93f48b695ef Mon Sep 17 00:00:00 2001 From: Duvergier Claude <1466273+C-Duv@users.noreply.github.com> Date: Mon, 4 Dec 2023 21:23:42 +0100 Subject: [PATCH 186/494] Adding a way to reset the admin password via CLI without any user interaction (#3912) * feat(cli): Allow unattended password reset via CLI This commit adds a way to reset the admin password via CLI without any user interaction (unattended operation). It adds an optional `new_password` CLI argument that, when present is used instead of prompting the user for password and password confirmation. It also makes sure the user is informed the password could leak into it's shell history (it's up to him to do some cleaning if needed/wanted). * Change to dash style * Add dry-run * Fix number password issue --------- Co-authored-by: Louis Lam --- extra/reset-password.js | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/extra/reset-password.js b/extra/reset-password.js index 3f6f79c1..2fbc622d 100644 --- a/extra/reset-password.js +++ b/extra/reset-password.js @@ -12,6 +12,10 @@ const rl = readline.createInterface({ }); const main = async () => { + if ("dry-run" in args) { + console.log("Dry run mode, no changes will be made."); + } + console.log("Connecting the database"); Database.initDataDir(args); await Database.connect(false, false, true); @@ -27,15 +31,26 @@ const main = async () => { console.log("Found user: " + user.username); while (true) { - let password = await question("New Password: "); - let confirmPassword = await question("Confirm New Password: "); + let password; + let confirmPassword; - if (password === confirmPassword) { - await User.resetPassword(user.id, password); + // When called with "--new-password" argument for unattended modification (e.g. npm run reset-password -- --new_password=secret) + if ("new-password" in args) { + console.log("Using password from argument"); + console.warn("\x1b[31m%s\x1b[0m", "Warning: the password might be stored, in plain text, in your shell's history"); + password = confirmPassword = args["new-password"] + ""; + } else { + password = await question("New Password: "); + confirmPassword = await question("Confirm New Password: "); + } - // Reset all sessions by reset jwt secret - await initJWTSecret(); + if (password === confirmPassword) { + if (!("dry-run" in args)) { + await User.resetPassword(user.id, password); + // Reset all sessions by reset jwt secret + await initJWTSecret(); + } break; } else { console.log("Passwords do not match, please try again."); From ad4629cb038c5b47fb04053f48c6fa905644e386 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 5 Dec 2023 05:16:55 +0800 Subject: [PATCH 187/494] Fix UPTIME_KUMA_DB_NAME issue (#4169) --- server/setup-database.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/setup-database.js b/server/setup-database.js index db1e9c15..483f2c9a 100644 --- a/server/setup-database.js +++ b/server/setup-database.js @@ -74,7 +74,7 @@ class SetupDatabase { dbConfig.type = process.env.UPTIME_KUMA_DB_TYPE; dbConfig.hostname = process.env.UPTIME_KUMA_DB_HOSTNAME; dbConfig.port = process.env.UPTIME_KUMA_DB_PORT; - dbConfig.database = process.env.UPTIME_KUMA_DB_NAME; + dbConfig.dbName = process.env.UPTIME_KUMA_DB_NAME; dbConfig.username = process.env.UPTIME_KUMA_DB_USERNAME; dbConfig.password = process.env.UPTIME_KUMA_DB_PASSWORD; Database.writeDBConfig(dbConfig); From 46b300808dad77ac894f40bacd71dc72498fbe35 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sat, 9 Dec 2023 17:48:25 +0800 Subject: [PATCH 188/494] Chore: Fix console colors & add JSDoc (#4170) --- src/util.js | 91 ++++++++++++++++++++++++------------ src/util.ts | 132 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 155 insertions(+), 68 deletions(-) diff --git a/src/util.js b/src/util.js index c0710a20..d2eb2f45 100644 --- a/src/util.js +++ b/src/util.js @@ -8,11 +8,13 @@ // Backend uses the compiled file util.js // Frontend uses util.ts */ +var _a; Object.defineProperty(exports, "__esModule", { value: true }); -exports.debug = exports.ucfirst = exports.sleep = exports.flipStatus = exports.CONSOLE_STYLE_BgGray = exports.CONSOLE_STYLE_BgWhite = exports.CONSOLE_STYLE_BgCyan = exports.CONSOLE_STYLE_BgMagenta = exports.CONSOLE_STYLE_BgBlue = exports.CONSOLE_STYLE_BgYellow = exports.CONSOLE_STYLE_BgGreen = exports.CONSOLE_STYLE_BgRed = exports.CONSOLE_STYLE_BgBlack = exports.CONSOLE_STYLE_FgPink = exports.CONSOLE_STYLE_FgBrown = exports.CONSOLE_STYLE_FgViolet = exports.CONSOLE_STYLE_FgLightBlue = exports.CONSOLE_STYLE_FgLightGreen = exports.CONSOLE_STYLE_FgOrange = exports.CONSOLE_STYLE_FgGray = exports.CONSOLE_STYLE_FgWhite = exports.CONSOLE_STYLE_FgCyan = exports.CONSOLE_STYLE_FgMagenta = exports.CONSOLE_STYLE_FgBlue = exports.CONSOLE_STYLE_FgYellow = exports.CONSOLE_STYLE_FgGreen = exports.CONSOLE_STYLE_FgRed = exports.CONSOLE_STYLE_FgBlack = exports.CONSOLE_STYLE_Hidden = exports.CONSOLE_STYLE_Reverse = exports.CONSOLE_STYLE_Blink = exports.CONSOLE_STYLE_Underscore = exports.CONSOLE_STYLE_Dim = exports.CONSOLE_STYLE_Bright = exports.CONSOLE_STYLE_Reset = exports.MIN_INTERVAL_SECOND = exports.MAX_INTERVAL_SECOND = exports.SQL_DATETIME_FORMAT_WITHOUT_SECOND = exports.SQL_DATETIME_FORMAT = exports.SQL_DATE_FORMAT = exports.STATUS_PAGE_MAINTENANCE = exports.STATUS_PAGE_PARTIAL_DOWN = exports.STATUS_PAGE_ALL_UP = exports.STATUS_PAGE_ALL_DOWN = exports.MAINTENANCE = exports.PENDING = exports.UP = exports.DOWN = exports.appName = exports.isDev = void 0; -exports.intHash = exports.localToUTC = exports.utcToLocal = exports.utcToISODateTime = exports.isoToUTCDateTime = exports.parseTimeFromTimeObject = exports.parseTimeObject = exports.getMaintenanceRelativeURL = exports.getMonitorRelativeURL = exports.genSecret = exports.getCryptoRandomInt = exports.getRandomInt = exports.getRandomArbitrary = exports.TimeLogger = exports.polyfill = exports.log = void 0; +exports.ucfirst = exports.sleep = exports.flipStatus = exports.CONSOLE_STYLE_BgGray = exports.CONSOLE_STYLE_BgWhite = exports.CONSOLE_STYLE_BgCyan = exports.CONSOLE_STYLE_BgMagenta = exports.CONSOLE_STYLE_BgBlue = exports.CONSOLE_STYLE_BgYellow = exports.CONSOLE_STYLE_BgGreen = exports.CONSOLE_STYLE_BgRed = exports.CONSOLE_STYLE_BgBlack = exports.CONSOLE_STYLE_FgPink = exports.CONSOLE_STYLE_FgBrown = exports.CONSOLE_STYLE_FgViolet = exports.CONSOLE_STYLE_FgLightBlue = exports.CONSOLE_STYLE_FgLightGreen = exports.CONSOLE_STYLE_FgOrange = exports.CONSOLE_STYLE_FgGray = exports.CONSOLE_STYLE_FgWhite = exports.CONSOLE_STYLE_FgCyan = exports.CONSOLE_STYLE_FgMagenta = exports.CONSOLE_STYLE_FgBlue = exports.CONSOLE_STYLE_FgYellow = exports.CONSOLE_STYLE_FgGreen = exports.CONSOLE_STYLE_FgRed = exports.CONSOLE_STYLE_FgBlack = exports.CONSOLE_STYLE_Hidden = exports.CONSOLE_STYLE_Reverse = exports.CONSOLE_STYLE_Blink = exports.CONSOLE_STYLE_Underscore = exports.CONSOLE_STYLE_Dim = exports.CONSOLE_STYLE_Bright = exports.CONSOLE_STYLE_Reset = exports.MIN_INTERVAL_SECOND = exports.MAX_INTERVAL_SECOND = exports.SQL_DATETIME_FORMAT_WITHOUT_SECOND = exports.SQL_DATETIME_FORMAT = exports.SQL_DATE_FORMAT = exports.STATUS_PAGE_MAINTENANCE = exports.STATUS_PAGE_PARTIAL_DOWN = exports.STATUS_PAGE_ALL_UP = exports.STATUS_PAGE_ALL_DOWN = exports.MAINTENANCE = exports.PENDING = exports.UP = exports.DOWN = exports.appName = exports.isNode = exports.isDev = void 0; +exports.intHash = exports.localToUTC = exports.utcToLocal = exports.utcToISODateTime = exports.isoToUTCDateTime = exports.parseTimeFromTimeObject = exports.parseTimeObject = exports.getMaintenanceRelativeURL = exports.getMonitorRelativeURL = exports.genSecret = exports.getCryptoRandomInt = exports.getRandomInt = exports.getRandomArbitrary = exports.TimeLogger = exports.polyfill = exports.log = exports.debug = void 0; const dayjs = require("dayjs"); exports.isDev = process.env.NODE_ENV === "development"; +exports.isNode = typeof process !== "undefined" && ((_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node); exports.appName = "Uptime Kuma"; exports.DOWN = 0; exports.UP = 1; @@ -140,40 +142,67 @@ class Logger { } const levelColor = consoleLevelColors[level]; const moduleColor = consoleModuleColors[intHash(module, consoleModuleColors.length)]; - let timePart = exports.CONSOLE_STYLE_FgCyan + now + exports.CONSOLE_STYLE_Reset; - let modulePart = "[" + moduleColor + module + exports.CONSOLE_STYLE_Reset + "]"; - let levelPart = levelColor + `${level}:` + exports.CONSOLE_STYLE_Reset; - if (level === "INFO") { - console.info(timePart, modulePart, levelPart, msg); - } - else if (level === "WARN") { - console.warn(timePart, modulePart, levelPart, msg); - } - else if (level === "ERROR") { - let msgPart; - if (typeof msg === "string") { - msgPart = exports.CONSOLE_STYLE_FgRed + msg + exports.CONSOLE_STYLE_Reset; + let timePart; + let modulePart; + let levelPart; + let msgPart; + if (exports.isNode) { + switch (level) { + case "DEBUG": + timePart = exports.CONSOLE_STYLE_FgGray + now + exports.CONSOLE_STYLE_Reset; + break; + default: + timePart = exports.CONSOLE_STYLE_FgCyan + now + exports.CONSOLE_STYLE_Reset; + break; } - else { - msgPart = msg; - } - console.error(timePart, modulePart, levelPart, msgPart); - } - else if (level === "DEBUG") { - if (exports.isDev) { - timePart = exports.CONSOLE_STYLE_FgGray + now + exports.CONSOLE_STYLE_Reset; - let msgPart; - if (typeof msg === "string") { - msgPart = exports.CONSOLE_STYLE_FgGray + msg + exports.CONSOLE_STYLE_Reset; - } - else { + modulePart = "[" + moduleColor + module + exports.CONSOLE_STYLE_Reset + "]"; + levelPart = levelColor + `${level}:` + exports.CONSOLE_STYLE_Reset; + switch (level) { + case "ERROR": + if (typeof msg === "string") { + msgPart = exports.CONSOLE_STYLE_FgRed + msg + exports.CONSOLE_STYLE_Reset; + } + else { + msgPart = msg; + } + break; + case "DEBUG": + if (typeof msg === "string") { + msgPart = exports.CONSOLE_STYLE_FgGray + msg + exports.CONSOLE_STYLE_Reset; + } + else { + msgPart = msg; + } + break; + default: msgPart = msg; - } - console.debug(timePart, modulePart, levelPart, msgPart); + break; } } else { - console.log(timePart, modulePart, msg); + timePart = now; + modulePart = `[${module}]`; + levelPart = `${level}:`; + msgPart = msg; + } + switch (level) { + case "ERROR": + console.error(timePart, modulePart, levelPart, msgPart); + break; + case "WARN": + console.warn(timePart, modulePart, levelPart, msgPart); + break; + case "INFO": + console.info(timePart, modulePart, levelPart, msgPart); + break; + case "DEBUG": + if (exports.isDev) { + console.debug(timePart, modulePart, levelPart, msgPart); + } + break; + default: + console.log(timePart, modulePart, levelPart, msgPart); + break; } } info(module, msg) { diff --git a/src/util.ts b/src/util.ts index f1f81293..dbdf9f84 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,3 +1,4 @@ +/* eslint-disable camelcase */ /*! // Common Util for frontend and backend // @@ -17,6 +18,7 @@ import * as timezone from "dayjs/plugin/timezone"; import * as utc from "dayjs/plugin/utc"; export const isDev = process.env.NODE_ENV === "development"; +export const isNode = typeof process !== "undefined" && process?.versions?.node; export const appName = "Uptime Kuma"; export const DOWN = 0; export const UP = 1; @@ -93,7 +95,8 @@ const consoleLevelColors : Record = { /** * Flip the status of s - * @param s + * @param s input status: UP or DOWN + * @returns {number} UP or DOWN */ export function flipStatus(s: number) { if (s === UP) { @@ -110,6 +113,7 @@ export function flipStatus(s: number) { /** * Delays for specified number of seconds * @param ms Number of milliseconds to sleep for + * @returns {Promise} Promise that resolves after ms */ export function sleep(ms: number) { return new Promise(resolve => setTimeout(resolve, ms)); @@ -117,7 +121,8 @@ export function sleep(ms: number) { /** * PHP's ucfirst - * @param str + * @param str string input + * @returns {string} string with first letter capitalized */ export function ucfirst(str: string) { if (!str) { @@ -130,7 +135,8 @@ export function ucfirst(str: string) { /** * @deprecated Use log.debug (https://github.com/louislam/uptime-kuma/pull/910) - * @param msg + * @param msg Message to write + * @returns {void} */ export function debug(msg: unknown) { log.log("", msg, "debug"); @@ -180,6 +186,7 @@ class Logger { * @param module The module the log comes from * @param msg Message to write * @param level Log level. One of INFO, WARN, ERROR, DEBUG or can be customized. + * @returns {void} */ log(module: string, msg: any, level: string) { if (level === "DEBUG" && !isDev) { @@ -203,35 +210,72 @@ class Logger { const levelColor = consoleLevelColors[level]; const moduleColor = consoleModuleColors[intHash(module, consoleModuleColors.length)]; - let timePart = CONSOLE_STYLE_FgCyan + now + CONSOLE_STYLE_Reset; - let modulePart = "[" + moduleColor + module + CONSOLE_STYLE_Reset + "]"; - let levelPart = levelColor + `${level}:` + CONSOLE_STYLE_Reset; - - if (level === "INFO") { - console.info(timePart, modulePart, levelPart, msg); - } else if (level === "WARN") { - console.warn(timePart, modulePart, levelPart, msg); - } else if (level === "ERROR") { - let msgPart :string; - if (typeof msg === "string") { - msgPart = CONSOLE_STYLE_FgRed + msg + CONSOLE_STYLE_Reset; - } else { - msgPart = msg; + let timePart: string; + let modulePart: string; + let levelPart: string; + let msgPart: string; + + if (isNode) { + // Add console colors + switch (level) { + case "DEBUG": + timePart = CONSOLE_STYLE_FgGray + now + CONSOLE_STYLE_Reset; + break; + default: + timePart = CONSOLE_STYLE_FgCyan + now + CONSOLE_STYLE_Reset; + break; } - console.error(timePart, modulePart, levelPart, msgPart); - } else if (level === "DEBUG") { - if (isDev) { - timePart = CONSOLE_STYLE_FgGray + now + CONSOLE_STYLE_Reset; - let msgPart :string; - if (typeof msg === "string") { - msgPart = CONSOLE_STYLE_FgGray + msg + CONSOLE_STYLE_Reset; - } else { + + modulePart = "[" + moduleColor + module + CONSOLE_STYLE_Reset + "]"; + + levelPart = levelColor + `${level}:` + CONSOLE_STYLE_Reset; + + switch (level) { + case "ERROR": + if (typeof msg === "string") { + msgPart = CONSOLE_STYLE_FgRed + msg + CONSOLE_STYLE_Reset; + } else { + msgPart = msg; + } + break; + case "DEBUG": + if (typeof msg === "string") { + msgPart = CONSOLE_STYLE_FgGray + msg + CONSOLE_STYLE_Reset; + } else { + msgPart = msg; + } + break; + default: msgPart = msg; - } - console.debug(timePart, modulePart, levelPart, msgPart); + break; } } else { - console.log(timePart, modulePart, msg); + // No console colors + timePart = now; + modulePart = `[${module}]`; + levelPart = `${level}:`; + msgPart = msg; + } + + // Write to console + switch (level) { + case "ERROR": + console.error(timePart, modulePart, levelPart, msgPart); + break; + case "WARN": + console.warn(timePart, modulePart, levelPart, msgPart); + break; + case "INFO": + console.info(timePart, modulePart, levelPart, msgPart); + break; + case "DEBUG": + if (isDev) { + console.debug(timePart, modulePart, levelPart, msgPart); + } + break; + default: + console.log(timePart, modulePart, levelPart, msgPart); + break; } } @@ -239,6 +283,7 @@ class Logger { * Log an INFO message * @param module Module log comes from * @param msg Message to write + * @returns {void} */ info(module: string, msg: unknown) { this.log(module, msg, "info"); @@ -248,6 +293,7 @@ class Logger { * Log a WARN message * @param module Module log comes from * @param msg Message to write + * @returns {void} */ warn(module: string, msg: unknown) { this.log(module, msg, "warn"); @@ -257,6 +303,7 @@ class Logger { * Log an ERROR message * @param module Module log comes from * @param msg Message to write + * @returns {void} */ error(module: string, msg: unknown) { this.log(module, msg, "error"); @@ -266,6 +313,7 @@ class Logger { * Log a DEBUG message * @param module Module log comes from * @param msg Message to write + * @returns {void} */ debug(module: string, msg: unknown) { this.log(module, msg, "debug"); @@ -276,6 +324,7 @@ class Logger { * @param module Module log comes from * @param exception The exception to include * @param msg The message to write + * @returns {void} */ exception(module: string, exception: unknown, msg: unknown) { let finalMessage = exception; @@ -297,6 +346,7 @@ declare global { interface String { replaceAll(str: string, newStr: string): str * https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/ * @author Chris Ferdinandi * @license MIT + * @returns {void} */ export function polyfill() { if (!String.prototype.replaceAll) { @@ -325,6 +375,7 @@ export class TimeLogger { /** * Output time since start of monitor * @param name Name of monitor + * @returns {void} */ print(name: string) { if (isDev && process.env.TIMELOGGER === "1") { @@ -335,8 +386,9 @@ export class TimeLogger { /** * Returns a random number between min (inclusive) and max (exclusive) - * @param min - * @param max + * @param min minumim value, inclusive + * @param max maximum value, exclusive + * @returns {number} Random number */ export function getRandomArbitrary(min: number, max: number) { return Math.random() * (max - min) + min; @@ -350,8 +402,9 @@ export function getRandomArbitrary(min: number, max: number) { * if min isn't an integer) and no greater than max (or the next integer * lower than max if max isn't an integer). * Using Math.round() will give you a non-uniform distribution! - * @param min - * @param max + * @param min minumim value, inclusive + * @param max maximum value, exclusive + * @returns {number} Random number */ export function getRandomInt(min: number, max: number) { min = Math.ceil(min); @@ -362,6 +415,7 @@ export function getRandomInt(min: number, max: number) { /** * Returns either the NodeJS crypto.randomBytes() function or its * browser equivalent implemented via window.crypto.getRandomValues() + * @returns {Uint8Array} Random bytes */ const getRandomBytes = ( (typeof window !== "undefined" && window.crypto) @@ -467,6 +521,7 @@ export function getMaintenanceRelativeURL(id: string) { * Parse to Time Object that used in VueDatePicker * @param {string} time E.g. 12:00 * @returns object + * @throws {Error} if time string is invalid */ export function parseTimeObject(time: string) { if (!time) { @@ -494,8 +549,9 @@ export function parseTimeObject(time: string) { } /** - * @param obj - * @returns string e.g. 12:00 + * Parse time to string from object {hours: number, minutes: number, seconds?: number} + * @param obj object to parse + * @returns {string} e.g. 12:00 */ export function parseTimeFromTimeObject(obj : any) { if (!obj) { @@ -523,7 +579,8 @@ export function isoToUTCDateTime(input : string) { } /** - * @param input + * @param input valid datetime string + * @returns {string} ISO DateTime string */ export function utcToISODateTime(input : string) { return dayjs.utc(input).toISOString(); @@ -531,8 +588,8 @@ export function utcToISODateTime(input : string) { /** * For SQL_DATETIME_FORMAT - * @param input - * @param format + * @param input valid datetime string + * @param format Format to return * @returns A string date of SQL_DATETIME_FORMAT */ export function utcToLocal(input : string, format = SQL_DATETIME_FORMAT) : string { @@ -553,6 +610,7 @@ export function localToUTC(input : string, format = SQL_DATETIME_FORMAT) { * Generate a decimal integer number from a string * @param str Input * @param length Default is 10 which means 0 - 9 + * @returns {number} output number */ export function intHash(str : string, length = 10) : number { // A simple hashing function (you can use more complex hash functions if needed) From 97ed0a96d8d57f4e34d3f9130e8cd9c1f8cf9e2a Mon Sep 17 00:00:00 2001 From: Cyril59310 <70776486+cyril59310@users.noreply.github.com> Date: Sun, 10 Dec 2023 07:33:01 +0100 Subject: [PATCH 189/494] Missing translation key (#4200) --- src/lang/en.json | 1 + src/pages/SetupDatabase.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/en.json b/src/lang/en.json index 1bacee31..995f2775 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -4,6 +4,7 @@ "setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image have embedded and configured a MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.", "setupDatabaseMariaDB": "Connect to an external MariaDB database. You need to set the database connection information.", "setupDatabaseSQLite": "A simple database file, recommended for small-scale deployments. Prior to v2.0.0, Uptime Kuma used SQLite as the default database.", + "settingUpDatabaseMSG": "Setting up the database. It may take a while, please be patient.", "dbName": "Database Name", "Settings": "Settings", "Dashboard": "Dashboard", diff --git a/src/pages/SetupDatabase.vue b/src/pages/SetupDatabase.vue index 6bd01a4d..81738a98 100644 --- a/src/pages/SetupDatabase.vue +++ b/src/pages/SetupDatabase.vue @@ -11,7 +11,7 @@
- -
- - -
- - -
- -
- - -
-
-
From 99adac3eb9e9ea4ea2e0908b66eee048c67b17ea Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Mon, 11 Dec 2023 19:26:20 +0800 Subject: [PATCH 193/494] Fix: typo for `disconnectAllSocketClients` (#4213) --- server/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/server.js b/server/server.js index c785c4de..92077185 100644 --- a/server/server.js +++ b/server/server.js @@ -1264,7 +1264,7 @@ let needSetup = false; let user = await doubleCheckPassword(socket, password.currentPassword); await user.resetPassword(password.newPassword); - server.disconnectAllSocketClient(user.id, socket.id); + server.disconnectAllSocketClients(user.id, socket.id); callback({ ok: true, From 26c3b79d5c0f99187d5f9a6aac3cdac3b26fc407 Mon Sep 17 00:00:00 2001 From: MrEddX Date: Fri, 15 Dec 2023 10:18:19 +0000 Subject: [PATCH 194/494] Translated using Weblate (Bulgarian) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: MrEddX Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/bg-BG.json | 46 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index 1582f28c..c942dd7b 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -437,7 +437,7 @@ "Other Software": "Друг софтуер", "For example: nginx, Apache and Traefik.": "Например: Nginx, Apache и Traefik.", "Please read": "Моля, прочетете", - "Subject:": "Тема:", + "Subject:": "Субект:", "Valid To:": "Валиден до:", "Days Remaining:": "Оставащи дни:", "Issuer:": "Издател:", @@ -485,7 +485,7 @@ "pushoversounds classical": "Класическа музика", "pushoversounds cosmic": "Космически", "pushoversounds falling": "Падащ", - "pushoversounds gamelan": "Игра в мрежа", + "pushoversounds gamelan": "Гамелан", "pushoversounds incoming": "Входящ", "pushoversounds intermission": "Прекъсване", "pushoversounds magic": "Магия", @@ -870,5 +870,45 @@ "tagNotFound": "Етикетът не е намерен.", "successResumed": "Успешно възобновен.", "successAuthChangePassword": "Паролата е актуализирана успешно.", - "foundChromiumVersion": "Намерен Chromium/Chrome. Версия: {0}" + "foundChromiumVersion": "Намерен Chromium/Chrome. Версия: {0}", + "Reset Token": "Нулиране на токен код", + "leave blank for default subject": "оставете празно за използване на тема по подразбиране", + "emailCustomBody": "Персонализирано съдържание", + "emailCustomisableContent": "Съдържание подлежащо на персонализиране", + "leave blank for default body": "оставете празно за използване на съдържание по подразбиране", + "emailTemplateServiceName": "Име на услугата", + "emailTemplateHostnameOrURL": "Име на хост или URL адрес", + "emailTemplateStatus": "Статус", + "emailTemplateMonitorJSON": "обект описващ монитора", + "emailTemplateHeartbeatJSON": "обект описващ проверката", + "liquidIntroduction": "Създаването на шаблони се постига чрез езика \"Liquid templating \". Моля, вижте {0} относно инструкции за употреба. Наличните променливи са:", + "templateLimitedToUpDownCertNotifications": "налично само за известия от тип Достъпен/Недостъпен/Изтичане вал. на сертификата", + "smtpLiquidIntroduction": "Следните две полета могат да бъдат създадени чрез шаблони, посредством езика \"Liquid templating \". Моля, вижте {0} относно инструкции за употреба. Наличните променливи са:", + "templateMsg": "съобщение на известието", + "templateHeartbeatJSON": "обект описващ проверките", + "templateMonitorJSON": "обект описващ монитора", + "templateLimitedToUpDownNotifications": "налично само за известия от тип Достъпен/Недостъпен", + "emailTemplateMsg": "съобщение на известието", + "emailTemplateLimitedToUpDownNotification": "налично само за проверки от тип Достъпен/Недостъпен, в противен случай null", + "GrafanaOncallUrl": "Grafana Oncall URL адрес", + "noDockerHostMsg": "Не е наличен. Първо настройте \"Docker\" хост.", + "DockerHostRequired": "Моля, задайте \"Docker\" хоста за този монитор.", + "Browser Screenshot": "Екранна снимка на браузър", + "remoteBrowserToggle": "По подразбиране Chromium работи в контейнера Uptime Kuma. Можете да използвате отдалечен браузър, като превключите този ключ.", + "remoteBrowsersDescription": "Отдалечените браузъри са алтернатива на локалното стартиране на Chromium. Настройте с услуга като browserless.io или свържете с вашата собствена", + "Remove the expiry notification": "Премахни деня за известяване при изтичане", + "Add a new expiry notification day": "Добави нов ден за известяване при изтичане", + "setup a new monitor group": "настройване на нова група от монитори", + "openModalTo": "отвори модален прозорец към {0}", + "Add a domain": "Добави домейн", + "Remove domain": "Премахни домейн '{0}'", + "Remote Browsers": "Отдалечени браузъри", + "Remote Browser": "Отдалечен браузър", + "Add a Remote Browser": "Добави отдалечен браузър", + "Remote Browser not found!": "Отдалеченият браузър не е намерен!", + "self-hosted container": "самостоятелно хостван контейнер", + "useRemoteBrowser": "Използвай отдалечен браузър", + "deleteRemoteBrowserMessage": "Сигурни ли сте, че желаете да изтриете този отдалечен браузър за всички монитори?", + "successKeyword": "Ключова дума за успех", + "successKeywordExplanation": "MQTT ключова дума, която ще се счита за успех" } From d28627e8551d71f265a9c36f2383f838bf9fef59 Mon Sep 17 00:00:00 2001 From: simonghpub Date: Fri, 15 Dec 2023 10:18:19 +0000 Subject: [PATCH 195/494] Translated using Weblate (Danish) Currently translated at 75.3% (634 of 841 strings) Co-authored-by: simonghpub Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/da/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/da-DK.json | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index a88dc55e..677ca3fe 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -620,5 +620,38 @@ "confirmDeleteTagMsg": "Er du sikker på at du vil slette denne etiket? Overvågninger med denne etiket vil ikke blive slettet.", "resendEveryXTimes": "Gensend hver {0} gang", "resendDisabled": "Gensendelse deaktiveret", - "Reconnecting...": "Genforbinder..." + "Reconnecting...": "Genforbinder...", + "successPaused": "Standset med succes.", + "Reset Token": "Nulstil nøgle", + "Show Clickable Link": "Vis klikbart link", + "atLeastOneMonitor": "Vælg mindst én berørt overvågning.", + "authInvalidToken": "Ugyldig nøgle.", + "authIncorrectCreds": "Brugernavn eller adgangskode er ikke korrekt.", + "2faAlreadyEnabled": "2FA er allerede aktiveret.", + "foundChromiumVersion": "Fandt Chromium/Chrome. Version: {0}", + "programmingLanguages": "Programmeringssprog", + "HTTP Basic Auth": "HTTP Basic Auth", + "strategyManual": "Aktiv/Inaktiv manuelt", + "Retype the address.": "Genindtast adressen.", + "deleteMaintenanceMsg": "Er du sikker på at du vil slette denne vedligeholdelse?", + "pushoversounds alien": "Alien Alarm (lang)", + "2faEnabled": "2FA aktiveret.", + "2faDisabled": "2FA deaktiveret.", + "successAdded": "Tilføjet med succes.", + "successResumed": "Genoptaget med succes.", + "successDeleted": "Slettet med succes.", + "successEdited": "Ændret med succes.", + "successDisabled": "Deaktiveret med succes.", + "successEnabled": "Aktiveret med succes.", + "Monitor Setting": "{0}'s overvågningsindstilling", + "Enable Kafka SSL": "Aktivér Kafka SSL", + "Kafka SASL Options": "Kafka SASL Indstillinger", + "successAuthChangePassword": "Adgangskoden er blevet opdateret med succes.", + "smseagleGroup": "Telefonbog gruppenavn(e)", + "smseagleContact": "Telefonbog kontaktnavn(e)", + "showCertificateExpiry": "Vis udløbsdato for certifikat", + "sameAsServerTimezone": "Samme som serverens tidszone", + "wayToGetLineNotifyToken": "Du kan få en adgangsnøgle fra {0}", + "telegramSendSilentlyDescription": "Send beskeden lydløst. Brugerne vil modtage en notifikation uden lyd.", + "pushoverMessageTtl": "Message TTL (Sekunder)" } From 332bc43bbc9841e02cccefb89a837cfc03481615 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 15 Dec 2023 10:18:19 +0000 Subject: [PATCH 196/494] Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (German) Currently translated at 100.0% (841 of 841 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 23 +++++++++++++++++++++-- src/lang/de-DE.json | 2 +- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 42ba6079..4e5c0a4e 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -743,7 +743,7 @@ "twilioAccountSID": "Account SID", "twilioFromNumber": "Absender", "twilioToNumber": "Empfänger", - "twilioAuthToken": "Auth Token / Api Key Secret", + "twilioAuthToken": "Auth Token / API Key Secret", "statusPageRefreshIn": "Aktualisierung in: {0}", "sameAsServerTimezone": "Gleiche Zeitzone wie Server", "startDateTime": "Start Datum/Uhrzeit", @@ -867,5 +867,24 @@ "authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.", "successAdded": "Erfolgreich hinzugefügt.", "successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.", - "successDisabled": "Erfolgreich deaktiviert." + "successDisabled": "Erfolgreich deaktiviert.", + "Reset Token": "Token zurücksetzen", + "leave blank for default subject": "leer lassen für Standard-Betreff", + "emailCustomBody": "Benutzerdefinierter Body", + "emailCustomisableContent": "Anpassbarer Inhalt", + "liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung finden Sie auf {0}. Dies sind die verfügbaren Variablen:", + "templateLimitedToUpDownCertNotifications": "nur verfügbar für UP/DOWN/Zertifikat-Ablaufbenachrichtigungen", + "smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung finden Sie in der {0}. Dies sind die verfügbaren Variablen:", + "templateMsg": "Nachricht der Benachrichtigung", + "templateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", + "templateMonitorJSON": "Objekt zur Beschreibung des Monitors", + "templateLimitedToUpDownNotifications": "nur für UP/DOWN-Benachrichtigungen verfügbar", + "leave blank for default body": "leer lassen für Standard Body", + "emailTemplateServiceName": "Dienst Name", + "emailTemplateHostnameOrURL": "Hostname oder URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "Objekt zur Beschreibung des Monitors", + "emailTemplateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", + "emailTemplateMsg": "Nachricht der Benachrichtigung", + "emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null" } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 701ef691..bb4fb7c2 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -747,7 +747,7 @@ "twilioAccountSID": "Account SID", "twilioFromNumber": "Absender", "twilioToNumber": "Empfänger", - "twilioAuthToken": "Auth Token / Api Key Secret", + "twilioAuthToken": "Auth Token / API Key Secret", "statusPageRefreshIn": "Aktualisierung in: {0}", "sameAsServerTimezone": "Gleiche Zeitzone wie Server", "startDateTime": "Start Datum/Uhrzeit", From f80168e0de32a95ef149f1468d767c76b5f06ed4 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 197/494] Translated using Weblate (Uzbek) Currently translated at 0.2% (2 of 859 strings) Added translation using Weblate (Uzbek) Translated using Weblate (German) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Louis Lam Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uz/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-DE.json | 3 ++- src/lang/uz.json | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 src/lang/uz.json diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index bb4fb7c2..23f10b89 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -870,5 +870,6 @@ "authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.", "successAdded": "Erfolgreich hinzugefügt.", "successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.", - "foundChromiumVersion": "Gefunden Chromium/Chrome. Version: {0}" + "foundChromiumVersion": "Gefunden Chromium/Chrome. Version: {0}", + "Reset Token": "Token zurücksetzen" } diff --git a/src/lang/uz.json b/src/lang/uz.json new file mode 100644 index 00000000..08113c0f --- /dev/null +++ b/src/lang/uz.json @@ -0,0 +1,3 @@ +{ + "languageName": "Ўзбек тили" +} From 8b1324493e5fd119dea130fc831b8f5837ef3be9 Mon Sep 17 00:00:00 2001 From: Cyril59310 Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 198/494] Translated using Weblate (French) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (French) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (French) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (French) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (French) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (French) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (French) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (French) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Cyril59310 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fr-FR.json | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 6cc800d9..765dbc1e 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -841,7 +841,7 @@ "styleElapsedTime": "Temps écoulé sous la barre d'état", "enableNSCD": "Activer NSCD (Name Service Cache Daemon) pour mettre en cache toutes les demandes DNS", "setupDatabaseChooseDatabase": "Quelle base de données souhaitez-vous utiliser ?", - "setupDatabaseEmbeddedMariaDB": "Vous n'avez pas besoin de régler quoi que ce soit. Cette image docker a intégré et configuré automatiquement une MariaDB pour vous. Uptime Kuma se connectera à cette base de données via la socket unix.", + "setupDatabaseEmbeddedMariaDB": "Vous n'avez rien à définir. Cette image Docker a intégré et configuré MariaDB automatiquement pour vous. Uptime Kuma se connectera à cette base de données via un socket Unix.", "setupDatabaseSQLite": "Un fichier de base de données simple, recommandé pour les déploiements à petite échelle. Avant la v2.0.0, Uptime Kuma utilisait SQLite comme base de données par défaut.", "setupDatabaseMariaDB": "Connectez-vous à une base de données MariaDB externe. Vous devez définir les informations de connexion à la base de données.", "dbName": "Nom de la base de données", @@ -870,5 +870,45 @@ "authUserInactiveOrDeleted": "L'utilisateur est inactif ou a été supprimé.", "2faEnabled": "Authentification à deux facteurs (2FA) activée.", "successDeleted": "Supprimé avec succès.", - "successAuthChangePassword": "Le mot de passe a bien été mis à jour." + "successAuthChangePassword": "Le mot de passe a bien été mis à jour.", + "Reset Token": "Réinitialiser le jeton", + "liquidIntroduction": "La possibilité de créer des modèles est obtenue via le langage de modèles Liquid. Veuillez vous référer au {0} pour les instructions d'utilisation. Voici les variables disponibles :", + "emailCustomisableContent": "Contenu personnalisable", + "smtpLiquidIntroduction": "Les deux champs suivants peuvent être modélisés via le langage de modèles Liquid. Veuillez vous référer au {0} pour les instructions d'utilisation. Voici les variables disponibles :", + "leave blank for default subject": "laisser vide pour le sujet par défaut", + "emailCustomBody": "Corps personnalisé", + "leave blank for default body": "laisser vide pour le corps par défaut", + "emailTemplateServiceName": "Nom du service", + "emailTemplateHostnameOrURL": "Nom d'hôte ou URL", + "emailTemplateStatus": "Statut", + "emailTemplateMonitorJSON": "objet décrivant la sonde", + "templateMsg": "message de notification", + "templateHeartbeatJSON": "objet décrivant la vérification", + "templateMonitorJSON": "objet décrivant la sonde", + "templateLimitedToUpDownCertNotifications": "disponible uniquement pour les notifications En ligne/Hors ligne/expiration du certificat", + "templateLimitedToUpDownNotifications": "disponible uniquement pour les notifications en ligne/hors ligne", + "emailTemplateMsg": "message de notification", + "emailTemplateLimitedToUpDownNotification": "disponible uniquement pour les vérifications en ligne/hors ligne, sinon nul", + "emailTemplateHeartbeatJSON": "objet décrivant la vérification", + "GrafanaOncallUrl": "URL vers Grafana Oncall", + "noDockerHostMsg": "Pas disponible. Configurez d'abord un hôte Docker.", + "DockerHostRequired": "Veuillez définir l'hôte Docker pour cette sonde.", + "Browser Screenshot": "Capture d'écran du navigateur", + "setup a new monitor group": "configurer un nouveau groupe de sondes", + "remoteBrowsersDescription": "Les navigateurs distants sont une alternative à l'exécution de Chromium localement. Configurez avec un service comme browserless.io ou connectez-vous au vôtre", + "deleteRemoteBrowserMessage": "Êtes-vous sûr de vouloir supprimer ce navigateur distant pour toutes les sondes ?", + "Add a new expiry notification day": "Ajouter un nouveau jour de notification d'expiration", + "Remove the expiry notification": "Supprimer le jour de notification d'expiration", + "openModalTo": "Ouvrir la fenêtre modale pour {0}", + "Add a domain": "Ajouter un domaine", + "Remove domain": "Supprimer le domaine '{0}'", + "Remote Browsers": "Navigateurs distants", + "Remote Browser": "Navigateur distant", + "Add a Remote Browser": "Ajouter un navigateur distant", + "Remote Browser not found!": "Navigateur distant introuvable !", + "self-hosted container": "conteneur auto-hébergé", + "remoteBrowserToggle": "Par défaut, Chromium s'exécute dans le conteneur Uptime Kuma. Vous pouvez utiliser un navigateur distant en activant ce commutateur.", + "useRemoteBrowser": "Utiliser un navigateur distant", + "successKeyword": "Mot-clé de réussite", + "successKeywordExplanation": "Mot clé MQTT qui sera considéré comme un succès" } From 2557cd3c3eb1fa29ce2f74c77af4cd2eb2c2729c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Bratovi=C4=87?= Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 199/494] Translated using Weblate (Croatian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Ivan Bratović Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hr-HR.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 7258fc84..5e9512bd 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -864,5 +864,28 @@ "successResumed": "Uspješno nastavljeno.", "successDeleted": "Uspješno obrisano.", "tagNotFound": "Oznaka nije pronađena.", - "pushOthers": "Ostali" + "pushOthers": "Ostali", + "Reset Token": "Poništi token", + "GrafanaOncallUrl": "URL za Grafana OnCall", + "liquidIntroduction": "Mogućnost korištenja predložaka postignuto je putem jezika Liquid. Pogledajte upute korištenja na {0}. Ovo su dostupne varijable:", + "templateLimitedToUpDownCertNotifications": "dostupno samo za obavijesti dostupnosti te isteka certifikata", + "emailCustomisableContent": "Prilagodljiv sadržaj", + "smtpLiquidIntroduction": "Sljedeća dva polja mogu se izraditi putem Liquid jezika za predloške. Upute za korištenje dostupne su na {0}. Ovo su dostupne varijable:", + "leave blank for default subject": "ostavite prazno za zadano polje predmeta", + "emailCustomBody": "Prilagođeno tijelo", + "leave blank for default body": "ostavite prazno za zadani sadržaj tijela", + "emailTemplateServiceName": "Naziv servisa", + "emailTemplateHostnameOrURL": "Naziv domaćina ili URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "objekt koji opisuje Monitor", + "emailTemplateHeartbeatJSON": "objekt koji opisuje provjeru", + "emailTemplateMsg": "poruka obavijesti", + "emailTemplateLimitedToUpDownNotification": "dostupno samo za provjere dostupnosti, inače je null", + "templateMsg": "poruka obavijesti", + "templateHeartbeatJSON": "predmet koji opisuje provjeru", + "templateMonitorJSON": "objekt koji opisuje Monitor", + "templateLimitedToUpDownNotifications": "dostupno samo za obavijesti dostupnosti", + "noDockerHostMsg": "Nije dostupno. Morate postaviti Docker domaćina.", + "DockerHostRequired": "Postavite Docker domaćina za ovaj Monitor.", + "Browser Screenshot": "Snimka zaslona preglednika" } From 59cadc20d01718220c12ff23514f26b644df7790 Mon Sep 17 00:00:00 2001 From: OlevO1 Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 200/494] Translated using Weblate (Hungarian) Currently translated at 58.8% (495 of 841 strings) Co-authored-by: OlevO1 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index 92beb228..480f259b 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -516,5 +516,10 @@ "promosmsPassword": "API Jelszó", "wayToGetKookBotToken": "Hozz létre egy app-ot és szerezz egy tokent itt: {0}", "wayToGetKookGuildID": "Válts át 'Developer Mode'-ra a Kook beállításoknál majd jobb klikkelve a guildra megtalálod az ID-jét", - "Resend Notification if Down X times consecutively": "Értesítés Újraküldése ha X-szer nem válaszol" + "Resend Notification if Down X times consecutively": "Értesítés Újraküldése ha X-szer nem válaszol", + "Authentication": "Hitelesítés", + "Passive Monitor Type": "Passzív megfigyelési típus", + "General Monitor Type": "Általános megfigyelési típus", + "Specific Monitor Type": "Specifikus megfigyelési típus", + "Reconnecting...": "Újracsatlakozás..." } From a06d88832cf0b544f31213f010639ef0774a01f1 Mon Sep 17 00:00:00 2001 From: Davide Pirelli Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 201/494] Translated using Weblate (Italian) Currently translated at 76.2% (641 of 841 strings) Co-authored-by: Davide Pirelli Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 65 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 83bb4798..585ebd52 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -40,7 +40,7 @@ "Add": "Aggiungi", "Add New Monitor": "Aggiungi nuovo monitor", "Quick Stats": "Statistiche rapide", - "Up": "Up", + "Up": "Operativo", "Down": "Down", "Pending": "In attesa", "Unknown": "Sconosciuti", @@ -66,13 +66,13 @@ "Keyword": "Parola chiave", "Friendly Name": "Nome", "URL": "URL", - "Hostname": "Nome Host", + "Hostname": "Dominio o indirizzo IP", "Port": "Porta", "Heartbeat Interval": "Intervallo di controllo", "Retries": "Tentativi", "Heartbeat Retry Interval": "Intervallo tra i tentativi di controllo", "Advanced": "Avanzate", - "Upside Down Mode": "Modalità invertita", + "Upside Down Mode": "Modalità inversa", "Max. Redirects": "Reindirizzamenti massimi", "Accepted Status Codes": "Codici di stato accettati", "Push URL": "Push URL", @@ -80,7 +80,7 @@ "pushOptionalParams": "Parametri aggiuntivi: {0}", "Save": "Salva", "Notifications": "Notifiche", - "Not available, please setup.": "Non disponibili, da configurare.", + "Not available, please setup.": "Non disponibili, richiesta configurazione manuale.", "Setup Notification": "Configura le notifiche", "Light": "Chiaro", "Dark": "Scuro", @@ -101,7 +101,7 @@ "Disable Auth": "Disabilita autenticazione", "Enable Auth": "Abilita autenticazione", "disableauth.message1": "Disabilitare l'autenticazione?", - "disableauth.message2": "Questa opzione è per chi un sistema di autenticazione gestito da terze parti messo davanti ad Uptime Kuma, ad esempio Cloudflare Access.", + "disableauth.message2": "Questa opzione è per chi possiede un sistema di autenticazione gestito da terze parti prima di Uptime Kuma, come ad esempio Cloudflare Access.", "Please use this option carefully!": "Utilizzare con attenzione!", "Logout": "Esci", "Leave": "Annulla", @@ -177,7 +177,7 @@ "Entry Page": "Pagina Principale", "statusPageNothing": "Non c'è nulla qui, aggiungi un gruppo oppure un monitor.", "No Services": "Nessun servizio", - "All Systems Operational": "Tutti i sistemi sono funzionanti", + "All Systems Operational": "Tutti i sistemi sono operativi", "Partially Degraded Service": "Servizio parzialmente degradato", "Degraded Service": "Servizio degradato", "Add Group": "Aggiungi gruppo", @@ -611,5 +611,56 @@ "Json Query": "Query Json", "deleteMaintenanceMsg": "Sei sicuro di voler cancellare questa attività di manutenzione?", "dnsPortDescription": "Porta server DNS. Default 53. Puoi cambiare questa porta in ogni momento.", - "setupDatabaseChooseDatabase": "Quale database vuoi usare?" + "setupDatabaseChooseDatabase": "Quale database vuoi usare?", + "setupDatabaseMariaDB": "Connettiti ad un database (MariaDB) esterno. Dovrai impostare i parametri di connessione.", + "setupDatabaseSQLite": "Un semplice file di database, consigliato per distribuzioni su piccola scala. Prima della versione 2.0.0, Uptime Kuma utilizzava SQLite come database predefinito.", + "Reset Token": "Reimposta Token", + "enableNSCD": "Abilita NSCD (Name Service Cache Daemon) per abilitare la cache su tutte le richieste DNS", + "recurringIntervalMessage": "Esegui una volta al giorno | Esegui una volta ogni {0} giorni", + "affectedMonitorsDescription": "Seleziona i monitoraggi che sono influenzati da questa manutenzione", + "jsonQueryDescription": "Fai una query JSON verso la risposta e controlla se è presente il valore richiesto. (Il valore di ritorno verrà convertito in stringa ai fini della comparazione). Puoi controllare la documentazione su jsonata.org per conoscere come scrivere una query. Un area dimostrativa può essere trovata qui.", + "For safety, must use secret key": "Per sicurezza, devi usare una chiave segreta", + "Proxy server has authentication": "Il server Proxy ha una autenticazione", + "smseaglePriority": "Priorità messaggio (0-9, default = 0)", + "pushViewCode": "Come usare il Push monitor? (visualizza codice)", + "affectedStatusPages": "Mostra il messaggio di manutenzione sulle pagine di stato selezionate", + "atLeastOneMonitor": "Seleziona almeno un monitor", + "endpoint": "endpoint", + "pushyAPIKey": "Secret API Key", + "pushyToken": "Token dispositivo", + "wayToGetKookBotToken": "Crea un applicazione e prendi nota del tuo token su {0}", + "Device Token": "Token dispositivo", + "Platform": "Piattaforma", + "Huawei": "Huawei", + "High": "Alto", + "Retry": "Riprova", + "WeCom Bot Key": "Chiave WeCom Bot", + "Proxy Protocol": "Protocollo Proxy", + "Setup Proxy": "Configura proxy", + "Notify Channel": "Canale di notifica", + "Integration Key": "Chiave di integrazione", + "Integration URL": "URL integrazione", + "do nothing": "non fare nulla", + "auto resolve": "risolvi automaticamente", + "alertaApiEndpoint": "API Endpoint", + "alertaEnvironment": "Ambiente", + "alertaApiKey": "Chiave API", + "alertaAlertState": "Stato Alert", + "smseagleTo": "Numer(i) di telefono", + "smseagleRecipientType": "Tipo destinatario", + "smseagleToken": "Token di accesso API", + "smseagleEncoding": "Invia come Unicode", + "Recipient Number": "Numero destinatario", + "From Name/Number": "Da Nome/Numero", + "Leave blank to use a shared sender number.": "Lascia vuoto per usare un numero condiviso.", + "onebotGroupMessage": "Gruppo", + "onebotUserOrGroupId": "Gruppo/ID utente", + "Badge Color": "Colore badge", + "Monitor Group": "Gruppo monitor", + "setupDatabaseEmbeddedMariaDB": "Non devi impostare niente. Questa immagine di Docker include un MariaDB già configurato e pronto all'uso. Uptime Kuma si collegherà a questo database attraverso l'unix socket.", + "dbName": "Nome Database", + "Group": "Gruppo", + "pushOthers": "Altro", + "programmingLanguages": "Linguaggi di programmazione", + "promosmsAllowLongSMS": "Permetti SMS lunghi" } From 45c83fdd49ef9334bf954961de9dd43108513ee0 Mon Sep 17 00:00:00 2001 From: Adam Stachowicz Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 202/494] Translated using Weblate (Polish) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (Polish) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Adam Stachowicz Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pl.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lang/pl.json b/src/lang/pl.json index 8bccae15..10b967d8 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -870,5 +870,24 @@ "Bark API Version": "Wersja API Bark", "pushOthers": "Inne", "programmingLanguages": "Języki programowania", - "toastSuccessTimeout": "Limit czasu dla powiadomień o powodzeniu" + "toastSuccessTimeout": "Limit czasu dla powiadomień o powodzeniu", + "Reset Token": "Zresetuj token", + "liquidIntroduction": "Szablonowość jest osiągana za pomocą języka szablonów Liquid. Instrukcje użytkowania znajdują się w {0}. Oto dostępne zmienne:", + "templateLimitedToUpDownCertNotifications": "dostępne tylko dla powiadomień UP/DOWN/wygaśnięcia certyfikatu", + "emailTemplateLimitedToUpDownNotification": "dostępne tylko dla uderzeń serca UP/DOWN, w przeciwnym razie null", + "emailCustomisableContent": "Personalizowana zawartość", + "smtpLiquidIntroduction": "Poniższe dwa pola można szablonować za pomocą języka szablonów Liquid. Instrukcje użytkowania znajdują się w {0}. Są to dostępne zmienne:", + "leave blank for default subject": "pozostaw puste dla domyślnego tematu", + "emailCustomBody": "Niestandardowa treść wiadomości e-mail", + "leave blank for default body": "pozostaw puste dla domyślnej treści", + "emailTemplateServiceName": "Nazwa usługi", + "emailTemplateHostnameOrURL": "Nazwa hosta lub adres URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "obiekt opisujący monitor", + "emailTemplateHeartbeatJSON": "obiekt opisujący bicie serca", + "emailTemplateMsg": "wiadomość powiadomienia", + "templateMsg": "wiadomość powiadomienia", + "templateHeartbeatJSON": "obiekt opisujący bicie serca", + "templateMonitorJSON": "obiekt opisujący monitor", + "templateLimitedToUpDownNotifications": "dostępne tylko dla powiadomień UP/DOWN" } From 221f625db193570da565eecc75b597106c309e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Gen=C3=A7?= Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 203/494] Translated using Weblate (Turkish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Turkish) Currently translated at 99.8% (876 of 877 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: Ömer Faruk Genç Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/tr-TR.json | 48 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 6480462d..76b68871 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -5,7 +5,7 @@ "resendEveryXTimes": "Her {0} bir yeniden gönder", "resendDisabled": "Yeniden gönderme devre dışı", "retriesDescription": "Servisin kapalı olarak işaretlenmeden ve bir bildirim gönderilmeden önce maksimum yeniden deneme sayısı", - "ignoreTLSError": "HTTPS web siteleri için TLS/SSL hatasını yoksay", + "ignoreTLSError": "HTTPS web siteleri için TLS/SSL hatalarını yok say", "upsideDownModeDescription": "Servisin durumunu tersine çevirir. Servis çalışıyorsa kapalı olarak işaretler.", "maxRedirectDescription": "İzlenecek maksimum yönlendirme sayısı. Yönlendirmeleri devre dışı bırakmak için 0'a ayarlayın.", "acceptedStatusCodesDescription": "Başarılı bir yanıt olarak kabul edilen durum kodlarını seçin.", @@ -571,7 +571,7 @@ "backupOutdatedWarning": "Kullanımdan kaldırıldı: Birçok özellik eklendiğinden ve bu yedekleme özelliği biraz bakımsız olduğundan tam bir yedekleme oluşturamaz veya geri yükleyemez.", "backupRecommend": "Lütfen bunun yerine birimi veya veri klasörünü (./data/) doğrudan yedekleyin.", "enableGRPCTls": "TLS bağlantısıyla gRPC isteği göndermeye izin ver", - "grpcMethodDescription": "Yöntem adı, sayHello, check, vb. gibi cammelCase biçimine dönüştürülür.", + "grpcMethodDescription": "Yöntem adı, sayHello, check, vb. gibi camelCase biçimine dönüştürülür.", "Maintenance": "Bakım", "statusMaintenance": "Bakım", "Schedule maintenance": "Bakım Planla", @@ -840,7 +840,7 @@ "styleElapsedTime": "Kalp atışı çubuğunun altında geçen süre", "styleElapsedTimeShowWithLine": "Göster (Satır ile birlikte)", "enableNSCD": "Tüm DNS isteklerini önbelleğe almak için NSCD'yi (Ad Hizmeti Önbellek Programı) etkinleştirin", - "setupDatabaseEmbeddedMariaDB": "Hiçbir şey ayarlamanıza gerek yok. Bu docker imajı sizin için otomatik olarak bir MariaDB yerleştirdi ve yapılandırdı. Çalışma Süresi Kuma bu veritabanına unix soketi aracılığıyla bağlanacaktır.", + "setupDatabaseEmbeddedMariaDB": "Hiçbir şey ayarlamanıza gerek yok. Bu docker imajı, MariaDB'yi sizin için otomatik olarak yerleştirdi ve yapılandırdı. Çalışma Süresi Kuma bu veritabanına unix soketi aracılığıyla bağlanacaktır.", "setupDatabaseSQLite": "Küçük ölçekli dağıtımlar için önerilen basit bir veritabanı dosyası. v2.0.0'dan önce Uptime Kuma, varsayılan veritabanı olarak SQLite'ı kullanıyordu.", "setupDatabaseChooseDatabase": "Hangi veritabanını kullanmak istiyorsunuz?", "setupDatabaseMariaDB": "Harici bir MariaDB veritabanına bağlanın. Veritabanı bağlantı bilgilerini ayarlamanız gerekir.", @@ -870,5 +870,45 @@ "authUserInactiveOrDeleted": "Kullanıcı etkin değil veya silinmiş.", "successAdded": "Başarıyla eklendi.", "successAuthChangePassword": "Şifre başarıyla güncellendi.", - "foundChromiumVersion": "Chromium/Chrome bulundu. Versiyon: {0}" + "foundChromiumVersion": "Chromium/Chrome bulundu. Versiyon: {0}", + "Reset Token": "Jetonu Sıfırla", + "emailCustomisableContent": "Özelleştirilebilir içerik", + "smtpLiquidIntroduction": "Aşağıdaki iki alan Liquid şablonlama Dili aracılığıyla şablonlanabilir. Kullanım talimatları için lütfen {0}'a bakın. Bunlar mevcut değişkenlerdir:", + "leave blank for default subject": "varsayılan konu için boş bırakın", + "emailCustomBody": "Özel Gövde", + "leave blank for default body": "varsayılan gövde için boş bırakın", + "emailTemplateServiceName": "Hizmet Adı", + "emailTemplateHostnameOrURL": "Hostname veya URL", + "emailTemplateStatus": "Durum", + "emailTemplateMonitorJSON": "monitörü tanımlayan nesne", + "emailTemplateHeartbeatJSON": "kalp atışını tanımlayan nesne", + "liquidIntroduction": "Şablonlanabilirlik, Liquid şablonlama dili aracılığıyla sağlanır. Kullanım talimatları için lütfen {0}'a bakın. Bunlar mevcut değişkenlerdir:", + "templateMsg": "bildirim mesajı", + "templateHeartbeatJSON": "kalp atışını tanımlayan nesne", + "templateMonitorJSON": "monitörü tanımlayan nesne", + "templateLimitedToUpDownCertNotifications": "yalnızca Normal/Hatalı/Sertifika sona erme bildirimleri için kullanılabilir", + "templateLimitedToUpDownNotifications": "yalnızca Normal/Hatalı bildirimleri için kullanılabilir", + "emailTemplateMsg": "bildirim mesajı", + "emailTemplateLimitedToUpDownNotification": "yalnızca Normal/Hatalı kalp atışları için kullanılabilir, aksi takdirde boş", + "GrafanaOncallUrl": "Grafana Oncall URL'i", + "noDockerHostMsg": "Uygun değil. Önce Docker Ana Bilgisayarını Kurun.", + "DockerHostRequired": "Lütfen bu monitör için Docker Ana Bilgisayarını ayarlayın.", + "Browser Screenshot": "Tarayıcı Ekran Görüntüsü", + "successKeyword": "Başarı Anahtar Kelimesi", + "successKeywordExplanation": "Başarılı olarak kabul edilecek MQTT anahtar kelimesi", + "Add a new expiry notification day": "Yeni bir sona erme bildirim günü ekle", + "Remove the expiry notification": "Sona erme bildirim gününü kaldır", + "setup a new monitor group": "yeni bir monitör grubu kur", + "Remove domain": "'{0}' alan adını kaldır", + "Remote Browsers": "Uzak Tarayıcılar", + "Remote Browser": "Uzak Tarayıcı", + "Add a Remote Browser": "Uzak Tarayıcı Ekle", + "Remote Browser not found!": "Uzak Tarayıcı bulunamadı!", + "remoteBrowsersDescription": "Uzak Tarayıcılar, Chromium'u yerel olarak çalıştırmanın bir alternatifidir. browserless.io gibi bir hizmetle kurulum yapın veya kendi hizmetinize bağlanın", + "self-hosted container": "kendi kendine barındırılan konteyner", + "remoteBrowserToggle": "Varsayılan olarak Chromium, Uptime Kuma kapsayıcısının içinde çalışır. Bu anahtarı değiştirerek uzak bir tarayıcıyı kullanabilirsiniz.", + "useRemoteBrowser": "Uzak Tarayıcı Kullanın", + "deleteRemoteBrowserMessage": "Bu Uzak Tarayıcıyı tüm monitörler için silmek istediğinizden emin misiniz?", + "openModalTo": "modeli {0}'a aç", + "Add a domain": "Alan adı ekle" } From 917b20fe3d808b32030ab2c52eee63dfa5425a10 Mon Sep 17 00:00:00 2001 From: stanol Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 204/494] Translated using Weblate (Ukrainian) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Ukrainian) Currently translated at 99.8% (876 of 877 strings) Translated using Weblate (Ukrainian) Currently translated at 99.8% (876 of 877 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (858 of 858 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: stanol Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/uk-UA.json | 50 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index ad40c235..32f12a10 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -2,7 +2,7 @@ "languageName": "Українська", "checkEverySecond": "Перевірка кожні {0} секунд", "retriesDescription": "Максимальна кількість спроб перед позначенням сервісу як недоступного та надсиланням повідомлення", - "ignoreTLSError": "Ігнорувати помилку TLS/SSL для сайтів HTTPS", + "ignoreTLSError": "Ігнорувати помилки TLS/SSL для сайтів HTTPS", "upsideDownModeDescription": "Реверс статусу сервісу. Якщо сервіс доступний, він позначається як НЕДОСТУПНИЙ.", "maxRedirectDescription": "Максимальна кількість перенаправлень. Поставте 0, щоб вимкнути перенаправлення.", "acceptedStatusCodesDescription": "Виберіть коди статусів для визначення доступності сервісу.", @@ -506,7 +506,7 @@ "pushoversounds none": "Нічого (тиша)", "pushyAPIKey": "Секретний ключ API", "pushyToken": "Токен пристрою", - "Using a Reverse Proxy?": "Використовувати зворотній проксі?", + "Using a Reverse Proxy?": "Використовуєте зворотній проксі?", "Check how to config it for WebSocket": "Перевірте, як налаштувати його для WebSocket", "Steam Game Server": "Ігровий сервер Steam", "Most likely causes:": "Найімовірніші причини:", @@ -728,7 +728,7 @@ "Docker Hosts": "Docker-хости", "wayToGetZohoCliqURL": "Ви можете дізнатися, як створити URL-адресу веб-хука {0}.", "enableGRPCTls": "Дозволити надсилати gRPC-запити з TLS-з'єднанням", - "grpcMethodDescription": "Ім'я методу перетворюється у формат cammelCase, наприклад, sayHello, check тощо.", + "grpcMethodDescription": "Ім'я методу перетворюється у формат camelCase, наприклад, sayHello, check тощо.", "Packet Size": "Розмір пакету", "trustProxyDescription": "Довіряти заголовкам 'X-Forwarded-*'. Якщо ви хочете отримати правильний клієнтський IP, а ваш Uptime Kuma знаходиться за проксі-сервером, таким як Nginx або Apache, вам слід увімкнути цю опцію.", "wayToGetLineNotifyToken": "Ви можете отримати токен доступу з {0}", @@ -840,7 +840,7 @@ "pushDeerServerDescription": "Залиште порожнім, щоб використовувати офіційний сервер", "Request Timeout": "Таймаут запиту", "timeoutAfter": "Таймаут через {0} секунд", - "styleElapsedTime": "Час, що минув під індикатором серцебиття", + "styleElapsedTime": "Час, що минув під індикатором опитування", "gamedigGuessPort": "Gamedig: Вгадати порт", "gamedigGuessPortDescription": "Порт, що використовується протоколом запитів до сервера Valve, може відрізнятися від порту клієнта. Спробуйте це, якщо монітор не може підключитися до вашого сервера.", "styleElapsedTimeShowWithLine": "Показати (з лінією)", @@ -876,5 +876,45 @@ "authUserInactiveOrDeleted": "Користувач неактивний або видалений.", "authIncorrectCreds": "Неправильне ім'я користувача або пароль.", "successEdited": "Успішно відредаговано.", - "successEnabled": "Успішно увімкнено." + "successEnabled": "Успішно увімкнено.", + "Reset Token": "Скинути токен", + "emailCustomisableContent": "Налаштовуваний вміст", + "leave blank for default subject": "залиште порожнім для теми за замовчуванням", + "emailCustomBody": "Користувацьке тіло", + "smtpLiquidIntroduction": "Наступні два поля можна шаблонувати за допомогою мови шаблонів Liquid. Будь ласка, зверніться до {0} для отримання інструкцій з використання. Ось доступні змінні:", + "templateHeartbeatJSON": "об'єкт, що описує опитування", + "liquidIntroduction": "Шаблонність досягається за допомогою мови шаблонів Liquid. Будь ласка, зверніться до {0} для отримання інструкцій з використання. Ось доступні змінні:", + "templateMsg": "повідомлення сповіщення", + "templateMonitorJSON": "об'єкт, що описує монітор", + "templateLimitedToUpDownCertNotifications": "доступно лише для сповіщень Доступний/Недоступний/Закінчення терміну дії сертифіката", + "templateLimitedToUpDownNotifications": "доступно лише для сповіщень Доступний/Недоступний", + "leave blank for default body": "залиште порожнім для тіла за замовчуванням", + "emailTemplateServiceName": "Назва сервісу", + "emailTemplateHostnameOrURL": "Ім'я хоста або URL", + "emailTemplateStatus": "Статус", + "emailTemplateMsg": "повідомлення сповіщення", + "emailTemplateLimitedToUpDownNotification": "доступно лише для опитування Доступний/Недоступний, інакше - нуль", + "emailTemplateMonitorJSON": "об'єкт, що описує монітор", + "emailTemplateHeartbeatJSON": "об'єкт, що описує опитування", + "GrafanaOncallUrl": "Grafana Oncall URL", + "noDockerHostMsg": "Недоступно. Спочатку налаштуйте Docker-хост.", + "DockerHostRequired": "Будь ласка, встановіть Docker-хост для цього монітора.", + "Browser Screenshot": "Скріншот браузера", + "Add a new expiry notification day": "Додати новий день сповіщення про закінчення терміну дії", + "setup a new monitor group": "створити нову групу моніторів", + "Add a domain": "Додати домен", + "Remote Browsers": "Віддалені браузери", + "Remote Browser": "Віддалений браузер", + "Add a Remote Browser": "Додати віддалений браузер", + "Remote Browser not found!": "Віддалений браузер не знайдено!", + "remoteBrowsersDescription": "Віддалені браузери - це альтернатива локальному запуску Chromium. Налаштуйте за допомогою сервісу на кшталт browserless.io або підключіть свій власний", + "remoteBrowserToggle": "За замовчуванням Chromium запускається всередині контейнера Uptime Kuma. Ви можете використовувати віддалений браузер, увімкнувши цей перемикач.", + "useRemoteBrowser": "Використовувати віддалений браузер", + "deleteRemoteBrowserMessage": "Ви дійсно хочете видалити цей віддалений браузер для всіх моніторів?", + "self-hosted container": "контейнер, що хоститься самостійно", + "Remove the expiry notification": "Видалити день сповіщення про закінчення терміну дії", + "Remove domain": "Видалити домен '{0}'", + "successKeyword": "Ключове слово успіху", + "successKeywordExplanation": "Ключове слово MQTT, яке вважатиметься успіхом", + "openModalTo": "відкрити модальне вікно для {0}" } From 127608ffe913ef2ae0627e35ce9f30cfec0d7501 Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 205/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (841 of 841 strings) Co-authored-by: AnnAngela Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 4a6408c5..56ecc232 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -872,5 +872,6 @@ "2faAlreadyEnabled": "2FA 已经启用。", "foundChromiumVersion": "已找到 Chromium/Chrome。版本:{0}", "successAuthChangePassword": "已成功更新密码。", - "authIncorrectCreds": "错误的用户名或密码。" + "authIncorrectCreds": "错误的用户名或密码。", + "Reset Token": "重置令牌" } From 5820c472cbbc7adcb2222283d5b393f77361bc36 Mon Sep 17 00:00:00 2001 From: DevMirza Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 206/494] Translated using Weblate (Punjabi) Currently translated at 0.5% (5 of 861 strings) Translated using Weblate (Punjabi (Pakistan)) Currently translated at 1.1% (10 of 861 strings) Translated using Weblate (Urdu) Currently translated at 62.4% (538 of 861 strings) Translated using Weblate (Urdu) Currently translated at 61.3% (528 of 861 strings) Translated using Weblate (Punjabi (Pakistan)) Currently translated at 0.4% (4 of 841 strings) Translated using Weblate (Urdu) Currently translated at 60.2% (507 of 841 strings) Added translation using Weblate (Punjabi) Added translation using Weblate (Punjabi (Pakistan)) Co-authored-by: DevMirza Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pa/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pa_PK/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ur/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pa.json | 7 +++++ src/lang/pa_PK.json | 12 ++++++++ src/lang/ur.json | 67 +++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 src/lang/pa.json create mode 100644 src/lang/pa_PK.json diff --git a/src/lang/pa.json b/src/lang/pa.json new file mode 100644 index 00000000..8b1ce7f9 --- /dev/null +++ b/src/lang/pa.json @@ -0,0 +1,7 @@ +{ + "languageName": "پنجابی", + "setupDatabaseChooseDatabase": "ਤੁਸੀਂ ਕਿਹੜਾ ਡੇਟਾਬੇਸ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "setupDatabaseSQLite": "ਇੱਕ ਸਧਾਰਨ ਡੇਟਾਬੇਸ ਫਾਈਲ, ਛੋਟੇ ਪੈਮਾਨੇ ਦੀਆਂ ਤੈਨਾਤੀਆਂ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। v2.0.0 ਤੋਂ ਪਹਿਲਾਂ, ਅਪਟਾਈਮ ਕੁਮਾ ਨੇ ਡਿਫੌਲਟ ਡੇਟਾਬੇਸ ਵਜੋਂ SQLite ਦੀ ਵਰਤੋਂ ਕੀਤੀ।", + "setupDatabaseEmbeddedMariaDB": "ਤੁਹਾਨੂੰ ਕੁਝ ਵੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸ ਡੌਕਰ ਚਿੱਤਰ ਨੇ ਤੁਹਾਡੇ ਲਈ ਮਾਰੀਆਡੀਬੀ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਏਮਬੇਡ ਅਤੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਹੈ। ਅਪਟਾਈਮ ਕੁਮਾ ਯੂਨਿਕਸ ਸਾਕਟ ਦੁਆਰਾ ਇਸ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜ ਜਾਵੇਗਾ।", + "setupDatabaseMariaDB": "ਇੱਕ ਬਾਹਰੀ ਮਾਰੀਆਡੀਬੀ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜੋ। ਤੁਹਾਨੂੰ ਡਾਟਾਬੇਸ ਕੁਨੈਕਸ਼ਨ ਜਾਣਕਾਰੀ ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ." +} diff --git a/src/lang/pa_PK.json b/src/lang/pa_PK.json new file mode 100644 index 00000000..5f9ab79c --- /dev/null +++ b/src/lang/pa_PK.json @@ -0,0 +1,12 @@ +{ + "setupDatabaseMariaDB": "ਇੱਕ ਬਾਹਰੀ ਮਾਰੀਆਡੀਬੀ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜੋ। ਤੁਹਾਨੂੰ ਡਾਟਾਬੇਸ ਕੁਨੈਕਸ਼ਨ ਜਾਣਕਾਰੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।", + "languageName": "ਅੰਗਰੇਜ਼ੀ", + "setupDatabaseChooseDatabase": "ਤੁਸੀਂ ਕਿਹੜਾ ਡੇਟਾਬੇਸ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "setupDatabaseEmbeddedMariaDB": "ਤੁਹਾਨੂੰ ਕੁਝ ਵੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸ ਡੌਕਰ ਚਿੱਤਰ ਨੇ ਤੁਹਾਡੇ ਲਈ ਮਾਰੀਆਡੀਬੀ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਏਮਬੇਡ ਅਤੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਹੈ। ਅਪਟਾਈਮ ਕੁਮਾ ਯੂਨਿਕਸ ਸਾਕਟ ਦੁਆਰਾ ਇਸ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜ ਜਾਵੇਗਾ।", + "dbName": "ਡਾਟਾਬੇਸ ਦਾ ਨਾਮ", + "Settings": "ਸੈਟਿੰਗਾਂ", + "Dashboard": "ਡੈਸ਼ਬੋਰਡ", + "Help": "ਮਦਦ ਕਰੋ", + "New Update": "ਨਵਾਂ ਅੱਪਡੇਟ", + "setupDatabaseSQLite": "ਇੱਕ ਸਧਾਰਨ ਡੇਟਾਬੇਸ ਫਾਈਲ, ਛੋਟੇ ਪੈਮਾਨੇ ਦੀਆਂ ਤੈਨਾਤੀਆਂ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। v2.0.0 ਤੋਂ ਪਹਿਲਾਂ, ਅਪਟਾਈਮ ਕੁਮਾ ਨੇ ਡਿਫੌਲਟ ਡੇਟਾਬੇਸ ਵਜੋਂ SQLite ਦੀ ਵਰਤੋਂ ਕੀਤੀ।" +} diff --git a/src/lang/ur.json b/src/lang/ur.json index d410e30f..673ecf35 100644 --- a/src/lang/ur.json +++ b/src/lang/ur.json @@ -49,7 +49,7 @@ "checkEverySecond": "ہر {0} سیکنڈ میں چیک کریں", "retryCheckEverySecond": "ہر {0} سیکنڈ میں دوبارہ کوشش کریں", "Help": "مدد", - "ignoreTLSError": "HTTPS ویب سائٹس کے لیے TLS/SSL کی خرابی کو نظر انداز کریں", + "ignoreTLSError": "HTTPS ویب سائٹس کے لیے TLS/SSL کی غلطیوں کو نظر انداز کریں", "upsideDownModeDescription": "اسٹیٹس کو الٹا پلٹائیں۔ اگر سروس قابل رسائی ہے، تو یہ نیچے ہے۔", "Upside Down Mode": "الٹا ڈاؤن موڈ", "Max. Redirects": "زیادہ سے زیادہ ری ڈائریکٹ کرتا ہے", @@ -429,7 +429,7 @@ "No Maintenance": "کوئی دیکھ بھال نہیں", "weekdayShortTue": "منگل", "Add New Tag": "نیا ٹیگ شامل کریں", - "Enable DNS Cache": "HTTP(s) مانیٹرز کے لیے DNS کیش کو فعال کریں", + "Enable DNS Cache": "(فرسودہ) HTTP(s) مانیٹرز کے لیے DNS کیش کو فعال کریں", "Effective Date Range": "مؤثر تاریخ کی حد (اختیاری)", "Schedule Maintenance": "شیڈول کی بحالی", "Date and Time": "تاریخ اور وقت", @@ -479,5 +479,66 @@ "uninstall": "ان انسٹال کریں", "Invert Keyword": "مطلوبہ الفاظ کو الٹ دیں", "Expected Value": "متوقع قدر", - "Json Query": "Json استفسار" + "Json Query": "Json استفسار", + "setupDatabaseMariaDB": "ایک بیرونی ماریا ڈی بی ڈیٹا بیس سے جڑیں۔ آپ کو ڈیٹا بیس کنکشن کی معلومات سیٹ کرنے کی ضرورت ہے۔", + "wayToGetDiscordURL": "آپ اسے سرور کی ترتیبات -> انٹیگریشنز -> ویب ہکس دیکھیں -> نیو ویب ہک پر جاکر حاصل کرسکتے ہیں", + "setupDatabaseChooseDatabase": "آپ کون سا ڈیٹا بیس استعمال کرنا چاہتے ہیں؟", + "setupDatabaseEmbeddedMariaDB": "آپ کو کچھ بھی سیٹ کرنے کی ضرورت نہیں ہے۔ اس ڈاکر امیج نے آپ کے لیے ماریا ڈی بی کو خود بخود ایمبیڈ اور کنفیگر کر دیا ہے۔ اپ ٹائم کوما یونکس ساکٹ کے ذریعے اس ڈیٹا بیس سے جڑے گا۔", + "setupDatabaseSQLite": "ایک سادہ ڈیٹا بیس فائل، چھوٹے پیمانے پر تعیناتیوں کے لیے تجویز کردہ۔ v2.0.0 سے پہلے، Uptime Kuma SQLite کو بطور ڈیفالٹ ڈیٹا بیس استعمال کرتا تھا۔", + "dbName": "ڈیٹا بیس کا نام", + "enableNSCD": "تمام DNS درخواستوں کو کیش کرنے کے لیے NSCD (Name Service Cache Daemon) کو فعال کریں", + "Reset Token": "ٹوکن ری سیٹ کریں", + "From Email": "ای میل سے", + "Prefix Custom Message": "سابقہ حسب ضرورت پیغام", + "Hello @everyone is...": "ہیلو {'@'}ہر کوئی ہے…", + "wayToGetTeamsURL": "آپ ویب ہک URL {0} بنانے کا طریقہ سیکھ سکتے ہیں۔", + "pushViewCode": "پش مانیٹر کا استعمال کیسے کریں؟ (کوڈ دیکھیں)", + "pushOthers": "دوسرے", + "programmingLanguages": "پروگرامنگ کی زبانیں", + "Clone Monitor": "کلون مانیٹر", + "Clone": "کلون", + "uninstalling": "ان انسٹال کرنا", + "confirmUninstallPlugin": "کیا آپ واقعی اس پلگ ان کو ان انسٹال کرنا چاہتے ہیں؟", + "notificationRegional": "علاقائی", + "cloneOf": "{0} کا کلون", + "smtp": "ای میل (SMTP)", + "secureOptionNone": "کوئی نہیں / STARTTLS (25, 587)", + "Ignore TLS Error": "TLS کی خرابی کو نظر انداز کریں", + "emailCustomSubject": "حسب ضرورت موضوع", + "To Email": "ای میل کرنے کے لئے", + "smtpCC": "سی سی", + "smtpBCC": "بی سی سی", + "Discord Webhook URL": "اختلاف ابھک یو آر ایل", + "Bot Display Name": "بوٹ ڈسپلے کا نام", + "secureOptionTLS": "TLS (465)", + "emailCustomisableContent": "حسب ضرورت مواد", + "smtpLiquidIntroduction": "درج ذیل دو فیلڈز مائع ٹیمپلیٹنگ لینگویج کے ذریعے قابل نمونہ ہیں۔ براہ کرم استعمال کی ہدایات کے لیے {0} سے رجوع کریں۔ یہ دستیاب متغیرات ہیں:", + "leave blank for default subject": "پہلے سے طے شدہ مضمون کے لیے خالی چھوڑ دیں", + "emailCustomBody": "حسب ضرورت باڈی", + "leave blank for default body": "ڈیفالٹ باڈی کے لیے خالی چھوڑ دیں", + "emailTemplateServiceName": "سروس کا نام", + "emailTemplateHostnameOrURL": "میزبان نام یا URL", + "emailTemplateStatus": "حالت", + "noDockerHostMsg": "دستیاب نہیں ہے. پہلے ایک ڈاکر ہوسٹ سیٹ اپ کریں۔", + "emailTemplateLimitedToUpDownNotification": "صرف UP/DOWN دل کی دھڑکنوں کے لیے دستیاب ہے، ورنہ کالعدم", + "liquidIntroduction": "Templatability Liquid templating زبان کے ذریعے حاصل کی جاتی ہے۔ براہ کرم استعمال کی ہدایات کے لیے {0} سے رجوع کریں۔ یہ دستیاب متغیرات ہیں:", + "templateMsg": "اطلاع کا پیغام", + "templateHeartbeatJSON": "دل کی دھڑکن کو بیان کرنے والی چیز", + "templateMonitorJSON": "مانیٹر کی وضاحت کرنے والی چیز", + "templateLimitedToUpDownCertNotifications": "صرف UP/DOWN/سرٹیفکیٹ کی میعاد ختم ہونے کی اطلاعات کے لیے دستیاب ہے", + "templateLimitedToUpDownNotifications": "صرف UP/DOWN اطلاعات کے لیے دستیاب ہے", + "emailTemplateHeartbeatJSON": "دل کی دھڑکن کو بیان کرنے والی چیز", + "emailTemplateMsg": "اطلاع کا پیغام", + "DockerHostRequired": "براہ کرم اس مانیٹر کے لیے ڈاکر ہوسٹ سیٹ کریں۔", + "emailTemplateMonitorJSON": "مانیٹر کی وضاحت کرنے والی چیز", + "Recipients": "وصول کنندگان", + "wayToCheckSignalURL": "آپ یہ یو آر ایل چیک کر سکتے ہیں کہ اسے کیسے ترتیب دیا جائے:", + "Basic Settings": "بنیادی ترتیبات", + "Number": "نمبر", + "wayToGetZohoCliqURL": "آپ ویب ہک URL {0} بنانے کا طریقہ سیکھ سکتے ہیں۔", + "needSignalAPI": "آپ کے پاس ریسٹ API کے ساتھ سگنل کلائنٹ ہونا ضروری ہے۔", + "Access Token": "ٹوکن تک رسائی حاصل کریں", + "Channel access token": "چینل تک رسائی کا ٹوکن", + "Line Developers Console": "لائن ڈویلپرز کنسول", + "lineDevConsoleTo": "لائن ڈیولپرز کنسول - {0}" } From 43bfb366f212464815606555809738f91e077a70 Mon Sep 17 00:00:00 2001 From: Regis Vieira Delgado Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 207/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 95.8% (806 of 841 strings) Co-authored-by: Regis Vieira Delgado Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 02c4a69d..428196dc 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -54,7 +54,7 @@ "Delete": "Apagar", "Current": "Atual", "Uptime": "Tempo de atividade", - "Cert Exp.": "Expiração Do Certificado", + "Cert Exp.": "Expiração do Certificado", "day": "dia | dias", "-day": "-dia", "hour": "hora", @@ -613,9 +613,9 @@ "promosmsTypeFlash": "SMS FLASH - A mensagem será exibida automaticamente no dispositivo do destinatário. Limitado apenas aos destinatários poloneses.", "promosmsTypeSpeed": "SMS SPEED - Maior prioridade no sistema. Muito rápido e confiável, mas custoso (cerca de duas vezes o preço do SMS FULL).", "matrixDesc1": "Você pode encontrar o ID da sala interna olhando na seção avançada das configurações da sala em seu cliente Matrix. Deve parecer algo como !QMdRCpUIfLwsfjxye6:home.server.", - "matrixDesc2": "É altamente recomendado que você crie um novo usuário e não use o token de acesso do seu próprio usuário Matrix, pois isso permitirá acesso total à sua conta e todas as salas às quais você se juntou. Em vez disso, crie um novo usuário e convide-o apenas para a sala na qual você deseja receber a notificação. Você pode obter o token de acesso executando {0}.", + "matrixDesc2": "É altamente recomendado que você crie um novo usuário e não use o token de acesso do seu próprio usuário Matrix, pois isso permitirá acesso total à sua conta e todas as salas às quais você se juntou. Em vez disso, crie um novo usuário e convide-o apenas para a sala na qual você deseja receber a notificação. Você pode obter o token de acesso executando {0}", "aboutChannelName": "Digite o nome do canal no campo Nome do Canal em {0} se você deseja ignorar o canal do Webhook. Exemplo: #outro-canal", - "wayToGetPagerDutyKey": "Você pode obter isso indo para Serviço -> Diretório de Serviço -> (Selecionar um serviço) -> Integrações -> Adicionar integração. Aqui você pode procurar por \"Events API V2\". Mais informações {0}.", + "wayToGetPagerDutyKey": "Você pode obter isso indo para Serviço -> Diretório de Serviço -> (Selecionar um serviço) -> Integrações -> Adicionar integração. Aqui você pode procurar por \"Events API V2\". Mais informações {0}", "From Name/Number": "Nome/Número de Origem", "Server URL should not contain the nfty topic": "A URL do servidor não deve conter o tópico do nfty", "pushDeerServerDescription": "Deixe em branco para usar o servidor oficial", @@ -633,8 +633,8 @@ "chromeExecutable": "Executável do Chrome/Chromium", "Edit Maintenance": "Editar Manutenção", "aboutIconURL": "Você pode fornecer um link para uma imagem em \"URL do Ícone\" para substituir a imagem de perfil padrão. Não será usado se o \"Ícone Emoji\" estiver configurado.", - "octopushAPIKey": "\"Chave API\" das credenciais da API HTTP no painel de controle.", - "octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle.", + "octopushAPIKey": "\"Chave API\" das credenciais da API HTTP no painel de controle", + "octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle", "pushoversounds pushover": "Pushover (padrão)", "pushoversounds bike": "Bicicleta", "pushoversounds bugle": "Corneta", @@ -735,12 +735,12 @@ "webhookBodyCustomOption": "Corpo Customizado", "Check/Uncheck": "Marcar/Desmarcar", "tailscalePingWarning": "Para usar o monitor Tailscale Ping, você precisa instalar o Uptime Kuma sem o Docker e também instalar o cliente Tailscale em seu servidor.", - "telegramMessageThreadIDDescription": "Identificador único opcional para o tópico da mensagem alvo do fórum; apenas para supergrupos de fóruns.", + "telegramMessageThreadIDDescription": "Identificador único opcional para o tópico da mensagem alvo do fórum; apenas para supergrupos de fóruns", "pushoversounds none": "Nenhum (silencioso)", "pushyAPIKey": "Chave de API Secreta", "pushyToken": "Token do Dispositivo", "GoogleChat": "Google Chat (Apenas para Google Workspace)", - "wayToGetKookGuildID": "Ative o 'Modo Desenvolvedor' nas configurações do Kook e clique com o botão direito do mouse no servidor para obter seu ID.", + "wayToGetKookGuildID": "Ative o 'Modo Desenvolvedor' nas configurações do Kook e clique com o botão direito do mouse no servidor para obter seu ID", "Guild ID": "ID do Servidor (Guild)", "pushoverDesc1": "A prioridade de emergência (2) possui um intervalo de 30 segundos entre as tentativas padrão e expirará após 1 hora.", "pushoverDesc2": "Se você deseja enviar notificações para diferentes dispositivos, preencha o campo \"Dispositivo\".", @@ -782,12 +782,27 @@ "Badge Warn Days": "Dias de Aviso do Distintivo", "Badge Down Days": "Dias Desligado do Distintivo", "Badge Style": "Estilo do Distintivo", - "Badge value (For Testing only.)": "Valor do Distintivo (Apenas para Testes).", + "Badge value (For Testing only.)": "Valor do Selo (Apenas para Testes.)", "Badge URL": "URL do Distintivo", "Badge Generator": "Gerador de Distintivo de {0}", "Badge Type": "Tipo de Distintivo", "Badge Duration (in hours)": "Duração do Distintivo (em horas)", "Badge Label": "Nome do Distintivo", "Badge Prefix": "Prefixo do Valor do Distintivo", - "Badge Suffix": "Sufixo do Valor do Distintivo" + "Badge Suffix": "Sufixo do Valor do Distintivo", + "Kafka SASL Options": "Opções Kafka SASL", + "Reset Token": "Redefinir Token", + "Kafka Brokers": "Kafka Brokers", + "Kafka Producer Message": "Mensagem do produtor Kafka", + "pushViewCode": "Como usar o Push monitor? (Ver código)", + "Enter the list of brokers": "Entre a lista de brokers", + "Press Enter to add broker": "Pressione Enter para adicionar broker", + "Kafka Topic Name": "Nome do tópico Kafka", + "Enable Kafka SSL": "Habilitar Kafka SSL", + "Enable Kafka Producer Auto Topic Creation": "Ativar a criação automática de tópicos do Kafka Producer", + "Mechanism": "Mecanismo", + "Pick a SASL Mechanism...": "Escolha um mecanismo SASL...", + "Bark API Version": "Versão da API Bark", + "pushOthers": "Outros", + "programmingLanguages": "Linguagens de programação" } From 92324e94da5c6fd09739dd3e42099728ad28baff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=94=D0=BE?= =?UTF-8?q?=D0=B1=D1=80=D1=8B=D0=B9?= Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 208/494] Translated using Weblate (Russian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 97.8% (823 of 841 strings) Co-authored-by: Алексей Добрый Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 801e7e72..4a65fe61 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -578,8 +578,8 @@ "or": "или", "Maintenance": "Техобслуживание", "Schedule maintenance": "Запланировать техобслуживание", - "affectedMonitorsDescription": "Выберите мониторы, которые будут затронуты во время техбслуживания", - "affectedStatusPages": "Показывать уведомление о техбслуживании на выбранных страницах статуса", + "affectedMonitorsDescription": "Выберите мониторы, которые будут затронуты во время техобслуживания", + "affectedStatusPages": "Показывать уведомление о техобслуживании на выбранных страницах статуса", "atLeastOneMonitor": "Выберите больше одного затрагиваемого монитора", "dnsPortDescription": "По умолчанию порт DNS сервера - 53. Мы можете изменить его в любое время.", "Monitor": "Монитор | Мониторы", @@ -593,7 +593,7 @@ "Select status pages...": "Выберите страницу статуса…", "resendEveryXTimes": "Повтор каждые {0} раз", "resendDisabled": "Повторная отправка отключена", - "deleteMaintenanceMsg": "Вы действительно хотите удалить это техбслуживание?", + "deleteMaintenanceMsg": "Вы действительно хотите удалить это техобслуживание?", "critical": "критично", "Custom Monitor Type": "Собственный тип монитора", "markdownSupported": "Поддерживает синтаксис Markdown", @@ -628,7 +628,7 @@ "lastDay2": "Второй последний день месяца", "lastDay3": "Третий последний день месяца", "lastDay4": "Четвертый последний день месяца", - "No Maintenance": "Нет техбслуживаний", + "No Maintenance": "Нет техобслуживаний", "pauseMaintenanceMsg": "Вы уверены что хотите поставить на паузу?", "maintenanceStatus-under-maintenance": "На техобслуживании", "maintenanceStatus-inactive": "Неактивен", @@ -642,8 +642,8 @@ "Enable DNS Cache": "(Устарело) Включить DNS кэш для мониторов HTTP(S)", "Enable": "Включить", "Disable": "Отключить", - "Single Maintenance Window": "Единое окно техбслуживания", - "Schedule Maintenance": "Запланировать техбслуживание", + "Single Maintenance Window": "Единое окно техобслуживания", + "Schedule Maintenance": "Запланировать техобслуживание", "Date and Time": "Дата и время", "DateTime Range": "Промежуток даты и времени", "uninstalling": "Удаляется", @@ -693,7 +693,7 @@ "telegramProtectContentDescription": "Если включено, сообщения бота в Telegram будут запрещены для пересылки и сохранения.", "telegramSendSilently": "Отправить без звука", "telegramSendSilentlyDescription": "Пользователи получат уведомление без звука.", - "Maintenance Time Window of a Day": "Суточный интервал для техбслуживания", + "Maintenance Time Window of a Day": "Суточный интервал для техобслуживания", "Clone Monitor": "Копия", "Clone": "Копия", "cloneOf": "Копия {0}", @@ -783,7 +783,7 @@ "pushoverMessageTtl": "TTL сообщения (в секундах)", "Badge Down Color": "Цвет значка для статуса \"Недоступен\"", "Badge Label Suffix": "Суффикс надписи для значка", - "Edit Maintenance": "Редактировать техобсоуживание", + "Edit Maintenance": "Редактировать техобслуживание", "Reconnecting...": "Переподключение...", "Cannot connect to the socket server": "Невозможно подключиться к серверу", "Badge Warn Color": "Цвет значка для предупреждения", @@ -810,7 +810,7 @@ "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Секретный ключ доступа", "Session Token": "Токен сессии", - "jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите jsonata.org для получения документации по языку запросов. A Потренироваться вы можете сдесь.", + "jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите jsonata.org для получения документации по языку запросов. A Потренироваться вы можете здесь.", "Notify Channel": "Канал оповещений", "aboutNotifyChannel": "Уведомление о канале вызовет настольное или мобильное уведомление для всех участников канала, независимо от того, установлена ли их доступность как активная или отсутствующая.", "Enter the list of brokers": "Введите список брокеров", From 643ebea0a6c17b060877ac77013cbe4b915dc3ff Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 209/494] Translated using Weblate (German) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (German) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (German) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (German) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (German) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (German) Currently translated at 100.0% (858 of 858 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 29 +++++++++++++++++++++++---- src/lang/de-DE.json | 49 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 69 insertions(+), 9 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 4e5c0a4e..10e33b26 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -460,7 +460,7 @@ "Domain Names": "Domainnamen", "signedInDisp": "Angemeldet als {0}", "signedInDispDisabled": "Authentifizierung deaktiviert.", - "dnsPortDescription": "DNS server port. Standard ist 53. Der Port kann jederzeit geändert werden.", + "dnsPortDescription": "DNS Server Port. Standard ist 53. Der Port kann jederzeit geändert werden.", "topic": "Thema", "topicExplanation": "MQTT Thema für den monitor", "successMessage": "Erfolgsnachricht", @@ -872,9 +872,9 @@ "leave blank for default subject": "leer lassen für Standard-Betreff", "emailCustomBody": "Benutzerdefinierter Body", "emailCustomisableContent": "Anpassbarer Inhalt", - "liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung finden Sie auf {0}. Dies sind die verfügbaren Variablen:", + "liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung findest du auf {0}. Dies sind die verfügbaren Variablen:", "templateLimitedToUpDownCertNotifications": "nur verfügbar für UP/DOWN/Zertifikat-Ablaufbenachrichtigungen", - "smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung finden Sie in der {0}. Dies sind die verfügbaren Variablen:", + "smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung findest du in der {0}. Dies sind die verfügbaren Variablen:", "templateMsg": "Nachricht der Benachrichtigung", "templateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", "templateMonitorJSON": "Objekt zur Beschreibung des Monitors", @@ -886,5 +886,26 @@ "emailTemplateMonitorJSON": "Objekt zur Beschreibung des Monitors", "emailTemplateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", "emailTemplateMsg": "Nachricht der Benachrichtigung", - "emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null" + "emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null", + "GrafanaOncallUrl": "Grafana Oncall URL", + "noDockerHostMsg": "Nicht verfügbar. Richte zunächst einen Docker-Host ein.", + "DockerHostRequired": "Bitte Docker-Host für diesen Monitor festlegen.", + "Browser Screenshot": "Browser Screenshot", + "Add a new expiry notification day": "Neuen Tag für Auslaufbenachrichtigung hinzufügen", + "Remote Browsers": "Remote Browsers", + "Remote Browser": "Remote Browser", + "Add a Remote Browser": "Remote Browser hinzufügen", + "Remote Browser not found!": "Remote Browser nicht gefunden!", + "remoteBrowsersDescription": "Remote Browser sind eine Alternative zur lokalen Ausführung von Chromium. Einrichtung mit einem Dienst wie browserless.io oder verbinde mit deinem Eigenen.", + "self-hosted container": "Selbstverwalteter Container", + "remoteBrowserToggle": "Standardmässig läuft Chromium innerhalb des Uptime-Kuma Containers. Du kannst einen Remote-Browser verwenden, indem du diesen Schalter umlegst.", + "useRemoteBrowser": "Verwende einen Remote Browser", + "deleteRemoteBrowserMessage": "Bist du sicher, dass du diesen Remote Browser für alle Monitore löschen möchtest?", + "Remove the expiry notification": "Tag für Auslaufbenachrichtigung löschen", + "setup a new monitor group": "Neue Monitorgruppe einrichten", + "openModalTo": "Modal öffnen nach {0}", + "Add a domain": "Domain hinzufügen", + "Remove domain": "Domain '{0}' entfernen", + "successKeyword": "Erfolgsschlüsselwort", + "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird" } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 23f10b89..364f16d6 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -253,7 +253,7 @@ "Uptime Kuma URL": "Uptime Kuma URL", "aboutWebhooks": "Weitere Informationen zu Webhooks auf: {0}", "aboutChannelName": "Gebe den Kanalnamen ein in {0} Feld Kanalname, falls du den Webhook-Kanal umgehen möchtest. Ex: #other-channel", - "aboutKumaURL": "Wenn Sie das Feld für die Uptime Kuma URL leer lassen, wird es standardmäßig auf die Projekt-GitHub-Seite gesetzt.", + "aboutKumaURL": "Wenn du das Feld für die Uptime Kuma URL leer lässt, wird es standardmäßig auf die Projekt-GitHub-Seite gesetzt.", "emojiCheatSheet": "Emoji Cheat Sheet: {0}", "User Key": "Benutzerschlüssel", "Device": "Gerät", @@ -460,7 +460,7 @@ "Domain Names": "Domainnamen", "signedInDisp": "Angemeldet als {0}", "signedInDispDisabled": "Authentifizierung deaktiviert.", - "dnsPortDescription": "DNS server port. Standard ist 53. Der Port kann jederzeit geändert werden.", + "dnsPortDescription": "DNS Server Port. Standard ist 53. Der Port kann jederzeit geändert werden.", "topic": "Thema", "topicExplanation": "MQTT Thema für den monitor", "successMessage": "Erfolgsnachricht", @@ -644,7 +644,7 @@ "Help": "Hilfe", "Game": "Spiel", "Custom": "Benutzerdefiniert", - "Enable DNS Cache": "(Veraltet) Aktivieren Sie den DNS-Cache für HTTP(s)-Überwachungen", + "Enable DNS Cache": "(Veraltet) DNS-Cache für HTTP(s)-Monitore aktivieren", "Enable": "Aktivieren", "Disable": "Deaktivieren", "Custom Monitor Type": "Benutzerdefinierter Monitortyp", @@ -839,7 +839,7 @@ "nostrRecipientsHelp": "npub-Format, eine pro Zeile", "showCertificateExpiry": "Ablauf des Zertifikats anzeigen", "noOrBadCertificate": "Kein/schlechtes Zertifikat", - "enableNSCD": "Aktivieren Sie NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen", + "enableNSCD": "Aktiviere NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen", "setupDatabaseChooseDatabase": "Welche Datenbank möchtest du verwenden?", "setupDatabaseEmbeddedMariaDB": "Du brauchst nichts einzustellen. Dieses Docker-Image hat automatisch eine MariaDB für dich eingerichtet und konfiguriert. Uptime Kuma wird sich mit dieser Datenbank über einen Unix-Socket verbinden.", "dbName": "Datenbank Name", @@ -871,5 +871,44 @@ "successAdded": "Erfolgreich hinzugefügt.", "successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.", "foundChromiumVersion": "Gefunden Chromium/Chrome. Version: {0}", - "Reset Token": "Token zurücksetzen" + "Reset Token": "Token zurücksetzen", + "leave blank for default subject": "leer lassen für Standard-Betreff", + "emailCustomBody": "Benutzerdefinierter Body", + "leave blank for default body": "leer lassen für Standard Body", + "emailTemplateServiceName": "Dienst Name", + "emailTemplateStatus": "Status", + "emailTemplateMsg": "Nachricht der Benachrichtigung", + "liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung findest du auf {0}. Dies sind die verfügbaren Variablen:", + "emailCustomisableContent": "Anpassbarer Inhalt", + "smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung findest du in der {0}. Dies sind die verfügbaren Variablen:", + "emailTemplateHostnameOrURL": "Hostname oder URL", + "emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null", + "templateMsg": "Nachricht der Benachrichtigung", + "templateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", + "templateMonitorJSON": "Objekt zur Beschreibung des Monitors", + "templateLimitedToUpDownCertNotifications": "nur verfügbar für UP/DOWN/Zertifikat-Ablaufbenachrichtigungen", + "templateLimitedToUpDownNotifications": "nur für UP/DOWN-Benachrichtigungen verfügbar", + "emailTemplateMonitorJSON": "Objekt zur Beschreibung des Monitors", + "emailTemplateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt", + "GrafanaOncallUrl": "Grafana Oncall URL", + "noDockerHostMsg": "Nicht verfügbar. Richte zunächst einen Docker-Host ein.", + "DockerHostRequired": "Bitte Docker-Host für diesen Monitor festlegen.", + "Browser Screenshot": "Browser Screenshot", + "setup a new monitor group": "Neue Monitorgruppe einrichten", + "Add a new expiry notification day": "Neuen Tag für Auslaufbenachrichtigung hinzufügen", + "Remote Browsers": "Remote Browsers", + "Remote Browser": "Remote Browser", + "Add a Remote Browser": "Remote Browser hinzufügen", + "Remote Browser not found!": "Remote Browser nicht gefunden!", + "remoteBrowsersDescription": "Remote Browser sind eine Alternative zur lokalen Ausführung von Chromium. Einrichtung mit einem Dienst wie browserless.io oder verbinde mit deinem Eigenen.", + "self-hosted container": "Selbstverwalteter Container", + "remoteBrowserToggle": "Standardmäßig läuft Chromium innerhalb des Uptime-Kuma-Containers. Du kannst einen Remote-Browser verwenden, indem du diesen Schalter umlegst.", + "useRemoteBrowser": "Verwende einen Remote Browser", + "deleteRemoteBrowserMessage": "Bist du sicher, dass du diesen Remote Browser für alle Monitore löschen möchtest?", + "Remove the expiry notification": "Tag für Auslaufbenachrichtigung löschen", + "openModalTo": "Modal öffnen nach {0}", + "Add a domain": "Domain hinzufügen", + "Remove domain": "Domain '{0}' entfernen", + "successKeyword": "Erfolgsschlüsselwort", + "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird" } From cfe35c382e1b522a9dbd837e7cfbc11f4288a7d6 Mon Sep 17 00:00:00 2001 From: Bond Date: Fri, 15 Dec 2023 10:18:20 +0000 Subject: [PATCH 210/494] Translated using Weblate (Vietnamese) Currently translated at 56.5% (485 of 858 strings) Co-authored-by: Bond Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/vi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/vi-VN.json | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index 21953421..fd1491e2 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -55,7 +55,7 @@ "Delete": "Xoá", "Current": "Hiện tại", "Uptime": "Uptime", - "Cert Exp.": "Cert hết hạn", + "Cert Exp.": "Chứng chỉ hết hạn", "day": "ngày", "-day": "-ngày", "hour": "giờ", @@ -405,7 +405,7 @@ "Platform": "Platform", "Huawei": "Huawei", "High": "High", - "Retry": "Retry", + "Retry": "Thử lại", "Topic": "Topic", "WeCom Bot Key": "WeCom Bot Key", "Setup Proxy": "Setup Proxy", @@ -471,7 +471,7 @@ "Maintenance": "Bảo trì", "Affected Monitors": "Kênh theo dõi bị ảnh hưởng", "Schedule maintenance": "Thêm lịch bảo trì", - "markdownSupported": "Có hỗ trợ Markdown", + "markdownSupported": "Có hỗ trợ cú pháp Markdown", "Start of maintenance": "Bắt đầu bảo trì", "All Status Pages": "Tất cả các trang trạng thái", "Select status pages...": "Chọn trang trạng thái…", @@ -500,5 +500,17 @@ "Domain Names": "Tên tên miền", "signedInDisp": "Đăng ký với tư cách là {0}", "resendDisabled": "Vô hiệu hoá gửi phản hồi liên tục", - "resendEveryXTimes": "Gửi phản hồi mỗi {0} lần" + "resendEveryXTimes": "Gửi phản hồi mỗi {0} lần", + "setupDatabaseMariaDB": "Kết nối tới một cơ sở dữ liệu MariaDB bên ngoài. Bạn cần cấu hình thông tin kết nối cơ sở dữ liệu.", + "setupDatabaseChooseDatabase": "Bạn muốn dùng cơ sở dữ liệu nào?", + "setupDatabaseEmbeddedMariaDB": "Bạn không cần phải cài đặt bất cứ thứ gì. Docker image đã nhúng và cấu hình tự động một cơ sở dữ liệu MariaDB cho bạn. Uptime Kuma sẽ kết nối tới cơ sở dữ liệu thông qua unix socket.", + "setupDatabaseSQLite": "Một tệp cơ sở dữ liệu đơn giản, được khuyên dùng cho quy mô triển khai nhỏ. Trước v2.0.0, Uptime Kuma sử dụng SQLite như là một cơ sở dữ liệu mặc định.", + "dbName": "Tên cơ sở dữ liệu", + "General Monitor Type": "Loại giám sát chung", + "Passive Monitor Type": "Loại giám sát bị động", + "Specific Monitor Type": "Loại giám sát cụ thể", + "Monitor": "Giám sát", + "Invert Keyword": "Đảo ngược từ khóa", + "Expected Value": "Giá trị mong muốn", + "Json Query": "Truy vấn Json" } From 2637f6665b458f0549c0447996ba7ca139d27e50 Mon Sep 17 00:00:00 2001 From: wc7086 Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 211/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (858 of 858 strings) Co-authored-by: wc7086 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 56ecc232..c62ffce5 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -382,7 +382,7 @@ "Services": "服务", "Discard": "放弃", "Cancel": "取消", - "Powered by": "技术支持:", + "Powered by": "本站使用:", "shrinkDatabaseDescription": "触发 SQLite 数据库的 VACUUM 命令,如果您的数据库是在 1.10.0 版本之后创建的,则已启用 AUTO_VACUUM,不再需要此操作。", "serwersms": "SerwerSMS.pl", "serwersmsAPIUser": "API 用户名(包括 webapi_ 前缀)", @@ -873,5 +873,23 @@ "foundChromiumVersion": "已找到 Chromium/Chrome。版本:{0}", "successAuthChangePassword": "已成功更新密码。", "authIncorrectCreds": "错误的用户名或密码。", - "Reset Token": "重置令牌" + "Reset Token": "重置令牌", + "templateMsg": "通知的消息", + "templateHeartbeatJSON": "描述心跳的对象", + "templateLimitedToUpDownCertNotifications": "仅适用于“正常/故障/证书到期”通知", + "templateMonitorJSON": "描述监控项的对象", + "emailCustomisableContent": "可定制的内容", + "smtpLiquidIntroduction": "以下两个字段可通过 Liquid 模板语言进行模板化。使用说明请参阅 {0}。这些是可用变量:", + "leave blank for default subject": "留空为默认主题", + "emailCustomBody": "邮件正文", + "leave blank for default body": "留空为默认正文", + "emailTemplateMsg": "通知的消息", + "emailTemplateMonitorJSON": "描述监控项的对象", + "emailTemplateHeartbeatJSON": "描述心跳的对象", + "emailTemplateStatus": "状态", + "emailTemplateHostnameOrURL": "主机名或 URL", + "emailTemplateServiceName": "服务名称", + "liquidIntroduction": "可通过 Liquid 模板语言实现模板化。使用说明请参阅 {0}。这些是可用的变量:", + "templateLimitedToUpDownNotifications": "仅适用于“正常/故障”通知", + "emailTemplateLimitedToUpDownNotification": "仅适用于正常/故障心跳,否则为空" } From caf45843118a4ff94ca7daf1032abeaa649616ef Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 212/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 98.0% (860 of 877 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (859 of 859 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (858 of 858 strings) Co-authored-by: AnnAngela Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 47 ++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index c62ffce5..5b5b40b0 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -382,7 +382,7 @@ "Services": "服务", "Discard": "放弃", "Cancel": "取消", - "Powered by": "本站使用:", + "Powered by": "本站使用", "shrinkDatabaseDescription": "触发 SQLite 数据库的 VACUUM 命令,如果您的数据库是在 1.10.0 版本之后创建的,则已启用 AUTO_VACUUM,不再需要此操作。", "serwersms": "SerwerSMS.pl", "serwersmsAPIUser": "API 用户名(包括 webapi_ 前缀)", @@ -791,7 +791,7 @@ "nostrRecipientsHelp": "npub 格式,每行一个", "nostrRelaysHelp": "Relay 服务地址,每行一个", "nostrRelays": "Nostr relay 服务", - "chromeExecutableDescription": "至 Docker 用户,如果 Chromium 尚未安装,则需要几分钟时间来安装并显示测试结果。这需要 1 GB 硬盘空间。", + "chromeExecutableDescription": "致 Docker 用户:如果 Chromium 尚未安装,则需要几分钟时间来安装并显示测试结果。这需要 1 GB 硬盘空间。", "chromeExecutableAutoDetect": "自动检测", "chromeExecutable": "Chrome/Chromium 可执行文件", "Invert Keyword": "反转模式", @@ -875,21 +875,42 @@ "authIncorrectCreds": "错误的用户名或密码。", "Reset Token": "重置令牌", "templateMsg": "通知的消息", - "templateHeartbeatJSON": "描述心跳的对象", - "templateLimitedToUpDownCertNotifications": "仅适用于“正常/故障/证书到期”通知", - "templateMonitorJSON": "描述监控项的对象", - "emailCustomisableContent": "可定制的内容", + "templateHeartbeatJSON": "描述心跳信息的对象", + "templateLimitedToUpDownCertNotifications": "仅适用于“正常”、“故障”、“证书到期”类通知", + "templateMonitorJSON": "描述监控项信息的对象", + "emailCustomisableContent": "可自定义的内容", "smtpLiquidIntroduction": "以下两个字段可通过 Liquid 模板语言进行模板化。使用说明请参阅 {0}。这些是可用变量:", - "leave blank for default subject": "留空为默认主题", - "emailCustomBody": "邮件正文", - "leave blank for default body": "留空为默认正文", + "leave blank for default subject": "留空以使用默认主题", + "emailCustomBody": "自定义正文", + "leave blank for default body": "留空以使用默认正文", "emailTemplateMsg": "通知的消息", - "emailTemplateMonitorJSON": "描述监控项的对象", - "emailTemplateHeartbeatJSON": "描述心跳的对象", + "emailTemplateMonitorJSON": "描述监控项信息的对象", + "emailTemplateHeartbeatJSON": "描述心跳信息的对象", "emailTemplateStatus": "状态", "emailTemplateHostnameOrURL": "主机名或 URL", "emailTemplateServiceName": "服务名称", "liquidIntroduction": "可通过 Liquid 模板语言实现模板化。使用说明请参阅 {0}。这些是可用的变量:", - "templateLimitedToUpDownNotifications": "仅适用于“正常/故障”通知", - "emailTemplateLimitedToUpDownNotification": "仅适用于正常/故障心跳,否则为空" + "templateLimitedToUpDownNotifications": "仅适用于“正常”、“故障”类通知", + "emailTemplateLimitedToUpDownNotification": "仅适用于“正常”、“故障”类心跳,否则为空", + "GrafanaOncallUrl": "Grafana Oncall 服务 URL", + "noDockerHostMsg": "不可用。请先设置一个 Docker 宿主。", + "DockerHostRequired": "请为此监控项设置一个 Docker 宿主。", + "Browser Screenshot": "浏览器截图", + "successKeyword": "“成功”关键词", + "successKeywordExplanation": "MQTT中将被视为成功的关键词", + "Add a new expiry notification day": "添加一个新的天数条件", + "setup a new monitor group": "创建一个新的监控项组", + "Remote Browsers": "远程浏览器", + "Remote Browser": "远程浏览器", + "Add a Remote Browser": "添加一个远程浏览器", + "Remote Browser not found!": "未找到远程浏览器!", + "remoteBrowsersDescription": "远程浏览器可用以代替本地 Chromium 浏览器。您可使用类似于 browserless.io 的服务,或者您可自行运营一个类似服务", + "self-hosted container": "自托管容器", + "remoteBrowserToggle": "默认情况下 Chromium 运行于 Uptime Kuma 所在容器内。您可以通过切换此开关来使用远程浏览器。", + "useRemoteBrowser": "使用远程浏览器", + "deleteRemoteBrowserMessage": "您确定要删除此远程浏览器吗,这会影响所有监控项?", + "Remove the expiry notification": "移除该天数条件", + "openModalTo": "打开一个新窗口以{0}", + "Add a domain": "添加一个域名", + "Remove domain": "移除域名 {0}" } From 3dbc15cb697b190c94051860c7ced1e4a47790d6 Mon Sep 17 00:00:00 2001 From: Michal Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 213/494] Translated using Weblate (Czech) Currently translated at 99.4% (856 of 861 strings) Translated using Weblate (Czech) Currently translated at 97.9% (841 of 859 strings) Co-authored-by: Michal Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/cs-CZ.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index e130257e..a661bea6 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -870,5 +870,22 @@ "programmingLanguages": "Programovací jazyky", "monitorToastMessagesLabel": "Upozornění Monitor Toast", "monitorToastMessagesDescription": "Upozornění Toast zmizí po uplynutí nastaveného času. Časový limit vypnete nastavením -1. Upozornění vypnete nastavením 0.", - "pushViewCode": "Jak používat Push monitor? (Zobrazit kód)" + "pushViewCode": "Jak používat Push monitor? (Zobrazit kód)", + "liquidIntroduction": "Šablony je možné vytvářet pomocí jazyka Liquid. Pokyny k použití naleznete v {0}. Toto jsou dostupné proměnné:", + "templateMsg": "zpráva upozornění", + "emailCustomisableContent": "Přizpůsobitelný obsah", + "GrafanaOncallUrl": "URL pro volání do Grafana", + "Reset Token": "Vynulovat token", + "noDockerHostMsg": "Není k dispozici. Nejprve nastavte hostitele Docker.", + "DockerHostRequired": "Nastavte prosím hostitele nástroje Docker pro tento dohled.", + "smtpLiquidIntroduction": "Následující dvě pole lze šablonovat pomocí jazyka Liquid. Pokyny k použití naleznete v {0}. Jedná se o dostupné proměnné:", + "leave blank for default subject": "ponechte prázdné pro výchozí předmět", + "emailCustomBody": "Vlastní tělo", + "leave blank for default body": "ponechte prázdné, pokud chcete použít výchozí tělo", + "emailTemplateServiceName": "Název služby", + "emailTemplateHostnameOrURL": "Název hostitele nebo adresa URL", + "emailTemplateStatus": "Stav", + "emailTemplateMsg": "text oznámení", + "templateHeartbeatJSON": "objekt popisující funkčnost systému (heartbeat)", + "templateLimitedToUpDownCertNotifications": "dostupné pouze pro oznámení Běží/neběží/stav certifikátu" } From 61f32f5bbebb82db419681c46172c72d63c70fff Mon Sep 17 00:00:00 2001 From: Andy Chatziliadis Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 214/494] Translated using Weblate (Greek) Currently translated at 77.9% (670 of 859 strings) Co-authored-by: Andy Chatziliadis Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/el/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/el-GR.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index a2d6a7ec..6b1650a7 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -695,5 +695,12 @@ "Free Mobile API Key": "Free Mobile API Key", "smseaglePriority": "Προτεραιότητα μηνύματος (0-9, προεπιλογή = 0)", "statusPageRefreshIn": "Ανανέωση σε {0}", - "Add New Tag": "Πρόσθεσε νέα ετικέτα" + "Add New Tag": "Πρόσθεσε νέα ετικέτα", + "setupDatabaseMariaDB": "Συνδεθείτε με εξωτερική βάση δεδομένων MariaDB. Θα πρέπει να ορίσετε τα στοιχεία σύνδεσης της βάσης δεδομένων.", + "setupDatabaseChooseDatabase": "Ποια βάση δεδομένων θέλετε να χρησιμοποιήσετε;", + "setupDatabaseEmbeddedMariaDB": "Δεν χρειάζεται να ρυθμίσετε τίποτε. Η εικόνα Docker έχει ενσωματώσει και ρυθμίσει μια βάση δεδομένων MariaDB για εσάς αυτόματα. Το Uptime Kuma θα συνδεθεί με την βάση δεδομένων μέσω unix socket.", + "setupDatabaseSQLite": "Ένα απλό αρχείο βάσης δεδομένων, προτεινόμενο για εγκαταστάσεις μικρής κλίμακας. Πρίν από την έκδοση 2.0.0, το Uptime Kuma χρησιμοποιούσε το SQLite ως την προεπιλεγμένη βάση δεδομένων.", + "Cannot connect to the socket server": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή socket", + "Reconnecting...": "Επανασύνδεση", + "Home": "Αρχική" } From b7ab17bf5ed7b4b35f0cf2ce410cfee6573734ba Mon Sep 17 00:00:00 2001 From: Kisem Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 215/494] Translated using Weblate (Hungarian) Currently translated at 63.3% (544 of 859 strings) Co-authored-by: Kisem Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index 480f259b..5e6b77a4 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -54,7 +54,7 @@ "Delete": "Törlés", "Current": "Aktuális", "Uptime": "Uptime", - "Cert Exp.": "Tanúsítvány Lejárata", + "Cert Exp.": "Tanúsítvány Lejárat", "day": "nap", "-day": "-nap", "hour": "óra", @@ -521,5 +521,54 @@ "Passive Monitor Type": "Passzív megfigyelési típus", "General Monitor Type": "Általános megfigyelési típus", "Specific Monitor Type": "Specifikus megfigyelési típus", - "Reconnecting...": "Újracsatlakozás..." + "Reconnecting...": "Újracsatlakozás...", + "Saved.": "Elmentve.", + "authUserInactiveOrDeleted": "A felhasználó inaktív vagy nem létezik.", + "authIncorrectCreds": "Helytelen felhasználónév vagy jelszó.", + "2faAlreadyEnabled": "A kétlépcsős azonosítás már be van kapcsolva.", + "successAdded": "Sikeres hozzáadás.", + "2faDisabled": "Kétlépcsős azonosítás kikapcsolva.", + "successAuthChangePassword": "Sikeres jelszó módosítás.", + "successBackupRestored": "Sikeres mentés visszaállítás.", + "statusPageRefreshIn": "Frissítés: {0}", + "Retry": "Újrapróbálkozás", + "Close": "Bezárás", + "Request Body": "Kérés törzs", + "successResumed": "Sikeres folytatás.", + "successDeleted": "Sikeres törlés.", + "Query": "Kérés", + "settingsCertificateExpiry": "TLS tanúsítvány lejárat", + "chromeExecutableAutoDetect": "Automatikus felismerés", + "emailTemplateStatus": "Státusz", + "deleteMaintenanceMsg": "Biztosan törölni szeretné ezt a karbantartást?", + "apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető.", + "Expires": "Lejár", + "disableAPIKeyMsg": "Biztosan le fel szeretné függeszteni ezt az API kulcsot?", + "Key Added": "Kulcs létrehozva", + "selectedMonitorCount": "Kiválasztva: {0}", + "sameAsServerTimezone": "A szerver időzónájával megegyező", + "setupDatabaseChooseDatabase": "Melyik adatbázist szeretné használni?", + "setupDatabaseEmbeddedMariaDB": "Nem kell semmit beállítani. Ez a docker imagefájl automatikusan beágyazott és konfigurált egy MariaDB-t a számodra. Az Uptime Kuma unix socket-en keresztül fog csatlakozni ehhez az adatbázishoz.", + "setupDatabaseMariaDB": "Kapcsolódás egy külső MariaDB adatbázishoz. Meg kell adnia az adatbázis kapcsolat információit.", + "setupDatabaseSQLite": "Egy egyszerű adatbázisfájl, amely kis méretű telepítésekhez ajánlott. A v2.0.0 előtt az Uptime Kuma az SQLite-ot használta alapértelmezett adatbázisként.", + "dbName": "Adazbázis neve", + "FlashDuty Severity": "Súlyosság", + "lunaseaDeviceID": "Eszköz azonosító", + "lunaseaUserID": "Felhasználó azonosító", + "successPaused": "Sikeres szüneteltetés.", + "successEdited": "Sikeres szerkesztés.", + "tagNotFound": "Nem található címke.", + "foundChromiumVersion": "Chromium/Chrome találat. Verzió: {0}", + "Examples": "Példák", + "Home Assistant URL": "Home Assistant URL", + "Add API Key": "API kulcs hozzáadása", + "apiKey-expired": "Lejárt", + "apiKey-inactive": "Inaktív", + "apiKey-active": "Aktív", + "Request Timeout": "A kérés időtúllépés miatt megszakadt", + "timeoutAfter": "Időtúllépés {0} másodperc után", + "Json Query": "Json lekérdezés", + "Home": "Kezdőlap", + "Cannot connect to the socket server": "Nem lehet csatlakozni a socket szerverhez", + "Expected Value": "Várt érték" } From 9113c049d4fe238f472dd738cd4826d14315d9db Mon Sep 17 00:00:00 2001 From: Alex Campo Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 216/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.8% (832 of 859 strings) Co-authored-by: Alex Campo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 428196dc..acac56ba 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -804,5 +804,32 @@ "Pick a SASL Mechanism...": "Escolha um mecanismo SASL...", "Bark API Version": "Versão da API Bark", "pushOthers": "Outros", - "programmingLanguages": "Linguagens de programação" + "programmingLanguages": "Linguagens de programação", + "liquidIntroduction": "A modelabilidade é obtida por meio da linguagem de modelagem Liquid. Consulte {0} para obter instruções de uso. Estas são as variáveis disponíveis:", + "Secret AccessKey": "Chave de acesso secreta", + "Authorization Identity": "Identidade de autorização", + "emailCustomisableContent": "Conteúdo personalizável", + "smtpLiquidIntroduction": "Os dois campos a seguir podem ser modelados por meio da linguagem de modelagem Liquid. Consulte {0} para obter instruções de uso. Estas são as variáveis disponíveis:", + "leave blank for default subject": "deixe em branco para o assunto padrão", + "emailCustomBody": "Corpo personalizado", + "leave blank for default body": "deixe em branco para o corpo padrão", + "emailTemplateServiceName": "Nome do Serviço", + "emailTemplateHostnameOrURL": "Nome do host ou URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "objeto que descreve o monitor", + "emailTemplateHeartbeatJSON": "objeto que descreve o batimento cardíaco", + "emailTemplateMsg": "mensagem da notificação", + "emailTemplateLimitedToUpDownNotification": "disponível apenas para pulsações UP/DOWN, caso contrário, nulo", + "wayToGetFlashDutyKey": "Você pode ir para Canal -> (Selecionar um Canal) -> Integrações -> Adicionar uma nova integração', adicionar um 'Evento Personalizado' para obter um endereço de push, copiar a Chave de Integração no endereço. Para mais informações por favor visite", + "FlashDuty Severity": "Gravidade", + "templateMsg": "mensagem da notificação", + "templateHeartbeatJSON": "objeto que descreve o batimento cardíaco", + "templateMonitorJSON": "objeto que descreve o monitor", + "templateLimitedToUpDownCertNotifications": "disponível apenas para notificações UP/DOWN/expiração de certificado", + "templateLimitedToUpDownNotifications": "disponível apenas para notificações UP/DOWN", + "Session Token": "Token de sessão", + "noGroupMonitorMsg": "Não disponível. Crie primeiro um monitor de grupo.", + "Close": "Fechar", + "Request Body": "Corpo da Solicitação", + "AccessKey Id": "ID da chave de acesso" } From 60503d06763c5ed6c4c301ce191898cda63245aa Mon Sep 17 00:00:00 2001 From: G'olib Narzullayev Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 217/494] Translated using Weblate (Uzbek) Currently translated at 10.9% (94 of 861 strings) Translated using Weblate (Uzbek) Currently translated at 8.6% (74 of 859 strings) Translated using Weblate (Uzbek) Currently translated at 0.2% (2 of 859 strings) Co-authored-by: G'olib Narzullayev Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uz/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/uz.json | 96 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/src/lang/uz.json b/src/lang/uz.json index 08113c0f..3e82daa0 100644 --- a/src/lang/uz.json +++ b/src/lang/uz.json @@ -1,3 +1,97 @@ { - "languageName": "Ўзбек тили" + "languageName": "O'zbek tili", + "setupDatabaseChooseDatabase": "Qaysi ma'lumotlar ba'zasidan foydalanmoqchisiz?", + "setupDatabaseEmbeddedMariaDB": "Siz hech narsani sozlashga hojat yo'q. Bu docker obrazida MariaDB avtomatik ravishda o'rnatilgan va sozlangan. Uptime Kuma bu ma'lumotlar bazasiga unix socket orqali ulanadi.", + "setupDatabaseMariaDB": "Tashqi MariaDB ma'lumotlar bazasiga ulaning. Siz ma'lumotlar bazasi bilan bog'lanish ma'lumotlarini sozlashingiz kerak.", + "setupDatabaseSQLite": "Kichik miqyosli o'rnatishlar uchun tavsiya etiladigan sodda ma'lumotlar bazasi fayli. Uptime Kuma v2.0.0 dan oldin ma'lumotlar bazasi sifatida SQLite dan foydalangan.", + "dbName": "Ma'lumotlar ba'zasi nomi", + "Settings": "Sozlamalar", + "Dashboard": "Boshqaruv paneli", + "Help": "Yordam", + "New Update": "Yangi yangilanish", + "Language": "Til", + "Appearance": "Tashqi ko'rinish", + "Theme": "Mavzu", + "General": "Umumiy", + "Game": "O'yin", + "Primary Base URL": "Asosiy URL manzil", + "Version": "Versiya", + "List": "Ro'yxat", + "Home": "Uy", + "Add": "Qo'shish", + "Add New Monitor": "Yangi monitor qo'shish", + "Quick Stats": "Tezkor Statistika", + "Down": "Ishdan chiqqan", + "Up": "Ishga tushgan", + "Pending": "Kutilmoqda", + "statusMaintenance": "Xizmat ko'rsatish", + "Maintenance": "Xizmat ko'rsatish", + "Unknown": "Noma'lum", + "Reconnecting...": "Qayta ulanmoqda...", + "Passive Monitor Type": "Passiv Monitor turi", + "General Monitor Type": "Umumiy Monitor Turi", + "Specific Monitor Type": "Maxsus Monitor turi", + "markdownSupported": "Belgilash tili sintaksisi qo'llab-quvvatlanadi", + "pauseDashboardHome": "Tanaffus", + "Pause": "Tanaffus", + "Name": "Nom", + "Status": "Holat", + "DateTime": "Sana va vaqt", + "Message": "Xabar", + "Resume": "Davom ettirish", + "Edit": "Tahrirlash", + "Delete": "O'chirish", + "Current": "Hozirgi", + "Uptime": "Ish vaqti", + "Cert Exp.": "Sertifikat AQM.", + "Monitor": "Monitor | Monitorlar", + "day": "kun | kunlar", + "-day": "-kun", + "hour": "soat", + "-hour": "-soat", + "Response": "Javob", + "Ping": "Aloqani tekshirish", + "Invert Keyword": "Teskari Kalit so'z", + "Json Query": "Json So'rovi", + "Friendly Name": "Do'stona Nom", + "URL": "URL", + "Hostname": "Xosting nomi", + "Port": "Port", + "Heartbeat Interval": "Signal almashinuvi davomiyligi", + "Request Timeout": "So'rov muddati tugashi", + "Retries": "Qayta urinishlar", + "Heartbeat Retry Interval": "Signal almashinuvining takrorlanishlar davomiyligi", + "Advanced": "Murakkab", + "checkEverySecond": "Har {0} soniyada tekshiring", + "retryCheckEverySecond": "Har {0} soniyada qayta urining", + "resendEveryXTimes": "Har {0} martada qayta yuborish", + "resendDisabled": "Qayta yuborish o'chirilgan", + "Check Update On GitHub": "Github-da yangilanishni tekshiring", + "Cannot connect to the socket server": "Socket serverga ulanib bo'lmadi", + "No important events": "Muhim voqealar yo'q", + "Monitor Type": "Monitor Turi", + "Keyword": "Kalit so'z", + "Expected Value": "Kutilayotgan qiymat", + "timeoutAfter": "{0} soniyadan keyin kutish vaqti tugaydi", + "Resend Notification if Down X times consecutively": "Agar X marta ishdan chiqsa, xabarnomani qayta yuboring", + "Setup Notification": "Bildirishnomani sozlang", + "ignoreTLSError": "HTTPS veb-saytlari uchun TLS/SSL xatolariga e'tibor bermang", + "retriesDescription": "Xizmat o'chirilgan deb belgilanishi va bildirishnoma yuborilishidan oldin maksimal qayta urinishlar", + "upsideDownModeDescription": "Agar server ishlash holatida bo'lsa, uni O'CHIRILGAN deb hisoblang", + "maxRedirectDescription": "Yo'naltirishlar sonining maksimal miqdori. Yo'naltirishlarni o'chirish uchun 0 ga sozlang.", + "Upside Down Mode": "Teskari rejim", + "Accepted Status Codes": "Qabul qilingan holat kodlari", + "Push URL": "URL ni yuborish", + "Max. Redirects": "Qayta yo'naltirishlar chegarasi", + "needPushEvery": "Bu URL manziliga har {0} soniyada murojaat qilishingiz kerak.", + "pushOptionalParams": "Ixtiyoriy parametrlar: {0}", + "pushViewCode": "Push monitoridan qanday foydalanish kerak? (Kodni ko'rish)", + "pushOthers": "Boshqalar", + "programmingLanguages": "Dasturlash tillari", + "Save": "Saqlash", + "Notifications": "Bildirishnomalar", + "Not available, please setup.": "Mavjud emas, sozlang.", + "Light": "Yorug'", + "Dark": "Qorung'u", + "Auto": "Avto" } From b63305315acd6e99f29f72333ffcdaab8682ba68 Mon Sep 17 00:00:00 2001 From: Listum Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 218/494] Translated using Weblate (Russian) Currently translated at 100.0% (862 of 862 strings) Translated using Weblate (Russian) Currently translated at 100.0% (859 of 859 strings) Co-authored-by: Listum Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 76 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 18 deletions(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 4a65fe61..a9ef2dd6 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -2,11 +2,11 @@ "languageName": "Русский", "checkEverySecond": "Проверка каждые {0} секунд", "retriesDescription": "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления", - "ignoreTLSError": "Игнорировать ошибку TLS/SSL для HTTPS сайтов", + "ignoreTLSError": "Игнорировать ошибки TLS/SSL для HTTPS сайтов", "upsideDownModeDescription": "Реверс статуса сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.", "maxRedirectDescription": "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.", "acceptedStatusCodesDescription": "Выберите коды статусов для определения доступности сервиса.", - "passwordNotMatchMsg": "Введённые пароли не совпадают", + "passwordNotMatchMsg": "Введённые пароли не совпадают.", "notificationDescription": "Привяжите уведомления к мониторам.", "keywordDescription": "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру).", "pauseDashboardHome": "Пауза", @@ -85,7 +85,7 @@ "Disable Auth": "Отключить авторизацию", "Enable Auth": "Включить авторизацию", "disableauth.message1": "Вы уверены, что хотите отключить авторизацию?", - "disableauth.message2": "Это подходит для тех, у кого стоит другая авторизация перед открытием Uptime Kuma, например Cloudflare Access.", + "disableauth.message2": "Это подходит для тех, у кого стоит сторонняя авторизация перед открытием Uptime Kuma, например Cloudflare Access и т. п.", "Please use this option carefully!": "Пожалуйста, используйте с осторожностью!", "Logout": "Выйти", "Leave": "Отмена", @@ -275,8 +275,8 @@ "Read more:": "Подробнее: {0}", "Status:": "Статус: {0}", "Read more": "Подробнее", - "appriseInstalled": "Apprise установлен.", - "appriseNotInstalled": "Apprise не установлен. {0}", + "appriseInstalled": "Информирование установлено.", + "appriseNotInstalled": "Информирование не установлено. {0}", "Access Token": "Токен доступа", "Channel access token": "Токен доступа канала", "Line Developers Console": "Консоль разработчиков Line", @@ -301,12 +301,12 @@ "matrixDesc1": "Внутренний ID комнаты можно найти в Подробностях в параметрах канала вашего Matrix клиента. Он должен выглядеть примерно как !QMdRCpUIfLwsfjxye6:home.server.", "matrixDesc2": "Рекомендуется создать нового пользователя и не использовать токен доступа личного пользователя Matrix, т.к. это влечёт за собой полный доступ к аккаунту и к комнатам, в которых вы состоите. Вместо этого создайте нового пользователя и пригласите его только в ту комнату, в которой вы хотите получать уведомления. Токен доступа можно получить, выполнив команду {0}", "Method": "Метод", - "Body": "Тело", + "Body": "Объект", "Headers": "Заголовки", "PushUrl": "URL пуша", - "HeadersInvalidFormat": "Заголовки запроса некорректны JSON: ", - "BodyInvalidFormat": "Тело запроса некорректно JSON: ", - "Monitor History": "Статистика", + "HeadersInvalidFormat": "Неправильный JSON в заголовках запросов: ", + "BodyInvalidFormat": "Некорректный JSON в объекте запроса: ", + "Monitor History": "История мониторинга", "clearDataOlderThan": "Сохранять статистику за {0} дней.", "PasswordsDoNotMatch": "Пароли не совпадают.", "records": "записей", @@ -322,7 +322,7 @@ "Created": "Создано", "Unpin": "Открепить", "Show Tags": "Показать тэги", - "recent": "Сейчас", + "recent": "Последнее", "3h": "3 часа", "6h": "6 часов", "24h": "24 часа", @@ -364,7 +364,7 @@ "Info": "Инфо", "Steam API Key": "Steam API-Ключ", "Pick a RR-Type...": "Выберите RR-Тип…", - "Pick Accepted Status Codes...": "Выберите принятые коды состояния…", + "Pick Accepted Status Codes...": "Выберите принятые коды статуса…", "Default": "По умолчанию", "Please input title and content": "Пожалуйста, введите название и содержание", "Last Updated": "Последнее обновление", @@ -429,8 +429,8 @@ "User": "Пользователь", "Installed": "Установлено", "Not installed": "Не установлено", - "Running": "Запускается", - "Not running": "Не запускается", + "Running": "Запущено", + "Not running": "Не запущено", "Remove Token": "Удалить токен", "Start": "Запустить", "Stop": "Остановить", @@ -447,7 +447,7 @@ "Don't know how to get the token? Please read the guide:": "Не знаете, как получить токен? Пожалуйста, прочтите руководство:", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Текущее соединение может быть потеряно, если вы в данный момент подключаетесь через туннель Cloudflare. Вы уверены, что хотите это остановить? Введите свой текущий пароль, чтобы подтвердить это.", "HTTP Headers": "Заголовки HTTP", - "Trust Proxy": "Доверять прокси", + "Trust Proxy": "Доверенный прокси", "Other Software": "Другое программное обеспечение", "For example: nginx, Apache and Traefik.": "К примеру: nginx, Apache и Traefik.", "Please read": "Пожалуйста, прочитайте", @@ -553,7 +553,7 @@ "Long-Lived Access Token": "Токен доступа с длительным сроком службы", "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Токен доступа с длительным сроком действия можно создать, нажав на имя вашего профиля (внизу слева) и прокрутив его вниз, затем нажмите Создать токен. ", "Notification Service": "Служба уведомлений", - "default: notify all devices": "по стандарту: уведомлять все устройства", + "default: notify all devices": "по умолчанию: уведомлять все устройства", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Список служб уведомлений можно найти в Home Assistant в разделе \"Инструменты разработчика > Службы\", выполнив поиск по слову \"уведомление\", чтобы найти название вашего устройства/телефона.", "Automations can optionally be triggered in Home Assistant:": "При желании автоматизацию можно активировать в Home Assistant.:", "Trigger type:": "Тип триггера:", @@ -819,8 +819,8 @@ "Authorization Identity": "Авторизационная идентичность", "Request Body": "Тело запроса", "webhookCustomBodyDesc": "Определите пользовательское HTTP Body для запроса. Принимаются шаблонные переменные {msg}, {heartbeat}, {monitor}.", - "webhookBodyCustomOption": "Кастомное тело", - "webhookBodyPresetOption": "Пресет - {}", + "webhookBodyCustomOption": "Пользовательский объект", + "webhookBodyPresetOption": "Пресет - {0}", "invertKeywordDescription": "Искать, чтобы ключевое слово отсутствовало, а не присутствовало.", "filterActive": "Активный", "filterActivePaused": "На паузе", @@ -862,5 +862,45 @@ "monitorToastMessagesLabel": "Уведомления", "toastErrorTimeout": "Таймаут для уведомлений об ошибках", "toastSuccessTimeout": "Таймаут для уведомлений об успехе", - "pushOthers": "Другие" + "pushOthers": "Другие", + "successPaused": "Успешно приостановлено.", + "authUserInactiveOrDeleted": "Пользователь неактивен или удален.", + "authInvalidToken": "Неверный токен.", + "authIncorrectCreds": "Неверное имя пользователя или пароль.", + "2faEnabled": "2FA включена.", + "2faAlreadyEnabled": "2FA уже включена.", + "2faDisabled": "2FA отключена.", + "successAdded": "Успешно добавлено.", + "successResumed": "Возобновлено успешно.", + "GrafanaOncallUrl": "URL-адрес Grafana Oncall", + "liquidIntroduction": "Шаблонность достигается с помощью языка шаблонов Liquid. Инструкции по использованию приведены в разделе {0}. Вот доступные переменные:", + "templateLimitedToUpDownNotifications": "доступно только для уведомлений UP/DOWN", + "emailTemplateLimitedToUpDownNotification": "доступен только для сигналов UP/DOWN, в противном случае null", + "leave blank for default body": "оставьте пустым для объекта по умолчанию", + "emailTemplateServiceName": "Название сервиса", + "emailCustomisableContent": "Настраиваемый контент", + "smtpLiquidIntroduction": "Следующие два поля являются шаблонизируемыми с помощью языка шаблонов Liquid. Инструкции по их использованию приведены в разделе {0}. Вот доступные переменные:", + "leave blank for default subject": "оставьте пустым для темы по умолчанию", + "emailCustomBody": "Пользовательский объект", + "emailTemplateHostnameOrURL": "Имя хоста или URL", + "emailTemplateStatus": "Статус", + "successAuthChangePassword": "Пароль успешно обновлен.", + "successBackupRestored": "Резервная копия успешно восстановлена.", + "successDisabled": "Успешно отключено.", + "successEnabled": "Успешно включено.", + "tagNotFound": "Тег не найден.", + "foundChromiumVersion": "Обнаружен Chromium/Chrome. Версии: {0}", + "templateMsg": "сообщение уведомления", + "templateHeartbeatJSON": "объект, описывающий сигнал", + "templateMonitorJSON": "объект, описывающий монитор", + "templateLimitedToUpDownCertNotifications": "доступно только для UP/DOWN/Certificate уведомлений об окончании срока действия сертификатов", + "Reset Token": "Сброс токена", + "emailTemplateMonitorJSON": "объект, описывающий монитор", + "emailTemplateHeartbeatJSON": "объект, описывающий сигнал", + "emailTemplateMsg": "сообщение уведомления", + "successDeleted": "Успешно удалено.", + "successEdited": "Успешно отредактировано.", + "Browser Screenshot": "Скриншот браузера", + "noDockerHostMsg": "Недоступно. Сначала ностройте Docker Host.", + "DockerHostRequired": "Пожалуйста, настройте Docker Host для этого монитора." } From 2f595e464bb64fd23321ecadb2db3805575684a2 Mon Sep 17 00:00:00 2001 From: Haim Cohen Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 219/494] Translated using Weblate (Hebrew) Currently translated at 0.1% (1 of 861 strings) Translated using Weblate (Hebrew (Israel)) Currently translated at 86.5% (745 of 861 strings) Added translation using Weblate (Hebrew) Co-authored-by: Haim Cohen Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/he/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/he_IL/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/he-IL.json | 43 +++++++++++++++++++++++++++++++++++++++---- src/lang/he.json | 3 +++ 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 src/lang/he.json diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index 8e05ecd0..4f6649a7 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -1,5 +1,5 @@ { - "languageName": "עברית", + "languageName": "אל תתרגם את languageName ישירות. זה השם של השפה שלך. לדוגמא: אנגלית לאנגלית, 简体中文 לסינית (פשוטה)", "checkEverySecond": "בדיקה כל {0} שניות", "retryCheckEverySecond": "ניסיון חוזר כל {0} שניות", "resendEveryXTimes": "שליחה שוב כל {0} פעמים", @@ -222,7 +222,7 @@ "webhookJsonDesc": "{0} מתאים לכל שרתי HTTP מודרניים כגון Express.js", "webhookFormDataDesc": "{multipart} טוב ל-PHP. יהיה צורך לנתח את ה-JSON באמצעות {decodeFunction}", "webhookAdditionalHeadersTitle": "כותרות נוספות", - "webhookAdditionalHeadersDesc": "מגדיר כותרות נוספות שנשלחות עם ה-webhook.", + "webhookAdditionalHeadersDesc": "מגדיר כותרות נוספות שנשלחות עם ה-webhook. כל כותרת צריכה להיות מוגדרת כמפתח/ערך JSON.", "smtp": "אימייל (SMTP)", "secureOptionNone": "None / STARTTLS (25, 587)", "secureOptionTLS": "TLS (465)", @@ -644,7 +644,7 @@ "Server Timezone": "אזור זמן של שרת", "statusPageMaintenanceEndDate": "סוך", "IconUrl": "קישור לתמונת אייקון", - "Enable DNS Cache": "הפעל מטמון DNS", + "Enable DNS Cache": "(הוצא משימוש) הפעל מטמון DNS עבור צגי HTTP(ים).", "Enable": "הפעל", "Disable": "השבת", "dnsCacheDescription": "ייתכן שהוא לא עובד בסביבות IPv6 מסוימות, השבת אותו אם אתה נתקל בבעיות כלשהן.", @@ -740,5 +740,40 @@ "pagertreeCritical": "קריטי", "pagertreeResolve": "הגדרה אוטומטית", "ntfyUsernameAndPassword": "שם משתמש וסיסמא", - "Cannot connect to the socket server": "לא ניתן להתחבר לשקע השרת" + "Cannot connect to the socket server": "לא ניתן להתחבר לשקע השרת", + "pushOthers": "אחרים", + "styleElapsedTime": "הזמן שחלף מתחת לסרגל פעימות הלב", + "Select": "בחר", + "Check/Uncheck": "סמן/בטל סימון", + "tailscalePingWarning": "על מנת להשתמש בצג Tailscale Ping, עליך להתקין את Uptime Kuma ללא Docker וגם להתקין את לקוח Tailscale בשרת שלך.", + "pushViewCode": "כיצד להשתמש ב-Push Monitor? (הצג קוד)", + "Reset Token": "אפס את האסימון", + "noDockerHostMsg": "לא זמין. תחילה הגדר מארח Docker.", + "DockerHostRequired": "אנא הגדר את Docker Host עבור צג זה.", + "endDateTime": "תאריך / זמן סיום", + "setupDatabaseChooseDatabase": "באיזה מסד נתונים אתה רוצה להשתמש?", + "setupDatabaseEmbeddedMariaDB": "אתה לא צריך להגדיר כלום. תמונת docker זו הטמיעה והגדירה עבורך MariaDB באופן אוטומטי. Uptime Kuma יתחבר למסד נתונים זה באמצעות שקע יוניקס.", + "setupDatabaseMariaDB": "התחבר למסד נתונים חיצוני של MariaDB. עליך להגדיר את פרטי חיבור מסד הנתונים.", + "setupDatabaseSQLite": "קובץ מסד נתונים פשוט, מומלץ לפריסות בקנה מידה קטן. לפני v2.0.0, Uptime Kuma השתמש ב-SQLite כמסד הנתונים המוגדר כברירת מחדל.", + "dbName": "שם בסיס הנתונים", + "programmingLanguages": "שפות תכנות", + "styleElapsedTimeShowNoLine": "הצג (ללא קו)", + "styleElapsedTimeShowWithLine": "הצג (עם קו)", + "liquidIntroduction": "יכולת התבניות מושגת באמצעות שפת התבניות Liquid. עיין ב-{0} להוראות שימוש. אלו הם המשתנים הזמינים:", + "templateMsg": "הודעת ההודעה", + "templateHeartbeatJSON": "אובייקט המתאר את פעימות הלב", + "templateMonitorJSON": "אובייקט המתאר את הצג", + "templateLimitedToUpDownCertNotifications": "זמין רק עבור הודעות מעלה/מטה/תפוגה של אישור", + "templateLimitedToUpDownNotifications": "זמין רק להתראות למעלה/מטה", + "webhookBodyPresetOption": "תבנית - {0}", + "webhookBodyCustomOption": "גוף מותאם אישית", + "selectedMonitorCount": "נבחר: {0}", + "filterActivePaused": "הופסק", + "invalidCronExpression": "ביטוי קרון לא חוקי: {0}", + "Request Timeout": "בקש פסק זמן", + "timeoutAfter": "פסק זמן לאחר {0} שניות", + "Invert Keyword": "הפוך מילת מפתח", + "filterActive": "פעיל", + "Expected Value": "ערך צפוי", + "Json Query": "שאילתת Json" } diff --git a/src/lang/he.json b/src/lang/he.json new file mode 100644 index 00000000..99e17582 --- /dev/null +++ b/src/lang/he.json @@ -0,0 +1,3 @@ +{ + "Help": "עזרה" +} From 05eb5b08848745810a93b1a7692c28c520ac8c09 Mon Sep 17 00:00:00 2001 From: sander732 Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 220/494] Translated using Weblate (Dutch) Currently translated at 90.8% (782 of 861 strings) Co-authored-by: sander732 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nl-NL.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 3d59b023..5926199d 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -802,5 +802,18 @@ "Reconnecting...": "Opnieuw verbinden...", "Expected Value": "Verwachte waarde", "Json Query": "Json Query", - "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk jsonata.org voor de documentatie over de querytaal. Een speelplaats is beschikbaar hier." + "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk jsonata.org voor de documentatie over de querytaal. Een speelplaats is beschikbaar hier.", + "pushViewCode": "Hoe gebruik je Push monitor?(View Code)", + "setupDatabaseChooseDatabase": "Welke database wil je gebruiken?", + "setupDatabaseEmbeddedMariaDB": "Je hoeft niks in te stellen. Deze docker image heeft een ingebouwde en geconfigureerde MariaDB instantie. Uptime Kuma verbindt met deze database via een unix socket.", + "setupDatabaseMariaDB": "Verbindt met een externe MariaDB database. Je moet de database connectie informatie instellen.", + "setupDatabaseSQLite": "Een simpel database bestand, aanbevolen voor kleinschalige deployments. Voor v2.0.0, maakte Uptime Kuma standaard gebruik van een SQLite database.", + "dbName": "Database naam", + "Request Timeout": "Verzoek Timeout", + "pushOthers": "Anderen", + "programmingLanguages": "Programmeertalen", + "styleElapsedTime": "Verstreken tijd onder de hartslagbalk", + "styleElapsedTimeShowNoLine": "Laat zien (Geen lijn)", + "styleElapsedTimeShowWithLine": "Laat zien (Met lijn)", + "timeoutAfter": "Timeout na {0} seconden" } From d53d818321b4552fa4d8a7974769f79f77a4f43f Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 221/494] Translated using Weblate (Chinese (Traditional)) Currently translated at 98.7% (866 of 877 strings) Translated using Weblate (Chinese (Traditional)) Currently translated at 99.8% (860 of 861 strings) Translated using Weblate (Chinese (Traditional)) Currently translated at 87.6% (755 of 861 strings) Co-authored-by: Peter Dave Hello Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hant/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-TW.json | 195 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 154 insertions(+), 41 deletions(-) diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index 3bd1006d..1de6d372 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -1,5 +1,5 @@ { - "languageName": "繁體中文 (台灣)", + "languageName": "繁體中文 (臺灣)", "checkEverySecond": "每 {0} 秒檢查一次", "retryCheckEverySecond": "每 {0} 秒重試一次", "resendEveryXTimes": "每 {0} 次便重新傳送", @@ -45,7 +45,7 @@ "confirmEnableTwoFAMsg": "您確定要啟用雙步驟驗證嗎?", "confirmDisableTwoFAMsg": "您確定要停用雙步驟驗證嗎?", "Settings": "設定", - "Dashboard": "儀表板", + "Dashboard": "儀錶板", "New Update": "新版本", "Language": "語言", "Appearance": "外觀", @@ -124,7 +124,7 @@ "Please use this option carefully!": "請謹慎使用!", "Logout": "登出", "Leave": "離開", - "I understand, please disable": "我了解了,請停用", + "I understand, please disable": "我瞭解了,請停用", "Confirm": "確認", "Yes": "是", "No": "否", @@ -158,7 +158,7 @@ "Auto Get": "自動取得", "backupDescription": "您可以將所有監測器及通知備份成一個 JSON 檔案。", "backupDescription2": "提醒:不包含歷史紀錄及活動紀錄。", - "backupDescription3": "如通知權杖等機密資料也會一同匯出。請妥善保存。", + "backupDescription3": "如通知權杖等機密資料也會一同匯出。請妥善儲存。", "alertNoFile": "請選擇要匯入的檔案。", "alertWrongFileType": "請選擇 JSON 檔案。", "Clear all statistics": "清除所有統計資料", @@ -167,7 +167,7 @@ "Options": "選項", "Keep both": "保留兩者", "Verify Token": "認證權杖", - "Setup 2FA": "設置雙步驟驗證", + "Setup 2FA": "設定雙步驟驗證", "Enable 2FA": "啟用雙步驟驗證", "Disable 2FA": "停用雙步驟驗證", "2FA Settings": "雙步驟驗證設定", @@ -202,7 +202,7 @@ "Add Group": "新增群組", "Add a monitor": "加入監測器", "Edit Status Page": "編輯狀態頁", - "Go to Dashboard": "前往儀表板", + "Go to Dashboard": "前往儀錶板", "Status Page": "狀態頁", "Status Pages": "狀態頁", "defaultNotificationName": "我的 {notification} 通知 ({number})", @@ -222,7 +222,7 @@ "webhookJsonDesc": "{0} 適合任何現代的 HTTP 伺服器,如 Express.js", "webhookFormDataDesc": "{multipart} 適合 PHP。 JSON 必須先經由 {decodeFunction} 剖析", "webhookAdditionalHeadersTitle": "額外標頭", - "webhookAdditionalHeadersDesc": "設置 webhook 請求的額外 Header。每一個 Header 應被定義為一對 JSON 鍵值對。", + "webhookAdditionalHeadersDesc": "設定 webhook 請求的額外 Header。每一個 Header 應被定義為一對 JSON 鍵值對。", "smtp": "Email (SMTP)", "secureOptionNone": "無 / STARTTLS (25, 587)", "secureOptionTLS": "TLS (465)", @@ -240,12 +240,12 @@ "Hello @everyone is...": "Hello {'@'}everyone is…", "teams": "Microsoft Teams", "Webhook URL": "Webhook 網址", - "wayToGetTeamsURL": "您可以前往此頁面以了解如何建立 Webhook 網址 {0}。", + "wayToGetTeamsURL": "您可以前往此頁面以瞭解如何建立 Webhook 網址 {0}。", "signal": "Signal", "Number": "號碼", "Recipients": "收件者", "needSignalAPI": "您需要有 REST API 的 Signal 客戶端。", - "wayToCheckSignalURL": "您可以前往下列網址以了解如何設定:", + "wayToCheckSignalURL": "您可以前往下列網址以瞭解如何設定:", "signalImportant": "注意: 不得混合收件者的群組和號碼!", "gotify": "Gotify", "Application Token": "應用程式權杖", @@ -298,8 +298,8 @@ "appriseNotInstalled": "尚未安裝 Apprise。{0}", "Access Token": "存取權杖", "Channel access token": "頻道存取權杖", - "Line Developers Console": "Line 開發者控制台", - "lineDevConsoleTo": "Line 開發者控制台 - {0}", + "Line Developers Console": "Line 開發者控制檯", + "lineDevConsoleTo": "Line 開發者控制檯 - {0}", "Basic Settings": "基本設定", "User ID": "使用者 ID", "Messaging API": "Messaging API", @@ -444,13 +444,13 @@ "SecretKey": "SecretKey", "For safety, must use secret key": "為了安全起見,必須使用秘密金鑰", "Device Token": "裝置權杖", - "Platform": "平台", + "Platform": "平臺", "Huawei": "華為", "High": "高", "Retry": "重試", "Topic": "Topic", "WeCom Bot Key": "WeCom 機器人金鑰", - "Setup Proxy": "設置 Proxy", + "Setup Proxy": "設定 Proxy", "Proxy Protocol": "Proxy 通訊協定", "Proxy Server": "Proxy 伺服器", "Proxy server has authentication": "Proxy 伺服器啟用了驗證功能", @@ -503,7 +503,7 @@ "onebotGroupMessage": "群組", "onebotPrivateMessage": "私人", "onebotUserOrGroupId": "群組/使用者 ID", - "onebotSafetyTips": "為了安全起見,必須設置存取權杖", + "onebotSafetyTips": "為了安全起見,必須設定存取權杖", "PushDeer Key": "PushDeer 金鑰", "Footer Text": "頁尾文字", "Show Powered By": "顯示技術支援文字", @@ -525,8 +525,8 @@ "Octopush API Version": "Octopush API 版本", "Legacy Octopush-DM": "舊版 Octopush-DM", "endpoint": "端", - "octopushAPIKey": "在控制台的 HTTP API 憑證取得的 \"API 金鑰\"", - "octopushLogin": "在控制台的 HTTP API 憑證取得的 \"Login\"", + "octopushAPIKey": "在控制檯的 HTTP API 憑證取得的 \"API 金鑰\"", + "octopushLogin": "在控制檯的 HTTP API 憑證取得的 \"Login\"", "promosmsLogin": "API 登入名稱", "promosmsPassword": "API 密碼", "pushoversounds pushover": "Pushover (預設)", @@ -548,7 +548,7 @@ "pushoversounds alien": "外星鬧鐘 (長)", "pushoversounds climb": "爬升 (長)", "pushoversounds persistent": "持續 (長)", - "pushoversounds echo": "Pushover 回音 (長)", + "pushoversounds echo": "Pushover 迴音 (長)", "pushoversounds updown": "上下 (長)", "pushoversounds vibrate": "僅震動", "pushoversounds none": "無 (靜音)", @@ -590,7 +590,7 @@ "Examples": "範例", "Home Assistant URL": "Home Assistant 網址", "Long-Lived Access Token": "長期有效存取權杖", - "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "若要建立長期有效存取權杖,請點擊您的個人檔案名稱 (左下角),捲動至最下方,然後點擊建立權杖。 ", + "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "若要建立長期有效存取權杖,請點選您的個人檔案名稱 (左下角),捲動至最下方,然後點選建立權杖。 ", "Notification Service": "通知服務", "default: notify all devices": "預設:通知所有服務", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "您可以在 Home Assistant 中查看通知服務的列表,在\"開發者工具 > 服務\"下搜尋\"通知\"來找到您的裝置/手機的名稱。", @@ -626,7 +626,7 @@ "weekdayShortFri": "五", "weekdayShortSat": "六", "weekdayShortSun": "日", - "dayOfWeek": "每周特定一天", + "dayOfWeek": "每週特定一天", "dayOfMonth": "每月特定一天", "lastDay": "最後一天", "lastDay1": "每月的最後一天", @@ -644,7 +644,7 @@ "Server Timezone": "伺服器時區", "statusPageMaintenanceEndDate": "結束", "IconUrl": "圖示網址", - "Enable DNS Cache": "(已棄用)為 HTTP(s) 監控項啟用 DNS 緩存", + "Enable DNS Cache": "(已棄用)為 HTTP(s) 監控項啟用 DNS 快取", "Enable": "啟用", "Disable": "停用", "dnsCacheDescription": "在某些 IPv6 環境可能會無法運作,如果您遇到任何問題,請停用。", @@ -667,41 +667,41 @@ "General Monitor Type": "一般監測器類型", "Passive Monitor Type": "被動監測器類型", "Specific Monitor Type": "指定監測器類型", - "plugin": "插件 | 插件", + "plugin": "外掛程式 | 外掛程式", "install": "安裝", "Game": "遊戲", "Help": "幫助", "Monitor": "監測器 | 監測器", "Custom": "自訂", - "sameAsServerTimezone": "使用服務器時區", + "sameAsServerTimezone": "使用伺服器時區", "cronExpression": "Cron 表達式", "telegramSendSilently": "悄悄的發送", "telegramSendSilentlyDescription": "悄悄的發送訊息。使用者會收到通知,但是是無聲的。", "pagertreeDoNothing": "什麼都不做", - "Add New Tag": "添加新標籤", + "Add New Tag": "新增標籤", "telegramMessageThreadIDDescription": "(可選) Telegram 話題描述", "telegramMessageThreadID": "(選填) Telegram 話題 ID", "startDateTime": "開始日期/時間", "endDateTime": "結束日期/時間", "cronSchedule": "計劃: ", "invalidCronExpression": "無效的 Cron 表達式:{0}", - "telegramProtectContent": "阻止轉發/保存", - "telegramProtectContentDescription": "如果啟用,Telegram 中的機器人訊息將受到保護,不會被轉發和保存。", + "telegramProtectContent": "阻止轉發/儲存", + "telegramProtectContentDescription": "如果啟用,Telegram 中的機器人訊息將受到保護,不會被轉發和儲存。", "installing": "安裝中", - "uninstall": "卸載", - "loadingError": "無法獲取數據, 請重試。", + "uninstall": "移除", + "loadingError": "無法取得數據, 請重試。", "markdownSupported": "支援 Markdown 語法", "Packet Size": "數據包大小", - "statusPageRefreshIn": "將於 {0} 後刷新", - "confirmUninstallPlugin": "是否要卸載這個插件?", - "Key Added": "已創建金鑰", + "statusPageRefreshIn": "將於 {0} 後重新整理", + "confirmUninstallPlugin": "是否要移除這個外掛程式?", + "Key Added": "已建立金鑰", "Clone Monitor": "複製監控項目", "Clone": "複製", "cloneOf": "從 {0} 複製", "uninstalling": "移除中", "notificationRegional": "地區限定", - "wayToGetZohoCliqURL": "您可以前往此頁面以了解如何建立 webhook 網址 {0}。", - "wayToGetKookBotToken": "到 {0} 創建應用程式並取得 bot token", + "wayToGetZohoCliqURL": "您可以前往此頁面以瞭解如何建立 webhook 網址 {0}。", + "wayToGetKookBotToken": "到 {0} 建立應用程式並取得 bot token", "dataRetentionTimeError": "保留期限必須為 0 或正數", "infiniteRetention": "設定為 0 以作無限期保留。", "confirmDeleteTagMsg": "你確定你要刪除此標籤?相關的監測器不會被刪除。", @@ -755,8 +755,8 @@ "filterActive": "啟用", "filterActivePaused": "暫停", "Select": "選擇", - "enableNSCD": "啟用 NSCD(名稱服務緩存)以緩存所有 DNS 請求", - "Server URL should not contain the nfty topic": "服務器地址不應包含 ntfy主題", + "enableNSCD": "啟用 NSCD(名稱服務快取)以快取所有 DNS 請求", + "Server URL should not contain the nfty topic": "伺服器地址不應包含 ntfy主題", "Invert Keyword": "反轉模式", "Request Timeout": "請求超時", "timeoutAfter": "{0} 秒後超時", @@ -770,19 +770,132 @@ "Check/Uncheck": "選中/取消選中", "tailscalePingWarning": "如需使用 Tailscale Ping 客戶端,您需要以非 docker 方式安裝 Uptime Kuma,並同時安裝 Tailscale 客戶端。", "invertKeywordDescription": "出現關鍵詞將令檢測結果設為失敗,而非成功。", - "jsonQueryDescription": "對響應結果執行一次 JSON 查詢,其返回值將會被轉換為字符串,再與期望值進行比較。可訪問jsonata.org 閱讀JSON 查詢語言的文檔,或在此處測試查詢語句。", - "wayToGetKookGuildID": "在 Kook 設置中打開“開發者模式”,然後右鍵點擊頻道可獲取其 ID", + "jsonQueryDescription": "對回應結果執行一次 JSON 查詢,其返回值將會被轉換為字串,再與期望值進行比較。可造訪jsonata.org 閱讀JSON 查詢語言的文件,或在此處測試查詢語句。", + "wayToGetKookGuildID": "在 Kook 設定中打開“開發者模式”,然後右鍵點選頻道可取得其 ID", "Notify Channel": "通知該頻道", "aboutNotifyChannel": "勾選“通知該頻道”,會令該頻道內所有成員都收到一條桌面端或移動端通知,無論其狀態是在線或離開。", - "pagertreeIntegrationUrl": "集成 URL 地址", + "pagertreeIntegrationUrl": "整合 URL 地址", "pagertreeUrgency": "緊急程度", "Expected Value": "預期值", "Json Query": "JSON 查詢", "setupDatabaseChooseDatabase": "您想使用什麼資料庫?", - "setupDatabaseEmbeddedMariaDB": "您不需要設置任何東西。 此 docker 映像檔已自動為您嵌入並配置了 MariaDB。 Uptime Kuma 將通過 unix 套接字連接到該資料庫。", - "setupDatabaseMariaDB": "連接到外部 MariaDB 資料庫。 需要設置資料庫連接資訊。", + "setupDatabaseEmbeddedMariaDB": "您不需要做任何設定。此 Docker 映像檔已內建並設定了 MariaDB。Uptime Kuma 將透過 unix socket 連線到該資料庫。", + "setupDatabaseMariaDB": "連線到外部 MariaDB 資料庫。 需要設定資料庫連線資訊。", "dbName": "資料庫名稱", - "Show Clickable Link": "顯示可點擊連結", + "Show Clickable Link": "顯示可點選連結", "pagertreeSilent": "靜音", - "twilioApiKey": "API 金鑰 (選用)" + "twilioApiKey": "API 金鑰 (選用)", + "Badge Preview": "徽章預覽", + "pushViewCode": "如何使用 Push 監控?(檢視程式碼)", + "pushOthers": "其他", + "programmingLanguages": "程式語言", + "twilioToNumber": "目標號碼", + "Badge Duration (in hours)": "徽章持續時間(小時)", + "Badge Prefix": "徽章值字首", + "Badge Suffix": "徽章值字尾", + "Badge Label Color": "徽章標籤顏色", + "Badge Color": "徽章顏色", + "Badge Label Prefix": "徽章標籤字首", + "Badge Label Suffix": "徽章標籤字尾", + "Badge Up Color": "徽章上線顏色", + "Badge Down Color": "徽章離線顏色", + "Badge Pending Color": "徽章待定顏色", + "Badge Maintenance Color": "徽章維護顏色", + "Badge Warn Color": "徽章警告顏色", + "Badge Warn Days": "徽章警告天數", + "Badge Down Days": "徽章離線天數", + "Badge Style": "徽章風格", + "Badge value (For Testing only.)": "徽章值(僅供測試。)", + "Badge URL": "徽章網址", + "Group": "群組", + "Monitor Group": "監控群組", + "monitorToastMessagesLabel": "監控 Toast 通知", + "monitorToastMessagesDescription": "監控的 Toast 通知會在指定的秒數後消失。設定為 -1 以停用逾時。設定為 0 以停用 Toast 通知。", + "toastErrorTimeout": "錯誤通知的逾時", + "toastSuccessTimeout": "成功通知的逾時", + "Kafka Brokers": "Kafka Brokers", + "Enter the list of brokers": "輸入 Broker 清單", + "Press Enter to add broker": "按 Enter 以新增 Broker", + "Kafka Topic Name": "Kafka 主題名稱", + "Kafka Producer Message": "Kafka Producer 訊息", + "Enable Kafka SSL": "啟用 Kafka SSL", + "Enable Kafka Producer Auto Topic Creation": "啟用 Kafka Producer 自動主題建立", + "Kafka SASL Options": "Kafka SASL 選項", + "Mechanism": "機制", + "gamedigGuessPortDescription": "Valve 伺服器查詢協定使用的連接埠可能與客戶端連接埠不同。如果監控無法連線到您的伺服器,請嘗試此選項。", + "Saved.": "已儲存。", + "authInvalidToken": "無效權杖。", + "authIncorrectCreds": "使用者名稱或密碼錯誤。", + "2faAlreadyEnabled": "已啟用 2FA。", + "2faDisabled": "已停用 2FA。", + "successAdded": "新增成功。", + "successResumed": "已成功恢復。", + "successPaused": "已成功暫停。", + "successDeleted": "刪除成功。", + "successEdited": "編輯成功。", + "successAuthChangePassword": "密碼已成功更新。", + "authUserInactiveOrDeleted": "使用者已停用或已刪除。", + "2faEnabled": "已啟用 2FA。", + "liquidIntroduction": "模板功能是透過 Liquid 模板語言實現的。請參考 {0} 以取得使用說明。以下是可用的變數:", + "templateMsg": "通知訊息", + "templateHeartbeatJSON": "描述心跳的物件", + "templateMonitorJSON": "描述監控的物件", + "templateLimitedToUpDownCertNotifications": "僅適用於 UP/DOWN/憑證到期通知", + "templateLimitedToUpDownNotifications": "僅適用於 UP/DOWN 通知", + "Open Badge Generator": "開啟徽章產生器", + "Badge Generator": "{0} 的徽章產生器", + "Badge Type": "徽章類型", + "GrafanaOncallUrl": "Grafana Oncall 網址", + "emailCustomisableContent": "可自訂內容", + "smtpLiquidIntroduction": "以下兩個欄位可以透過 Liquid 模板語言進行模板化。請參考 {0} 以取得使用說明。以下是可用的變數:", + "leave blank for default subject": "留空以使用預設主旨", + "emailCustomBody": "自訂內文", + "leave blank for default body": "留空以使用預設內文", + "emailTemplateServiceName": "服務名稱", + "emailTemplateHostnameOrURL": "主機名稱或網址", + "emailTemplateStatus": "狀態", + "emailTemplateMonitorJSON": "描述監控的物件", + "emailTemplateHeartbeatJSON": "描述心跳的物件", + "emailTemplateMsg": "通知訊息", + "emailTemplateLimitedToUpDownNotification": "僅適用於 UP/DOWN 心跳,否則為空", + "successBackupRestored": "備份已成功還原。", + "successDisabled": "已成功停用。", + "successEnabled": "已成功啟用。", + "tagNotFound": "找不到標籤。", + "foundChromiumVersion": "找到 Chromium/Chrome。版本:{0}", + "setupDatabaseSQLite": "一個簡單的資料庫檔案,適用於小規模部署。在 v2.0.0 之前,Uptime Kuma 預設使用 SQLite 作為資料庫。", + "Pick a SASL Mechanism...": "選擇一個 SASL 機制...", + "Authorization Identity": "授權身份", + "AccessKey Id": "存取金鑰 ID", + "Secret AccessKey": "秘密存取金鑰", + "Session Token": "工作階段權杖", + "noGroupMonitorMsg": "無法使用。請先建立群組監控。", + "Close": "關閉", + "Request Body": "請求主體", + "noOrBadCertificate": "無/錯誤憑證", + "Reset Token": "重設權杖", + "Bark API Version": "Bark API 版本", + "noDockerHostMsg": "無法使用。請先設定 Docker 主機。", + "DockerHostRequired": "請為此監控設定 Docker 主機。", + "Show Clickable Link Description": "如果勾選,所有能存取此狀態頁面的人都能存取監控網址。", + "Badge Label": "徽章標籤", + "wayToGetFlashDutyKey": "您可以前往「頻道 -> (選擇一個頻道) -> 整合 -> 新增一個新的整合」頁面,新增一個「自訂事件」以取得推送地址,並複製地址中的整合金鑰。欲知更多資訊,請訪問", + "FlashDuty Severity": "嚴重性", + "nostrRelays": "Nostr 中繼", + "nostrRelaysHelp": "每行一個中繼網址", + "nostrSender": "傳送者私鑰 (nsec)", + "nostrRecipients": "接收者公鑰 (npub)", + "nostrRecipientsHelp": "npub 格式,每行一個", + "showCertificateExpiry": "顯示憑證到期", + "wayToGetPagerTreeIntegrationURL": "在 PagerTree 中建立 Uptime Kuma 整合後,複製端點。檢視完整資訊 {0}", + "twilioFromNumber": "來源號碼", + "Browser Screenshot": "瀏覽器畫面截圖", + "Remote Browsers": "遠端瀏覽器", + "Remote Browser": "遠端瀏覽器", + "Add a Remote Browser": "新增遠端瀏覽器", + "Remote Browser not found!": "找不到遠端瀏覽器!", + "self-hosted container": "自架容器", + "useRemoteBrowser": "使用遠端瀏覽器", + "Add a domain": "新增網域", + "Remove domain": "移除網域 '{0}'" } From e21aa12fb16035e2a3814bb856001ff00f9a1c62 Mon Sep 17 00:00:00 2001 From: Jochem Pluim Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 222/494] Translated using Weblate (Dutch) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Dutch) Currently translated at 95.2% (820 of 861 strings) Translated using Weblate (English) Currently translated at 100.0% (861 of 861 strings) Co-authored-by: Jochem Pluim Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/en/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/en.json | 4 +- src/lang/nl-NL.json | 110 +++++++++++++++++++++++++++++++++++++------- 2 files changed, 96 insertions(+), 18 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 50c2bb63..af6f78ed 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -1,7 +1,7 @@ { "languageName": "English", "setupDatabaseChooseDatabase": "Which database do you want to use?", - "setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image have embedded and configured a MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.", + "setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image has embedded and configured MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.", "setupDatabaseMariaDB": "Connect to an external MariaDB database. You need to set the database connection information.", "setupDatabaseSQLite": "A simple database file, recommended for small-scale deployments. Prior to v2.0.0, Uptime Kuma used SQLite as the default database.", "settingUpDatabaseMSG": "Setting up the database. It may take a while, please be patient.", @@ -76,7 +76,7 @@ "resendEveryXTimes": "Resend every {0} times", "resendDisabled": "Resend disabled", "retriesDescription": "Maximum retries before the service is marked as down and a notification is sent", - "ignoreTLSError": "Ignore TLS/SSL error for HTTPS websites", + "ignoreTLSError": "Ignore TLS/SSL errors for HTTPS websites", "upsideDownModeDescription": "Flip the status upside down. If the service is reachable, it is DOWN.", "maxRedirectDescription": "Maximum number of redirects to follow. Set to 0 to disable redirects.", "Upside Down Mode": "Upside Down Mode", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 5926199d..b36c1a85 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -580,7 +580,7 @@ "Server Timezone": "Server tijdzone", "statusPageMaintenanceEndDate": "Einde", "IconUrl": "Icoon URL", - "Enable DNS Cache": "DNS Cache inschakelen", + "Enable DNS Cache": "(Verouderd) Schakel DNS-cache in voor HTTP(s)-monitors", "Enable": "Inschakelen", "Disable": "Uitschakelen", "Single Maintenance Window": "Enkel onderhoudsperiode", @@ -618,7 +618,7 @@ "Lowcost": "Lowcost", "Economy": "Economy", "webhookAdditionalHeadersTitle": "Extra Headers", - "webhookAdditionalHeadersDesc": "Voegt extra headers toe die meegestuurd worden met de webhook. Elke header moet worden gedefinieerd als een JSON key/value.", + "webhookAdditionalHeadersDesc": "Voegt extra headers toe die meegestuurd worden met de webhook. Iedere header moet een JSON key/value zijn.", "Help": "Hulp", "Game": "Game", "statusMaintenance": "Onderhoud", @@ -730,17 +730,17 @@ "pagertreeIntegrationUrl": "Integratie URL", "pagertreeUrgency": "Urgentie", "pagertreeSilent": "Stil", - "telegramMessageThreadID": "(Optioneel) Message Thread ID", + "telegramMessageThreadID": "(Optioneel) Berichtthread-ID", "Clone Monitor": "Kloon Monitor", "Expires": "Vervalt", "webhookCustomBodyDesc": "Definieer een aangepaste HTTP Body voor de request. Template variabelen {msg}, {heartbeat}, {monitor} worden geaccepteerd.", - "webhookBodyPresetOption": "Vooraf ingesteld - {0}", + "webhookBodyPresetOption": "Voorinstelling - {0}", "webhookBodyCustomOption": "Aangepaste Body", "notificationRegional": "Regionaal", "No API Keys": "Geen API Sleutels", "apiKeyAddedMsg": "Je API-sleutel is toegevoegd. Noteer deze, want hij wordt niet meer weergegeven.", "Add API Key": "Voeg API Sleutel toe", - "telegramSendSilently": "Stil verzenden", + "telegramSendSilently": "Stil sturen", "telegramSendSilentlyDescription": "Stille verzending van het bericht. Gebruikers ontvangen een melding zonder geluid.", "Home": "Home", "Don't expire": "Verval nooit", @@ -755,16 +755,16 @@ "Invert Keyword": "Trefwoord omkeren", "filterActive": "Actief", "filterActivePaused": "Gepauzeerd", - "statusPageRefreshIn": "Vernieuwen in: {0}", - "telegramMessageThreadIDDescription": "Optioneel Unique identifier voor de target message thread (topic) van het forum; alleen voor forum-supergroepen", - "telegramProtectContentDescription": "Als deze optie is ingeschakeld, zijn de botberichten in Telegram beveiligd tegen doorsturen en opslaan.", - "telegramProtectContent": "Beveilig Doorsturen/Opslaan", - "sameAsServerTimezone": "Zelfde als Server Tijdzone", - "startDateTime": "Begindatum/Tijd", - "endDateTime": "Einddatum/Tijd", - "cronExpression": "Cron expressie", - "cronSchedule": "Planning: ", - "invalidCronExpression": "Ongeldige Cron expressie: {0}", + "statusPageRefreshIn": "Ververs in: {0}", + "telegramMessageThreadIDDescription": "Optioneel Unieke identifier voor de doelthread (onderwerp) van het forum; alleen voor forumsupergroepen", + "telegramProtectContentDescription": "Indien ingeschakeld, worden de botberichten in Telegram beschermd tegen doorsturen en opslaan.", + "telegramProtectContent": "Bescherm doorsturen/opslaan", + "sameAsServerTimezone": "Hetzelfde als Server Tijdzone", + "startDateTime": "Begindatum/-tijd", + "endDateTime": "Einddatum/-tijd", + "cronExpression": "Cron-expressie", + "cronSchedule": "Schema: ", + "invalidCronExpression": "Ongeldige Cron-expressie: {0}", "chromeExecutableDescription": "Voor Docker-gebruikers, als Chromium nog niet is geïnstalleerd, kan het een paar minuten duren om te installeren en het testresultaat weer te geven. Het neemt 1GB schijfruimte in beslag.", "invertKeywordDescription": "Kijk of het trefwoord afwezig is in plaats van aanwezig.", "pushoverMessageTtl": "Bericht TTL (seconden)", @@ -815,5 +815,83 @@ "styleElapsedTime": "Verstreken tijd onder de hartslagbalk", "styleElapsedTimeShowNoLine": "Laat zien (Geen lijn)", "styleElapsedTimeShowWithLine": "Laat zien (Met lijn)", - "timeoutAfter": "Timeout na {0} seconden" + "timeoutAfter": "Timeout na {0} seconden", + "Select": "Selecteer", + "Server URL should not contain the nfty topic": "De server-URL mag het nfty-onderwerp niet bevatten", + "templateMsg": "bericht van de melding", + "liquidIntroduction": "Templatabiliteit wordt bereikt via de Liquid-templatingtaal. Raadpleeg de {0} voor gebruiksinstructies. Dit zijn de beschikbare variabelen:", + "emailTemplateLimitedToUpDownNotification": "alleen beschikbaar voor UP/DOWN heartbeats, anders null", + "enableNSCD": "Schakel NSCD (Name Service Cache Daemon) in voor het cachen van alle DNS-verzoeken", + "smtpLiquidIntroduction": "De volgende twee velden zijn in te stellen via de Liquid-templatingtaal. Raadpleeg de {0} voor gebruiksinstructies. Dit zijn de beschikbare variabelen:", + "emailCustomisableContent": "Aanpasbare inhoud", + "Reset Token": "Hersteltoken", + "noDockerHostMsg": "Niet beschikbaar. Stel eerst een Docker host in.", + "DockerHostRequired": "Stel de Docker host voor deze monitor in.", + "leave blank for default subject": "laat leeg voor standaard onderwerp", + "emailCustomBody": "Aangepaste inhoud", + "leave blank for default body": "laat leeg voor standaard inhoud", + "emailTemplateServiceName": "Service naam", + "emailTemplateHostnameOrURL": "Hostnaam of URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "object dat de monitor beschrijft", + "emailTemplateHeartbeatJSON": "object dat de heartbeat beschrijft", + "emailTemplateMsg": "meldingsbericht", + "PushDeer Server": "PushDeer-server", + "Kafka Brokers": "Kafka Brokers", + "Enter the list of brokers": "Voer de lijst met brokers in", + "monitorToastMessagesLabel": "Monitor toast-meldingen", + "monitorToastMessagesDescription": "Toast-meldingen voor monitors verdwijnen na het opgegeven aantal meldingen. Zet dit op -1 om het verdwijnen uit te zetten. Zet op 0 om meldingen helemaal uit te zetten.", + "toastErrorTimeout": "Timeout voor foutmeldingen", + "toastSuccessTimeout": "Timeout voor succesmeldingen", + "Press Enter to add broker": "Druk op enter om een broker toe te voegen", + "Bark API Version": "Bark API-versie", + "templateHeartbeatJSON": "object dat de heartbeat beschrijft", + "templateMonitorJSON": "object dat de monitor beschrijft", + "templateLimitedToUpDownCertNotifications": "alleen beschikbaar voor UP/DOWN/Certificaatverloop notificaties", + "templateLimitedToUpDownNotifications": "alleen beschikbaar voor UP/DOWN notificaties", + "pushDeerServerDescription": "Laat dit veld leeg om de officiële server te gebruiken", + "Check/Uncheck": "Vink/Ontvink", + "tailscalePingWarning": "Om de Tailscale Ping-monitor te kunnen gebruiken, moet u Uptime Kuma zonder Docker installeren en ook de Tailscale-client op uw server installeren.", + "selectedMonitorCount": "Geselecteerd: {0}", + "wayToGetFlashDutyKey": "Ga naar Kanaal -> (Kies een kanaal) -> Integraties -> Voeg een nieuwe integratie toe, voeg een 'Custom Event' toe om een push-adres te verkrijgen, kopieer de integratiesleutel in het adres-veld. Voor meer informatie, zie", + "gamedigGuessPortDescription": "De poort die wordt gebruikt door het Valve Server Query Protocol kan verschillen van de clientpoort. Probeer dit als de monitor geen verbinding kan maken met je server.", + "authUserInactiveOrDeleted": "De gebruiker is inactief of verwijderd.", + "authInvalidToken": "Ongeldig token.", + "authIncorrectCreds": "Ongeldige gebruikersnaam of wachtwoord.", + "2faAlreadyEnabled": "2FA is al ingeschakeld.", + "2faEnabled": "2FA Ingeschakeld.", + "2faDisabled": "2FA Uitgeschakeld.", + "successAdded": "Succesvol toegevoegd.", + "successResumed": "Succesvol doorgegaan.", + "successPaused": "Succesvol gepauzeerd.", + "successDeleted": "Succesvol verwijderd.", + "successEdited": "Succesvol bewerkt.", + "GrafanaOncallUrl": "Grafana Oncall URL", + "Kafka SASL Options": "Kafka SASL opties", + "Pick a SASL Mechanism...": "Kies een SASL mechanisme...", + "Enable Kafka SSL": "Kafka SSL inschakelen", + "Kafka Topic Name": "Kafka Topicnaam", + "Kafka Producer Message": "Kafka Producer bericht", + "Enable Kafka Producer Auto Topic Creation": "Kafka Producer automatische topic aanmaak inschakelen", + "Mechanism": "Mechanisme", + "Authorization Identity": "Autorisatie-identiteit", + "AccessKey Id": "AccessKey Id", + "Secret AccessKey": "Geheim AccessKey", + "Session Token": "Sessietoken", + "FlashDuty Severity": "Hevigheid", + "nostrRelays": "Nostr relays", + "nostrRelaysHelp": "Een relay-URL per regel", + "nostrSender": "Private key van de afzender (nsec)", + "nostrRecipients": "Publieke sleutels van de ontvangers (npub)", + "nostrRecipientsHelp": "npub formaat, een per regel", + "showCertificateExpiry": "Toon certificaat verloopdatum", + "noOrBadCertificate": "Geen/Fout certificaat", + "gamedigGuessPort": "Gamedig: Guess poort", + "Saved.": "Opgeslagen.", + "successAuthChangePassword": "Wachtwoord is succesvol gewijzigd.", + "successBackupRestored": "Backup succesvol teruggezet.", + "successDisabled": "Succesvol uitgeschakeld.", + "successEnabled": "Succesvol ingeschakeld.", + "tagNotFound": "Tag niet gevonden.", + "foundChromiumVersion": "Chromium/Chrome gevonden. Versie {0}" } From 3e14c77b595551f62bdb6a59e57b318c32a6d197 Mon Sep 17 00:00:00 2001 From: william luqui Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 223/494] Translated using Weblate (Portuguese) Currently translated at 5.8% (50 of 861 strings) Co-authored-by: william luqui Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt.json | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/lang/pt.json b/src/lang/pt.json index 3f9369b0..4fb1ee2f 100644 --- a/src/lang/pt.json +++ b/src/lang/pt.json @@ -1,8 +1,8 @@ { "Settings": "Definições", "Help": "Ajuda", - "New Update": "Nova actualização", - "Language": "Linguagem", + "New Update": "Nova atualização", + "Language": "Idioma", "Appearance": "Aspecto", "Theme": "Tema", "General": "Geral", @@ -26,7 +26,7 @@ "Resume": "Retomar", "Edit": "Editar", "Delete": "Remover", - "Current": "Actual", + "Current": "Atual", "Uptime": "Tempo de atividade", "day": "dia | dias", "languageName": "Português", @@ -35,5 +35,18 @@ "Dashboard": "Dashboard", "Add New Monitor": "Adicionar Novo Monitor", "Home": "Home", - "Check Update On GitHub": "Verificar por Actualizações no GitHub" + "Check Update On GitHub": "Verificar por Atualizações no GitHub", + "setupDatabaseChooseDatabase": "Qual banco de dados você deseja usar?", + "setupDatabaseEmbeddedMariaDB": "Não é necessario definir. Esta imagem do docker incorporou e configurou automaticamente o MariaDB para você. O Uptime Kuma se conectará a este banco de dados via soquete unix.", + "setupDatabaseMariaDB": "Conecte-se a um banco de dados MariaDB externo. Você precisa definir as informações de conexão do banco de dados.", + "setupDatabaseSQLite": "Um arquivo de banco de dados simples, recomendado para implantações em pequena escala. Antes da v2.0.0, o Uptime Kuma usava SQLite como banco de dados padrão.", + "dbName": "Nome do banco de dados", + "Monitor": "Monitorar", + "hour": "hora", + "-hour": "-hora", + "Response": "Resposta", + "Ping": "Ping", + "-day": "-dia", + "Port": "Porta", + "Cannot connect to the socket server": "Não é possível conectar-se ao socket server" } From 976b6e684bb4f56727b1579213ce82aeb6787163 Mon Sep 17 00:00:00 2001 From: geovanedev5 Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 224/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.7% (859 of 861 strings) Co-authored-by: geovanedev5 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index acac56ba..05e48d2b 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -54,7 +54,7 @@ "Delete": "Apagar", "Current": "Atual", "Uptime": "Tempo de atividade", - "Cert Exp.": "Expiração do Certificado", + "Cert Exp.": "Expiração Do Certificado.", "day": "dia | dias", "-day": "-dia", "hour": "hora", @@ -593,7 +593,7 @@ "Saved.": "Salvo.", "Feishu WebHookUrl": "URL de Webhook do Feishu", "serwersmsAPIUser": "Nome de usuário da API (incluindo o prefixo webapi_)", - "setupDatabaseEmbeddedMariaDB": "Você não precisa configurar nada. Esta imagem Docker possui o MariaDB incorporado e configurado automaticamente para você. O Uptime Kuma se conectará a este banco de dados através do soquete Unix.", + "setupDatabaseEmbeddedMariaDB": "Você não precisa definir nada. Esta imagem docker incorporou e configurou um MariaDB para você automaticamente. Uptime Kuma se conectará a este banco de dados via soquete unix.", "Select": "Selecione", "supportTelegramChatID": "Suporte para o ID de bate-papo direto / grupo / canal do chat", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Uma lista de Serviços de Notificação pode ser encontrada no Home Assistant em \"Ferramentas de Desenvolvimento > Serviços\". Pesquise por \"notificação\" para encontrar o nome do seu dispositivo/telefone.", @@ -729,8 +729,8 @@ "Show Clickable Link Description": "Se marcada, todos que têm acesso a esta página de status podem ter acesso ao URL do monitor.", "Group": "Grupo", "Monitor Group": "Grupo do Monitor", - "Request Timeout": "Tempo Limite da Solicitação", - "timeoutAfter": "Tempo limite após {0} segundos", + "Request Timeout": "Tempo esgotado da requisição", + "timeoutAfter": "Tempo esgotado após {0} segundos", "webhookBodyPresetOption": "Predefinição - {0}", "webhookBodyCustomOption": "Corpo Customizado", "Check/Uncheck": "Marcar/Desmarcar", @@ -759,7 +759,7 @@ "High": "Alto", "WeCom Bot Key": "Chave do Bot do WeCom", "promosmsTypeEco": "SMS ECO - barato, mas lento e frequentemente sobrecarregado. Limitado apenas aos destinatários poloneses.", - "styleElapsedTime": "Tempo decorrido abaixo da barra de pulsação", + "styleElapsedTime": "Tempo decorrido na barra de heartbeat", "Expected Value": "Valor Esperado", "webhookCustomBodyDesc": "Defina um corpo HTTP personalizado para a solicitação. Variáveis de modelo {msg}, {heartbeat}, {monitor} são aceitas.", "Invert Keyword": "Palavra-chave de Inversão", @@ -794,7 +794,7 @@ "Reset Token": "Redefinir Token", "Kafka Brokers": "Kafka Brokers", "Kafka Producer Message": "Mensagem do produtor Kafka", - "pushViewCode": "Como usar o Push monitor? (Ver código)", + "pushViewCode": "Como Utilizar o Monitor de Push ( Visualizar Codigo)", "Enter the list of brokers": "Entre a lista de brokers", "Press Enter to add broker": "Pressione Enter para adicionar broker", "Kafka Topic Name": "Nome do tópico Kafka", @@ -804,7 +804,7 @@ "Pick a SASL Mechanism...": "Escolha um mecanismo SASL...", "Bark API Version": "Versão da API Bark", "pushOthers": "Outros", - "programmingLanguages": "Linguagens de programação", + "programmingLanguages": "Linguagens de Programação", "liquidIntroduction": "A modelabilidade é obtida por meio da linguagem de modelagem Liquid. Consulte {0} para obter instruções de uso. Estas são as variáveis disponíveis:", "Secret AccessKey": "Chave de acesso secreta", "Authorization Identity": "Identidade de autorização", @@ -831,5 +831,34 @@ "noGroupMonitorMsg": "Não disponível. Crie primeiro um monitor de grupo.", "Close": "Fechar", "Request Body": "Corpo da Solicitação", - "AccessKey Id": "ID da chave de acesso" + "AccessKey Id": "ID da chave de acesso", + "nostrRelays": "Nostr relays", + "nostrRecipientsHelp": "formato npub, um por linha", + "gamedigGuessPortDescription": "A porta usada pelo Valve Server Query Protocol pode ser diferente da porta do cliente. Tente fazer isso se o monitor não conseguir se conectar ao seu servidor.", + "authUserInactiveOrDeleted": "O usuário está inativo ou excluído.", + "authInvalidToken": "Token inválido.", + "authIncorrectCreds": "Usuário ou senha incorretos.", + "2faAlreadyEnabled": "2FA já está ativado.", + "2faEnabled": "2FA habilitado.", + "2faDisabled": "2FA desativado.", + "nostrSender": "Chave privada do remetente (nsec)", + "nostrRecipients": "Chaves Públicas dos Destinatários (npub)", + "GrafanaOncallUrl": "URL do Grafana Oncall", + "noDockerHostMsg": "Não disponível. Configure primeiro um Docker Host.", + "DockerHostRequired": "Defina o Docker Host para este monitor.", + "nostrRelaysHelp": "Um URL de retransmissão por linha", + "showCertificateExpiry": "Mostrar expiração do certificado", + "noOrBadCertificate": "Certificado Ruim/Ausente", + "successAdded": "Adicionado com sucesso.", + "successResumed": "Reiniciado com sucesso.", + "successPaused": "Pausado com sucesso.", + "successDeleted": "Apagado com sucesso.", + "successEdited": "Editado com sucesso.", + "successAuthChangePassword": "A senha foi atualizada com sucesso.", + "successBackupRestored": "Backup restaurado com sucesso.", + "successDisabled": "Desativado com sucesso.", + "successEnabled": "Habilitado com sucesso.", + "tagNotFound": "Etiqueta não encontrada.", + "gamedigGuessPort": "Gamedig: Guess Porta", + "foundChromiumVersion": "Chromium/Chrome encontrado. Versão: {0}" } From 0065effc2629a4a969e37cf598c778dd26a95434 Mon Sep 17 00:00:00 2001 From: 0n1cOn3 <0n1cOn3@gmx.ch> Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 225/494] Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (861 of 861 strings) Co-authored-by: 0n1cOn3 <0n1cOn3@gmx.ch> Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 10e33b26..773ccc6a 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -837,11 +837,11 @@ "styleElapsedTime": "Verstrichene Zeit unter der Prüfintervallleiste", "Check/Uncheck": "Aktivieren/Deaktivieren", "enableNSCD": "Aktiviere NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen", - "setupDatabaseChooseDatabase": "Welche Datenbank möchtest du verwenden?", - "setupDatabaseEmbeddedMariaDB": "Du brauchst nichts einzustellen. Dieses Docker-Image hat automatisch eine MariaDB für dich eingerichtet und konfiguriert. Uptime Kuma wird sich mit dieser Datenbank über einen Unix-Socket verbinden.", + "setupDatabaseChooseDatabase": "Welli Datebank möchtisch du verwände?", + "setupDatabaseEmbeddedMariaDB": "Du bruchsch nüt izstelle. De Docker-Image het automatisch es MariaDB für dich igrichtet und konfiguriert. Uptime Kuma wird sich mit de Datebank über e Unix-Socket verbinden.", "dbName": "Datenbank Name", - "setupDatabaseMariaDB": "Mit externer MariaDB-Datenbank verbinden. Du musst die Verbindungsinformationen für die Datenbank festlegen.", - "setupDatabaseSQLite": "Eine einfache Datenbankdatei, empfohlen für kleinere Bereitstellungen. Vor v2.0.0 verwendete Uptime Kuma SQLite als Standarddatenbank.", + "setupDatabaseMariaDB": "Mit externe MariaDB-Datebank verbinde. Du muesch die Verbindungsinformatione für die Datebank festlege.", + "setupDatabaseSQLite": "Ei eifachi Datebankdatei, empfohle für kleineri Bereitstellige. Vor v2.0.0 verwändeti Uptime Kuma SQLite als Standarddatebank.", "Saved.": "Gespeichert.", "monitorToastMessagesLabel": "Toast-Benachrichtigungen überwachen", "toastSuccessTimeout": "Zeitüberschreitung für Erfolgsbenachrichtigungen", From b0a771e3419b9570ea7f5fc36e8951b5b96330de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Buchti=C4=8D?= Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 226/494] Translated using Weblate (Czech) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (861 of 861 strings) Co-authored-by: Buchtič Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/cs-CZ.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index a661bea6..84c518e2 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -887,5 +887,10 @@ "emailTemplateStatus": "Stav", "emailTemplateMsg": "text oznámení", "templateHeartbeatJSON": "objekt popisující funkčnost systému (heartbeat)", - "templateLimitedToUpDownCertNotifications": "dostupné pouze pro oznámení Běží/neběží/stav certifikátu" + "templateLimitedToUpDownCertNotifications": "dostupné pouze pro oznámení Běží/neběží/stav certifikátu", + "emailTemplateMonitorJSON": "objekt popisující dohled", + "emailTemplateHeartbeatJSON": "objekt popisující heartbeat", + "emailTemplateLimitedToUpDownNotification": "dostupné pouze pro heatbeaty BĚŽÍ/NEBĚŽÍ, jinak null", + "templateMonitorJSON": "objekt popisující dohled", + "templateLimitedToUpDownNotifications": "dostupné pouze pro oznámení BĚŽÍ/NEBĚŽÍ" } From 1f441fa3a4b9df6911e7b9a9317071836761f889 Mon Sep 17 00:00:00 2001 From: Marcus Vechiato Date: Fri, 15 Dec 2023 10:18:21 +0000 Subject: [PATCH 227/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (861 of 861 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (861 of 861 strings) Co-authored-by: Marcus Vechiato Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 05e48d2b..203f919d 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -1,5 +1,5 @@ { - "languageName": "Português (Brasil)", + "languageName": "Português (Brasileiro)", "checkEverySecond": "Verificar a cada {0} segundos", "retryCheckEverySecond": "Tentar novamente a cada {0} segundos", "retriesDescription": "Máximo de tentativas antes que o serviço seja marcado como inativo e uma notificação seja enviada", @@ -196,7 +196,7 @@ "Required": "Requerido", "webhookJsonDesc": "{0} é bom para qualquer servidor HTTP moderno, como Express.js", "webhookAdditionalHeadersTitle": "Cabeçalhos Adicionais", - "webhookAdditionalHeadersDesc": "Define cabeçalhos adicionais enviados com o webhook. Cada cabeçalho deve ser definido como uma chave/valor JSON.", + "webhookAdditionalHeadersDesc": "Define cabeçalhos adicionais enviados com o webhook. Cada cabeçalho pode ser definido como uma chave/valor JSON.", "Webhook URL": "URL Do Webhook", "Priority": "Prioridade", "Read more": "Ver mais", @@ -306,11 +306,11 @@ "Notification Service": "Serviço De Notificação", "default: notify all devices": "padrão: notificar todos os dispositivos", "Trigger type:": "Tipo Do Acionamento:", - "Then choose an action, for example switch the scene to where an RGB light is red.": "Em seguida, escolha uma ação, por exemplo, alterar a cena onde uma luz RGB está vermelha.", + "Then choose an action, for example switch the scene to where an RGB light is red.": "Então escolha uma ação, por exemplo, mudar o cenário onde uma luz RGB está vermelha.", "Enable": "Habilitado", "Disable": "Desabilitado", "IconUrl": "URL Do Ícone", - "Enable DNS Cache": "(Descontinuado) Habilitar o Cache DNS para monitores HTTP(s)", + "Enable DNS Cache": "(Descontinuado) Habilitar Cache de DNS para monitores HTTP(s)", "Single Maintenance Window": "Janela Única De Manutenção", "dnsCacheDescription": "Pode não funcionar em alguns ambientes com IPv6, desabita caso encontre qualquer problema.", "Messaging API": "API Da Mensageira", @@ -548,11 +548,11 @@ "endpoint": "endpoint", "pagertreeIntegrationUrl": "URL de Integração", "pagertreeUrgency": "Urgência", - "telegramMessageThreadID": "(Opcional) Message Thread ID", + "telegramMessageThreadID": "(Opcional) ID do tópico da mensagem", "Edit Tag": "Editar Etiqueta", "Server Address": "Endereço do Servidor", "Learn More": "Aprender Mais", - "needSignalAPI": "Você precisa de um cliente Signal com API REST.", + "needSignalAPI": "Você precisa ter um cliente Signal com uma API REST.", "Generate": "Gerar", "deleteAPIKeyMsg": "Você tem certeza de que quer apagar essa chave de API?", "plugin": "Plugin | Plugins", @@ -571,16 +571,16 @@ "secureOptionTLS": "TLS (465)", "From Email": "Remetente", "smtpCC": "CC", - "smtpBCC": "CCO", + "smtpBCC": "BCC", "To Email": "Destinatário", "Recipients": "Destinatários", "Google Analytics ID": "ID Google Analytics", "Post": "Post", - "Slug": "Slug", - "The slug is already taken. Please choose another slug.": "Esse slug já foi utilizado. Por favor escolha outro slug.", - "Setup Docker Host": "Configurar Host Docker", - "trustProxyDescription": "Confiar nos cabeçalhos 'X-Forwarded-*'. Se você quer obter o endereço IP do cliente correto no seu Uptime Kuma que está por trás de um proxy como Nginx ou Apache, você deve ativar isso.", - "Automations can optionally be triggered in Home Assistant:": "Automações podem opcionalmente ser disparadas no Home Assistant:", + "Slug": "Apelido", + "The slug is already taken. Please choose another slug.": "Este apelido já está em uso. Por favor escolha outro apelido.", + "Setup Docker Host": "Configurar um Host Docker", + "trustProxyDescription": "Confiar nos cabeçalhos 'X-Forwarded-*'. Se você quer obter o endereço IP correto do cliente mas seu Uptime Kuma está atrás de um proxy como Nginx ou Apache, você deve habilitar isso.", + "Automations can optionally be triggered in Home Assistant:": "Opcionalmente, automações podem ser acionadas no Home Assistant:", "secureOptionNone": "Nenhum / STARTTLS (25, 587)", "apiKeyAddedMsg": "Sua chave de API foi adicionada. Por favor anote essa chave, ela não será mostrada novamente.", "Show Clickable Link": "Mostrar Link Clicável", @@ -633,7 +633,7 @@ "chromeExecutable": "Executável do Chrome/Chromium", "Edit Maintenance": "Editar Manutenção", "aboutIconURL": "Você pode fornecer um link para uma imagem em \"URL do Ícone\" para substituir a imagem de perfil padrão. Não será usado se o \"Ícone Emoji\" estiver configurado.", - "octopushAPIKey": "\"Chave API\" das credenciais da API HTTP no painel de controle", + "octopushAPIKey": "\"API Key\" da credencial API HTTP do painel de controle", "octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle", "pushoversounds pushover": "Pushover (padrão)", "pushoversounds bike": "Bicicleta", @@ -736,16 +736,16 @@ "Check/Uncheck": "Marcar/Desmarcar", "tailscalePingWarning": "Para usar o monitor Tailscale Ping, você precisa instalar o Uptime Kuma sem o Docker e também instalar o cliente Tailscale em seu servidor.", "telegramMessageThreadIDDescription": "Identificador único opcional para o tópico da mensagem alvo do fórum; apenas para supergrupos de fóruns", - "pushoversounds none": "Nenhum (silencioso)", - "pushyAPIKey": "Chave de API Secreta", + "pushoversounds none": "Nenhum (Silencioso)", + "pushyAPIKey": "Chave Secreta da API", "pushyToken": "Token do Dispositivo", - "GoogleChat": "Google Chat (Apenas para Google Workspace)", + "GoogleChat": "Chat Google (Apenas para Google Workspace)", "wayToGetKookGuildID": "Ative o 'Modo Desenvolvedor' nas configurações do Kook e clique com o botão direito do mouse no servidor para obter seu ID", "Guild ID": "ID do Servidor (Guild)", "pushoverDesc1": "A prioridade de emergência (2) possui um intervalo de 30 segundos entre as tentativas padrão e expirará após 1 hora.", "pushoverDesc2": "Se você deseja enviar notificações para diferentes dispositivos, preencha o campo \"Dispositivo\".", "pushoverMessageTtl": "Tempo de Vida da Mensagem (Segundos)", - "pushoversounds vibrate": "Somente vibrar", + "pushoversounds vibrate": "Somente Vibrar", "SecretAccessKey": "Segredo da Chave de Acesso", "PhoneNumbers": "Números de Telefone", "TemplateCode": "Código de Modelo", @@ -832,7 +832,7 @@ "Close": "Fechar", "Request Body": "Corpo da Solicitação", "AccessKey Id": "ID da chave de acesso", - "nostrRelays": "Nostr relays", + "nostrRelays": "Repetidor Nostr", "nostrRecipientsHelp": "formato npub, um por linha", "gamedigGuessPortDescription": "A porta usada pelo Valve Server Query Protocol pode ser diferente da porta do cliente. Tente fazer isso se o monitor não conseguir se conectar ao seu servidor.", "authUserInactiveOrDeleted": "O usuário está inativo ou excluído.", @@ -859,6 +859,6 @@ "successDisabled": "Desativado com sucesso.", "successEnabled": "Habilitado com sucesso.", "tagNotFound": "Etiqueta não encontrada.", - "gamedigGuessPort": "Gamedig: Guess Porta", + "gamedigGuessPort": "Gamedig: Adivinhar Porta", "foundChromiumVersion": "Chromium/Chrome encontrado. Versão: {0}" } From a3bb0243cfaa7154d38fd950340caf3ec48012b6 Mon Sep 17 00:00:00 2001 From: Harry Suryapambagya Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 228/494] Translated using Weblate (Indonesian) Currently translated at 99.8% (876 of 877 strings) Translated using Weblate (Indonesian) Currently translated at 100.0% (861 of 861 strings) Co-authored-by: Harry Suryapambagya Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/id-ID.json | 187 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 149 insertions(+), 38 deletions(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 83b0f241..941845c9 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -69,9 +69,9 @@ "Keyword": "Kata Kunci", "Friendly Name": "Nama yang Ramah", "URL": "URL", - "Hostname": "Nama host", + "Hostname": "Nama Host", "Port": "Port", - "Heartbeat Interval": "Rentang Waktu Heartbeat", + "Heartbeat Interval": "Jeda Waktu Heartbeat", "Retries": "Coba lagi", "Heartbeat Retry Interval": "Jeda Pengulangan Heartbeat", "Resend Notification if Down X times consecutively": "Kirim Ulang Notifikasi jika Tidak Aktif X kali", @@ -102,11 +102,11 @@ "New Password": "Sandi Baru", "Repeat New Password": "Ulangi Sandi Baru", "Update Password": "Perbarui Kata Sandi", - "Disable Auth": "Nonaktifkan Autentikasi", + "Disable Auth": "Matikan Autentikasi", "Enable Auth": "Aktifkan Autentikasi", "disableauth.message1": "Apakah Anda yakin ingin menonaktifkan autentikasi?", "disableauth.message2": "Ini untuk mereka yang memiliki autentikasi pihak ketiga diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.", - "Please use this option carefully!": "Silahkan gunakan opsi ini dengan hati-hati!", + "Please use this option carefully!": "Gunakan pilihan ini dengan hati-hati!", "Logout": "Keluar", "Leave": "Pergi", "I understand, please disable": "Saya mengerti, silakan dinonaktifkan", @@ -123,7 +123,7 @@ "Email": "Surel", "Test": "Tes", "Certificate Info": "Info Sertifikasi", - "Resolver Server": "Resolver Server", + "Resolver Server": "Server Penjawab", "Resource Record Type": "Jenis Rekam Sumber Daya", "Last Result": "Hasil Terakhir", "Create your admin account": "Buat akun admin Anda", @@ -265,13 +265,13 @@ "SMS Type": "Tipe SMS", "octopushTypePremium": "Premium (Cepat - direkomendasikan untuk mengingatkan)", "octopushTypeLowCost": "Low Cost (Lambat, terkadang diblokir oleh operator)", - "checkPrice": "Check {0} prices:", + "checkPrice": "Cek harga {0}:", "apiCredentials": "Kredensial API", "octopushLegacyHint": "Apakah Anda menggunakan Octopush versi lama (2011-2020) atau versi baru?", "Check octopush prices": "Cek harga octopush {0}.", "octopushPhoneNumber": "Nomer Telpon/HP (format internasional, contoh : +33612345678) ", "octopushSMSSender": "Nama Pengirim SMS : 3-11 karakter alfanumerik dan spasi (a-zA-Z0-9)", - "LunaSea Device ID": "LunaSea Device ID", + "LunaSea Device ID": "ID Perangkat LunaSea", "Apprise URL": "Apprise URL", "Example:": "Contoh: {0}", "Read more:": "Baca lebih lanjut: {0}", @@ -299,7 +299,7 @@ "promosmsSMSSender": "Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS", "Feishu WebHookUrl": "Feishu WebHookUrl", "matrixHomeserverURL": "Homeserver URL (dengan http(s):// dan port tambahan)", - "Internal Room Id": "Internal Room ID", + "Internal Room Id": "ID Ruang Internal", "matrixDesc1": "Kamu dapat menemukan Internal Room ID dengan melihat di bagian konfigurasi ruang di Matrix. Seharusnya berbentuk seperti !QMdRCpUIfLwsfjxye6:home.server.", "matrixDesc2": "Sangat direkomendasikan kepada Anda untuk membuat akun baru dan jangan menggunakan token atas akun terkini yang memiliki token akses secara penuh terhadap akun dan seluruh ruang yang terdaftar. Alih - alih, buat akun baru dan undang akun tsb ke ruang tempat anda ingin menerima notifikasi. Untuk mendapatkan token akses anda dapat menjalankan {0}", "Method": "Metode", @@ -411,8 +411,8 @@ "SignName": "Nama Tanda", "Sms template must contain parameters: ": "Template SMS harus berisi parameter: ", "Bark Endpoint": "Bark Endpoint", - "Bark Group": "Bark Group", - "Bark Sound": "Bark Sound", + "Bark Group": "Grup Bark", + "Bark Sound": "Suara Bark", "WebHookUrl": "WebHookUrl", "SecretKey": "SecretKey", "For safety, must use secret key": "Untuk keamaan Anda harus menggunakan kunci rahasia", @@ -487,7 +487,7 @@ "RadiusSecretDescription": "Shared Secret antara klien dan server", "RadiusCalledStationId": "Called Station Id", "RadiusCalledStationIdDescription": "Pengenal perangkat yang dipanggil", - "RadiusCallingStationId": "Calling Station Id", + "RadiusCallingStationId": "Memanggil Station Id", "RadiusCallingStationIdDescription": "Pengenal perangkat panggilan", "Certificate Expiry Notification": "Pemberitahuan Kedaluwarsa Sertifikat", "API Username": "Nama Pengguna API", @@ -502,36 +502,36 @@ "octopushLogin": "\"Login\" dari kredensial HTTP API di panel kontrol", "promosmsLogin": "Nama Masuk API", "promosmsPassword": "Kata Sandi API", - "pushoversounds pushover": "Pushover (default)", - "pushoversounds bike": "Bike", - "pushoversounds bugle": "Bugle", - "pushoversounds cashregister": "Cash Register", + "pushoversounds pushover": "Pushover (bawaan)", + "pushoversounds bike": "Sepeda", + "pushoversounds bugle": "Terompet", + "pushoversounds cashregister": "Mesin Uang", "pushoversounds classical": "Classical", - "pushoversounds cosmic": "Cosmic", - "pushoversounds falling": "Falling", + "pushoversounds cosmic": "Kosmik", + "pushoversounds falling": "Reruntuhan", "pushoversounds gamelan": "Gamelan", "pushoversounds incoming": "Masuk", "pushoversounds intermission": "Jeda", "pushoversounds magic": "Magic", "pushoversounds mechanical": "Mekanik", - "pushoversounds pianobar": "Piano Bar", + "pushoversounds pianobar": "Bilah Piano", "pushoversounds siren": "Sirene", - "pushoversounds spacealarm": "Space Alarm", - "pushoversounds tugboat": "Tug Boat", - "pushoversounds alien": "Alien Alarm (long)", - "pushoversounds climb": "Climb (long)", - "pushoversounds persistent": "Persistent (long)", - "pushoversounds echo": "Pushover Echo (long)", - "pushoversounds updown": "Up Down (long)", - "pushoversounds vibrate": "Vibrate Only", - "pushoversounds none": "None (silent)", - "pushyAPIKey": "Secret API Key", - "pushyToken": "Device token", + "pushoversounds spacealarm": "Luar Angkasa", + "pushoversounds tugboat": "Kapal Tunda", + "pushoversounds alien": "Alien Alarm (panjang)", + "pushoversounds climb": "Mendaki (long)", + "pushoversounds persistent": "Terus menerus (panjang)", + "pushoversounds echo": "Pushover Echo (panjang)", + "pushoversounds updown": "Up Down (panjang)", + "pushoversounds vibrate": "Hanya bergetar", + "pushoversounds none": "Tidak ada (hening)", + "pushyAPIKey": "Kunci Secret API", + "pushyToken": "Token Perangkat", "Show update if available": "Tampilkan pembaruan jika tersedia", "Also check beta release": "Periksa juga rilis beta", "Using a Reverse Proxy?": "Menggunakan Proxy Terbalik?", "Check how to config it for WebSocket": "Periksa cara mengonfigurasinya untuk A WebSocket", - "Steam Game Server": "Steam Game Server", + "Steam Game Server": "Server Game Steam", "Most likely causes:": "Kemungkinan besar penyebabnya:", "The resource is no longer available.": "Sumber daya tidak lagi tersedia.", "There might be a typing error in the address.": "Mungkin ada kesalahan pengetikan di alamat.", @@ -550,11 +550,11 @@ "deleteDockerHostMsg": "Apakah Anda yakin ingin menghapus host docker berikut untuk semua monitor?", "socket": "Socket", "tcp": "TCP / HTTP", - "Docker Container": "Docker Container", + "Docker Container": "Kontainer Docker", "Container Name / ID": "Nama / ID Container", "Docker Host": "Host Docker", "Docker Hosts": "Hosts Docker", - "ntfy Topic": "ntfy Topic", + "ntfy Topic": "Topik ntfy", "Domain": "Domain", "Workstation": "Workstation", "disableCloudflaredNoAuthMsg": "Anda berada dalam mode Tanpa Otentikasi, kata sandi tidak diperlukan.", @@ -591,7 +591,7 @@ "Monitor": "Monitor", "Guild ID": "ID Guild", "twilioAccountSID": "SID akun", - "twilioAuthToken": "Token Autentikasi", + "twilioAuthToken": "Token Autentikasi (API Key)", "ntfyAuthenticationMethod": "Metode Autentikasi", "ntfyUsernameAndPassword": "Nama pengguna dan kata sandi", "Add Another": "Tambah Lainnya", @@ -717,7 +717,7 @@ "maintenanceStatus-inactive": "Tidak aktif", "Display Timezone": "Tampilkan Zona Waktu", "IconUrl": "URL ikon", - "Enable DNS Cache": "Aktifkan Cache DNS", + "Enable DNS Cache": "(Tidak berlaku lagi) Aktifkan Cache DNS untuk monitor HTTP(s)", "Enable": "Aktifkan", "Disable": "Nonaktifkan", "affectedStatusPages": "Tampilkan pesan pemeliharaan ini pada halaman status yang dipilih", @@ -744,7 +744,7 @@ "smseagleRecipientType": "Tipe Penerima", "smseagleToken": "Token Akses API", "smseagleUrl": "URL perangkat SMSEagle Anda", - "Schedule maintenance": "Jadwalkan pemeliharaan", + "Schedule maintenance": "Perbaikan Terjadwal", "Affected Monitors": "Monitor yang Terpengaruh", "Start of maintenance": "Mulai pemeliharaan", "All Status Pages": "Semua Halaman Status", @@ -787,11 +787,122 @@ "promosmsAllowLongSMS": "Izinkan SMS panjang", "Badge Pending Color": "Warna Lencana Tertunda", "Monitor Group": "Monitor Grup", - "Expected Value": "Value yang diharapkan", - "Json Query": "Json Query", + "Expected Value": "Parameter yang diharapkan", + "Json Query": "Kueri JSON", "setupDatabaseSQLite": "File database sederhana, direkomendasikan untuk penerapan skala kecil. Sebelum v2.0.0, Uptime Kuma menggunakan SQLite sebagai database default.", "setupDatabaseMariaDB": "Hubungkan ke database MariaDB eksternal. Anda perlu mengatur informasi koneksi database.", "setupDatabaseEmbeddedMariaDB": "Anda tidak perlu mengatur apa pun. Docker Image ini telah menyematkan dan mengonfigurasi MariaDB untuk Anda secara otomatis. Uptime Kuma akan terhubung ke database ini melalui soket unix.", "setupDatabaseChooseDatabase": "Database mana yang ingin Anda gunakan?", - "dbName": "Nama Database" + "dbName": "Nama Database", + "pushViewCode": "Bagaimana cara menggunakan Push monitor? (Lihat Kode)", + "monitorToastMessagesLabel": "Pantau notifikasi Toast", + "toastErrorTimeout": "Batas Waktu untuk Pemberitahuan Kesalahan", + "filterActive": "Aktif", + "Select": "Pilih", + "tailscalePingWarning": "Untuk menggunakan monitor Tailscale Ping, Anda perlu menginstal Uptime Kuma tanpa Docker dan juga menginstal klien Tailscale di server Anda.", + "emailTemplateLimitedToUpDownNotification": "hanya tersedia untuk detak jantung ATAS/BAWAH, jika tidak, null", + "aboutNotifyChannel": "Beritahu saluran akan memicu pemberitahuan desktop atau seluler untuk semua anggota saluran, baik ketersediaannya diatur ke aktif atau tidak.", + "monitorToastMessagesDescription": "Notifikasi Toast untuk monitor hilang setelah waktu tertentu dalam hitungan detik. Setel ke -1 akan menonaktifkan batas waktu. Setel ke 0 akan menonaktifkan notifikasi Toast.", + "wayToGetFlashDutyKey": "Anda dapat membuka Saluran -> (Pilih Saluran) -> Integrasi -> Tambahkan halaman integrasi baru, tambahkan 'Acara Khusus' untuk mendapatkan alamat push, salin Kunci Integrasi di alamat tersebut. Untuk informasi lebih lanjut, silahkan kunjungi", + "Saved.": "Tersimpan.", + "authUserInactiveOrDeleted": "Pengguna tidak aktif atau dihapus.", + "authInvalidToken": "Token Tidak Valid.", + "authIncorrectCreds": "Username atau kata sandi salah.", + "2faAlreadyEnabled": "2FA sudah diaktifkan.", + "2faEnabled": "2FA Diaktifkan.", + "2faDisabled": "2FA Dinonaktifkan.", + "successResumed": "Berhasil Dilanjutkan.", + "successPaused": "Berhasil Dijeda.", + "successDeleted": "Berhasil Dihapus.", + "successEdited": "Berhasil Diedit.", + "successAuthChangePassword": "Kata sandi telah berhasil diperbarui.", + "successBackupRestored": "Cadangan berhasil dipulihkan.", + "successDisabled": "Berhasil Dinonaktifkan.", + "successEnabled": "Berhasil Diaktifkan.", + "GrafanaOncallUrl": "URL Oncall Grafana", + "emailCustomisableContent": "Konten yang dapat disesuaikan", + "leave blank for default subject": "biarkan kosong untuk subjek bawaan", + "Bark API Version": "Versi Bark API", + "Reset Token": "Setel Ulang Token", + "noDockerHostMsg": "Tidak Tersedia. Siapkan Host Docker Terlebih Dahulu.", + "DockerHostRequired": "Silakan atur Docker Host untuk monitor ini.", + "enableNSCD": "Aktifkan NSCD (Name Service Cache Daemon) untuk menyimpan semua permintaan DNS", + "smtpLiquidIntroduction": "Dua bidang berikut dapat dibuat templatnya melalui Bahasa templating Liquid. Silakan lihat {0} untuk petunjuk penggunaan. Berikut ini adalah variabel yang tersedia:", + "leave blank for default body": "biarkan kosong untuk isi bawaan", + "emailTemplateServiceName": "Nama Layanan", + "emailTemplateHostnameOrURL": "Nama host atau URL", + "emailTemplateStatus": "Status", + "emailTemplateMonitorJSON": "objek yang menggambarkan monitor", + "emailTemplateHeartbeatJSON": "objek yang menggambarkan heartbeat", + "emailTemplateMsg": "pesan pemberitahuan", + "emailCustomBody": "Kustomisasi Body", + "jsonQueryDescription": "Lakukan Kueri json terhadap respons dan periksa nilai yang diharapkan (Nilai pengembalian akan dikonversi menjadi string untuk perbandingan). Lihat jsonata.org untuk dokumentasi tentang bahasa kueri. Playground dapat ditemukan di di sini.", + "Notify Channel": "Beritahu Saluran", + "Server URL should not contain the nfty topic": "URL server tidak boleh berisi topik nfty", + "PushDeer Server": "Server PushDeer", + "pushDeerServerDescription": "Biarkan kosong untuk menggunakan server resmi", + "twilioApiKey": "Kunci API (opsional)", + "Badge Duration (in hours)": "Durasi Badge (dalam jam)", + "Badge Preview": "Pratinjau Lencana", + "toastSuccessTimeout": "Batas Waktu untuk Pemberitahuan Sukses", + "Kafka Brokers": "Kafka Broker", + "Enter the list of brokers": "Masukkan daftar broker", + "Press Enter to add broker": "Tekan Enter untuk menambahkan broker", + "Kafka Topic Name": "Nama Topik Kafka", + "Kafka Producer Message": "Pesan Produser Kafka", + "Enable Kafka SSL": "Aktifkan SSL Kafka", + "Enable Kafka Producer Auto Topic Creation": "Aktifkan Pembuatan Topik Otomatis Produser Kafka", + "Mechanism": "Mekanisme", + "FlashDuty Severity": "Severity", + "nostrRelaysHelp": "Satu URL relai per baris", + "nostrSender": "Kunci Pribadi Pengirim (ndetik)", + "nostrRecipients": "Kunci Publik Penerima (npub)", + "nostrRecipientsHelp": "format npub, satu per baris", + "showCertificateExpiry": "Tampilkan Sertifikat Kedaluwarsa", + "noOrBadCertificate": "Tidak Ada/Sertifikat Salah", + "gamedigGuessPort": "Gamedig: Guess Port", + "nostrRelays": "Relai nostr", + "gamedigGuessPortDescription": "Port yang digunakan oleh Valve Server Query Protocol mungkin berbeda dari port klien. Coba ini jika monitor tidak dapat terhubung ke server Anda.", + "successAdded": "Berhasil Ditambahkan.", + "tagNotFound": "Tag tidak ditemukan.", + "foundChromiumVersion": "Ditemukan Chromium/Chrome. Versi: {0}", + "Kafka SASL Options": "Opsi Kafka SASL", + "Pick a SASL Mechanism...": "Pilih Mekanisme SASL...", + "AccessKey Id": "Id AccessKey", + "Secret AccessKey": "Secret AccessKey", + "Session Token": "Sesi Token", + "pushOthers": "Lainnya", + "programmingLanguages": "Bahasa Pemrograman", + "filterActivePaused": "Berhenti", + "templateMsg": "pesan pemberitahuan", + "templateHeartbeatJSON": "objek yang menggambarkan heartbeat", + "templateMonitorJSON": "objek yang menggambarkan monitor", + "templateLimitedToUpDownCertNotifications": "hanya tersedia untuk notifikasi ATAS/BAWAH/Sertifikat yang kadaluarsa", + "templateLimitedToUpDownNotifications": "hanya tersedia untuk notifikasi ATAS/BAWAH", + "liquidIntroduction": "Kemampuan templat dicapai melalui bahasa templating Liquid. Silakan lihat {0} untuk petunjuk penggunaan. Ini adalah variabel yang tersedia:", + "selectedMonitorCount": "Terpilih: {0}", + "Check/Uncheck": "Centang/Hapus centang", + "Authorization Identity": "Identitas Otorisasi", + "styleElapsedTime": "Waktu yang berlalu di bawah bilah heartbeat", + "styleElapsedTimeShowNoLine": "Tampilkan (Tanpa Garis)", + "styleElapsedTimeShowWithLine": "Tampilkan (Dengan Garis)", + "Request Timeout": "Batas Waktu Habis", + "timeoutAfter": "Waktu habis setelah {0} detik", + "successKeywordExplanation": "Kata Kunci MQTT yang akan dianggap sukses", + "Remove the expiry notification": "Hapus hari pemberitahuan kedaluwarsa", + "Browser Screenshot": "Tangkapan Layar Browser", + "Remote Browsers": "Remote Browsers", + "Remote Browser": "Remote Browser", + "Add a Remote Browser": "Tambahkan Remote Browser", + "Remote Browser not found!": "Remote Browser tidak ditemukan!", + "remoteBrowsersDescription": "Remote Browsers adalah alternatif untuk menjalankan Chromium secara lokal. Siapkan dengan layanan seperti browserless.io atau sambungkan ke layanan Anda sendiri", + "self-hosted container": "kontainer self-hosted", + "remoteBrowserToggle": "Secara default, Chromium berjalan di dalam kontainer Uptime Kuma. Anda dapat menggunakan remote browser dengan menekan tombol ini.", + "useRemoteBrowser": "Gunakan Remote Browser", + "deleteRemoteBrowserMessage": "Apakah Anda yakin ingin menghapus Remote Browser ini untuk semua monitor?", + "Add a new expiry notification day": "Tambahkan hari pemberitahuan kedaluwarsa baru", + "setup a new monitor group": "menyiapkan grup monitor baru", + "openModalTo": "buka modal ke {0}", + "Add a domain": "Tambahkan domain", + "Remove domain": "Hapus domain '{0}'" } From b801d22cd3df5146b366aa5dda5c84b996237b41 Mon Sep 17 00:00:00 2001 From: aditya wahyudi Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 229/494] Translated using Weblate (Indonesian) Currently translated at 100.0% (861 of 861 strings) Co-authored-by: aditya wahyudi Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/id-ID.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 941845c9..e8fd730b 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -85,7 +85,7 @@ "Save": "Simpan", "Notifications": "Notifikasi", "Not available, please setup.": "Tidak tersedia, silakan atur.", - "Setup Notification": "Setel Notifikasi", + "Setup Notification": "Setelan Notifikasi", "Light": "Terang", "Dark": "Gelap", "Auto": "Otomatis", From 406e5d5fdd57987edbe31cb131d4210c429a3236 Mon Sep 17 00:00:00 2001 From: Gregor Godler Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 230/494] Translated using Weblate (Slovenian) Currently translated at 41.6% (359 of 861 strings) Co-authored-by: Gregor Godler Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/sl-SI.json | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index f4ca81bd..be38b1da 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -47,7 +47,7 @@ "Pause": "Pavza", "Name": "Ime", "Status": "Status", - "DateTime": "DateTime", + "DateTime": "DatumČas", "Message": "Sporočilo", "No important events": "Ni pomembnih dogodkov", "Resume": "Nadaljuj", @@ -352,5 +352,36 @@ "serwersmsAPIUser": "API uporabniško ime (vključno z webapi_ prefix)", "serwersmsAPIPassword": "API geslo", "serwersmsPhoneNumber": "Telefonska številka", - "serwersmsSenderName": "Ime SMS pošiljatelja (registrirani prek portala za stranke)" + "serwersmsSenderName": "Ime SMS pošiljatelja (registrirani prek portala za stranke)", + "Schedule maintenance": "Planiraj vzdrževalna dela", + "Start of maintenance": "Začetek vzdrževalnih del", + "error": "napaka", + "Custom CSS": "Prilagodi CSS", + "Invalid": "Neveljaven", + "Add New Status Page": "Dodaj novo stran s statusom", + "Select status pages...": "Izberi strani s statusom…", + "Custom": "Po meri", + "topic": "Tema", + "successMessage": "Sporočilo o uspešnosti", + "critical": "kritično", + "Customize": "Prilagodi", + "Custom Footer": "Prilagodi nogo", + "deleteStatusPageMsg": "Ali si prepričan, da želiš izbrisati to stran s statusi?", + "Proxies": "Posredniki", + "default": "Privzeto", + "enabled": "Omogočeno", + "setAsDefault": "Nastavi kot Privzeto", + "Valid": "Veljaven", + "User": "Uporabnik", + "Installed": "Nameščeno", + "Not installed": "Ni nameščeno", + "Remove Token": "Odstrani Žeton", + "Start": "Začni", + "Stop": "Ustavi", + "Slug": "Polž", + "resendDisabled": "Ponovno pošiljanje je onemogočeno", + "Game": "Igra", + "Help": "Pomoč", + "statusMaintenance": "Vzdrževanje", + "Maintenance": "Vzdrževanje" } From 8fc693dab3d81c22c8f8013a4d0fd32b6abaece1 Mon Sep 17 00:00:00 2001 From: Bartosz Gajdemski Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 231/494] Translated using Weblate (Polish) Currently translated at 99.6% (859 of 862 strings) Co-authored-by: Bartosz Gajdemski Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pl.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lang/pl.json b/src/lang/pl.json index 10b967d8..376baa2c 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -889,5 +889,8 @@ "templateMsg": "wiadomość powiadomienia", "templateHeartbeatJSON": "obiekt opisujący bicie serca", "templateMonitorJSON": "obiekt opisujący monitor", - "templateLimitedToUpDownNotifications": "dostępne tylko dla powiadomień UP/DOWN" + "templateLimitedToUpDownNotifications": "dostępne tylko dla powiadomień UP/DOWN", + "Browser Screenshot": "Zrzut ekranu przeglądarki", + "noDockerHostMsg": "Niedostępne. Najpierw skonfiguruj host Dockera.", + "DockerHostRequired": "Ustaw host Dockera dla tego monitora." } From 6c95140db1eb432f90cd9b4a6e93926c98aca5f0 Mon Sep 17 00:00:00 2001 From: MaxX Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 232/494] Translated using Weblate (Vietnamese) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 56.3% (486 of 862 strings) Translated using Weblate (Thai) Currently translated at 75.2% (649 of 862 strings) Translated using Weblate (Slovenian) Currently translated at 42.2% (364 of 862 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 31.6% (273 of 862 strings) Translated using Weblate (Basque) Currently translated at 64.6% (557 of 862 strings) Co-authored-by: MaxX Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/eu/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nb_NO/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sl/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/th/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/vi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/eu.json | 2 +- src/lang/nb-NO.json | 6 +++--- src/lang/sl-SI.json | 10 +++++----- src/lang/th-TH.json | 6 +++--- src/lang/vi-VN.json | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/lang/eu.json b/src/lang/eu.json index 2fa1944e..9c64783c 100644 --- a/src/lang/eu.json +++ b/src/lang/eu.json @@ -324,7 +324,7 @@ "Security": "Segurtasuna", "Steam API Key": "Steam API Giltza", "Shrink Database": "Shrink Datubasea", - "Pick a RR-Type...": "Pick a RR-Type...", + "Pick a RR-Type...": "Pick a RR-Type…", "Pick Accepted Status Codes...": "Hautatu onartutako egoera kodeak…", "Default": "Lehenetsia", "HTTP Options": "HTTP Aukerak", diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index 343a129a..66174188 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -154,7 +154,7 @@ "Token": "Token", "Show URI": "Vis URI", "Tags": "Etiketter", - "Add New below or Select...": "Legg til nytt nedenfor eller Velg ...", + "Add New below or Select...": "Legg til nytt nedenfor eller Velg …", "Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.", "Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.", "color": "farge", @@ -167,7 +167,7 @@ "Indigo": "Indigo", "Purple": "Lilla", "Pink": "Rosa", - "Search...": "Søk...", + "Search...": "Søk…", "Avg. Ping": "Gj.sn. Ping", "Avg. Response": "Gj.sn. Respons", "Entry Page": "Oppføringsside", @@ -211,7 +211,7 @@ "wayToGetDiscordURL": "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Opprett en Webhook", "Bot Display Name": "Bot Visningsnavn", "Prefix Custom Message": "Prefiks tilpasset melding", - "Hello @everyone is...": "Hei {'@'}everyone det er...", + "Hello @everyone is...": "Hei {'@'}everyone det er…", "teams": "Microsoft Teams", "Webhook URL": "Webhook URL", "wayToGetTeamsURL": "Du kan lære hvordan du oppretter en webhook-URL {0}.", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index be38b1da..cab95123 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -158,7 +158,7 @@ "Token": "Žeton", "Show URI": "Prikaži URI", "Tags": "Značke", - "Add New below or Select...": "Dodaj novo spodaj ali izberi iz seznama...", + "Add New below or Select...": "Dodaj novo spodaj ali izberi iz seznama…", "Tag with this name already exist.": "Značka s tem imenom že obstaja.", "Tag with this value already exist.": "Značka s to vrednostjo že obstaja.", "color": "barva", @@ -171,7 +171,7 @@ "Indigo": "Indigo", "Purple": "Vijolična", "Pink": "Roza", - "Search...": "Išči...", + "Search...": "Išči…", "Avg. Ping": "Avg. Ping", "Avg. Response": "Avg. odziv", "Entry Page": "Vstopna stran", @@ -216,7 +216,7 @@ "wayToGetDiscordURL": "To lahko dibiš v Server Settings -> Integrations -> Create Webhook", "Bot Display Name": "Prikazno ime robotka", "Prefix Custom Message": "Predpona poljubnega sporočila", - "Hello @everyone is...": "Pozdravljen {'@'}everyone je...", + "Hello @everyone is...": "Pozdravljen {'@'}everyone je…", "teams": "Microsoft Teams", "Webhook URL": "Webhook URL", "wayToGetTeamsURL": "Izvedi kako narediš webhook URL {0}.", @@ -315,8 +315,8 @@ "Security": "Varnost", "Steam API Key": "Steam API Key", "Shrink Database": "Stisni bazo", - "Pick a RR-Type...": "Izberi RR tip...", - "Pick Accepted Status Codes...": "Izbiranje sprejetih kod stanja...", + "Pick a RR-Type...": "Izberi RR tip…", + "Pick Accepted Status Codes...": "Izbiranje sprejetih kod stanja…", "Default": "Privzeto", "HTTP Options": "HTTP možnosti", "Create Incident": "Ustvari incident", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index e4cc97d3..34cb13d6 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -322,7 +322,7 @@ "Security": "ความปลอดภัย", "Steam API Key": "Steam API Key", "Shrink Database": "ย่อฐานข้อมูล", - "Pick a RR-Type...": "เลือกชนิด DNS Record", + "Pick a RR-Type...": "เลือกชนิด DNS Record…", "Pick Accepted Status Codes...": "เลือกเลขสถานะที่ยอมรับ…", "Default": "ค่าเริ่มต้น", "HTTP Options": "ตัวเลือก HTTP", @@ -584,12 +584,12 @@ "statusMaintenance": "การซ่อมบำรุง", "Maintenance": "การซ่อมบำรุง", "Monitor": "มอนิเตอร์ | มอนิเตอร์", - "Select status pages...": "เลือกหน้าสถานะ", + "Select status pages...": "เลือกหน้าสถานะ…", "Schedule maintenance": "กำหนดเวลาบำรุงรักษา", "Affected Monitors": "มอนิเตอร์ที่ได้รับผลกระทบ", "markdownSupported": "รองรับ Markdown", "Help": "ช่วยเหลือ", - "Pick Affected Monitors...": "เลือกมอนิเตอร์ที่ได้รับผลกระทบ", + "Pick Affected Monitors...": "เลือกมอนิเตอร์ที่ได้รับผลกระทบ…", "Packet Size": "ขนาดของ Packet", "ZohoCliq": "ZohoCliq", "backupOutdatedWarning": "ไม่ได้รับการพัฒนาแล้ว : ไม่สามารถสร้างหรือกูข้อมูลสำรองได้สมบูรณ์ เนื่องจากมีฟีเจอร์ใหม่เพิ่มขึ้นมากและการแบ็คอัพไม่ได้ถูกพัฒนา", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index fd1491e2..fb751c30 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -216,7 +216,7 @@ "wayToGetDiscordURL": "Để lấy Discord, hãy vào: Server Settings -> Integrations -> Create Webhook", "Bot Display Name": "Tên hiển thị của BOT", "Prefix Custom Message": "Tiền tố tin nhắn tuỳ chọn", - "Hello @everyone is...": "Xin chào {'@'} mọi người đang...", + "Hello @everyone is...": "Xin chào {'@'} mọi người đang…", "teams": "Microsoft Teams", "Webhook URL": "Webhook URL", "wayToGetTeamsURL": "Bạn có thể học cách tạo webhook url {0}.", @@ -321,8 +321,8 @@ "Security": "Bảo mật", "Steam API Key": "Steam API Key", "Shrink Database": "Shrink Database", - "Pick a RR-Type...": "Pick a RR-Type...", - "Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được...", + "Pick a RR-Type...": "Pick a RR-Type…", + "Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được…", "Default": "Mặc định", "HTTP Options": "Tuỳ chọn HTTP", "Create Incident": "Tạo Incident", From 0bba5810a4344222647288769b706b775c1f2dde Mon Sep 17 00:00:00 2001 From: bjornclauw Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 233/494] Translated using Weblate (Dutch) Currently translated at 100.0% (862 of 862 strings) Co-authored-by: bjornclauw Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nl-NL.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index b36c1a85..a130b731 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -893,5 +893,6 @@ "successDisabled": "Succesvol uitgeschakeld.", "successEnabled": "Succesvol ingeschakeld.", "tagNotFound": "Tag niet gevonden.", - "foundChromiumVersion": "Chromium/Chrome gevonden. Versie {0}" + "foundChromiumVersion": "Chromium/Chrome gevonden. Versie {0}", + "Browser Screenshot": "Browser Screenshot" } From 9fb92123e5af8330e81a60030155df14ddf4ef3b Mon Sep 17 00:00:00 2001 From: abosaad11 Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 234/494] Translated using Weblate (Arabic) Currently translated at 83.7% (722 of 862 strings) Co-authored-by: abosaad11 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ar/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ar.json | 57 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 12 deletions(-) diff --git a/src/lang/ar.json b/src/lang/ar.json index d4fe9c2a..a70a100a 100644 --- a/src/lang/ar.json +++ b/src/lang/ar.json @@ -11,7 +11,7 @@ "Response": "استجاية", "Ping": "بينغ", "Monitor Type": "نوع المراقب", - "Cert Exp.": "انتهاء صَلاحِيَة شهادة الأمان SSL", + "Cert Exp.": "انتهاء صلاحية شهادة الأمان SSL.", "Theme - Heartbeat Bar": "موضوع - بار نبضات", "Normal": "طبيعي", "Bottom": "الأسفل", @@ -131,7 +131,7 @@ "resendEveryXTimes": "إعادة تقديم كل {0} مرات", "resendDisabled": "إعادة الالتزام بالتعطيل", "retriesDescription": "الحد الأقصى لإعادة المحاولة قبل تمييز الخدمة على أنها لأسفل وإرسال إشعار", - "ignoreTLSError": "تجاهل خطأ TLS/SSL لمواقع HTTPS", + "ignoreTLSError": "تجاهل أخطاء TLS/SSL لمواقع HTTPS", "upsideDownModeDescription": "اقلب الحالة رأسًا على عقب. إذا كانت الخدمة قابلة للوصول إلى أسفل.", "maxRedirectDescription": "الحد الأقصى لعدد إعادة التوجيه لمتابعة. ضبط على 0 لتعطيل إعادة التوجيه.", "Upside Down Mode": "وضع رأسا على عقب", @@ -208,7 +208,7 @@ "Blue": "أزرق", "Indigo": "النيلي", "Purple": "نفسجي", - "webhookAdditionalHeadersDesc": "يحدد رؤوس إضافية مرسلة مع webhook.", + "webhookAdditionalHeadersDesc": "يحدد رؤوس إضافية مرسلة مع webhook. كل رأس إضافي يجب تعريفه كقيمة أو مفتاح JSON.", "Webhook URL": "عنوان URL للخطاف الإلكتروني", "Pink": "لون القرنفل", "Custom": "العادة", @@ -431,12 +431,12 @@ "Server Timezone": "المنطقة الزمنية الخادم", "statusPageMaintenanceEndDate": "نهاية", "IconUrl": "عنوان URL للرمز", - "Enable DNS Cache": "تمكين ذاكرة التخزين المؤقت DNS", + "Enable DNS Cache": "(مهمل) تمكين ذاكرة التخزين المؤقت لنظام أسماء النطاقات لمراقب HTTP(s)", "Disable": "إبطال", "dnsCacheDescription": "قد لا يعمل في بعض بيئات IPv6 تعطيله إذا واجهت أي مشكلات.", "Single Maintenance Window": "نافذة صيانة واحدة", "Maintenance Time Window of a Day": "نافذة وقت الصيانة لليوم", - "Effective Date Range": "نطاق التاريخ السريع", + "Effective Date Range": "نطاق التاريخ الفعلي (اختياري)", "Schedule Maintenance": "جدولة الصيانة", "Date and Time": "التاريخ و الوقت", "DateTime Range": "نطاق DateTime", @@ -517,7 +517,7 @@ "pushoversounds classical": "كلاسيكي", "pushoversounds cosmic": "كونية", "pushoversounds falling": "هبوط", - "pushoversounds gamelan": "Gamelan", + "pushoversounds gamelan": "غاميلان", "pushoversounds incoming": "واردة", "pushoversounds intermission": "استراحة", "pushoversounds magic": "سحر", @@ -638,8 +638,8 @@ "alertaApiKey": "مفتاح API", "alertaAlertState": "حالة التنبيه", "alertaRecoverState": "استعادة الدولة", - "auto acknowledged": "", - "auto resolve": "", + "auto acknowledged": "تم الاقرار تلقائياُ", + "auto resolve": "تم الحل تلقائياُ", "serwersmsAPIUser": "اسم مستخدم API (بما في ذلك بادئة WebAPI_)", "serwersmsAPIPassword": "كلمة مرور API", "serwersmsPhoneNumber": "رقم الهاتف", @@ -657,7 +657,7 @@ "From Name/Number": "من الاسم/الرقم", "Leave blank to use a shared sender number.": "اترك فارغًا لاستخدام رقم المرسل المشترك.", "Octopush API Version": "إصدار Octopush API", - "Legacy Octopush-DM": "Legacy Octopush-DM", + "Legacy Octopush-DM": "Octopush-DM القديم", "ntfy Topic": "موضوع ntfy", "onebotHttpAddress": "OneBot HTTP عنوان", "onebotMessageType": "نوع رسالة OneBot", @@ -678,7 +678,7 @@ "disableAPIKeyMsg": "هل أنت متأكد أنك تريد تعطيل مفتاح API هذا؟", "deleteAPIKeyMsg": "هل أنت متأكد أنك تريد حذف مفتاح API هذا؟", "Auto Get": "الحصول التلقائي", - "Auto resolve or acknowledged": "", + "Auto resolve or acknowledged": "تم الحل أو الاقرار تلقائياً", "backupDescription2": "ملحوظة: لم يتم تضمين بيانات السجل والأحداث.", "languageName": "العربية", "Game": "الألعاب", @@ -686,6 +686,39 @@ "statusMaintenance": "الصيانة", "Home": "الرئيسة", "setupDatabaseChooseDatabase": "ما هي قاعدة البيانات التي تريد استخدامها؟", - "setupDatabaseEmbeddedMariaDB": "لا تحتاج إلى تعيين أي شيء. قامت نسخة دُوكر بتضمين MariaDB لك تلقائيًا. سيتصل (آب تايم كارما) بقاعدة البيانات هذه عبر مقبس Unix.", - "setupDatabaseMariaDB": "للاتصال بقاعدة بيانات MariaDB خارجية. تحتاج إلى تعيين معلومات اتصال قاعدة البيانات." + "setupDatabaseEmbeddedMariaDB": "لا تحتاج إلى تعيين أي شيء. قامت نسخة دُوكر بتضمين MariaDB لك تلقائيًا. سيتصل (آب تايم كوما) بقاعدة البيانات هذه عبر مقبس Unix.", + "setupDatabaseMariaDB": "للاتصال بقاعدة بيانات MariaDB خارجية. تحتاج إلى تعيين معلومات اتصال قاعدة البيانات.", + "pushViewCode": "كيف يتم إرسال", + "pushOthers": "أخرى", + "programmingLanguages": "لغات البرمجة", + "Reset Token": "إعادة تعيين الرمز الخاص", + "noDockerHostMsg": "غير متوفر. قم بإعداد مضيف Docker أولاً.", + "DockerHostRequired": "الرجاء تعيين مضيف Docker لهذا المراقب.", + "liquidIntroduction": "يتم تحقيق قابلية القولبة من خلال لغة القوالب السائلة. يرجى الرجوع إلى {0} للحصول على تعليمات الاستخدام. هذه هي المتغيرات المتوفرة:", + "templateMsg": "رسالة التنبيه", + "templateHeartbeatJSON": "العنصر الذي يصف نبضات القلب", + "templateMonitorJSON": "العنصر الذي يصف المراقب", + "templateLimitedToUpDownCertNotifications": "متوفر فقط لنتبيهات انتهاء صلاحية الشهادات", + "templateLimitedToUpDownNotifications": "متوفر فقط لتنبيهات الأعلى/الأسفل", + "setupDatabaseSQLite": "ملف قاعدة بيانات بسيط، يوصى به لعمليات النشر على نطاق صغير. قبل الإصدار 2.0.0، استخدم (آب تايم كوما) SQLite كقاعدة بيانات افتراضية.", + "dbName": "اسم قاعدة البيانات", + "Request Timeout": "انتهت مهلة الطلب", + "timeoutAfter": "انتهاء المهلة بعد {0} ثانية", + "styleElapsedTime": "الوقت المنقضي تحت شريط نبضات القلب", + "styleElapsedTimeShowNoLine": "إظهار (بدون خط)", + "styleElapsedTimeShowWithLine": "إظهار (مع خط)", + "webhookBodyPresetOption": "اختيار مسبق - {0}", + "webhookBodyCustomOption": "هيئة مخصصة", + "Select": "اختيار", + "selectedMonitorCount": "تم اختيار : {0}", + "Check/Uncheck": "تحديد/إلغاء تحديد", + "Invert Keyword": "عكس الكلمة الأساسية", + "Expected Value": "القيمة المتوقعة", + "Json Query": "استعلام Json", + "filterActive": "نشيط", + "Cannot connect to the socket server": "لا يمكن الاتصال بخادم المقبس", + "Reconnecting...": "إعادة الاتصال...", + "filterActivePaused": "متوقف مؤقتا", + "Add New Tag": "إضافة وسم جديد", + "statusPageRefreshIn": "تحديث خلال: {0}" } From 85138679b1549e578d9119b11833540d4a44b7e6 Mon Sep 17 00:00:00 2001 From: Alanimdeo Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 235/494] Translated using Weblate (Korean) Currently translated at 83.1% (729 of 877 strings) Co-authored-by: Alanimdeo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ko-KR.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index a77c6809..d968012b 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -655,7 +655,7 @@ "Display Timezone": "표시 시간대", "statusPageMaintenanceEndDate": "종료", "IconUrl": "아이콘 URL", - "Enable DNS Cache": "DNS 캐시 활성화", + "Enable DNS Cache": "(사용되지 않음) HTTP(S) 모니터를 위한 DNS 캐시 활성화", "Enable": "활성화", "Disable": "비활성화", "Single Maintenance Window": "단일 점검", @@ -689,7 +689,7 @@ "Select status pages...": "상태 페이지 선택하기…", "Custom": "커스텀", "webhookAdditionalHeadersTitle": "추가 헤더", - "webhookAdditionalHeadersDesc": "웹훅과 함께 전송될 추가 헤더를 설정해요.", + "webhookAdditionalHeadersDesc": "웹훅과 함께 전송될 추가 헤더를 설정해요. 각각의 헤더는 JSON 키/값으로 구성되어야 해요.", "HTTP Headers": "HTTP 헤더", "Trust Proxy": "프록시 신뢰", "API Keys": "API 키", @@ -725,7 +725,7 @@ "lunaseaUserID": "사용자 ID", "apiKey-expired": "만료됨", "Expires": "만료일", - "twilioAuthToken": "인증 토큰", + "twilioAuthToken": "인증 토큰 / API 키 시크릿", "twilioFromNumber": "번호에서", "twilioToNumber": "번호에서", "twilioAccountSID": "계정 SID", @@ -751,7 +751,7 @@ "telegramMessageThreadIDDescription": "포럼의 대상 메시지 쓰레드(주제)에 대한 선택적 고유 식별인, 포럼 관리자 그룹에만 해당", "pagertreeSilent": "없음", "setupDatabaseChooseDatabase": "어떤 데이터베이스를 사용하시겠습니까?", - "setupDatabaseEmbeddedMariaDB": "추가 설정은 필요 없습니다. 이 도커 이미지는 MariaDB가 내장되어 구성되어 있습니다. Uptime Kuma는 Unix Socket을 통해 데이터베이스에 연결합니다.", + "setupDatabaseEmbeddedMariaDB": "추가 설정은 필요 없습니다. 이 도커 이미지에는 MariaDB가 내장되어 구성되어 있습니다. Uptime Kuma는 Unix Socket을 통해 데이터베이스에 연결합니다.", "setupDatabaseMariaDB": "외부 MariaDB 데이터베이스에 연결합니다. 데이터베이스 연결 정보를 설정해야 합니다.", "setupDatabaseSQLite": "소규모 배포에 권장되는 간단한 데이터베이스 파일입니다. v2.0.0 이전에는 Uptime Kuma가 SQLite를 기본 데이터베이스로 사용했습니다.", "dbName": "데이터베이스 이름", @@ -759,5 +759,6 @@ "filterActivePaused": "일시중지", "Home": "홈", "Cannot connect to the socket server": "소켓 서버에 연결 할 수 없습니다", - "Reconnecting...": "재 연결중..." + "Reconnecting...": "재 연결중...", + "Json Query": "Json 쿼리" } From 1b1ceeae1d029cd0d46a8327364cb421e0322829 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 236/494] Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (877 of 877 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 773ccc6a..10e33b26 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -837,11 +837,11 @@ "styleElapsedTime": "Verstrichene Zeit unter der Prüfintervallleiste", "Check/Uncheck": "Aktivieren/Deaktivieren", "enableNSCD": "Aktiviere NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen", - "setupDatabaseChooseDatabase": "Welli Datebank möchtisch du verwände?", - "setupDatabaseEmbeddedMariaDB": "Du bruchsch nüt izstelle. De Docker-Image het automatisch es MariaDB für dich igrichtet und konfiguriert. Uptime Kuma wird sich mit de Datebank über e Unix-Socket verbinden.", + "setupDatabaseChooseDatabase": "Welche Datenbank möchtest du verwenden?", + "setupDatabaseEmbeddedMariaDB": "Du brauchst nichts einzustellen. Dieses Docker-Image hat automatisch eine MariaDB für dich eingerichtet und konfiguriert. Uptime Kuma wird sich mit dieser Datenbank über einen Unix-Socket verbinden.", "dbName": "Datenbank Name", - "setupDatabaseMariaDB": "Mit externe MariaDB-Datebank verbinde. Du muesch die Verbindungsinformatione für die Datebank festlege.", - "setupDatabaseSQLite": "Ei eifachi Datebankdatei, empfohle für kleineri Bereitstellige. Vor v2.0.0 verwändeti Uptime Kuma SQLite als Standarddatebank.", + "setupDatabaseMariaDB": "Mit externer MariaDB-Datenbank verbinden. Du musst die Verbindungsinformationen für die Datenbank festlegen.", + "setupDatabaseSQLite": "Eine einfache Datenbankdatei, empfohlen für kleinere Bereitstellungen. Vor v2.0.0 verwendete Uptime Kuma SQLite als Standarddatenbank.", "Saved.": "Gespeichert.", "monitorToastMessagesLabel": "Toast-Benachrichtigungen überwachen", "toastSuccessTimeout": "Zeitüberschreitung für Erfolgsbenachrichtigungen", From 2f982aad5366f41ff13ef93e5a04284f023f0bbc Mon Sep 17 00:00:00 2001 From: Gunnar Norin Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 237/494] Translated using Weblate (Swedish) Currently translated at 86.5% (759 of 877 strings) Translated using Weblate (Swedish) Currently translated at 86.3% (757 of 877 strings) Translated using Weblate (English) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Swedish) Currently translated at 49.0% (430 of 877 strings) Co-authored-by: Gunnar Norin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/en/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sv/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/en.json | 2 +- src/lang/sv-SE.json | 689 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 540 insertions(+), 151 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index af6f78ed..1cfcaac4 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -543,7 +543,7 @@ "infiniteRetention": "Set to 0 for infinite retention.", "confirmDeleteTagMsg": "Are you sure you want to delete this tag? Monitors associated with this tag will not be deleted.", "enableGRPCTls": "Allow to send gRPC request with TLS connection", - "grpcMethodDescription": "Method name is convert to cammelCase format such as sayHello, check, etc.", + "grpcMethodDescription": "Method name is convert to camelCase format such as sayHello, check, etc.", "acceptedStatusCodesDescription": "Select status codes which are considered as a successful response.", "deleteMonitorMsg": "Are you sure want to delete this monitor?", "deleteMaintenanceMsg": "Are you sure want to delete this maintenance?", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index 540c2f19..da5a3216 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -1,6 +1,6 @@ { "languageName": "Svenska", - "checkEverySecond": "Uppdatera var {0} sekund.", + "checkEverySecond": "Uppdatera var {0} sekund", "retriesDescription": "Max antal försök innan tjänsten markeras som nere och en notis skickas", "ignoreTLSError": "Ignorera TLS/SSL-fel för webbsidor med HTTPS", "upsideDownModeDescription": "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.", @@ -26,7 +26,7 @@ "Check Update On GitHub": "Sök efter uppdatering på GitHub", "List": "Lista", "Add": "Lägg till", - "Add New Monitor": "Lägg Till Ny Övervakare", + "Add New Monitor": "Lägg till ny övervakare", "Quick Stats": "Snabbstatistik", "Up": "Uppe", "Down": "Nere", @@ -35,7 +35,7 @@ "Pause": "Pausa", "Name": "Namn", "Status": "Status", - "DateTime": "Datum & Tid", + "DateTime": "Datum & tid", "Message": "Meddelande", "No important events": "Inga viktiga händelser", "Resume": "Återuppta", @@ -43,11 +43,11 @@ "Delete": "Ta bort", "Current": "Nuvarande", "Uptime": "Drifttid", - "Cert Exp.": "Certifikat utgår", + "Cert Exp.": "Certifikat utlöpt.", "day": "dag | dagar", - "-day": " dagar", + "-day": "-dag", "hour": "timme", - "-hour": " timmar", + "-hour": "-timme", "Response": "Svar", "Ping": "Ping", "Monitor Type": "Övervakningstyp", @@ -63,27 +63,27 @@ "Max. Redirects": "Max antal omdirigeringar", "Accepted Status Codes": "Tillåtna statuskoder", "Save": "Spara", - "Notifications": "Notiser", + "Notifications": "Notifieringar", "Not available, please setup.": "Ej tillgänglig, vänligen konfigurera.", - "Setup Notification": "Ny Notistjänst", + "Setup Notification": "Konfigurera notifieringstjänst", "Light": "Ljust", "Dark": "Mörkt", "Auto": "Automatiskt", - "Theme - Heartbeat Bar": "Tema - Heartbeat Bar", + "Theme - Heartbeat Bar": "Tema - Heartbeat-indikator", "Normal": "Normal", "Bottom": "Botten", - "None": "Tomt", + "None": "Ingen", "Timezone": "Tidszon", - "Search Engine Visibility": "Synlighet på Sökmotorer", + "Search Engine Visibility": "Synlighet på sökmotorer", "Allow indexing": "Tillåt indexering", "Discourage search engines from indexing site": "Hindra sökmotorer från att indexera sidan", - "Change Password": "Byt Lösenord", - "Current Password": "Nuvarande Lösenord", - "New Password": "Nytt Lösenord", - "Repeat New Password": "Upprepa Nytt Lösenord", - "Update Password": "Uppdatera Lösenord", - "Disable Auth": "Avaktivera Autentisering", - "Enable Auth": "Aktivera Autentisering", + "Change Password": "Byt lösenord", + "Current Password": "Nuvarande lösenord", + "New Password": "Nytt lösenord", + "Repeat New Password": "Upprepa nytt lösenord", + "Update Password": "Uppdatera lösenord", + "Disable Auth": "Avaktivera autentisering", + "Enable Auth": "Aktivera autentisering", "Logout": "Logga ut", "Leave": "Lämna", "I understand, please disable": "Jag förstår, vänligen avaktivera", @@ -94,40 +94,40 @@ "Password": "Lösenord", "Remember me": "Kom ihåg mig", "Login": "Logga in", - "No Monitors, please": "Inga Övervakare, tack", + "No Monitors, please": "Inga övervakare, tack", "add one": "lägg till en", - "Notification Type": "Notistyp", - "Email": "Email", - "Test": "Test", + "Notification Type": "Notifieringstyp", + "Email": "Epost", + "Test": "Testa", "Certificate Info": "Certifikatsinfo", "Resolver Server": "Resolverserver", - "Resource Record Type": "RR-typ", + "Resource Record Type": "Resource Record-typ", "Last Result": "Senaste resultat", "Create your admin account": "Skapa ditt administratörskonto", - "Repeat Password": "Upprepa Lösenord", + "Repeat Password": "Upprepa lösenord", "respTime": "Svarstid (ms)", - "Specific Monitor Type": "Applikationsspecifika övervakare", + "Specific Monitor Type": "Applikationsspecifik övervakartyp", "Push URL": "Push URL", - "Passive Monitor Type": "Passiva övervakare", + "Passive Monitor Type": "Passiv övervakartyp", "markdownSupported": "Stödjer markdown-syntax", "Heartbeat Retry Interval": "Omprövningsintervall", - "needPushEvery": "Hämta denna URL var {0} sekund", + "needPushEvery": "Hämta denna URL var {0} sekund.", "pushOptionalParams": "Valfria parametrar: {0}", "disableauth.message1": "Vill du verkligen avaktivera autentisering?", "disableauth.message2": "Det är designat för när en tredjeparts autentiseringstjänst såsom Cloudflare Access eller Authelia används framför Uptime Kuma.", "Please use this option carefully!": "Använd denna funktion varsamt!", - "Import Backup": "Importera backup", + "Import Backup": "Importera säkerhetskopia", "Affected Monitors": "Påverkade övervakare", "Start of maintenance": "Påbörja underhåll", "All Status Pages": "Alla statussidor", "alertNoFile": "Välj en fil att importera.", - "alertWrongFileType": "Välj en JSON-formatterad fil.", + "alertWrongFileType": "Välj en JSON-formaterad fil.", "Help": "Hjälp", - "Export": "Export", - "Import": "Import", + "Export": "Exportera", + "Import": "Importera", "Game": "Spel", "resendEveryXTimes": "Omsänd efter {0} gånger", - "Export Backup": "Exportera backup", + "Export Backup": "Exportera säkerhetskopia", "Schedule maintenance": "Schemalägg underhåll", "Monitor": "Övervakare | Övervakare", "Resend Notification if Down X times consecutively": "Sänd notis igen om nere X gånger i rad", @@ -137,53 +137,53 @@ "resendDisabled": "Omsändning inaktiverat", "Pick Affected Monitors...": "Välj påverkade övervakare…", "Select status pages...": "Välj statussidor…", - "General Monitor Type": "Allmänna övervakare", - "webhookFormDataDesc": "{multipart} är bra för PHP. Den JSON kommer att bli analyserat med {decodeFunction}", - "appriseInstalled": "Apprise är installerad.", - "clearDataOlderThan": "Behåll övervakare historik data i {0} dagar.", + "General Monitor Type": "Allmän övervakartyp", + "webhookFormDataDesc": "{multipart} är bra för PHP. JSON kommer att bli analyserat med {decodeFunction}", + "appriseInstalled": "Apprise är installerat.", + "clearDataOlderThan": "Behåll övervakarhistoriksdata i {0} dagar.", "steamApiKeyDescription": "För att övervaka en Steam Game Server behöver man en Steam Web-API nyckel. Du kan registrera din API nyckel här: ", - "No Monitors": "Inga Övervaktare", - "shrinkDatabaseDescription": "Utlösa databas VACUUM för SQLite. Om din databas skappades efter 1.10.0, AUTO_VACUUM är redan aktiverat och denna aktion behövs inte.", + "No Monitors": "Inga övervakare", + "shrinkDatabaseDescription": "Utlös databasdammsugning för SQLite. Om din databas skapades efter 1.10.0, AUTO_VACUUM är redan aktiverat och detta behövs inte.", "proxyDescription": "Proxyservrar måste tilldelas en övervakare för att fungera.", "setAsDefaultProxyDescription": "Denna proxyserver kommer att aktiveras som standard för nya övervakare. Du kan fortfarande inaktivera proxyserven var för sig övervakare.", "Content Type": "Innehållstyp", - "webhookAdditionalHeadersDesc": "Ställer in ytterligare headers skickat med webhooken. Varenda header skulle definieras som ett JSON nyckel/värde par.", - "RadiusCallingStationIdDescription": "Kallande Enhetsidentifierare", + "webhookAdditionalHeadersDesc": "Ställer in ytterligare headers skickat med webbhooken. Varenda header ska definieras som ett JSON nyckel/värde par.", + "RadiusCallingStationIdDescription": "Kallande enhetsidentifierare", "Slug": "Slugg", - "Invert Keyword": "Invertera Nyckelord", - "Degraded Service": "Försämrad Tjänst", + "Invert Keyword": "Invertera nyckelord", + "Degraded Service": "Försämrad tjänst", "Request Timeout": "Request Timeout", "timeoutAfter": "Timeout efter {0} sekunder", - "styleElapsedTime": "Förfluten tid under den heartbeat indikatorn", - "styleElapsedTimeShowNoLine": "Visa (Utan Linje)", - "styleElapsedTimeShowWithLine": "Visa (Med Linje)", + "styleElapsedTime": "Förfluten tid under heartbeat-indikatorn", + "styleElapsedTimeShowNoLine": "Visa (utan linje)", + "styleElapsedTimeShowWithLine": "Visa (med linje)", "Create": "Skapa", - "Clear Data": "Radera Data", - "Auto Get": "Hämta Automatiskt", - "Overwrite": "Skriva över", + "Clear Data": "Radera data", + "Auto Get": "Hämta automatiskt", + "Overwrite": "Skriv över", "Options": "Alternativ", - "Verify Token": "Verifiera Token", + "Verify Token": "Verifiera token", "Enable 2FA": "Aktivera 2FA", "Disable 2FA": "Inaktivera 2FA", - "2FA Settings": "2FA Inställningar", + "2FA Settings": "2FA inställningar", "Two Factor Authentication": "Tvåfaktorsautentisering", "filterActive": "Aktiv", "filterActivePaused": "Pausad", "Inactive": "Inaktiv", - "Setup 2FA": "Uppstart 2FA", - "Clear all statistics": "Rensa alla Statistiker", + "Setup 2FA": "Ställ in 2FA", + "Clear all statistics": "Rensa all statistik", "Skip existing": "Hoppa över existerande", "Keep both": "Behåll båda", "Token": "Token", "notAvailableShort": "N/A", "Apply on all existing monitors": "Applicera på alla existerande övervakare", - "Heartbeats": "Heartbeats", + "Heartbeats": "Hjärtslag", "Show URI": "Visa URI", "color": "Färg", "value (optional)": "Värde (valfritt)", "Gray": "Grå", "Tags": "Taggar", - "Tag with this name already exist.": "Tag med detta namn finns redan.", + "Tag with this name already exist.": "Tagg med detta namn finns redan.", "Red": "Röd", "Orange": "Orange", "Green": "Grön", @@ -193,49 +193,49 @@ "Pink": "Rosa", "Custom": "Anpassad", "Search...": "Sök…", - "Avg. Ping": "Medelvärde Ping", + "Avg. Ping": "Pingmedelvärde", "Tag with this value already exist.": "Tagg med detta värde finns redan.", - "Avg. Response": "Medelvärde Respons", - "Entry Page": "Entry Sida", + "Avg. Response": "Responsmedelvärde", + "Entry Page": "Ingångssida", "statusPageRefreshIn": "Uppdaterar om: {0}", - "No Services": "Inga Tjänster", - "All Systems Operational": "Alla System i Drift", - "Partially Degraded Service": "Delvis Försämrada Tjänster", - "Add Group": "Lägg till Grupp", - "Add New Tag": "Lägg till Ny Tagg", - "Add New below or Select...": "Lägg till Ny under eller Välj…", - "Add a monitor": "Lägg till en Övervakare", - "Edit Status Page": "Hantera Status Sida", - "Status Page": "Status Sida", - "Status Pages": "Status Sidor", - "Go to Dashboard": "Till Dashboard", + "No Services": "Inga tjänster", + "All Systems Operational": "Alla system i drift", + "Partially Degraded Service": "Delvis försämrade tjänster", + "Add Group": "Lägg till grupp", + "Add New Tag": "Lägg till ny tagg", + "Add New below or Select...": "Lägg till ny under eller välj…", + "Add a monitor": "Lägg till en övervakare", + "Edit Status Page": "Hantera statussida", + "Status Page": "Statussida", + "Status Pages": "Statussidor", + "Go to Dashboard": "Till instrumentpanel", "here": "här", - "Required": "Krävs", - "webhookJsonDesc": "{0} är bra för någon moderna HTTP servrar till exempel Express.js", + "Required": "Nödvändig", + "webhookJsonDesc": "{0} är bra för moderna HTTP servrar till exempel Express.js", "webhookCustomBodyDesc": "Definiera en anpassad HTTP Body till den request. Mall variabler {msg}, {heartbeat}, {monitor} accepteras.", - "webhookAdditionalHeadersTitle": "Ytterligare Headers", + "webhookAdditionalHeadersTitle": "Ytterligare headers", "webhookBodyPresetOption": "Förinställning - {0}", - "defaultNotificationName": "Min {notification} Varna ({number})", - "webhookBodyCustomOption": "Anpassad Body", - "Webhook URL": "Webhook URL", - "Application Token": "Applikation Token", + "defaultNotificationName": "Min {notification} varna ({number})", + "webhookBodyCustomOption": "Anpassad body", + "Webhook URL": "Webbhook URL", + "Application Token": "Applikationstoken", "Server URL": "Server URL", "Priority": "Prioritet", "emojiCheatSheet": "Emoji fusklapp: {0}", "Read more": "Läs mer", - "appriseNotInstalled": "Apprise är inte installerad. {0}", + "appriseNotInstalled": "Apprise är inte installerat. {0}", "Method": "Metod", "Body": "Body", "Headers": "Headers", - "HeadersInvalidFormat": "Requestens headers är inte giltig JSON: ", + "HeadersInvalidFormat": "Requestheaders är inte giltig JSON: ", "BodyInvalidFormat": "Requestens body är inte giltig JSON: ", - "Monitor History": "Övervakare Historik", + "Monitor History": "Övervakarhistorik", "PasswordsDoNotMatch": "Lösenorden matchar inte.", - "records": "rekorder", - "One record": "En rekord", - "Current User": "Nuvarande Användare", + "records": "transaktion", + "One record": "En transaktion", + "Current User": "Nuvarande användare", "topic": "Ämne", - "topicExplanation": "MQTT ämne att övervaka", + "topicExplanation": "MQTT-ämne att övervaka", "successMessageExplanation": "MQTT meddelande som ska anses vara framgång", "successMessage": "Framgång Meddelande", "recent": "Nyligen", @@ -243,12 +243,12 @@ "Info": "Info", "Security": "Säkerhet", "Steam API Key": "Steam API Nyckel", - "Shrink Database": "Minska Databas", + "Shrink Database": "Krymp databas", "Pick a RR-Type...": "Välj en RR-Typ…", - "Pick Accepted Status Codes...": "Välj Accepterade Statuskod…", + "Pick Accepted Status Codes...": "Välj accepterade statuskoder…", "Default": "Standard", - "HTTP Options": "HTTP Alternativ", - "Create Incident": "Skapa Incident", + "HTTP Options": "HTTP-alternativ", + "Create Incident": "Skapa incident", "Title": "Titel", "Content": "Innehåll", "Style": "Stil", @@ -262,114 +262,503 @@ "light": "ljus", "dark": "mörk", "Post": "Post", - "Please input title and content": "Snälla lägg till titel och innehåll", - "Created": "Skapat", - "Last Updated": "Senaste Uppdaterade", - "Switch to Light Theme": "Byt till Ljustema", - "Switch to Dark Theme": "Byt till Mörktema", - "Show Tags": "Visa Taggar", - "Hide Tags": "Göma Taggar", + "Please input title and content": "Vänligen lägg till titel och innehåll", + "Created": "Skapad", + "Last Updated": "Senaste uppdaterad", + "Switch to Light Theme": "Byt till ljust tema", + "Switch to Dark Theme": "Byt till mörkt tema", + "Show Tags": "Visa taggar", + "Hide Tags": "Göm taggar", "Description": "Beskrivning", - "No monitors available.": "Inga övervaktare tillgänglig.", + "No monitors available.": "Inga övervakare tillgängliga.", "Add one": "Lägg till en", - "Untitled Group": "Namnlös Grupp", + "Untitled Group": "Namnlös grupp", "Services": "Tjänster", - "Discard": "Radera", - "Cancel": "Kancellera", + "Discard": "Förkasta", + "Cancel": "Avbryt", "Select": "Välj", "selectedMonitorCount": "Valt: {0}", - "Check/Uncheck": "Markera/Omarkera", + "Check/Uncheck": "Markera/Avmarkera", "Powered by": "Drivs av", "Customize": "Anpassa", - "Custom Footer": "Anpassad Footer", + "Custom Footer": "Anpassad sidfot", "Custom CSS": "Anpassad CSS", - "deleteStatusPageMsg": "Är du säkert att du vill radera denna status sida?", + "deleteStatusPageMsg": "Är du säkert att du vill radera denna statussida?", "Proxies": "Proxyservrar", "default": "Standard", "enabled": "Aktiverad", - "setAsDefault": "Ange Som Standard", + "setAsDefault": "Ange som standard", "deleteProxyMsg": "Är du säkert att du vill radera denna proxyserver för alla övervakare?", "Certificate Chain": "Certifikatkedja", "Valid": "Giltig", "Invalid": "Ogiltig", "User": "Användare", "Installed": "Installerat", - "Not installed": "Installerat ej", + "Not installed": "Inte installerat", "Running": "Körs", "Not running": "Körs inte", - "Remove Token": "Ta bort Token", + "Remove Token": "Ta bort token", "Start": "Starta", "Stop": "Stoppa", - "Add New Status Page": "Lägg till Ny Status Sida", + "Add New Status Page": "Lägg till ny statussida", "Accept characters:": "Acceptera tecken:", - "Unpin": "Unpin", - "startOrEndWithOnly": "Börja eller sluta med {0} bara", - "No consecutive dashes": "Ingen följande streck", + "Unpin": "Ta bort fastnålat", + "startOrEndWithOnly": "Börja eller sluta med {0} endast", + "No consecutive dashes": "Inga streck i följd", "Next": "Nästa", - "The slug is already taken. Please choose another slug.": "Sluggen är redan tagit. Snälla välja en annan slugg.", - "No Proxy": "Ingen Proxyservern", + "The slug is already taken. Please choose another slug.": "Sluggen är upptagen. Vänligen välj en annan slugg.", + "No Proxy": "Ingen proxyserver", "Authentication": "Autentisering", "HTTP Basic Auth": "HTTP Basic Auth", - "New Status Page": "Ny Status Sida", - "Page Not Found": "Sida hittas inte", - "Reverse Proxy": "Omvänd Proxyserver", - "Backup": "Backup", + "New Status Page": "Ny statussida", + "Page Not Found": "Sidan hittades inte", + "Reverse Proxy": "Omvänd proxyserver", + "Backup": "Säkerhetskopia", "About": "Om", "wayToGetCloudflaredURL": "(Ladda ned cloudflared från {0})", - "cloudflareWebsite": "Cloudflare Webbsida", + "cloudflareWebsite": "Cloudflare webbsida", "Message:": "Meddelande:", - "Don't know how to get the token? Please read the guide:": "Vet inte hur att få en token? Snälla läs guiden:", - "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Den nuvarande anslutningen kan kopplas bort om du närvarande ansluter via Cloudflare Tunnel. Är du säkert du vill avsluta den? Skriv ditt nuvarande lösenord för att konfirmera.", + "Don't know how to get the token? Please read the guide:": "Vet inte hur man får tag i en token? Vänligen läs guiden:", + "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Den nuvarande anslutningen kan kopplas bort om du ansluter via Cloudflare Tunnel. Är du säkert du vill avsluta den? Skriv ditt nuvarande lösenord för att bekräfta.", "HTTP Headers": "HTTP Headers", - "Trust Proxy": "Lita på Proxyserver", + "Trust Proxy": "Lita på proxyserver", "Other Software": "Annan programvara", "For example: nginx, Apache and Traefik.": "Till exempel: nginx, Apache och Traefik.", - "Please read": "Läs är du snäll", - "Subject:": "Subjekt:", - "Valid To:": "Giltig Till:", + "Please read": "Vänligen läs", + "Subject:": "Ämne:", + "Valid To:": "Giltig till:", "Days Remaining:": "Dagar kvar:", - "Fingerprint:": "Fingertryck:", - "No status pages": "Ingen status sidor", - "Proxy": "Proxyservern", - "Date Created": "Datum Skapade", - "Footer Text": "Footer Text", - "Show Powered By": "Visa Drivs Av", - "Domain Names": "Domain Namn", + "Fingerprint:": "Fingeravtryck:", + "No status pages": "Inga statussidor", + "Proxy": "Proxyserver", + "Date Created": "Skapat datum", + "Footer Text": "Sidfotstext", + "Show Powered By": "Visa \"Drivs av\"", + "Domain Names": "Domännamn", "signedInDisp": "Inloggad som {0}", - "signedInDispDisabled": "Auth Inaktiverad.", - "RadiusSecret": "Radius Hemlighet", - "RadiusSecretDescription": "Delad Hemlighet mellan client och server", - "RadiusCalledStationId": "Kancellerad Station Id", + "signedInDispDisabled": "Auth inaktiverad.", + "RadiusSecret": "Radius-hemlighet", + "RadiusSecretDescription": "Delad hemlighet mellan klient och server", + "RadiusCalledStationId": "Avbrutet Stationsid", "RadiusCalledStationIdDescription": "Enhetsidentifierare", - "RadiusCallingStationId": "Calling Station Id", - "Certificate Expiry Notification": "Notif om certifikatets utgång", - "Domain Name Expiry Notification": "Notif om Domain Namns utgång", - "API Key": "API Nyckel", - "API Username": "API Användarnamn", + "RadiusCallingStationId": "Uppringande stationsid", + "Certificate Expiry Notification": "Notifiering om certifikatets utgångsdatum", + "Domain Name Expiry Notification": "Notifiering om förfallodatum på domännamn", + "API Key": "API-nyckel", + "API Username": "API-användarnamn", "Show update if available": "Visa uppdatering om tillgänglig", - "Also check beta release": "Kolla upp också beta version", + "Also check beta release": "Kolla också betaversioner", "Events": "Händelser", "Active": "Aktiv", - "statusPageNothing": "Ingenting här, snälla lägg till en grupp eller en monitor.", + "statusPageNothing": "Ingenting här, vänligen lägg till en grupp eller en övervakare.", "warning": "varning", "Issuer:": "Utfärdare:", - "Expected Value": "Förväntat Värde", - "Primary Base URL": "Huvud Bas URL", + "Expected Value": "Förväntat värde", + "Primary Base URL": "Primär bas-URL", "Home": "Hem", - "Cannot connect to the socket server": "Kan inte koppla till socketservern", - "Reconnecting...": "Återanslutar...", - "Json Query": "Json Query", + "Cannot connect to the socket server": "Kan inte ansluta till socketservern", + "Reconnecting...": "Återansluter...", + "Json Query": "Json-fråga", "Default enabled": "Standard aktiverad", - "pushViewCode": "Visa kod", + "pushViewCode": "Hur använda Pushövervakare? (Visa kod)", "Steam Game Server": "Steam Spel Server", - "Docker Container": "Docker Container", - "setupDatabaseChooseDatabase": "Vilken databas skulle du vilja använda?", - "dbName": "Databas Namn", + "Docker Container": "Docker-container", + "setupDatabaseChooseDatabase": "Vilken databas vill du använda?", + "dbName": "Databasnamn", "What you can try:": "Vad du kan försöka:", "Container Name / ID": "Containernamn / ID", - "Docker Host": "Docker värd", - "Docker Hosts": "Docker värdar", + "Docker Host": "Dockervärd", + "Docker Hosts": "Dockervärdar", "Domain": "Domän", "Most likely causes:": "Störst troliga anledningar:", - "Coming Soon": "Kommer snart" + "Coming Soon": "Kommer snart", + "liquidIntroduction": "Mallar är uppnådda med Liquids mallspråk. Hänvisa till [0] för användningsinstruktioner. Tillgängliga variabler är:", + "emailTemplateStatus": "Status", + "templateHeartbeatJSON": "objekt beskrivande hjärtslag", + "templateLimitedToUpDownCertNotifications": "Endast tillgänglig för UPP/NER/Certifikat giltigt notifieringar", + "successKeyword": "Nyckelord för lyckat", + "successKeywordExplanation": "MQTT-nyckelord som anses lyckade", + "cronExpression": "Cronuttryck", + "invalidCronExpression": "Ogiltigt cronuttryck: {0}", + "backupRecommend": "Vänligen säkerhetskopiera volymen eller mappen (./data/) direkt istället.", + "disableCloudflaredNoAuthMsg": "Du är i Auth-läge, ett lösenord krävs inte.", + "setupDatabaseEmbeddedMariaDB": "Du behöver inte ställa in någonting. Denna dockeravbild har inbyggd och konfigurerade MariaDB automatiskt. Uptime Kuma kommer att ansluta till databasen via en unixsocket.", + "setupDatabaseMariaDB": "Anslut till en extern MariaDB databas. Du måste ange anslutningsinformation till databasen.", + "setupDatabaseSQLite": "En enkel databasfil, rekommenderas för småskaliga installationer. Före v2.0.0, använde Uptime Kuma SQLite som standarddatabas.", + "Reset Token": "Återställ token", + "Workstation": "Arbetsstation", + "socket": "Socket", + "tcp": "TCP / HTTP", + "Packet Size": "Paketstorlek", + "Bot Token": "Bott-token", + "telegramSendSilently": "Skicka tyst", + "telegramMessageThreadID": "(Valfritt) Meddelandetrådsid", + "Chat ID": "Chatt-ID", + "deleteDockerHostMsg": "Är du säker att du vill ta bort denna dockervärd för alla övervakare?", + "DockerHostRequired": "Vänligen ange Dockervärd för denna övervakare.", + "wayToGetTelegramToken": "Du kan få en token från {0}.", + "pushOthers": "Andra", + "programmingLanguages": "Programmeringsspråk", + "templateMsg": "meddelande i notifieringen", + "templateMonitorJSON": "objekt beskrivande övervakare", + "templateLimitedToUpDownNotifications": "endast tillgänglig för UPP/NER notifieringar", + "Examples": "Exempel", + "Using a Reverse Proxy?": "Används omvänd proxy?", + "Query": "Fråga", + "Connection Type": "Anslutningstyp", + "YOUR BOT TOKEN HERE": "DIN BOTT-TOKEN HÄR", + "or": "eller", + "Optional": "Valfri", + "Event data:": "Händelsedata:", + "Trigger type:": "Utlösningstyp:", + "Automations can optionally be triggered in Home Assistant:": "Automationer kan valfritt utlösas i Home Assistant:", + "default: notify all devices": "standard: notifiera alla enheter", + "Notification Service": "Notifieringstjänst", + "Home Assistant URL": "Home Assistant-URL", + "wayToGetLineNotifyToken": "Du kan få en åtkomststoken från {0}", + "telegramProtectContent": "Skydda vidarebefordring/sparning", + "weekdayShortWed": "Ons", + "weekdayShortTue": "Tis", + "weekdayShortMon": "Mån", + "weekdayShortSun": "Sön", + "weekdayShortSat": "Lör", + "weekdayShortFri": "Fre", + "weekdayShortThu": "Tors", + "cronSchedule": "Schema: ", + "endDateTime": "Slutdatum/tid", + "startDateTime": "Startdatum/tid", + "sameAsServerTimezone": "Samma som serverns tidszon", + "warningTimezone": "Den använder serverns tidszon", + "strategyManual": "Aktivera/Inaktivera manuellt", + "Recurring": "Återkommande", + "Event type:": "Händelsetyp:", + "recurringInterval": "Intervall", + "emailCustomSubject": "Anpassat ämne", + "emailCustomisableContent": "Anpassningsbart innehåll", + "smtpLiquidIntroduction": "Följande två fält är mallbara via Liquid templating Language. Vänligen referera till {0} för användningsinstruktioner. Detta är dom tillgängliga variablerna:", + "leave blank for default subject": "lämna blankt för standardämne", + "emailCustomBody": "Anpassat meddelande", + "Recipients": "Mottagare", + "twoFAVerifyLabel": "Vänligen ange din token för att verifiera 2FA:", + "pushoversounds tugboat": "Bogserbåt", + "pushoversounds alien": "Utomjordingsalarm (lång)", + "AccessKeyId": "Accessnyckel-ID", + "Uptime Kuma URL": "Uptime Kuma URL", + "Notify Channel": "Notifieringskanal", + "smseagleRecipientType": "Mottagartyp", + "smseagleTo": "Telefonnummer", + "smseagleRecipient": "Mottagare (flera måste separeras med komma)", + "clearEventsMsg": "Är du säker att du vill ta bort alla händelser för denna övervakare?", + "successDisabled": "Inaktivering lyckades.", + "confirmImportMsg": "Är du säker på att du vill importera säkerhetskopian? Verifiera att du valt korrekta importeringsval.", + "remoteBrowsersDescription": "Fjärrwebbläsare är ett alternativ istället för att köra Chromium lokalt. Ställ in en tjänst liknande browserless.io eller anslut till din egna", + "pushyToken": "Enhetstoken", + "successDeleted": "Lyckades ta bort.", + "Enable DNS Cache": "(Utfasad) Aktivera DNS-cache för HTTP(s) övervakare", + "enableNSCD": "Aktivera NSCD (Name Service Cache Daemon) för att cacha alla DNS-förfrågningar", + "chromeExecutable": "Chrome/Chromium körbar fil", + "chromeExecutableAutoDetect": "Autodetektera", + "pushoverMessageTtl": "Meddelande TTL (sekunder)", + "Example:": "Exempel: {0}", + "Sms template must contain parameters: ": "SMS-mall måste innehålla dessa parametrar: ", + "WeCom Bot Key": "WeCom-bottsnyckel", + "Add a domain": "Lägg till en domän", + "smtpDkimSettings": "DKIM-inställningar", + "Line Developers Console": "Linjeutvecklarkonsol", + "infiniteRetention": "Ange 0 för oändlig kvarhållningsperiod.", + "enableDefaultNotificationDescription": "Denna notifiering kommer att vara aktiverad som standard för nya övervakere. Du kan inaktivera notifieringen separat för varje övervakare.", + "wayToGetKookBotToken": "Skapa applikation och få din bott-token vid {0}", + "alertaApiEndpoint": "API-slutpunkt", + "Learn More": "Läs mer", + "Add Another": "Lägg till en annan", + "apiKeyAddedMsg": "Din API-nyckel har lagts till. Vänligen notera den för detta visas inte igen.", + "octopushPhoneNumber": "Telefonnummer (int. format, ex: +33612345678) ", + "noOrBadCertificate": "Inget/ogiltigt certifikat", + "successBackupRestored": "Lyckades återställa säkerhetskopia.", + "GrafanaOncallUrl": "Grafana OnCall-URL", + "Maintenance Time Window of a Day": "Underhållsfönster-tid på dagen", + "Effective Date Range": "Giltigt datumintervall (valfritt)", + "Enable": "Aktivera", + "Disable": "Inaktivera", + "Schedule Maintenance": "Schemalagt underhåll", + "Integration Key": "Integreringsnyckel", + "Remote Browsers": "Fjärrwebbläsare", + "Remote Browser": "Fjärrwebbläsare", + "Add a Remote Browser": "Lägg till en fjärrwebbläsare", + "Check how to config it for WebSocket": "Kontrollera hur man konfigurerar den för webbsocket", + "The resource is no longer available.": "Resursen är inte längre tillgänglig.", + "Connection String": "Anslutningssträng", + "wayToCheckSignalURL": "Du kan kontrollera denna URL för att visa hur man sätter upp en:", + "pushoverDesc2": "Om du vill skicka notifieringar till andra enheter, fyll i enhetsfältet.", + "Generate": "Generera", + "noDockerHostMsg": "Inte tillgängligt. Ställ in en dockervärd först.", + "tailscalePingWarning": "För att använda Tailscale Ping-övervakare, måste du installera Uptime Kuma utan docker och också installera Tailscale-klienten på din server.", + "trustProxyDescription": "Lita på 'X-Forwarded-*' headers. Om du vill få den korrekta IP-adressen för klienten och Uptime Kuma är bakom en proxy såsom Nginx eller Apache, måste du aktivera detta.", + "statusPageMaintenanceEndDate": "Slut", + "IconUrl": "Ikon-URL", + "Single Maintenance Window": "Ensamt underhållsfönster", + "maintenanceStatus-under-maintenance": "Underhåll pågår", + "maintenanceStatus-inactive": "Inaktiv", + "maintenanceStatus-scheduled": "Schemalagd", + "maintenanceStatus-ended": "Slutade", + "maintenanceStatus-unknown": "Okänd", + "Display Timezone": "Visa tidszon", + "Server Timezone": "Server-tidszon", + "smtpBCC": "Hemlig kopia", + "smtpCC": "Kopia", + "Number": "Nummer", + "To Email": "Till epost", + "emailTemplateMonitorJSON": "objekt som beskriver övervakaren", + "emailTemplateHeartbeatJSON": "objekt som beskriver hjärtslaget", + "emailTemplateMsg": "meddelande i notifieringen", + "emailTemplateLimitedToUpDownNotification": "endast tillgängligt för UPP/NER hjärtslag, annars noll", + "Discord Webhook URL": "Discord webbhook-URL", + "wayToGetDiscordURL": "Du kan hitta detta genom att gå till Serverinställningar -> Integrationer -> Visa webbhocks -> Ny webbhook", + "Bot Display Name": "Bott-visningsnamn", + "dataRetentionTimeError": "Kvarhållningsperiod måste vara större än 0", + "Integration URL": "Integrerings-URL", + "Close": "Stäng", + "Session Token": "Sessionstoken", + "noGroupMonitorMsg": "Inte tillgängligt. Skapa en gruppövervakare först.", + "successEnabled": "Aktivering lyckades.", + "tagNotFound": "Tagg hittades inte.", + "Bark API Version": "Bark API-version", + "Add a new expiry notification day": "Lägg till ett ny dag för notifiering av utgångsdatum", + "Remove the expiry notification": "Ta bort notifieringsdag för utgångsdatum", + "There might be a typing error in the address.": "Det kan vara ett stavfel i adressen.", + "Retype the address.": "Skriv om adressen.", + "Go back to the previous page.": "Gå tillbaka till föregående sida.", + "settingsCertificateExpiry": "TLS-certifikatsutgångsdatum", + "certificationExpiryDescription": "HTTPS-övervakare utlöser en notifiering när TLS-certifikatet löper ut om:", + "Setup Docker Host": "Ställ in dockervärd", + "Docker Daemon": "Docker-daemon", + "telegramSendSilentlyDescription": "Skickar meddelandet tyst. Användare kommer att få en notifiering utan ljud.", + "telegramMessageThreadIDDescription": "Valfri unik identifierare för meddelandets tråd (ämne) på forumet; endast för forum-supergrupper", + "telegramProtectContentDescription": "Om aktiverat kommer bott-meddelanden i Telegram att vara skyddade från vidarebefordring och sparande.", + "supportTelegramChatID": "Stöd direktchatt / grupp / kanalens chatt-id", + "wayToGetTelegramChatID": "Du kan se ditt chatt-id genom att skicka ett meddelande till boten och besöka denna URL för att visa chat_id:", + "chatIDNotFound": "Chatt-id hittade inte; vänligen skicka ett meddelande till den här botten först", + "Long-Lived Access Token": "Långtidsaccess-token", + "Frontend Version": "Frontend-version", + "Frontend Version do not match backend version!": "Frontend-version matchar inte backend-version!", + "backupOutdatedWarning": "Avskrivet: Eftersom en massa funktioner har lagts till och denna säkerhetskopieringsfunktion är lite ounderhållen, kan det inte generera eller återställa en komplett säkerhetskopia.", + "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "En lista av notifieringstjänster kan hittas i Home Assistant under \"Utvecklarverktyg > Tjänster\", sök efter notifiering för att hitta din enhet/telefon-namn.", + "Then choose an action, for example switch the scene to where an RGB light is red.": "Välj en åtgärd, till exempel byt scen till en där en RGB-lampa är röd.", + "emailTemplateHostnameOrURL": "Värdnamn eller URL", + "From Email": "Från epost", + "dayOfMonth": "Dag i månad", + "dayOfWeek": "Dag i vecka", + "lastDay": "Sista dagen", + "lastDay1": "Sista dagen i månaden", + "lastDay2": "2a sista dagen i månaden", + "lastDay3": "3e sista dagen i månaden", + "lastDay4": "4e sista dagen i månaden", + "No Maintenance": "Inget underhåll", + "pauseMaintenanceMsg": "Är du säker att du vill pausa?", + "chromeExecutableDescription": "Docker-användare, om Chromium inte är installerat kommer det att dröja ett par minuter att installera innan testresultatet visas. Det tar 1GB i diskutrymme.", + "dnsCacheDescription": "Det kan misslyckas i några IPv6-miljöer, inaktivera det om du stöter på några problem.", + "Date and Time": "Datum och tid", + "DateTime Range": "Datum/tid-intervall", + "loadingError": "Kan inte hämta data, vänligen försök senare.", + "install": "Installera", + "installing": "Installerar", + "uninstall": "Avinstallera", + "uninstalling": "Avinstallerar", + "confirmUninstallPlugin": "Är du säker på att du vill avinstallera detta tillägg?", + "plugin": "Tillägg | Tillägg", + "Clone Monitor": "Klona övervakare", + "Clone": "Klona", + "smtp": "Epost (SMTP)", + "secureOptionNone": "Ingen /STARTTLS (25,587)", + "secureOptionTLS": "TLS (465)", + "Ignore TLS Error": "Ignorera TLS-fel", + "leave blank for default body": "lämna blankt för standardmeddelande", + "emailTemplateServiceName": "Tjänstenamn", + "Prefix Custom Message": "Anpassat meddelandeprefix", + "Hello @everyone is...": "Hej {'@'}alla är…", + "wayToGetTeamsURL": "Du kan lära dig hur man skapar en webbhook-URL {0}.", + "wayToGetZohoCliqURL": "Du kan lära dig hur man skapar en webbhook-URL {0}.", + "needSignalAPI": "Du måste ha en signal-klient med REST API.", + "Access Token": "Åtkomsttoken", + "Channel access token": "Kanalåtkomststoken", + "User ID": "Användarid", + "Messaging API": "Meddelandeapi", + "Icon URL": "Ikon-URL", + "deleteMaintenanceMsg": "Är du säker att du vill ta bort detta underhåll?", + "clearHeartbeatsMsg": "Är du säker att du vill ta bort alla hjärtslag för denna övervakare?", + "confirmClearStatisticsMsg": "Är du säker att du vill ta bort ALL statistik?", + "tokenValidSettingsMsg": "Giltig token! Du kan nu spara 2FA-inställningarna.", + "confirmEnableTwoFAMsg": "Är du säker att du vill aktivera 2FA?", + "confirmDisableTwoFAMsg": "Är du säker att du vill inaktivera 2FA?", + "recurringIntervalMessage": "Kör en gång varje dag | Kör en gång var {0} dagar", + "affectedMonitorsDescription": "Välj övervakare som är påverkade av det nuvarande underhållet", + "affectedStatusPages": "Visa detta underhållsmeddelande på valda statussidor", + "atLeastOneMonitor": "Välj minst en påverkad övervakare", + "Basic Settings": "Grundläggande inställningar", + "dnsPortDescription": "DNS-serverport. Standard är 53. Du kan ändra port när som helst.", + "confirmDeleteTagMsg": "Är du säker att du vill radera denna tagg? Övervakare associerade med denna tagg kommer inte att tas bort.", + "enableGRPCTls": "Tillåt att gRPC-förfrågningar skickas med TLS-anslutning", + "invertKeywordDescription": "Titta om nyckelordet frånvarande istället för närvarande.", + "pushoversounds bike": "Cykel", + "pushoversounds cashregister": "Kassaregister", + "pushoversounds classical": "Klassisk", + "pushoversounds cosmic": "Kosmisk", + "pushoversounds falling": "Fallande", + "pushoversounds gamelan": "Gamelan", + "pushoversounds incoming": "Inkommande", + "pushoversounds intermission": "Paus", + "pushoversounds magic": "Magisk", + "pushoversounds mechanical": "Mekanisk", + "pushoversounds pianobar": "Pianobar", + "pushoversounds siren": "Siren", + "pushoversounds spacealarm": "Rymdalarm", + "pushoversounds climb": "Klättra (lång)", + "pushoversounds persistent": "Beständig (lång)", + "pushoversounds echo": "Pushovereko (lång)", + "pushoversounds updown": "Upp ner (lång)", + "pushoversounds vibrate": "Vibrera endast", + "pushoversounds none": "Ingen (tyst)", + "pushyAPIKey": "Hemlig API-nyckel", + "User Key": "Användarnyckel", + "Device": "Enhet", + "Message Title": "Meddelandetitel", + "Notification Sound": "Notifieringsljud", + "More info on:": "Mer info på: {0}", + "SMS Type": "SMS-typ", + "promosmsLogin": "API-inloggninsnamn", + "promosmsPassword": "API-lösenord", + "apprise": "Apprise (Stödjer 50+ notifieringstjänster)", + "GoogleChat": "Google Chat (Google Workspace endast)", + "backupDescription": "Du kan säkerhetskopiera alla övervakare och notifieringstjänster till en JSON-fil.", + "endpoint": "slutpunkt", + "Read more:": "Lär mer: {0}", + "Status:": "Status: {0}", + "Strategy": "Strategi", + "high": "hög", + "SecretAccessKey": "Accessnyckelshemlighet", + "PhoneNumbers": "Telefonnummer", + "TemplateCode": "Mallkod", + "SignName": "Signaturnamn", + "Bark Group": "Barkgrupp", + "Bark Endpoint": "Barkslutpunkt", + "Bark Sound": "Barkljud", + "WebHookUrl": "Webbhook-URL", + "SecretKey": "Hemlig nyckel", + "For safety, must use secret key": "För säkerhet måste det användas en hemlig nyckel", + "Device Token": "Enhetstoken", + "Platform": "Plattform", + "Huawei": "Huawei", + "High": "Hög", + "Retry": "Försök igen", + "Topic": "Ämne", + "Setup Proxy": "Ställ in proxy", + "Proxy Protocol": "Proxy-protokoll", + "Proxy server has authentication": "Proxy-server har autentisering", + "Channel Name": "Kanalnamn", + "setup a new monitor group": "ställ in en ny övervakningsgrupp", + "openModalTo": "öppna modal till {0}", + "Remove domain": "Ta bort domän '{0}'", + "Icon Emoji": "Ikonemoji", + "apiCredentials": "API-referenser", + "Apprise URL": "Apprise-URL", + "checkPrice": "Kontrollera {0} pris:", + "matrixHomeserverURL": "Hemserver-URL (med http(s):// och valfri port)", + "Internal Room Id": "Internt rums-ID", + "documentation": "dokumentation", + "smtpDkimDomain": "Domännamn", + "smtpDkimKeySelector": "Nyckelväljare", + "smtpDkimPrivateKey": "Privat nyckel", + "smtpDkimHashAlgo": "Hashningsalgoritm (valfritt)", + "do nothing": "gör ingenting", + "alertaEnvironment": "Miljö", + "alertaApiKey": "API-nyckel", + "alertaAlertState": "Larmläge", + "serwersmsAPIPassword": "API-lösenord", + "serwersmsPhoneNumber": "Telefonnummer", + "API Keys": "API-nycklar", + "Expiry": "Utgången", + "Expiry date": "Utgångsdatum", + "Don't expire": "Inget utgångsdatum", + "Continue": "Fortsätt", + "Key Added": "Nyckel tillagd", + "Add API Key": "Lägg till API-nyckel", + "No API Keys": "Inga API-nycklar", + "apiKey-active": "Aktiv", + "apiKey-expired": "Utgången", + "apiKey-inactive": "Inaktiv", + "Expires": "Utgår", + "disableAPIKeyMsg": "Är du säker att du vill inaktivera denna API-nyckel?", + "deleteAPIKeyMsg": "Är du säker att du vill ta bort denna API-nyckel?", + "pagertreeIntegrationUrl": "Integrations-URL", + "pagertreeUrgency": "Brådskande", + "pagertreeSilent": "Tyst", + "pagertreeLow": "Låg", + "pagertreeMedium": "Mellan", + "pagertreeHigh": "Hög", + "pagertreeCritical": "Kritisk", + "ntfyUsernameAndPassword": "Användarnamn och lösenord", + "foundChromiumVersion": "Hittade Chromium/Chrome. Version: {0}", + "Remote Browser not found!": "Fjärrwebbläsare hittades inte!", + "self-hosted container": "själv-hosted container", + "remoteBrowserToggle": "Som standard körs Chromium inuti Uptime Kuma containern.", + "useRemoteBrowser": "Använd en fjärrwebbläsare", + "Saved.": "Sparad.", + "FlashDuty Severity": "Allvarlighetsgrad", + "2faAlreadyEnabled": "2FA är redan aktiverat.", + "2faEnabled": "2FA aktiverat.", + "2faDisabled": "2FA inaktiverat.", + "successAdded": "Lyckades lägga till.", + "successResumed": "Lyckades återuppta.", + "successPaused": "Lyckades pausa.", + "successEdited": "Lyckades redigera.", + "successAuthChangePassword": "Lyckades uppdatera lösenordet.", + "Monitor Group": "Övervakningsgrupp", + "Group": "Grupp", + "showCertificateExpiry": "Visa certifikatets utgångsdatum", + "authUserInactiveOrDeleted": "Användaren är inaktiverad eller borttagen.", + "authInvalidToken": "Ogiltig token.", + "authIncorrectCreds": "Felaktigt användarnamn eller lösenord.", + "deleteRemoteBrowserMessage": "Är du säker att du vill radera denna fjärrwebbläsare för alla övervakare?", + "Browser Screenshot": "Webbläsarskärmdump", + "enableProxyDescription": "Denna proxy påverkar inte övervakarnas förfrågan förräns den är aktiverad. Du kan kontrollera och tillfälligt inaktivera proxyn från alla övervakare genom aktiveringsstatus.", + "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Långtidsaccess-token kan skapas genom att klicka på ditt profilnamn (nedre vänstra) och skrolla till botten och klicka på Skapa token. ", + "Edit Maintenance": "Redigera underhåll", + "pushoversounds bugle": "Bugla", + "Enable TLS": "Aktivera TLS", + "Economy": "Ekonomi", + "Lowcost": "Låg kostnad", + "Gateway Type": "Gatewaytyp", + "You can divide numbers with": "Du kan dela nummer med", + "Base URL": "Bas-URL", + "promosmsAllowLongSMS": "Tillåt långa SMS", + "promosmsPhoneNumber": "Telefonnummer (för polska mottagare kan du skippa riktnummer)", + "Recipient Number": "Mottagarens nummer", + "From Name/Number": "Från namn/nummer", + "Leave blank to use a shared sender number.": "Lämna tomt för att använda ett delat avsändarnummer.", + "smseagleEncoding": "Skicka som unicode", + "smseaglePriority": "Meddelandeprioritet (0-9, standard = 0)", + "onebotGroupMessage": "Grupp", + "onebotPrivateMessage": "Privat", + "onebotUserOrGroupId": "Grupp/användar-ID", + "pushDeerServerDescription": "Lämna tomt för att använda den officiella servern", + "Custom Monitor Type": "Anpassad övervakartyp", + "Google Analytics ID": "Google Analytics-ID", + "Edit Tag": "Redigera tagg", + "Server Address": "Serveradress", + "wayToGetClickSendSMSToken": "Du kan hitta API-användarnamn och API-nyckel från {0} .", + "pagertreeDoNothing": "Gör ingenting", + "lunaseaTarget": "Mål", + "lunaseaDeviceID": "Enhetsid", + "lunaseaUserID": "Användarid", + "ntfyAuthenticationMethod": "Autentiseringsmetod", + "twilioApiKey": "API-nyckel (valfritt)", + "twilioFromNumber": "Från nummer", + "twilioToNumber": "Till nummer", + "Show Clickable Link": "Visa klickbar länk", + "notificationRegional": "Regional", + "cloneOf": "Klon av {0}", + "Proxy Server": "Proxy-server", + "lineDevConsoleTo": "Linjeutvecklarkonsol - {0}", + "aboutIconURL": "Du kan tillhandahålla en länk till en bild i \"Ikon-URL\" för att åsidosätta standard profilbilden. Används inte om Ikonemoji är inställt.", + "backupDescription2": "Notera: historik och händelsedata är inte inkluderat." } From 3962617d74ab45ed79ee11e58b0bfeb24d582262 Mon Sep 17 00:00:00 2001 From: AmadeusGraves Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 238/494] Translated using Weblate (Spanish) Currently translated at 99.4% (872 of 877 strings) Co-authored-by: AmadeusGraves Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/es/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/es-ES.json | 60 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 71f204c6..3e0201d3 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -849,5 +849,63 @@ "setupDatabaseEmbeddedMariaDB": "No necesitas configurar nada. Esta imagen docker ha incrustado y configurado un MariaDB para ti automáticamente. Uptime Kuma se conectará a esta base de datos a través de un socket unix.", "setupDatabaseMariaDB": "Conectarse a una base de datos MariaDB externa. Debe configurar la información de conexión a la base de datos.", "setupDatabaseSQLite": "Un archivo de base de datos simple, recomendado para despliegues a pequeña escala. Antes de la versión 2.0.0, Uptime Kuma utilizaba SQLite como base de datos predeterminada.", - "dbName": "Nombre de la base de datos" + "dbName": "Nombre de la base de datos", + "authInvalidToken": "Token inválido.", + "authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.", + "2faEnabled": "2FA Activado.", + "2faDisabled": "2FA Desactivado.", + "liquidIntroduction": "El lenguaje de plantillas Liquid permite crear plantillas. Consulte las instrucciones de uso en {0}. Estas son las variables disponibles:", + "templateLimitedToUpDownCertNotifications": "sólo disponible para las notificaciones de LEVANTADO/CAÍDO/Caducidad de certificado", + "emailTemplateMsg": "mensaje de la notificación", + "emailTemplateLimitedToUpDownNotification": "sólo disponible para pulsos LEVANTADO/CAÍDO, en caso contrario null", + "setup a new monitor group": "configurar un nuevo grupo de monitores", + "authUserInactiveOrDeleted": "El usuario está inactivo o eliminado.", + "2faAlreadyEnabled": "2FA ya está activado.", + "remoteBrowsersDescription": "Los navegadores remotos son una alternativa a la ejecución local de Chromium. Configúralos con un servicio como browserless.io o conéctate a uno propio", + "successKeyword": "Palabra clave de éxito", + "successKeywordExplanation": "MQTT Palabra clave que se considerará como éxito", + "Remove the expiry notification": "Eliminar la notificación de vencimiento", + "Browser Screenshot": "Captura de pantalla del navegador", + "emailCustomisableContent": "Contenidos personalizables", + "smtpLiquidIntroduction": "Los dos campos siguientes son planificables mediante el lenguaje de plantillas Liquid. Consulte las instrucciones de uso en {0}. Estas son las variables disponibles:", + "leave blank for default subject": "dejar en blanco para el asunto por defecto", + "emailCustomBody": "Cuerpo personalizado", + "successAuthChangePassword": "La contraseña se ha actualizado correctamente.", + "successDeleted": "Eliminado con éxito.", + "successEdited": "Editado con éxito.", + "successDisabled": "Desactivado con éxito.", + "GrafanaOncallUrl": "Grafana URL de llamada", + "Reset Token": "Restablecer Token", + "Remote Browsers": "Navegadores remotos", + "Remote Browser": "Navegador remoto", + "Add a Remote Browser": "Añadir un navegador remoto", + "noDockerHostMsg": "No disponible. Configure primero un host Docker.", + "DockerHostRequired": "Establezca el host Docker para este monitor.", + "successAdded": "Añadido con éxito.", + "successResumed": "Reanudado con éxito.", + "successPaused": "Pausado con éxito.", + "successBackupRestored": "Copia de seguridad restaurada correctamente.", + "successEnabled": "Activado con éxito.", + "tagNotFound": "Etiqueta no encontrada.", + "foundChromiumVersion": "Encontrado Chromium/Chrome. Versión: {0}", + "pushViewCode": "¿Cómo utilizar el monitor Push? (Ver código)", + "pushOthers": "Otros", + "programmingLanguages": "Lenguajes de programación", + "templateMsg": "mensaje de la notificación", + "templateMonitorJSON": "objeto que describe el monitor", + "templateLimitedToUpDownNotifications": "sólo disponible para notificaciones LEVANTADO/CAÍDO", + "Add a new expiry notification day": "Añadir una nueva notificación de vencimiento", + "leave blank for default body": "dejar en blanco para el cuerpo por defecto", + "emailTemplateServiceName": "Nombre del servicio", + "emailTemplateHostnameOrURL": "Nombre del host o URL", + "emailTemplateStatus": "Estado", + "emailTemplateMonitorJSON": "objeto que describe el monitor", + "openModalTo": "abrir modal a {0}", + "Add a domain": "Añadir un dominio", + "Remove domain": "Eliminar dominio '{0}'", + "Remote Browser not found!": "¡Navegador remoto no encontrado!", + "self-hosted container": "contenedor autohospedado", + "remoteBrowserToggle": "Por defecto Chromium se ejecuta dentro del contenedor Uptime Kuma. Puedes usar un navegador remoto activando este interruptor.", + "useRemoteBrowser": "Utilice un navegador remoto", + "deleteRemoteBrowserMessage": "¿Está seguro de que desea eliminar este Navegador Remoto para todos los monitores?" } From 5b277ce4a4d22910245e2bb6c4723bc16b134421 Mon Sep 17 00:00:00 2001 From: Abner Santana Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 239/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.8% (876 of 877 strings) Co-authored-by: Abner Santana Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 203f919d..9869ed3c 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -860,5 +860,23 @@ "successEnabled": "Habilitado com sucesso.", "tagNotFound": "Etiqueta não encontrada.", "gamedigGuessPort": "Gamedig: Adivinhar Porta", - "foundChromiumVersion": "Chromium/Chrome encontrado. Versão: {0}" + "foundChromiumVersion": "Chromium/Chrome encontrado. Versão: {0}", + "successKeywordExplanation": "Palavra-chave MQTT que será considerada bem-sucedida", + "Add a new expiry notification day": "Adicione um novo dia de notificação de expiração", + "Remove the expiry notification": "Remova o dia de notificação de expiração", + "setup a new monitor group": "Configure um novo grupo de monitores", + "successKeyword": "Palavra-chave de Sucesso", + "Browser Screenshot": "Captura de tela do navegador", + "Remote Browsers": "Navegadores Remotos", + "Remote Browser": "Navegador Remoto", + "Add a Remote Browser": "Adicione um Navegador Remoto", + "Remote Browser not found!": "Navegador Remoto não encontrado!", + "remoteBrowsersDescription": "Os navegadores remotos são uma alternativa para executar o Chromium localmente. Configure com um serviço como browserless.io ou conecte-se ao seu próprio", + "self-hosted container": "Contêiner auto-hospedado", + "remoteBrowserToggle": "Por padrão, o Chromium é executado dentro do contêiner Uptime Kuma. Você pode usar um navegador remoto diferente, substituindo esse.", + "useRemoteBrowser": "Use um navegador remoto", + "deleteRemoteBrowserMessage": "Tem certeza de que deseja excluir este Navegador Remoto para todos os monitores?", + "Add a domain": "Adicione um domínio", + "Remove domain": "Remover domínio '{0}'", + "openModalTo": "Abrir modal para {0}" } From 239b8f4c7121f718a17f256e23793e0022141d32 Mon Sep 17 00:00:00 2001 From: Rumplin Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 240/494] Translated using Weblate (Slovenian) Currently translated at 50.6% (444 of 877 strings) Co-authored-by: Rumplin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/sl-SI.json | 85 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index cab95123..1cd5ac43 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -346,7 +346,7 @@ "Services": "Storitve", "Discard": "zavrzi", "Cancel": "Prekliči", - "Powered by": "Powered by", + "Powered by": "Poganja ga", "shrinkDatabaseDescription": "Sprožitev podatkovne zbirke VACUUM za SQLite. Če je vaša zbirka podatkov ustvarjena po različici 1.10.0, je funkcija AUTO_VACUUM že omogočena in ta ukrep ni potreben.", "serwersms": "SerwerSMS.pl", "serwersmsAPIUser": "API uporabniško ime (vključno z webapi_ prefix)", @@ -383,5 +383,86 @@ "Game": "Igra", "Help": "Pomoč", "statusMaintenance": "Vzdrževanje", - "Maintenance": "Vzdrževanje" + "Maintenance": "Vzdrževanje", + "Proxy Server": "Proxy Strežnik", + "sameAsServerTimezone": "Enako kot časovni pas strežnika", + "warningTimezone": "Uporablja časovni pas strežnika", + "Single Maintenance Window": "Enotno vzdrževalno okno", + "loadingError": "Podatkov ni mogoče pridobiti, poskusite znova pozneje.", + "Topic": "Tema", + "WeCom Bot Key": "WeCom Bot ključ", + "Browser Screenshot": "Zajem zaslona brskalnika", + "setupDatabaseChooseDatabase": "Katero bazo podatkov želite uporabiti?", + "setupDatabaseMariaDB": "Povežite se z zunanjo bazo podatkov MariaDB. Nastaviti morate informacije o povezavi z bazo podatkov.", + "dbName": "Ime baze podatkov", + "Invert Keyword": "Obrni ključno besedo", + "installing": "Nameščam", + "selectedMonitorCount": "Izbrani: {0}", + "startDateTime": "Začetni datum/čas", + "endDateTime": "Končni datum/čas", + "cronExpression": "Cron izraz", + "cronSchedule": "Urnik: ", + "invalidCronExpression": "Neveljaven Cron izraz: {0}", + "recurringInterval": "Interval", + "Recurring": "Ponavljajoče se", + "strategyManual": "Ročno aktivno/neaktivno", + "enableNSCD": "Omogoči NSCD (Name Service Cache Daemon) za predpomnjenje vseh zahtev DNS", + "chromeExecutable": "Chrome/Chromium izvedljiva datoteka", + "chromeExecutableAutoDetect": "Samodejno zaznavanje", + "Maintenance Time Window of a Day": "Časovno okno vzdrževanja enega dneva", + "Effective Date Range": "Datumsko obdobje veljavnosti (neobvezno)", + "Schedule Maintenance": "Načrtuj vzdrževanje", + "Edit Maintenance": "Uredi vzdrževanje", + "Date and Time": "Datum in Čas", + "DateTime Range": "Obseg datuma in časa", + "install": "Namesti", + "uninstall": "Odstrani", + "uninstalling": "Odstranjujem", + "confirmUninstallPlugin": "Ali res želite odstraniti ta vtičnik?", + "notificationRegional": "Regionalno", + "Clone Monitor": "Klon Monitor", + "Clone": "Kloniraj", + "cloneOf": "Klon od {0}", + "Setup Proxy": "Nastavitev proxyja", + "Proxy Protocol": "Proxy protokol", + "plugin": "Vtičnik | Vtičniki", + "Request Timeout": "Časovna omejitev zahteve", + "timeoutAfter": "Časovna omejitev po {0} sekundah", + "resendEveryXTimes": "Ponovno pošlji vsakih {0}-krat", + "weekdayShortMon": "Pon", + "weekdayShortTue": "Tor", + "weekdayShortWed": "Sre", + "weekdayShortThu": "Čet", + "weekdayShortFri": "Pet", + "weekdayShortSat": "Sob", + "weekdayShortSun": "Ned", + "dayOfWeek": "Dan v tednu", + "dayOfMonth": "Dan v mesecu", + "lastDay": "Zadnji dan", + "lastDay1": "Zadnji dan v mesecu", + "lastDay2": "Predzadnji dan v mesecu", + "lastDay3": "Tretji zadnji dan v mesecu", + "lastDay4": "Četrti zadnji dan v mesecu", + "No Maintenance": "Brez vzdrževanja", + "pauseMaintenanceMsg": "Ali res želite začasno ustaviti?", + "maintenanceStatus-under-maintenance": "V vzdrževanju", + "maintenanceStatus-inactive": "Neaktivno", + "maintenanceStatus-ended": "Končano", + "maintenanceStatus-unknown": "Neznano", + "Display Timezone": "Prikaz časovnega pasu", + "Server Timezone": "Strežniški časovni pas", + "statusPageMaintenanceEndDate": "Konec", + "IconUrl": "URL ikone", + "Enable": "Omogoči", + "Disable": "Onemogoči", + "markdownSupported": "Podprta sintaksa Markdown", + "Monitor": "Monitor | Monitorji", + "Expected Value": "Pričakovana vrednost", + "Json Query": "Json poizvedba", + "Home": "Domov", + "Cannot connect to the socket server": "Ni mogoče vzpostaviti povezave s strežnikom", + "Reconnecting...": "Ponovna povezava ...", + "General Monitor Type": "Splošni tip monitorja", + "Passive Monitor Type": "Pasivni monitor tip", + "Specific Monitor Type": "Specifičen monitor tip" } From 8acbd144396835bffccf6155626a2ef9275e5082 Mon Sep 17 00:00:00 2001 From: renph Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 241/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (877 of 877 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (877 of 877 strings) Co-authored-by: renph Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 5b5b40b0..f2e3df3b 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1,13 +1,13 @@ { - "languageName": "简体中文", + "languageName": "English", "checkEverySecond": "检测频率 {0} 秒", "retryCheckEverySecond": "重试间隔 {0} 秒", "resendEveryXTimes": "每 {0} 次失败则重复发送一次", "resendDisabled": "禁用重复发送", "retriesDescription": "服务被标记为故障并发送通知之前的最大重试次数", "ignoreTLSError": "忽略 HTTPS 站点的 TLS/SSL 错误", - "upsideDownModeDescription": "反转状态监控,如果服务可访问,则认为是故障。", - "maxRedirectDescription": "允许的最大重定向次数。设置为 0 禁用重定向。", + "upsideDownModeDescription": "反转监控状态。如果服务可访问,则认为是故障。", + "maxRedirectDescription": "允许的最大重定向次数。设置为 0 以禁用重定向。", "enableGRPCTls": "允许通过 TLS 连接发送 gRPC 请求", "grpcMethodDescription": "方法名会转换为小驼峰格式,例如 sayHello、check 等等。", "acceptedStatusCodesDescription": "选择被视为成功响应的状态码。", @@ -308,7 +308,7 @@ "lineDevConsoleTo": "Line 开发者控制台 - {0}", "Basic Settings": "基本设置", "User ID": "用户 ID", - "Messaging API": "Messaging API", + "Messaging API": "消息 API", "wayToGetLineChannelToken": "首先访问 {0},创建一个提供者和频道(Messaging API),然后您就可以从上面提到的菜单获取频道的 Access Token 和用户 ID。", "Icon URL": "图标 URL", "aboutIconURL": "您可以在“图标 URL”中提供一个图片链接来覆盖默认的资料图片。如果设置了 Emoji 图标则此字段会被忽略。", @@ -441,7 +441,7 @@ "Invalid": "无效", "AccessKeyId": "AccessKey ID", "SecretAccessKey": "AccessKey 密码", - "PhoneNumbers": "PhoneNumbers", + "PhoneNumbers": "电话号码", "TemplateCode": "TemplateCode", "SignName": "SignName", "Sms template must contain parameters: ": "短信模板必须包含以下变量: ", @@ -540,11 +540,11 @@ "promosmsLogin": "API 登录名", "promosmsPassword": "API 密码", "pushoversounds pushover": "Pushover(默认)", - "pushoversounds bike": "Bike", - "pushoversounds bugle": "Bugle", + "pushoversounds bike": "自行车", + "pushoversounds bugle": "军号", "pushoversounds cashregister": "Cash Register", "pushoversounds classical": "Classical", - "pushoversounds cosmic": "Cosmic", + "pushoversounds cosmic": "宇宙", "pushoversounds falling": "Falling", "pushoversounds gamelan": "Gamelan", "pushoversounds incoming": "Incoming", @@ -554,7 +554,7 @@ "pushoversounds pianobar": "Piano Bar", "pushoversounds siren": "Siren", "pushoversounds spacealarm": "Space Alarm", - "pushoversounds tugboat": "Tug Boat", + "pushoversounds tugboat": "汽笛", "pushoversounds alien": "Alien Alarm(长铃声)", "pushoversounds climb": "Climb(长铃声)", "pushoversounds persistent": "Persistent(长铃声)", @@ -897,7 +897,7 @@ "DockerHostRequired": "请为此监控项设置一个 Docker 宿主。", "Browser Screenshot": "浏览器截图", "successKeyword": "“成功”关键词", - "successKeywordExplanation": "MQTT中将被视为成功的关键词", + "successKeywordExplanation": "视为成功的MQTT关键词", "Add a new expiry notification day": "添加一个新的天数条件", "setup a new monitor group": "创建一个新的监控项组", "Remote Browsers": "远程浏览器", From d1d6357453a4fcf2c8e2ba7ab8d012d400464c5e Mon Sep 17 00:00:00 2001 From: Marco Beretta Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 242/494] Translated using Weblate (Italian) Currently translated at 72.7% (638 of 877 strings) Co-authored-by: Marco Beretta Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 585ebd52..cde3a60e 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -657,10 +657,12 @@ "onebotUserOrGroupId": "Gruppo/ID utente", "Badge Color": "Colore badge", "Monitor Group": "Gruppo monitor", - "setupDatabaseEmbeddedMariaDB": "Non devi impostare niente. Questa immagine di Docker include un MariaDB già configurato e pronto all'uso. Uptime Kuma si collegherà a questo database attraverso l'unix socket.", + "setupDatabaseEmbeddedMariaDB": "Non devi impostare niente. Questa immagine Docker include un MariaDB già configurato e pronto all'uso. Uptime Kuma si collegherà a questo database attraverso l'unix socket.", "dbName": "Nome Database", "Group": "Gruppo", "pushOthers": "Altro", "programmingLanguages": "Linguaggi di programmazione", - "promosmsAllowLongSMS": "Permetti SMS lunghi" + "promosmsAllowLongSMS": "Permetti SMS lunghi", + "liquidIntroduction": "La templatabilità è ottenuta attraverso il linguaggio di templating Liquid. Consulta {0} per le istruzioni d'uso. Queste sono le variabili disponibili:", + "templateMsg": "Messaggio della notifica" } From 6833594592e35713aae09a306ea06e75a3a6cf3b Mon Sep 17 00:00:00 2001 From: Vincent Date: Fri, 15 Dec 2023 10:18:22 +0000 Subject: [PATCH 243/494] Translated using Weblate (Dutch) Currently translated at 100.0% (877 of 877 strings) Co-authored-by: Vincent Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nl-NL.json | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index a130b731..76b2e5c9 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -657,7 +657,7 @@ "Maintenance Time Window of a Day": "Onderhoud tijdsvak van een dag", "octopushAPIKey": "\"API key\" van HTTP API inloggegevens van het controle paneel", "octopushLogin": "\"Login\" van HTTP API inloggegevens controle paneel", - "grpcMethodDescription": "Methode naam moet in cammelCase formaat zijn zoals zegHallo, check, etc.", + "grpcMethodDescription": "Methodenaam moet in camelCase formaat zijn zoals zegHallo, check, etc.", "wayToGetKookBotToken": "Maak een applicatie en haal je bot token op bij {0}", "wayToGetKookGuildID": "Switch naar 'Developer Mode' in de Kook instellingen, en klik met de rechter muisknop op de guild om de ID op te halen", "Strategy": "Strategy", @@ -894,5 +894,22 @@ "successEnabled": "Succesvol ingeschakeld.", "tagNotFound": "Tag niet gevonden.", "foundChromiumVersion": "Chromium/Chrome gevonden. Versie {0}", - "Browser Screenshot": "Browser Screenshot" + "Browser Screenshot": "Browser Screenshot", + "successKeyword": "Succes trefwoord", + "successKeywordExplanation": "MQTT Keyword dat als succes wordt gezien", + "Add a new expiry notification day": "Voeg een nieuwe dag voor een vervaldatummelding toe", + "Remove the expiry notification": "Verwijder de melding voor de vervaldatum", + "Remote Browser": "Remote Browser", + "Add a Remote Browser": "Voeg een Remote Browser toe", + "Remote Browsers": "Remote Browsers", + "self-hosted container": "Self-hosted container", + "useRemoteBrowser": "Gebruik een Remote Browser", + "Remote Browser not found!": "Remote Browser niet gevonden!", + "remoteBrowsersDescription": "Remote Browsers zijn een alternatief voor het lokaal draaien van Chromium. Stel in via een service zoals browserless.io of verbind je eigen", + "deleteRemoteBrowserMessage": "Weet je zeker dat je deze Remote Browser voor alle monitors wilt verwijderen?", + "remoteBrowserToggle": "Chromium draait standaard in de Uptime Kuma container. Door dit aan te zetten kun je een remote browser gebruiken.", + "setup a new monitor group": "Stel een nieuwe monitorgroep in", + "Add a domain": "Voeg een domein toe", + "Remove domain": "Verwijder domein '{0}'", + "openModalTo": "Modal openen naar {0}" } From e2fdfd2937130c3117de953cbe8b4625210f268d Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Fri, 15 Dec 2023 11:38:57 +0100 Subject: [PATCH 244/494] Migrate all `v-html` translations to componentised translations (#4135) Co-authored-by: Louis Lam --- src/components/settings/Security.vue | 14 ++++++++++---- src/lang/ar-SY.json | 6 ++++-- src/lang/ar.json | 6 ++++-- src/lang/bg-BG.json | 8 +++++--- src/lang/cs-CZ.json | 8 +++++--- src/lang/da-DK.json | 6 ++++-- src/lang/de-CH.json | 8 +++++--- src/lang/de-DE.json | 8 +++++--- src/lang/el-GR.json | 6 ++++-- src/lang/en.json | 8 +++++--- src/lang/es-ES.json | 8 +++++--- src/lang/et-EE.json | 6 ++++-- src/lang/eu.json | 6 ++++-- src/lang/fa.json | 8 +++++--- src/lang/fi.json | 6 ++++-- src/lang/fr-FR.json | 8 +++++--- src/lang/he-IL.json | 6 ++++-- src/lang/hr-HR.json | 8 +++++--- src/lang/hu.json | 6 ++++-- src/lang/id-ID.json | 6 ++++-- src/lang/it-IT.json | 6 ++++-- src/lang/ja.json | 6 ++++-- src/lang/ko-KR.json | 6 ++++-- src/lang/nb-NO.json | 6 ++++-- src/lang/nl-NL.json | 8 +++++--- src/lang/pl.json | 8 +++++--- src/lang/pt-BR.json | 8 +++++--- src/lang/pt-PT.json | 6 ++++-- src/lang/ro.json | 6 ++++-- src/lang/ru-RU.json | 8 +++++--- src/lang/sk.json | 6 ++++-- src/lang/sl-SI.json | 6 ++++-- src/lang/sr-latn.json | 6 ++++-- src/lang/sr.json | 6 ++++-- src/lang/sv-SE.json | 6 ++++-- src/lang/te.json | 6 ++++-- src/lang/th-TH.json | 3 ++- src/lang/tr-TR.json | 8 +++++--- src/lang/uk-UA.json | 8 +++++--- src/lang/ur.json | 6 ++++-- src/lang/vi-VN.json | 6 ++++-- src/lang/yue.json | 3 ++- src/lang/zh-CN.json | 8 +++++--- src/lang/zh-HK.json | 6 ++++-- src/lang/zh-TW.json | 8 +++++--- src/pages/EditMonitor.vue | 7 ++++--- 46 files changed, 203 insertions(+), 110 deletions(-) diff --git a/src/components/settings/Security.vue b/src/components/settings/Security.vue index 00a2fe30..cd6e7dfe 100644 --- a/src/components/settings/Security.vue +++ b/src/components/settings/Security.vue @@ -93,10 +93,16 @@ - -

- -

+ + + + + +

{{ $t("Please use this option carefully!") }}

diff --git a/src/lang/ar-SY.json b/src/lang/ar-SY.json index 033e3e90..25dd5bf6 100644 --- a/src/lang/ar-SY.json +++ b/src/lang/ar-SY.json @@ -120,8 +120,10 @@ "Update Password": "تطوير كلمة السر", "Disable Auth": "تعطيل المصادقة", "Enable Auth": "تمكين المصادقة", - "disableauth.message1": "هل أنت متأكد من أن تعطيل المصادقة ؟", - "disableauth.message2": "تم تصميمه للسيناريوهات حيث تنوي تنفيذ مصادقة الطرف الثالث أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", + "disableauth.message1": "هل أنت متأكد من أن {disableAuth}؟", + "disable authentication": "تعطيل المصادقة", + "disableauth.message2": "تم تصميمه للسيناريوهات {intendThirdPartyAuth} أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", + "where you intend to implement third-party authentication": "حيث تنوي تنفيذ مصادقة الطرف الثالث", "Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!", "Logout": "تسجيل خروج", "Leave": "غادر", diff --git a/src/lang/ar.json b/src/lang/ar.json index a70a100a..46568ffd 100644 --- a/src/lang/ar.json +++ b/src/lang/ar.json @@ -22,8 +22,10 @@ "Update Password": "تطوير كلمة السر", "Disable Auth": "تعطيل المصادقة", "Enable Auth": "تمكين المصادقة", - "disableauth.message1": "هل أنت متأكد من أن تعطيل المصادقة ؟", - "disableauth.message2": "تم تصميمه للسيناريوهات حيث تنوي تنفيذ مصادقة الطرف الثالث أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", + "disableauth.message1": "هل أنت متأكد من أن {disableAuth}؟", + "disable authentication": "تعطيل المصادقة", + "disableauth.message2": "تم تصميمه للسيناريوهات {intendThirdPartyAuth} أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", + "where you intend to implement third-party authentication": "حيث تنوي تنفيذ مصادقة الطرف الثالث", "Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!", "Logout": "تسجيل خروج", "Leave": "غادر", diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index c942dd7b..eb7fb8cc 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -96,8 +96,10 @@ "Update Password": "Актуализирай паролата", "Disable Auth": "Изключи удостоверяване", "Enable Auth": "Активирай удостоверяване", - "disableauth.message1": "Сигурни ли сте, че желаете да изключите удостоверяването?", - "disableauth.message2": "Използва се в случаите, когато има настроен алтернативен метод за удостоверяване преди Uptime Kuma, например Cloudflare Access, Authelia или друг механизъм за удостоверяване.", + "disableauth.message1": "Сигурни ли сте, че желаете да {disableAuth}?", + "disable authentication": "изключите удостоверяването", + "disableauth.message2": "Използва се в случаите, когато {intendThirdPartyAuth} преди Uptime Kuma, например Cloudflare Access, Authelia или друг механизъм за удостоверяване.", + "where you intend to implement third-party authentication": "има настроен алтернативен метод за удостоверяване", "Please use this option carefully!": "Моля, използвайте с повишено внимание!", "Logout": "Изход от профила", "Leave": "Отказ", @@ -800,7 +802,7 @@ "twilioApiKey": "API ключ (по избор)", "Expected Value": "Очаквана стойност", "Json Query": "Заявка тип JSON", - "jsonQueryDescription": "Прави JSON заявка срещу отговора и проверява за очаквана стойност (Върнатата стойност ще бъде преобразувана в низ за сравнение). Разгледайте jsonata.org за документация относно езика на заявката. Имате възможност да тествате тук.", + "jsonQueryDescription": "Прави JSON заявка срещу отговора и проверява за очаквана стойност (Върнатата стойност ще бъде преобразувана в низ за сравнение). Разгледайте {0} за документация относно езика на заявката. Имате възможност да тествате {1}.", "Badge Duration (in hours)": "Времетраене на баджа (в часове)", "Badge Preview": "Преглед на баджа", "Notify Channel": "Канал за известяване", diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index 84c518e2..fdf41cfe 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -120,8 +120,10 @@ "Update Password": "Aktualizovat heslo", "Disable Auth": "Deaktivovat ověřování", "Enable Auth": "Povolit ověřování", - "disableauth.message1": "Opravdu chcete deaktivovat autentifikaci?", - "disableauth.message2": "Tato možnost je určena pro případy, kdy máte autentifikaci zajištěnou třetí stranou ještě před přístupem do Uptime Kuma, například prostřednictvím Cloudflare Access.", + "disableauth.message1": "Opravdu chcete {disableAuth}?", + "disable authentication": "deaktivovat autentifikaci", + "disableauth.message2": "Tato možnost je určena pro případy, kdy {intendThirdPartyAuth} ještě před přístupem do Uptime Kuma, například prostřednictvím Cloudflare Access.", + "where you intend to implement third-party authentication": "máte autentifikaci zajištěnou třetí stranou", "Please use this option carefully!": "Používejte ji prosím s rozmyslem!", "Logout": "Odhlásit", "Leave": "Odejít", @@ -821,7 +823,7 @@ "Enable Kafka Producer Auto Topic Creation": "Povolit Kafka zprostředkovateli automatické vytváření vláken", "Kafka Producer Message": "Zpráva Kafka zprostředkovatele", "tailscalePingWarning": "Abyste mohli používat Tailscale Ping monitor, je nutné Uptime Kuma nainstalovat mimo Docker, a dále na váš server nainstalovat Tailscale klienta.", - "jsonQueryDescription": "Proveďte JSON dotaz vůči odpovědi a zkontrolujte očekávaný výstup (za účelem porovnání bude návratová hodnota převedena na řetězec). Dokumentaci k dotazovacímu jazyku naleznete na jsonata.org, a využít můžete též playground.", + "jsonQueryDescription": "Proveďte JSON dotaz vůči odpovědi a zkontrolujte očekávaný výstup (za účelem porovnání bude návratová hodnota převedena na řetězec). Dokumentaci k dotazovacímu jazyku naleznete na {0}, a využít můžete též {1}.", "Select": "Vybrat", "selectedMonitorCount": "Vybráno: {0}", "Check/Uncheck": "Vybrat/Zrušit výběr", diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index 677ca3fe..eefa3749 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -360,7 +360,6 @@ "From Name/Number": "Fra Navn/Nummer", "Help": "Hjælp", "Please use this option carefully!": "Brug venligst denne funktion med forsigtighed!", - "disableauth.message1": "Er du sikker på, at du vil deaktivere autentifikation?", "successMessage": "Succesmeddelelse", "error": "fejl", "critical": "kritisk", @@ -435,7 +434,10 @@ "Frontend Version do not match backend version!": "Frontend versionen stemmer ikke overens med backend versionen!", "Optional": "Valgfri", "HomeAssistant": "Home Assistant", - "disableauth.message2": "Den er beregnet til scenarier hvor du har tænkt dig at implementere tredjepartsgodkendelse foran Uptime Kuma, f.eks. Cloudflare Access, Authelia eller andre godkendelsesmekanismer.", + "disableauth.message1": "Er du sikker på, at du vil {disableAuth}?", + "disable authentication": "deaktivere autentifikation", + "disableauth.message2": "Den er beregnet til scenarier {intendThirdPartyAuth} foran Uptime Kuma, f.eks. Cloudflare Access, Authelia eller andre godkendelsesmekanismer.", + "where you intend to implement third-party authentication": "hvor du har tænkt dig at implementere tredjepartsgodkendelse", "deleteProxyMsg": "Er du sikker på, at du vil slette denne proxy for alle monitors?", "Valid": "Gyldig", "Don't know how to get the token? Please read the guide:": "Ved du ikke, hvordan du får fat i din Token? Læs venligst guiden:", diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 10e33b26..bd3f958c 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -80,8 +80,10 @@ "Update Password": "Passwort aktualisieren", "Disable Auth": "Authentifizierung deaktivieren", "Enable Auth": "Authentifizierung aktivieren", - "disableauth.message1": "Bist du sicher das du die Authentifizierung deaktivieren möchtest?", - "disableauth.message2": "Dies ist für Szenarien gedacht, in denen man eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", + "disableauth.message1": "Bist du sicher das du die {disableAuth} möchtest?", + "disable authentication": "Authentifizierung deaktivieren", + "disableauth.message2": "Dies ist für Szenarien gedacht, {intendThirdPartyAuth} vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", + "where you intend to implement third-party authentication": "in denen man eine externe Authentifizierung", "Please use this option carefully!": "Bitte mit Vorsicht nutzen!", "Logout": "Ausloggen", "notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.", @@ -810,7 +812,7 @@ "Json Query": "Json-Abfrage", "filterActive": "Aktiv", "filterActivePaused": "Pausiert", - "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf jsonata.org findest du die Dokumentation zur Abfragesprache. Hier kannst du Abfragen üben.", + "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf {0} findest du die Dokumentation zur Abfragesprache. {1} kannst du Abfragen üben.", "Badge Duration (in hours)": "Badge Dauer (in Stunden)", "Badge Preview": "Badge Vorschau", "tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.", diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 364f16d6..caceb971 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -80,8 +80,10 @@ "Update Password": "Passwort aktualisieren", "Disable Auth": "Authentifizierung deaktivieren", "Enable Auth": "Authentifizierung aktivieren", - "disableauth.message1": "Bist du sicher das du die Authentifizierung deaktivieren möchtest?", - "disableauth.message2": "Dies ist für Szenarien gedacht, in denen man eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", + "disableauth.message1": "Bist du sicher das du die {disableAuth} möchtest?", + "disable authentication": "Authentifizierung deaktivieren", + "disableauth.message2": "Dies ist für Szenarien gedacht, {intendThirdPartyAuth} vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", + "where you intend to implement third-party authentication": "in denen man eine externe Authentifizierung", "Please use this option carefully!": "Bitte mit Vorsicht nutzen!", "Logout": "Ausloggen", "notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.", @@ -815,7 +817,7 @@ "filterActivePaused": "Pausiert", "Expected Value": "Erwarteter Wert", "Json Query": "Json-Abfrage", - "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf jsonata.org findest du die Dokumentation zur Abfragesprache. Hier kannst du Abfragen üben.", + "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf {0} findest du die Dokumentation zur Abfragesprache. {1} kannst du Abfragen üben.", "tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.", "Server URL should not contain the nfty topic": "Die Server-URL sollte das nfty-Thema nicht enthalten", "pushDeerServerDescription": "Leer lassen um den offiziellen Server zu verwenden", diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index 6b1650a7..a96e40be 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -104,8 +104,10 @@ "Update Password": "Ενημέρωση κωδικού πρόσβασης", "Disable Auth": "Απενεργοποίηση ελέγχου ταυτότητας", "Enable Auth": "Ενεργοποίηση ελέγχου ταυτότητας", - "disableauth.message1": "Είστε βέβαιοι ότι θέλετε να απενεργοποιήσετε τον έλεγχο ταυτότητας;", - "disableauth.message2": "Έχει σχεδιαστεί για σενάρια όπου σκοπεύετε να εφαρμόσετε έλεγχο ταυτότητας τρίτου μέρους μπροστά από το Uptime Kuma, όπως το Cloudflare Access, Authelia ή άλλους μηχανισμούς ελέγχου ταυτότητας.", + "disableauth.message1": "Είστε βέβαιοι ότι θέλετε να {disableAuth};", + "disable authentication": "απενεργοποιήσετε τον έλεγχο ταυτότητας", + "disableauth.message2": "Έχει σχεδιαστεί για σενάρια {intendThirdPartyAuth} μπροστά από το Uptime Kuma, όπως το Cloudflare Access, Authelia ή άλλους μηχανισμούς ελέγχου ταυτότητας.", + "where you intend to implement third-party authentication": "όπου σκοπεύετε να εφαρμόσετε έλεγχο ταυτότητας τρίτου μέρους", "Please use this option carefully!": "Χρησιμοποιήστε αυτή την επιλογή προσεκτικά!", "Logout": "Αποσύνδεση", "Leave": "Φύγετε", diff --git a/src/lang/en.json b/src/lang/en.json index 1cfcaac4..c003de74 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -113,8 +113,10 @@ "Update Password": "Update Password", "Disable Auth": "Disable Auth", "Enable Auth": "Enable Auth", - "disableauth.message1": "Are you sure want to disable authentication?", - "disableauth.message2": "It is designed for scenarios where you intend to implement third-party authentication in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.", + "disableauth.message1": "Are you sure want to {disableAuth}?", + "disable authentication": "disable authentication", + "disableauth.message2": "It is designed for scenarios {intendThirdPartyAuth} in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.", + "where you intend to implement third-party authentication": "where you intend to implement third-party authentication", "Please use this option carefully!": "Please use this option carefully!", "Logout": "Logout", "Leave": "Leave", @@ -570,7 +572,7 @@ "notificationDescription": "Notifications must be assigned to a monitor to function.", "keywordDescription": "Search keyword in plain HTML or JSON response. The search is case-sensitive.", "invertKeywordDescription": "Look for the keyword to be absent rather than present.", - "jsonQueryDescription": "Do a json Query against the response and check for expected value (Return value will get converted into string for comparison). Check out jsonata.org for the documentation about the query language. A playground can be found here.", + "jsonQueryDescription": "Do a json Query against the response and check for expected value (Return value will get converted into string for comparison). Check out {0} for the documentation about the query language. A playground can be found {1}.", "backupDescription": "You can backup all monitors and notifications into a JSON file.", "backupDescription2": "Note: history and event data is not included.", "backupDescription3": "Sensitive data such as notification tokens are included in the export file; please store export securely.", diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 3e0201d3..3e677a17 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -84,8 +84,10 @@ "Update Password": "Actualizar contraseña", "Disable Auth": "Deshabilitar autenticación", "Enable Auth": "Habilitar autenticación", - "disableauth.message1": "Seguro que deseas deshabilitar la autenticación?", - "disableauth.message2": "Es para quien implementa autenticación de terceros ante Uptime Kuma como por ejemplo Cloudflare Access.", + "disableauth.message1": "Seguro que deseas {disableAuth}?", + "disable authentication": "deshabilitar la autenticación", + "disableauth.message2": "Es para {intendThirdPartyAuth} ante Uptime Kuma como por ejemplo Cloudflare Access.", + "where you intend to implement third-party authentication": "quien implementa autenticación de terceros", "Please use this option carefully!": "¡Utilice esta opción con cuidado!", "Logout": "Cerrar sesión", "Leave": "Salir", @@ -769,7 +771,7 @@ "Json Query": "Consulta Json", "invertKeywordDescription": "Comprobar si la palabra clave está ausente en vez de presente.", "enableNSCD": "Habilitar NSCD (Demonio de Caché de Servicio de Nombres) para almacenar en caché todas las solicitudes DNS", - "jsonQueryDescription": "Realiza una consulta JSON contra la respuesta y verifica el valor esperado (el valor de retorno se convertirá a una cadena para la comparación). Consulta jsonata.org para obtener documentación sobre el lenguaje de consulta. Puede encontrar un espacio de prueba aquí.", + "jsonQueryDescription": "Realiza una consulta JSON contra la respuesta y verifica el valor esperado (el valor de retorno se convertirá a una cadena para la comparación). Consulta {0} para obtener documentación sobre el lenguaje de consulta. Puede encontrar un espacio de prueba {1}.", "Request Timeout": "Tiempo de espera máximo de petición", "timeoutAfter": "Expirar después de {0} segundos", "chromeExecutableDescription": "Para usuarios de Docker, si Chromium no está instalado, puede que tarde unos minutos en ser instalado y mostrar el resultado de la prueba. Usa 1GB de espacio.", diff --git a/src/lang/et-EE.json b/src/lang/et-EE.json index c9304743..c68314a9 100644 --- a/src/lang/et-EE.json +++ b/src/lang/et-EE.json @@ -87,8 +87,10 @@ "Update Password": "Uuenda parooli", "Disable Auth": "Lülita autentimine välja", "Enable Auth": "Lülita autentimine sisse", - "disableauth.message1": "Kas soovid lülitada autentimise välja?", - "disableauth.message2": "Kastuamiseks välise autentimispakkujaga, näiteks Cloudflare Access.", + "disableauth.message1": "Kas soovid {disableAuth}?", + "disable authentication": "lülitada autentimise välja", + "disableauth.message2": "Kastuamiseks {intendThirdPartyAuth}, näiteks Cloudflare Access.", + "where you intend to implement third-party authentication": "välise autentimispakkujaga", "Please use this option carefully!": "Palun kasuta seda valikut vastutustundlikult!", "Logout": "Logi välja", "Leave": "Lahku", diff --git a/src/lang/eu.json b/src/lang/eu.json index 9c64783c..42b5f642 100644 --- a/src/lang/eu.json +++ b/src/lang/eu.json @@ -101,8 +101,10 @@ "Update Password": "Eguneratu pasahitza", "Disable Auth": "Desgaitu Auth", "Enable Auth": "Gaitu Auth", - "disableauth.message1": "Ziur zaude autentifikazioa desgaitu nahi duzula?", - "disableauth.message2": "Egoera jakin batzuetarako diseinatuta dago, Uptime Kumaren aurrean hirugarrengo autentifikazio batzuek jartzeko (Cloudflare Access, Authelia edo beste autentifikazio-mekanismo batzuk).", + "disableauth.message1": "Ziur zaude {disableAuth} nahi duzula?", + "disable authentication": "autentifikazioa desgaitu", + "disableauth.message2": "Egoera jakin batzuetarako diseinatuta dago, Uptime Kumaren {intendThirdPartyAuth} (Cloudflare Access, Authelia edo beste autentifikazio-mekanismo batzuk).", + "where you intend to implement third-party authentication": "aurrean hirugarrengo autentifikazio batzuek jartzeko", "Please use this option carefully!": "Mesedez, kontuz erabili aukera hau!", "Logout": "Saioa amaitu", "Leave": "Utzi", diff --git a/src/lang/fa.json b/src/lang/fa.json index 0378ad52..1365556f 100644 --- a/src/lang/fa.json +++ b/src/lang/fa.json @@ -96,8 +96,10 @@ "Update Password": "بروز رسانی رمز عبور", "Disable Auth": "غیر فعال سازی تایید هویت", "Enable Auth": "فعال سازی تایید هویت", - "disableauth.message1": "آیا مطمئن هستید که میخواهید احراز هویت را غیر فعال کنید?", - "disableauth.message2": "این ویژگی برای کسانی است که لایه امنیتی شخص ثالث دیگر بر روی این آدرس فعال کرده‌اند، مانند Cloudflare Access.", + "disableauth.message1": "آیا مطمئن هستید که میخواهید {disableAuth}?", + "disable authentication": "احراز هویت را غیر فعال کنید", + "disableauth.message2": "این ویژگی برای کسانی است که {intendThirdPartyAuth}، مانند Cloudflare Access.", + "where you intend to implement third-party authentication": "لایه امنیتی شخص ثالث دیگر بر روی این آدرس فعال کرده‌اند", "Please use this option carefully!": "لطفا از این امکان با دقت استفاده کنید!", "Logout": "خروج", "Leave": "منصرف شدم", @@ -757,7 +759,7 @@ "filterActive": "فعال", "webhookCustomBodyDesc": "یک بدنه HTTP سفارشی برای ریکوئست تعریف کنید. متغیر های قابل استفاده: {msg}, {heartbeat}, {monitor}.", "tailscalePingWarning": "برای استفاده از Tailscale Ping monitor، شما باید آپتایم کوما را بدون استفاده از داکر و همچنین Tailscale client را نیز بر روی سرور خود نصب داشته باشید.", - "jsonQueryDescription": "یک کوئری json در برابر پاسخ انجام دهید و مقدار مورد انتظار را (مقدار برگشتی برای مقایسه به رشته تبدیل می شود). برای مستندات درباره زبان کوئری، jsonata.org مشاهده کنید. همچنین محیط تست را میتوانید در اینجا پیدا کنید.", + "jsonQueryDescription": "یک کوئری json در برابر پاسخ انجام دهید و مقدار مورد انتظار را (مقدار برگشتی برای مقایسه به رشته تبدیل می شود). برای مستندات درباره زبان کوئری، {0} مشاهده کنید. همچنین محیط تست را میتوانید در {1} پیدا کنید.", "Enter the list of brokers": "لیست بروکر هارا وارد کنید", "Enable Kafka Producer Auto Topic Creation": "فعال سازی ایجاپ موضوع اتوماتیک تهیه کننده", "Secret AccessKey": "کلید محرمانه AccessKey", diff --git a/src/lang/fi.json b/src/lang/fi.json index d3d26204..0b8682e0 100644 --- a/src/lang/fi.json +++ b/src/lang/fi.json @@ -102,7 +102,6 @@ "resendDisabled": "Uudelleen lähetys poissa käytöstä", "retriesDescription": "Maksimi määrä uudelleen yrityksiä ennen kuin palvelu merkitään sammuneeksi ja ilmoitus lähetetään", "Discourage search engines from indexing site": "Estä hakukoneita indeksoimasta sivua", - "disableauth.message1": "Oletko varma että haluat poistaa todennuksen käytöstä?", "Please use this option carefully!": "Käytä tätä vaihtoehtoa varoen!", "Remember me": "Muista minut", "languageName": "Suomi", @@ -110,7 +109,10 @@ "pushOptionalParams": "Valinnaiset parametrit: {0}", "Not available, please setup.": "Ei saatavilla, määritä ensin.", "needPushEvery": "Sinun pitäisi kutsua tätä URL joka {0} sekuntti.", - "disableauth.message2": "Se on suunniteltu tilanteisiin jossa aiot käyttää kolmannen osapuolen todennnusta Uptime Kuma:n edessä, kuten Cloudflare Access, Authelia tai jotain muuta todennus mekanismia.", + "disableauth.message1": "Oletko varma että haluat {disableAuth}?", + "disable authentication": "poistaa todennuksen käytöstä", + "disableauth.message2": "Se on suunniteltu tilanteisiin {intendThirdPartyAuth} Uptime Kuma:n edessä, kuten Cloudflare Access, Authelia tai jotain muuta todennus mekanismia.", + "where you intend to implement third-party authentication": "jossa aiot käyttää kolmannen osapuolen todennnusta", "No Monitors, please": "Ei seuraimia, kiitos", "Resolver Server": "Ratkaisija palvelin", "Resource Record Type": "Resusrssi tallenne tyyppi", diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 765dbc1e..0ae81645 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -119,8 +119,10 @@ "Update Password": "Mettre à jour le mot de passe", "Disable Auth": "Désactiver l'authentification", "Enable Auth": "Activer l'authentification", - "disableauth.message1": "Voulez-vous vraiment désactiver l'authentification ?", - "disableauth.message2": "Cette fonctionnalité est conçue pour les scénarios où vous avez l'intention d'implémenter une authentification tierce devant Uptime Kuma, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.", + "disableauth.message1": "Voulez-vous vraiment {disableAuth}?", + "disable authentication": "désactiver l'authentification", + "disableauth.message2": "Cette fonctionnalité est conçue pour les scénarios {intendThirdPartyAuth} devant Uptime Kuma, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.", + "where you intend to implement third-party authentication": "où vous avez l'intention d'implémenter une authentification tierce", "Please use this option carefully!": "Veuillez utiliser cette option avec précaution !", "Logout": "Déconnexion", "Leave": "Quitter", @@ -795,7 +797,7 @@ "twilioApiKey": "Clé API (facultatif)", "Expected Value": "Valeur attendue", "Json Query": "Requête Json", - "jsonQueryDescription": "Faites une requête json contre la réponse et vérifiez la valeur attendue (la valeur de retour sera convertie en chaîne pour comparaison). Consultez jsonata.org pour la documentation sur le langage de requête. Une aire de jeux peut être trouvée ici.", + "jsonQueryDescription": "Faites une requête json contre la réponse et vérifiez la valeur attendue (la valeur de retour sera convertie en chaîne pour comparaison). Consultez {0} pour la documentation sur le langage de requête. Une aire de jeux peut être trouvée {1}.", "Badge Duration (in hours)": "Durée du badge (en heures)", "Badge Preview": "Aperçu du badge", "aboutNotifyChannel": "Notifier le canal déclenchera une notification de bureau ou mobile pour tous les membres du canal, que leur disponibilité soit active ou absente.", diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index 4f6649a7..50f67cfd 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -119,8 +119,10 @@ "Update Password": "עידכון סיסמה", "Disable Auth": "השבתת התחברות", "Enable Auth": "הפעלת התחברות", - "disableauth.message1": "האם אתם בטוחים שברצונכםלהשבית את האבטחה?", - "disableauth.message2": "אופציה זו מיועדת לתרחישים בהם בכוונתכם ליישם אימות של צד שלישי מול Uptime Kuma כגון Cloudflare Access, Authelia או מנגנוני אימות אחרים.", + "disableauth.message1": "האם אתם בטוחים שברצונכם{disableAuth}?", + "disable authentication": "להשבית את האבטחה", + "disableauth.message2": "אופציה זו מיועדת לתרחישים {intendThirdPartyAuth} מול Uptime Kuma כגון Cloudflare Access, Authelia או מנגנוני אימות אחרים.", + "where you intend to implement third-party authentication": "בהם בכוונתכם ליישם אימות של צד שלישי", "Please use this option carefully!": "יש להשתמש באפשרות זו בזהירות!", "Logout": "התנתקות", "Leave": "יציאה", diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 5e9512bd..15b9dc54 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -100,8 +100,10 @@ "Update Password": "Spremi novu lozinku", "Disable Auth": "Onemogući autentikaciju", "Enable Auth": "Omogući autentikaciju", - "disableauth.message1": "Jeste li sigurni da želite isključiti autentikaciju?", - "disableauth.message2": "To je za korisnike koji imaju vanjsku autentikaciju stranice ispred Uptime Kume, poput usluge Cloudflare Access.", + "disableauth.message1": "Jeste li sigurni da želite {disableAuth}?", + "disable authentication": "isključiti autentikaciju", + "disableauth.message2": "To je za {intendThirdPartyAuth} ispred Uptime Kume, poput usluge Cloudflare Access.", + "where you intend to implement third-party authentication": "korisnike koji imaju vanjsku autentikaciju stranice", "Please use this option carefully!": "Pažljivo koristite ovu opciju!", "Logout": "Odjava", "Leave": "Poništi", @@ -797,7 +799,7 @@ "affectedStatusPages": "Prikazuje poruku o održavanju na odabranim statusnim stranicama", "atLeastOneMonitor": "Odaberite barem jedan zahvaćeni Monitor", "invertKeywordDescription": "Postavi da ključna riječ mora biti odsutna umjesto prisutna.", - "jsonQueryDescription": "Izvršite JSON upit nad primljenim odgovorom i provjerite očekivanu povrtanu vrijednost. Ona će se za usporedbu pretvoriti u niz znakova (string). Pogledajte stranicu jsonata.org za dokumentaciju o jeziku upita. Testno okruženje možete pronaći ovdje.", + "jsonQueryDescription": "Izvršite JSON upit nad primljenim odgovorom i provjerite očekivanu povrtanu vrijednost. Ona će se za usporedbu pretvoriti u niz znakova (string). Pogledajte stranicu {0} za dokumentaciju o jeziku upita. Testno okruženje možete pronaći {1}.", "Strategy": "Strategija", "Free Mobile User Identifier": "Besplatni mobilni korisnički identifikator", "Free Mobile API Key": "Besplatni mobilni ključ za API", diff --git a/src/lang/hu.json b/src/lang/hu.json index 5e6b77a4..0d8250fb 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -96,8 +96,10 @@ "Update Password": "Jelszó módosítása", "Disable Auth": "Hitelesítés tiltása", "Enable Auth": "Hitelesítés engedélyezése", - "disableauth.message1": "Biztos benne, hogy kikapcsolja a hitelesítést?", - "disableauth.message2": "Akkor érdemes, ha van 3rd-party hitelesítés az Uptime Kuma-t megelőzően mint a Cloudflare Access.", + "disableauth.message1": "Biztos benne, hogy {disableAuth}?", + "disable authentication": "kikapcsolja a hitelesítést", + "disableauth.message2": "Akkor érdemes, ha {intendThirdPartyAuth} az Uptime Kuma-t megelőzően mint a Cloudflare Access.", + "where you intend to implement third-party authentication": "van 3rd-party hitelesítés", "Please use this option carefully!": "Használja megfontoltan!", "Logout": "Kijelentkezés", "Leave": "Elhagy", diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index e8fd730b..cfa2d10b 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -104,8 +104,10 @@ "Update Password": "Perbarui Kata Sandi", "Disable Auth": "Matikan Autentikasi", "Enable Auth": "Aktifkan Autentikasi", - "disableauth.message1": "Apakah Anda yakin ingin menonaktifkan autentikasi?", - "disableauth.message2": "Ini untuk mereka yang memiliki autentikasi pihak ketiga diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.", + "disableauth.message1": "Apakah Anda yakin ingin {disableAuth}?", + "disable authentication": "menonaktifkan autentikasi", + "disableauth.message2": "Ini untuk {intendThirdPartyAuth} diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.", + "where you intend to implement third-party authentication": "mereka yang memiliki autentikasi pihak ketiga", "Please use this option carefully!": "Gunakan pilihan ini dengan hati-hati!", "Logout": "Keluar", "Leave": "Pergi", diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index cde3a60e..e63b5ddb 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -100,8 +100,10 @@ "Update Password": "Modifica password", "Disable Auth": "Disabilita autenticazione", "Enable Auth": "Abilita autenticazione", - "disableauth.message1": "Disabilitare l'autenticazione?", - "disableauth.message2": "Questa opzione è per chi possiede un sistema di autenticazione gestito da terze parti prima di Uptime Kuma, come ad esempio Cloudflare Access.", + "disableauth.message1": "{disableAuth}?", + "disable authentication": "Disabilitare l'autenticazione", + "disableauth.message2": "{intendThirdPartyAuth} prima di Uptime Kuma, come ad esempio Cloudflare Access.", + "where you intend to implement third-party authentication": "Questa opzione è per chi possiede un sistema di autenticazione gestito da terze parti", "Please use this option carefully!": "Utilizzare con attenzione!", "Logout": "Esci", "Leave": "Annulla", diff --git a/src/lang/ja.json b/src/lang/ja.json index 86b5158a..6ef7bc82 100644 --- a/src/lang/ja.json +++ b/src/lang/ja.json @@ -191,8 +191,10 @@ "Push URL": "プッシュ URL", "needPushEvery": "{0} 秒ごとにこの URL を呼び出す必要があります。", "pushOptionalParams": "オプションのパラメーター: {0}", - "disableauth.message1": "認証を無効にしてもよろしいですか?", - "disableauth.message2": "これは、Cloudflare Access、Authelia、またはその他の認証メカニズムなど、Uptime Kuma の前にサードパーティ認証を実装するシナリオ向けに設計されています。", + "disableauth.message1": "{disableAuth}にしてもよろしいですか?", + "disable authentication": "認証を無効", + "disableauth.message2": "これは、Cloudflare Access、Authelia、またはその他の認証メカニズムなど、Uptime Kuma の前に{intendThirdPartyAuth}。", + "where you intend to implement third-party authentication": "サードパーティ認証を実装するシナリオ向けに設計されています", "Please use this option carefully!": "このオプションは慎重に使用してください!", "Primary Base URL": "プライマリ ベース URL", "statusMaintenance": "メンテナンス", diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index d968012b..1f87ce53 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -96,8 +96,10 @@ "Update Password": "비밀번호 변경", "Disable Auth": "인증 비활성화", "Enable Auth": "인증 활성화", - "disableauth.message1": "정말로 인증 기능을 끌까요?", - "disableauth.message2": "이 기능은 Cloudflare Access와 같은 서드파티 인증을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.", + "disableauth.message1": "정말로 {disableAuth}?", + "disable authentication": "인증 기능을 끌까요", + "disableauth.message2": "이 기능은 {intendThirdPartyAuth}을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.", + "where you intend to implement third-party authentication": "Cloudflare Access와 같은 서드파티 인증", "Please use this option carefully!": "신중하게 사용하세요!", "Logout": "로그아웃", "Leave": "나가기", diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index 66174188..818ca7f5 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -96,8 +96,10 @@ "Update Password": "Oppdater passord", "Disable Auth": "Deaktiver autentisering", "Enable Auth": "Aktiver autentisering", - "disableauth.message1": "Er du sikker på at du vil deaktiver autentisering?", - "disableauth.message2": "Dette er for de som har tredjepartsautorisering foran Uptime Kuma, for eksempel Cloudflare Access.", + "disableauth.message1": "Er du sikker på at du vil {disableAuth}?", + "disable authentication": "deaktiver autentisering", + "disableauth.message2": "Dette er for {intendThirdPartyAuth} foran Uptime Kuma, for eksempel Cloudflare Access.", + "where you intend to implement third-party authentication": "de som har tredjepartsautorisering", "Please use this option carefully!": "Vennligst vær forsiktig.", "Logout": "Logg ut", "Leave": "Forlat", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 76b2e5c9..94f1a03c 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -92,8 +92,10 @@ "Update Password": "Vernieuw wachtwoord", "Disable Auth": "Authenticatie uitschakelen", "Enable Auth": "Authenticatie inschakelen", - "disableauth.message1": "Weet je zeker dat je authenticatie wilt uitschakelen?", - "disableauth.message2": "Er zijn omstandigheden waarbij je authenticatie door derden wilt implementeren voor Uptime Kuma, zoals Cloudflare Access, Authelia of andere authenticatiemechanismen.", + "disableauth.message1": "Weet je zeker dat je {disableAuth}?", + "disable authentication": "authenticatie wilt uitschakelen", + "disableauth.message2": "Er zijn omstandigheden waarbij je {intendThirdPartyAuth} voor Uptime Kuma, zoals Cloudflare Access, Authelia of andere authenticatiemechanismen.", + "where you intend to implement third-party authentication": "authenticatie door derden wilt implementeren", "Please use this option carefully!": "Gebruik deze optie zorgvuldig!", "Logout": "Uitloggen", "Leave": "Vertrekken", @@ -802,7 +804,7 @@ "Reconnecting...": "Opnieuw verbinden...", "Expected Value": "Verwachte waarde", "Json Query": "Json Query", - "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk jsonata.org voor de documentatie over de querytaal. Een speelplaats is beschikbaar hier.", + "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk {0} voor de documentatie over de querytaal. Een speelplaats is beschikbaar {1}.", "pushViewCode": "Hoe gebruik je Push monitor?(View Code)", "setupDatabaseChooseDatabase": "Welke database wil je gebruiken?", "setupDatabaseEmbeddedMariaDB": "Je hoeft niks in te stellen. Deze docker image heeft een ingebouwde en geconfigureerde MariaDB instantie. Uptime Kuma verbindt met deze database via een unix socket.", diff --git a/src/lang/pl.json b/src/lang/pl.json index 376baa2c..05abf0be 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -96,8 +96,10 @@ "Update Password": "Zaktualizuj hasło", "Disable Auth": "Wyłącz autoryzację", "Enable Auth": "Włącz autoryzację", - "disableauth.message1": "Czy na pewno chcesz wyłączyć autoryzację?", - "disableauth.message2": "Jest przeznaczony dla kogoś, kto ma autoryzację zewnętrzną przed Uptime Kuma, taką jak Cloudflare Access.", + "disableauth.message1": "Czy na pewno chcesz {disableAuth}?", + "disable authentication": "wyłączyć autoryzację", + "disableauth.message2": "Jest przeznaczony dla {intendThirdPartyAuth} przed Uptime Kuma, taką jak Cloudflare Access.", + "where you intend to implement third-party authentication": "kogoś, kto ma autoryzację zewnętrzną", "Please use this option carefully!": "Proszę używać tej opcji ostrożnie!", "Logout": "Wyloguj", "Leave": "Zostaw", @@ -791,7 +793,7 @@ "styleElapsedTime": "Czas, który upłynął pod paskiem bicia serca", "tailscalePingWarning": "Aby korzystać z monitora Tailscale Ping, należy zainstalować Uptime Kuma bez Dockera, a także zainstalować klienta Tailscale na serwerze.", "invertKeywordDescription": "Słowo kluczowe powinno być raczej nieobecne niż obecne.", - "jsonQueryDescription": "Wykonaj zapytanie json względem odpowiedzi i sprawdź oczekiwaną wartość (wartość zwracana zostanie przekonwertowana na ciąg znaków do porównania). Sprawdź jsonata.org, aby uzyskać dokumentację dotyczącą języka zapytań. Plac zabaw można znaleźć tutaj.", + "jsonQueryDescription": "Wykonaj zapytanie json względem odpowiedzi i sprawdź oczekiwaną wartość (wartość zwracana zostanie przekonwertowana na ciąg znaków do porównania). Sprawdź {0}, aby uzyskać dokumentację dotyczącą języka zapytań. Plac zabaw można znaleźć {1}.", "Server URL should not contain the nfty topic": "Adres URL serwera nie powinien zawierać tematu nfty", "Badge Duration (in hours)": "Czas trwania odznaki (w godzinach)", "Enter the list of brokers": "Wprowadź listę brokerów", diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 9869ed3c..be9f996f 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -96,8 +96,10 @@ "Update Password": "Atualizar Senha", "Disable Auth": "Desativar Autenticação", "Enable Auth": "Ativar Autenticação", - "disableauth.message1": "Você tem certeza que deseja desativar a autenticação?", - "disableauth.message2": "Isso é para alguém que tem autenticação de terceiros na frente do 'UpTime Kuma' como o Cloudflare Access.", + "disableauth.message1": "Você tem certeza que deseja {disableAuth}?", + "disable authentication": "desativar a autenticação", + "disableauth.message2": "Isso é para {intendThirdPartyAuth} na frente do 'UpTime Kuma' como o Cloudflare Access.", + "where you intend to implement third-party authentication": "alguém que tem autenticação de terceiros", "Please use this option carefully!": "Por favor, utilize isso com cautela!", "Logout": "Deslogar", "Leave": "Sair", @@ -603,7 +605,7 @@ "wayToGetLineChannelToken": "Primeiro acesse o {0}, crie um provedor e um canal (API de Mensagens), então você pode obter o token de acesso do canal e o ID do usuário nos itens de menu mencionados acima.", "aboutMattermostChannelName": "Você pode substituir o canal padrão para o qual o Webhook envia postagens, inserindo o nome do canal no campo \"Nome do Canal\". Isso precisa ser habilitado nas configurações do Webhook do Mattermost. Por exemplo: #outro-canal", "invertKeywordDescription": "Procure pela palavra-chave estar ausente em vez de presente.", - "jsonQueryDescription": "Faça uma consulta JSON na resposta e verifique o valor esperado (o valor de retorno será convertido em uma string para comparação). Confira jsonata.org para a documentação sobre a linguagem de consulta. Você pode encontrar um playground aqui.", + "jsonQueryDescription": "Faça uma consulta JSON na resposta e verifique o valor esperado (o valor de retorno será convertido em uma string para comparação). Confira {0} para a documentação sobre a linguagem de consulta. Você pode encontrar um playground {1}.", "octopushTypePremium": "Premium (Rápido - recomendado para alertas)", "octopushTypeLowCost": "Baixo Custo (Lento - às vezes bloqueado pelo operador)", "octopushSMSSender": "Nome do Remetente de SMS: 3-11 caracteres alfanuméricos e espaço (a-zA-Z0-9)", diff --git a/src/lang/pt-PT.json b/src/lang/pt-PT.json index 8952f5a0..6bcc9da9 100644 --- a/src/lang/pt-PT.json +++ b/src/lang/pt-PT.json @@ -96,8 +96,10 @@ "Update Password": "Atualizar Senha", "Disable Auth": "Desativar Autenticação", "Enable Auth": "Ativar Autenticação", - "disableauth.message1": "Tens a certeza que queres desativar a autenticação?", - "disableauth.message2": "Isso é para alguém que tem autenticação de terceiros em frente ao 'UpTime Kuma' como o Cloudflare Access.", + "disableauth.message1": "Tens a certeza que queres {disableAuth}?", + "disable authentication": "desativar a autenticação", + "disableauth.message2": "Isso é para {intendThirdPartyAuth} em frente ao 'UpTime Kuma' como o Cloudflare Access.", + "where you intend to implement third-party authentication": "alguém que tem autenticação de terceiros", "Please use this option carefully!": "Por favor, utiliza esta opção com cuidado.", "Logout": "Logout", "Leave": "Sair", diff --git a/src/lang/ro.json b/src/lang/ro.json index 066d1ed5..420b3152 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -72,7 +72,6 @@ "Update Password": "Actualizează Parola", "Disable Auth": "Dezactivează Autentificarea", "Enable Auth": "Activează Autentificarea", - "disableauth.message1": "Ești sigur că vrei să dezactivezi autentificarea?", "Please use this option carefully!": "Utilizează Această Opțiune cu Grijă!", "Logout": "Delogare", "Leave": "Părăsește", @@ -463,7 +462,10 @@ "maxRedirectDescription": "Numărul maxim de redirecționări permise. Setează la „0” pentru a dezactiva redirecționările.", "Theme - Heartbeat Bar": "Temă - Bara de Heartbeat", "Discourage search engines from indexing site": "Descurajează Motoarele de Căutare din a Indexa Acest Site", - "disableauth.message2": "Este proiectat pentru scenarii în care intenționezi să implementezi soluții terțe de autentificare în fața Uptime Kuma, cum ar fi Cloudflare Access, Authelia, sau alt mecanism de autentificare.", + "disableauth.message1": "Ești sigur că vrei să {disableAuth}?", + "disable authentication": "{disableAuth}", + "disableauth.message2": "Este proiectat pentru scenarii {intendThirdPartyAuth} în fața Uptime Kuma, cum ar fi Cloudflare Access, Authelia, sau alt mecanism de autentificare.", + "where you intend to implement third-party authentication": "în care intenționezi să implementezi soluții terțe de autentificare", "Login": "Logare", "Notification Type": "Tipul Notificării", "Email": "Email", diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index a9ef2dd6..59137237 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -84,8 +84,10 @@ "Update Password": "Обновить пароль", "Disable Auth": "Отключить авторизацию", "Enable Auth": "Включить авторизацию", - "disableauth.message1": "Вы уверены, что хотите отключить авторизацию?", - "disableauth.message2": "Это подходит для тех, у кого стоит сторонняя авторизация перед открытием Uptime Kuma, например Cloudflare Access и т. п.", + "disableauth.message1": "Вы уверены, что хотите {disableAuth}?", + "disable authentication": "отключить авторизацию", + "disableauth.message2": "Это подходит для {intendThirdPartyAuth} перед открытием Uptime Kuma, например Cloudflare Access и т. п.", + "where you intend to implement third-party authentication": "тех, у кого стоит другая авторизация", "Please use this option carefully!": "Пожалуйста, используйте с осторожностью!", "Logout": "Выйти", "Leave": "Отмена", @@ -810,7 +812,7 @@ "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Секретный ключ доступа", "Session Token": "Токен сессии", - "jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите jsonata.org для получения документации по языку запросов. A Потренироваться вы можете здесь.", + "jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите {0} для получения документации по языку запросов. A Потренироваться вы можете {1}.", "Notify Channel": "Канал оповещений", "aboutNotifyChannel": "Уведомление о канале вызовет настольное или мобильное уведомление для всех участников канала, независимо от того, установлена ли их доступность как активная или отсутствующая.", "Enter the list of brokers": "Введите список брокеров", diff --git a/src/lang/sk.json b/src/lang/sk.json index 98998bac..584ab168 100644 --- a/src/lang/sk.json +++ b/src/lang/sk.json @@ -177,8 +177,10 @@ "webhookFormDataDesc": "{multipart} je dobré pre PHP. JSON bude potrebné analyzovať pomocou {decodeFunction}", "Generate": "Generovať", "Discourage search engines from indexing site": "Odradiť vyhľadávacie nástroje od indexovania stránky", - "disableauth.message1": "Ste si istý, že chcete vypnúť autentifikáciu?", - "disableauth.message2": "Je navrhnutý pre scenáre, kde máte v úmysle implementovať autentifikáciu treťou stranou pred Uptime Kuma, ako je Cloudflare Access, Authelia alebo iné autentifikačné mechanizmy.", + "disableauth.message1": "Ste si istý, že chcete {disableAuth}?", + "disable authentication": "vypnúť autentifikáciu", + "disableauth.message2": "Je navrhnutý pre scenáre, {intendThirdPartyAuth} pred Uptime Kuma, ako je Cloudflare Access, Authelia alebo iné autentifikačné mechanizmy.", + "where you intend to implement third-party authentication": "kde máte v úmysle implementovať autentifikáciu treťou stranou", "Confirm": "Potvrdiť", "Remember me": "Zapamätať si ma", "Resource Record Type": "Typ záznamu", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 1cd5ac43..43b885bd 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -100,8 +100,10 @@ "Update Password": "Posodobi geslo", "Disable Auth": "Onemogoči auth", "Enable Auth": "Omogoči auth", - "disableauth.message1": "Ali ste prepričani, da želite onemogočiti avtentikacijo?", - "disableauth.message2": "Namenjen je nekomu, ki ima pred programom Uptime Kuma vklopljeno zunanje preverjanje pristnosti, na primer Cloudflare Access.", + "disableauth.message1": "Ali ste prepričani, da želite onemogočiti {disableAuth}?", + "disable authentication": "avtentikacijo", + "disableauth.message2": "Namenjen je {intendThirdPartyAuth}, na primer Cloudflare Access.", + "where you intend to implement third-party authentication": "nekomu, ki ima pred programom Uptime Kuma vklopljeno zunanje preverjanje pristnosti", "Please use this option carefully!": "Uporabljajte previdno.", "Logout": "Odjava", "Leave": "Zapusti", diff --git a/src/lang/sr-latn.json b/src/lang/sr-latn.json index f5134477..c955ebbd 100644 --- a/src/lang/sr-latn.json +++ b/src/lang/sr-latn.json @@ -84,8 +84,10 @@ "Update Password": "Izmeni lozinku", "Disable Auth": "Isključi autentifikaciju", "Enable Auth": "Uključi autentifikaciju", - "disableauth.message1": "Da li ste sigurni da želite da isključite autentifikaciju?", - "disableauth.message2": "To je za one koji imaju dodatu autentifikaciju ispred Uptime Kuma kao na primer Cloudflare Access.", + "disableauth.message1": "Da li ste sigurni da želite da {disableAuth}?", + "disable authentication": "isključite autentifikaciju", + "disableauth.message2": "To je za {intendThirdPartyAuth} ispred Uptime Kuma kao na primer Cloudflare Access.", + "where you intend to implement third-party authentication": "one koji imaju dodatu autentifikaciju", "Please use this option carefully!": "Molim Vas koristite ovo sa pažnjom.", "Logout": "Odloguj se", "Leave": "Izađi", diff --git a/src/lang/sr.json b/src/lang/sr.json index 34bec92a..2b8863b2 100644 --- a/src/lang/sr.json +++ b/src/lang/sr.json @@ -84,8 +84,10 @@ "Update Password": "Измени лозинку", "Disable Auth": "Искључи аутентификацију", "Enable Auth": "Укључи аутентификацију", - "disableauth.message1": "Да ли сте сигурни да желите да искључите аутентификацију?", - "disableauth.message2": "То је за оне који имају додату аутентификацију испред Uptime Kuma као на пример Cloudflare Access.", + "disableauth.message1": "Да ли сте сигурни да желите да {disableAuth}?", + "disable authentication": "искључите аутентификацију", + "disableauth.message2": "То је за {intendThirdPartyAuth} испред Uptime Kuma као на пример Cloudflare Access.", + "where you intend to implement third-party authentication": "оне који имају додату аутентификацију", "Please use this option carefully!": "Молим Вас користите ово са пажњом.", "Logout": "Одлогуј се", "Leave": "Изађи", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index da5a3216..cbea4672 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -113,8 +113,10 @@ "Heartbeat Retry Interval": "Omprövningsintervall", "needPushEvery": "Hämta denna URL var {0} sekund.", "pushOptionalParams": "Valfria parametrar: {0}", - "disableauth.message1": "Vill du verkligen avaktivera autentisering?", - "disableauth.message2": "Det är designat för när en tredjeparts autentiseringstjänst såsom Cloudflare Access eller Authelia används framför Uptime Kuma.", + "disableauth.message1": "Vill du verkligen {disableAuth}?", + "disable authentication": "avaktivera autentisering", + "disableauth.message2": "Det är designat för när en {intendThirdPartyAuth} såsom Cloudflare Access eller Authelia används framför Uptime Kuma.", + "where you intend to implement third-party authentication": "tredjeparts autentiseringstjänst", "Please use this option carefully!": "Använd denna funktion varsamt!", "Import Backup": "Importera säkerhetskopia", "Affected Monitors": "Påverkade övervakare", diff --git a/src/lang/te.json b/src/lang/te.json index ff07c361..7833fd15 100644 --- a/src/lang/te.json +++ b/src/lang/te.json @@ -167,8 +167,10 @@ "Search Engine Visibility": "శోధన ఇంజిన్ దృశ్యమానత", "Discourage search engines from indexing site": "ఇండెక్సింగ్ సైట్ నుండి శోధన ఇంజిన్‌లను నిరుత్సాహపరచండి", "Update Password": "పాస్‌వర్డ్‌ని నవీకరించండి", - "disableauth.message1": "మీరు ఖచ్చితంగా ప్రామాణీకరణను నిలిపివేయాలనుకుంటున్నారా?", - "disableauth.message2": "ఇది Cloudflare యాక్సెస్, Authelia లేదా ఇతర ప్రమాణీకరణ మెకానిజమ్‌ల వంటి Uptime Kuma ముందు థర్డ్-పార్టీ ప్రామాణీకరణను అమలు చేయాలనుకుంటున్న దృశ్యాల కోసం రూపొందించబడింది.", + "disableauth.message1": "మీరు ఖచ్చితంగా {disableAuth}?", + "disable authentication": "ప్రామాణీకరణను నిలిపివేయాలనుకుంటున్నారా", + "disableauth.message2": "ఇది Cloudflare యాక్సెస్, Authelia లేదా ఇతర ప్రమాణీకరణ మెకానిజమ్‌ల వంటి Uptime Kuma ముందు {intendThirdPartyAuth} దృశ్యాల కోసం రూపొందించబడింది.", + "where you intend to implement third-party authentication": "థర్డ్-పార్టీ ప్రామాణీకరణను అమలు చేయాలనుకుంటున్న", "I understand, please disable": "నాకు అర్థమైంది, దయచేసి నిలిపివేయండి", "No Monitors, please": "దయచేసి మానిటర్లు వద్దు", "Certificate Info": "సర్టిఫికేట్ సమాచారం", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index 34cb13d6..36f9e1a8 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -101,7 +101,8 @@ "Update Password": "อัพเดทรหัสผ่าน", "Disable Auth": "ปิดใช้งานการตรวจสอบสิทธิ์", "Enable Auth": "เปิดใช้งานการตรวจสอบสิทธิ์", - "disableauth.message1": "คุณต้องการที่จะ ปิดใช้งานระบบรับรองความถูกต้องใช่หรือไม่?", + "disableauth.message1": "คุณต้องการที่จะ {disableAuth}?", + "disable authentication": "ปิดใช้งานระบบรับรองความถูกต้องใช่หรือไม่", "disableauth.message2": "ระบบนี้ถูกออกแบบมาเพื่อการใช้งานกับระบบรับรองความถูกต้องของบุคคลที่สามเช่น Cloudflare Access, Authelia หรือวิธีการอื่นๆ", "Please use this option carefully!": "โปรดใช้ความระมัดระวังในการเลือกใช้งานระบบนี้ !", "Logout": "ออกจากระบบ", diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 76b68871..35642ab6 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -104,8 +104,10 @@ "Update Password": "Şifreyi Değiştir", "Disable Auth": "Şifreli girişi iptal et", "Enable Auth": "Şifreli girişi aktif et", - "disableauth.message1": "Şifreli girişi devre dışı bırakmak istediğinizdenemin misiniz?", - "disableauth.message2": "Bu, Uptime Kuma'nın önünde Cloudflare Access gibi üçüncü taraf yetkilendirmesi olan kişiler içindir.", + "disableauth.message1": "{disableAuth}emin misiniz?", + "disable authentication": "Şifreli girişi devre dışı bırakmak istediğinizden", + "disableauth.message2": "Bu, Uptime Kuma'nın önünde Cloudflare Access gibi {intendThirdPartyAuth} kişiler içindir.", + "where you intend to implement third-party authentication": "üçüncü taraf yetkilendirmesi olan", "Please use this option carefully!": "Lütfen dikkatli kullanın!", "Logout": "Çıkış yap", "Leave": "Ayrıl", @@ -792,7 +794,7 @@ "webhookBodyPresetOption": "Ön ayar - {0}", "webhookBodyCustomOption": "Özel Gövde", "Request Body": "İstek Gövdesi", - "jsonQueryDescription": "Yanıta karşı bir json sorgusu yapın ve beklenen değeri kontrol edin (Dönüş değeri, karşılaştırma için dizgeye dönüştürülür). Sorgu diliyle ilgili belgeler için jsonata.org'a bakın. Bir oyun alanı burada bulunabilir.", + "jsonQueryDescription": "Yanıta karşı bir json sorgusu yapın ve beklenen değeri kontrol edin (Dönüş değeri, karşılaştırma için dizgeye dönüştürülür). Sorgu diliyle ilgili belgeler için {0}'a bakın. Bir oyun alanı {1} bulunabilir.", "twilioApiKey": "Api Anahtarı (isteğe bağlı)", "Expected Value": "Beklenen Değer", "Json Query": "Json Sorgusu", diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index 32f12a10..ae93acab 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -84,8 +84,10 @@ "Update Password": "Оновити пароль", "Disable Auth": "Вимкнути авторизацію", "Enable Auth": "Увімкнути авторизацію", - "disableauth.message1": "Ви впевнені, що бажаєте вимкнути авторизацію?", - "disableauth.message2": "Це підходить для тих, у кого встановлена інша авторизація пееред відкриттям Uptime Kuma, наприклад Cloudflare Access.", + "disableauth.message1": "Ви впевнені, що бажаєте {disableAuth}?", + "disable authentication": "вимкнути авторизацію", + "disableauth.message2": "Це підходить для {intendThirdPartyAuth} пееред відкриттям Uptime Kuma, наприклад Cloudflare Access.", + "where you intend to implement third-party authentication": "тих, у кого встановлена інша авторизація", "Please use this option carefully!": "Будь ласка, використовуйте з обережністю!", "Logout": "Вийти", "Leave": "Відміна", @@ -800,7 +802,7 @@ "Request Body": "Тіло запиту", "Badge Preview": "Попередній перегляд бейджа", "Badge Duration (in hours)": "Тривалість бейджа (у годинах)", - "jsonQueryDescription": "Виконувати json-запит до відповіді та перевірити очікуване значення (значення, що повертається, буде перетворено в рядок для порівняння). Зверніться до jsonata.org щоб ознайомитися з документацією про мову запитів. Навчальний майданчик можна знайти тут.", + "jsonQueryDescription": "Виконувати json-запит до відповіді та перевірити очікуване значення (значення, що повертається, буде перетворено в рядок для порівняння). Зверніться до {0} щоб ознайомитися з документацією про мову запитів. Навчальний майданчик можна знайти {1}.", "twilioApiKey": "Api ключ (необов'язково)", "Expected Value": "Очікуване значення", "Json Query": "Json-запит", diff --git a/src/lang/ur.json b/src/lang/ur.json index 673ecf35..5df21232 100644 --- a/src/lang/ur.json +++ b/src/lang/ur.json @@ -122,8 +122,10 @@ "Not available, please setup.": "دستیاب نہیں، براہ کرم سیٹ اپ کریں۔", "Timezone": "ٹائم زون", "Discourage search engines from indexing site": "انڈیکسنگ سائٹ سے سرچ انجنوں کی حوصلہ شکنی کریں", - "disableauth.message1": "کیا آپ واقعی تصدیق کو غیر فعال کرنا چاہتے ہیں؟", - "disableauth.message2": "یہ ان منظرناموں کے لیے ڈیزائن کیا گیا ہے جہاں آپ کا ارادہ ہے کہ آپ فریق ثالث کی توثیق کو لاگو کریں اپ ٹائم کوما جیسے کہ Cloudflare Access، Authelia یا دیگر تصدیقی میکانزم کے سامنے۔", + "disableauth.message1": "کیا آپ واقعی {disableAuth} کرنا چاہتے ہیں؟", + "disable authentication": "تصدیق کو غیر فعال", + "disableauth.message2": "یہ ان منظرناموں کے لیے ڈیزائن کیا گیا ہے{intendThirdPartyAuth} اپ ٹائم کوما جیسے کہ Cloudflare Access، Authelia یا دیگر تصدیقی میکانزم کے سامنے۔", + "where you intend to implement third-party authentication": "جہاں آپ کا ارادہ ہے کہ آپ فریق ثالث کی توثیق کو لاگو کریں", "Resolver Server": "حل کرنے والا سرور", "Last Result": "آخری نتیجہ", "Create your admin account": "اپنا ایڈمن اکاؤنٹ بنائیں", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index fb751c30..83ee258c 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -100,8 +100,10 @@ "Update Password": "Cập nhật mật khẩu", "Disable Auth": "Tắt xác minh", "Enable Auth": "Bật xác minh", - "disableauth.message1": "Bạn có muốn TẮT XÁC THỰC không?", - "disableauth.message2": "Điều này rất nguy hiểmBẤT KỲ AI cũng có thể truy cập và cướp quyền điều khiển.", + "disableauth.message1": "Bạn có muốn {disableAuth} không?", + "disable authentication": "TẮT XÁC THỰC", + "disableauth.message2": "Điều này rất nguy hiểm{intendThirdPartyAuth} cũng có thể truy cập và cướp quyền điều khiển.", + "where you intend to implement third-party authentication": "BẤT KỲ AI", "Please use this option carefully!": "Vui lòng cẩn thận!", "Logout": "Đăng xuất", "Leave": "Rời", diff --git a/src/lang/yue.json b/src/lang/yue.json index 991c9b7b..8661a78f 100644 --- a/src/lang/yue.json +++ b/src/lang/yue.json @@ -67,7 +67,8 @@ "Update Password": "更新密碼", "Disable Auth": "取消登入認証", "Enable Auth": "開啟登入認証", - "disableauth.message1": "你係咪確認想取消登入認証?", + "disableauth.message1": "你係咪確認想{disableAuth}?", + "disable authentication": "取消登入認証", "Please use this option carefully!": "請小心使用。", "Logout": "登出", "Leave": "離開", diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index f2e3df3b..92dbf122 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -119,8 +119,10 @@ "Update Password": "更新密码", "Disable Auth": "禁用身份验证", "Enable Auth": "启用身份验证", - "disableauth.message1": "是否确定 取消登录验证?", - "disableauth.message2": "这是为 有第三方认证 的用户提供的功能,如 Cloudflare Access。", + "disableauth.message1": "是否确定 {disableAuth}?", + "disable authentication": "取消登录验证", + "disableauth.message2": "这是为 {intendThirdPartyAuth} 的用户提供的功能,如 Cloudflare Access。", + "where you intend to implement third-party authentication": "有第三方认证", "Please use this option carefully!": "请谨慎使用!", "Logout": "退出", "Leave": "离开", @@ -800,7 +802,7 @@ "webhookCustomBodyDesc": "为 webhook 设定一个自定义 HTTP 请求体。可在模板内使用 {msg}、{heartbeat}和{monitor} 变量。", "webhookBodyPresetOption": "预设 - {0}", "Request Body": "请求体", - "jsonQueryDescription": "对响应结果执行一次 JSON 查询,其返回值将会被转换为字符串,再与期望值进行比较。可访问 jsonata.org 阅读 JSON 查询语言的文档,或在此处测试查询语句。", + "jsonQueryDescription": "对响应结果执行一次 JSON 查询,其返回值将会被转换为字符串,再与期望值进行比较。可访问 {0} 阅读 JSON 查询语言的文档,或在{1}测试查询语句。", "Json Query": "JSON 查询", "twilioApiKey": "API Key(可选)", "Expected Value": "预期值", diff --git a/src/lang/zh-HK.json b/src/lang/zh-HK.json index 9c0cb1f4..f3b5069f 100644 --- a/src/lang/zh-HK.json +++ b/src/lang/zh-HK.json @@ -77,8 +77,10 @@ "Update Password": "更新密碼", "Disable Auth": "取消登入認証", "Enable Auth": "開啟登入認証", - "disableauth.message1": "你是否確認取消登入認証?", - "disableauth.message2": "這個功能是設計給已有第三方認証的用家,例如 Cloudflare Access。", + "disableauth.message1": "你是否確認{disableAuth}?", + "disable authentication": "取消登入認証", + "disableauth.message2": "這個功能是設計給已有{intendThirdPartyAuth}的用家,例如 Cloudflare Access。", + "where you intend to implement third-party authentication": "第三方認証", "Please use this option carefully!": "請小心使用。", "Logout": "登出", "notificationDescription": "新增後,你需要在監測器裡啟用。", diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index 1de6d372..fa8a5aeb 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -119,8 +119,10 @@ "Update Password": "更新密碼", "Disable Auth": "停用驗證", "Enable Auth": "啟用驗證", - "disableauth.message1": ">你是否要取消登入驗證?", - "disableauth.message2": "此功能是設計給已有第三方認證的使用者,例如 Cloudflare Access。", + "disableauth.message1": ">你是否要{disableAuth}?", + "disable authentication": "取消登入驗證", + "disableauth.message2": "此功能是設計給已有{intendThirdPartyAuth}的使用者,例如 Cloudflare Access。", + "where you intend to implement third-party authentication": "第三方認證", "Please use this option carefully!": "請謹慎使用!", "Logout": "登出", "Leave": "離開", @@ -770,7 +772,7 @@ "Check/Uncheck": "選中/取消選中", "tailscalePingWarning": "如需使用 Tailscale Ping 客戶端,您需要以非 docker 方式安裝 Uptime Kuma,並同時安裝 Tailscale 客戶端。", "invertKeywordDescription": "出現關鍵詞將令檢測結果設為失敗,而非成功。", - "jsonQueryDescription": "對回應結果執行一次 JSON 查詢,其返回值將會被轉換為字串,再與期望值進行比較。可造訪jsonata.org 閱讀JSON 查詢語言的文件,或在此處測試查詢語句。", + "jsonQueryDescription": "對回應結果執行一次 JSON 查詢,其返回值將會被轉換為字串,再與期望值進行比較。可造訪{0}閱讀JSON 查詢語言的文件,或在{1}測試查詢語句。", "wayToGetKookGuildID": "在 Kook 設定中打開“開發者模式”,然後右鍵點選頻道可取得其 ID", "Notify Channel": "通知該頻道", "aboutNotifyChannel": "勾選“通知該頻道”,會令該頻道內所有成員都收到一條桌面端或移動端通知,無論其狀態是在線或離開。", diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index c603ed69..66616299 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -173,9 +173,10 @@ - -
-
+ + jsonata.org + {{ $t('here') }} +
From f24c3583fbc8c94dad67e3fc0fe112af4c43ccde Mon Sep 17 00:00:00 2001 From: HdroguettA Date: Sun, 17 Dec 2023 20:21:07 +1100 Subject: [PATCH 245/494] Attempt an OAuth2 Refresh on 401 (#3903) --- server/model/monitor.js | 48 ++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 6e2bcf5c..b2fed86f 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -433,9 +433,7 @@ class Monitor extends BeanModel { if (this.auth_method === "oauth2-cc") { try { if (this.oauthAccessToken === undefined || new Date(this.oauthAccessToken.expires_at * 1000) <= new Date()) { - log.debug("monitor", `[${this.name}] The oauth access-token undefined or expired. Requesting a new one`); - this.oauthAccessToken = await getOidcTokenClientCredentials(this.oauth_token_url, this.oauth_client_id, this.oauth_client_secret, this.oauth_scopes, this.oauth_auth_method); - log.debug("monitor", `[${this.name}] Obtained oauth access-token. Expires at ${new Date(this.oauthAccessToken.expires_at * 1000)}`); + this.oauthAccessToken = await this.makeOidcTokenClientCredentialsRequest(); } oauth2AuthHeader = { "Authorization": this.oauthAccessToken.token_type + " " + this.oauthAccessToken.access_token, @@ -1065,18 +1063,35 @@ class Monitor extends BeanModel { } return res; - } catch (e) { + } catch (error) { + + /** + * Make a single attempt to obtain an new access token in the event that + * the recent api request failed for authentication purposes + */ + if (this.auth_method === "oauth2-cc" && error.response.status === 401 && !finalCall) { + this.oauthAccessToken = await this.makeOidcTokenClientCredentialsRequest(); + let oauth2AuthHeader = { + "Authorization": this.oauthAccessToken.token_type + " " + this.oauthAccessToken.access_token, + }; + options.headers = { ...(options.headers), + ...(oauth2AuthHeader) + }; + + return this.makeAxiosRequest(options, true); + } + // Fix #2253 // Read more: https://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding-read-data-remaining - if (!finalCall && typeof e.message === "string" && e.message.includes("maxContentLength size of -1 exceeded")) { + if (!finalCall && typeof error.message === "string" && error.message.includes("maxContentLength size of -1 exceeded")) { log.debug("monitor", "makeAxiosRequest with gzip"); options.headers["Accept-Encoding"] = "gzip, deflate"; return this.makeAxiosRequest(options, true); } else { - if (typeof e.message === "string" && e.message.includes("maxContentLength size of -1 exceeded")) { - e.message = "response timeout: incomplete response within a interval"; + if (typeof error.message === "string" && error.message.includes("maxContentLength size of -1 exceeded")) { + error.message = "response timeout: incomplete response within a interval"; } - throw e; + throw error; } } } @@ -1579,6 +1594,23 @@ class Monitor extends BeanModel { const parentActive = await Monitor.isParentActive(parent.id); return parent.active && parentActive; } + + /** + * Obtains a new Oidc Token + * @returns {Promise} OAuthProvider client + */ + async makeOidcTokenClientCredentialsRequest() { + log.debug("monitor", `[${this.name}] The oauth access-token undefined or expired. Requesting a new token`); + const oAuthAccessToken = await getOidcTokenClientCredentials(this.oauth_token_url, this.oauth_client_id, this.oauth_client_secret, this.oauth_scopes, this.oauth_auth_method); + if (this.oauthAccessToken?.expires_at) { + log.debug("monitor", `[${this.name}] Obtained oauth access-token. Expires at ${new Date(this.oauthAccessToken?.expires_at * 1000)}`); + } else { + log.debug("monitor", `[${this.name}] Obtained oauth access-token. Time until expiry was not provided`); + } + + return oAuthAccessToken; + } + } module.exports = Monitor; From 996ff28ed98d26319b5b60f647b6d8e1fdf003ee Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 17 Dec 2023 19:02:22 +0800 Subject: [PATCH 246/494] Playwright + Native Node Test Runner (#3893) --- .eslintrc.js | 17 - .github/workflows/auto-test.yml | 31 +- .gitignore | 3 - config/playwright.config.js | 60 + extra/remove-playwright-test-data.js | 6 + package-lock.json | 14268 +++++++---------- package.json | 22 +- server/server.js | 7 +- server/util-server.js | 24 - test/backend.spec.js | 323 - test/cypress/e2e/setup.cy.js | 18 - test/cypress/plugins/index.js | 0 test/cypress/support/actors/actor.js | 8 - test/cypress/support/commands.js | 0 test/cypress/support/const/user-data.js | 4 - test/cypress/support/e2e.js | 1 - test/cypress/support/pages/dashboard-page.js | 3 - test/cypress/support/pages/setup-page.js | 7 - test/cypress/support/tasks/setup-task.js | 11 - test/cypress/unit/i18n.spec.js | 44 - test/cypress/unit/util-frontend.spec.js | 41 - test/e2e/setup.spec.js | 43 + test/e2e/util-test.js | 27 + 23 files changed, 5753 insertions(+), 9215 deletions(-) create mode 100644 config/playwright.config.js create mode 100644 extra/remove-playwright-test-data.js delete mode 100644 test/backend.spec.js delete mode 100644 test/cypress/e2e/setup.cy.js delete mode 100644 test/cypress/plugins/index.js delete mode 100644 test/cypress/support/actors/actor.js delete mode 100644 test/cypress/support/commands.js delete mode 100644 test/cypress/support/const/user-data.js delete mode 100644 test/cypress/support/e2e.js delete mode 100644 test/cypress/support/pages/dashboard-page.js delete mode 100644 test/cypress/support/pages/setup-page.js delete mode 100644 test/cypress/support/tasks/setup-task.js delete mode 100644 test/cypress/unit/i18n.spec.js delete mode 100644 test/cypress/unit/util-frontend.spec.js create mode 100644 test/e2e/setup.spec.js create mode 100644 test/e2e/util-test.js diff --git a/.eslintrc.js b/.eslintrc.js index ef556a34..aa7f23a8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -150,23 +150,6 @@ module.exports = { } }, - // Override for jest puppeteer - { - "files": [ - "**/*.spec.js", - "**/*.spec.jsx" - ], - env: { - jest: true, - }, - globals: { - page: true, - browser: true, - context: true, - jestPuppeteer: true, - }, - }, - // Override for TypeScript { "files": [ diff --git a/.github/workflows/auto-test.yml b/.github/workflows/auto-test.yml index bd60d8b3..b3a7daca 100644 --- a/.github/workflows/auto-test.yml +++ b/.github/workflows/auto-test.yml @@ -15,7 +15,7 @@ on: jobs: auto-test: - needs: [ check-linters ] + needs: [ check-linters, e2e-test ] runs-on: ${{ matrix.os }} timeout-minutes: 15 @@ -36,7 +36,7 @@ jobs: - run: npm install npm@9 -g - run: npm install - run: npm run build - - run: npm test + - run: npm run test-backend env: HEADLESS_TEST: 1 JUST_FOR_TEST: ${{ secrets.JUST_FOR_TEST }} @@ -78,33 +78,18 @@ jobs: - run: npm install - run: npm run lint:prod -# TODO: Temporarily disable, as it cannot pass the test in 2.0.0 yet -# e2e-tests: -# needs: [ check-linters ] -# runs-on: ubuntu-latest -# steps: -# - run: git config --global core.autocrlf false # Mainly for Windows -# - uses: actions/checkout@v4 -# -# - name: Use Node.js 14 -# uses: actions/setup-node@v4 -# with: -# node-version: 14 -# - run: npm install -# - run: npm run build -# - run: npm run cy:test - - frontend-unit-tests: + e2e-test: needs: [ check-linters ] - runs-on: ubuntu-latest + runs-on: ARM64 steps: - run: git config --global core.autocrlf false # Mainly for Windows - uses: actions/checkout@v4 - - name: Use Node.js 14 + - name: Use Node.js 20 uses: actions/setup-node@v4 with: - node-version: 14 + node-version: 20 - run: npm install + - run: npx playwright install - run: npm run build - - run: npm run cy:run:unit + - run: npm run test-e2e diff --git a/.gitignore b/.gitignore index 169b5820..b11a7935 100644 --- a/.gitignore +++ b/.gitignore @@ -15,9 +15,6 @@ dist-ssr /tmp .env -cypress/videos -cypress/screenshots - /extra/healthcheck.exe /extra/healthcheck /extra/healthcheck-armv7 diff --git a/config/playwright.config.js b/config/playwright.config.js new file mode 100644 index 00000000..94239d2d --- /dev/null +++ b/config/playwright.config.js @@ -0,0 +1,60 @@ +import { defineConfig, devices } from "@playwright/test"; + +const port = 30001; +const url = `http://localhost:${port}`; + +export default defineConfig({ + // Look for test files in the "tests" directory, relative to this configuration file. + testDir: "../test/e2e", + outputDir: "../private/playwright-test-results", + fullyParallel: false, + locale: "en-US", + + // Fail the build on CI if you accidentally left test.only in the source code. + forbidOnly: !!process.env.CI, + + // Retry on CI only. + retries: process.env.CI ? 2 : 0, + + // Opt out of parallel tests on CI. + workers: 1, + + // Reporter to use + reporter: [ + [ + "html", { + outputFolder: "../private/playwright-report", + open: "never", + } + ], + ], + + use: { + // Base URL to use in actions like `await page.goto('/')`. + baseURL: url, + + // Collect trace when retrying the failed test. + trace: "on-first-retry", + }, + + // Configure projects for major browsers. + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + /* + { + name: "firefox", + use: { browserName: "firefox" } + },*/ + ], + + // Run your local dev server before starting the tests. + webServer: { + command: `node extra/remove-playwright-test-data.js && node server/server.js --port=${port} --data-dir=./data/playwright-test`, + url, + reuseExistingServer: false, + cwd: "../", + }, +}); diff --git a/extra/remove-playwright-test-data.js b/extra/remove-playwright-test-data.js new file mode 100644 index 00000000..0628807e --- /dev/null +++ b/extra/remove-playwright-test-data.js @@ -0,0 +1,6 @@ +const fs = require("fs"); + +fs.rmSync("./data/playwright-test", { + recursive: true, + force: true, +}); diff --git a/package-lock.json b/package-lock.json index e82b8ebf..dece302f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "password-hash": "~1.2.2", "pg": "~8.11.3", "pg-connection-string": "~2.6.2", - "playwright-core": "~1.35.1", + "playwright-core": "~1.39.0", "prom-client": "~13.2.0", "prometheus-api-metrics": "~3.2.1", "promisify-child-process": "~4.1.2", @@ -86,8 +86,10 @@ "@fortawesome/free-regular-svg-icons": "~5.15.4", "@fortawesome/free-solid-svg-icons": "~5.15.4", "@fortawesome/vue-fontawesome": "~3.0.0-5", + "@playwright/test": "~1.39.0", "@popperjs/core": "~2.10.2", "@types/bootstrap": "~5.1.9", + "@types/node": "^20.8.6", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", "@vitejs/plugin-vue": "~4.2.3", @@ -101,7 +103,6 @@ "core-js": "~3.26.1", "cronstrue": "~2.24.0", "cross-env": "~7.0.3", - "cypress": "^13.2.0", "delay": "^5.0.0", "dns2": "~2.0.1", "dompurify": "~2.4.3", @@ -109,7 +110,7 @@ "eslint-plugin-jsdoc": "~46.4.6", "eslint-plugin-vue": "~8.7.1", "favico.js": "~0.3.10", - "jest": "~29.6.1", + "get-port-please": "^3.1.1", "marked": "~4.2.5", "node-ssh": "~13.1.0", "postcss-html": "~1.5.0", @@ -178,19 +179,6 @@ "undici": "^5.25.4" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", @@ -295,48 +283,46 @@ "optional": true }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.449.0.tgz", - "integrity": "sha512-tpBNOZMIV4v4zdbKBz561XPWoamlM+05fgrSNnV4Q004dl2bydvFCE50QkfUcpJsF3d4oMq6OtpNustF+irxTA==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.427.0.tgz", + "integrity": "sha512-9brRaNnl6haE7R3R43A5CSNw0k1YtB3xjuArbMg/p6NDUpvRSRgOVNWu2R02Yjh/j2ZuaLOCPLuCipb+PHQPKQ==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.449.0", - "@aws-sdk/core": "3.445.0", - "@aws-sdk/credential-provider-node": "3.449.0", - "@aws-sdk/middleware-host-header": "3.449.0", - "@aws-sdk/middleware-logger": "3.449.0", - "@aws-sdk/middleware-recursion-detection": "3.449.0", - "@aws-sdk/middleware-signing": "3.449.0", - "@aws-sdk/middleware-user-agent": "3.449.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.449.0", - "@aws-sdk/util-endpoints": "3.449.0", - "@aws-sdk/util-user-agent-browser": "3.449.0", - "@aws-sdk/util-user-agent-node": "3.449.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", + "@aws-sdk/client-sts": "3.427.0", + "@aws-sdk/credential-provider-node": "3.427.0", + "@aws-sdk/middleware-host-header": "3.425.0", + "@aws-sdk/middleware-logger": "3.425.0", + "@aws-sdk/middleware-recursion-detection": "3.425.0", + "@aws-sdk/middleware-signing": "3.425.0", + "@aws-sdk/middleware-user-agent": "3.427.0", + "@aws-sdk/region-config-resolver": "3.425.0", + "@aws-sdk/types": "3.425.0", + "@aws-sdk/util-endpoints": "3.427.0", + "@aws-sdk/util-user-agent-browser": "3.425.0", + "@aws-sdk/util-user-agent-node": "3.425.0", + "@smithy/config-resolver": "^2.0.11", + "@smithy/fetch-http-handler": "^2.2.1", + "@smithy/hash-node": "^2.0.10", + "@smithy/invalid-dependency": "^2.0.10", + "@smithy/middleware-content-length": "^2.0.12", + "@smithy/middleware-endpoint": "^2.0.10", + "@smithy/middleware-retry": "^2.0.13", + "@smithy/middleware-serde": "^2.0.10", + "@smithy/middleware-stack": "^2.0.4", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/node-http-handler": "^2.1.6", + "@smithy/protocol-http": "^3.0.6", + "@smithy/smithy-client": "^2.1.9", + "@smithy/types": "^2.3.4", + "@smithy/url-parser": "^2.0.10", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", + "@smithy/util-defaults-mode-browser": "^2.0.13", + "@smithy/util-defaults-mode-node": "^2.0.15", + "@smithy/util-retry": "^2.0.3", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" }, @@ -345,45 +331,43 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.449.0.tgz", - "integrity": "sha512-HFTlFbf9jwp5BJkXbMKlEwk6oGC7AVYaPEkaNk77kzZ8RGoqVSAqe0HL74DACcJUpMD/VWYX7pfWq/Wm+2B79g==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.427.0.tgz", + "integrity": "sha512-sFVFEmsQ1rmgYO1SgrOTxE/MTKpeE4hpOkm1WqhLQK7Ij136vXpjCxjH1JYZiHiUzO1wr9t4ex4dlB5J3VS/Xg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.445.0", - "@aws-sdk/middleware-host-header": "3.449.0", - "@aws-sdk/middleware-logger": "3.449.0", - "@aws-sdk/middleware-recursion-detection": "3.449.0", - "@aws-sdk/middleware-user-agent": "3.449.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.449.0", - "@aws-sdk/util-endpoints": "3.449.0", - "@aws-sdk/util-user-agent-browser": "3.449.0", - "@aws-sdk/util-user-agent-node": "3.449.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", + "@aws-sdk/middleware-host-header": "3.425.0", + "@aws-sdk/middleware-logger": "3.425.0", + "@aws-sdk/middleware-recursion-detection": "3.425.0", + "@aws-sdk/middleware-user-agent": "3.427.0", + "@aws-sdk/region-config-resolver": "3.425.0", + "@aws-sdk/types": "3.425.0", + "@aws-sdk/util-endpoints": "3.427.0", + "@aws-sdk/util-user-agent-browser": "3.425.0", + "@aws-sdk/util-user-agent-node": "3.425.0", + "@smithy/config-resolver": "^2.0.11", + "@smithy/fetch-http-handler": "^2.2.1", + "@smithy/hash-node": "^2.0.10", + "@smithy/invalid-dependency": "^2.0.10", + "@smithy/middleware-content-length": "^2.0.12", + "@smithy/middleware-endpoint": "^2.0.10", + "@smithy/middleware-retry": "^2.0.13", + "@smithy/middleware-serde": "^2.0.10", + "@smithy/middleware-stack": "^2.0.4", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/node-http-handler": "^2.1.6", + "@smithy/protocol-http": "^3.0.6", + "@smithy/smithy-client": "^2.1.9", + "@smithy/types": "^2.3.4", + "@smithy/url-parser": "^2.0.10", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", + "@smithy/util-defaults-mode-browser": "^2.0.13", + "@smithy/util-defaults-mode-node": "^2.0.15", + "@smithy/util-retry": "^2.0.3", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" }, @@ -392,48 +376,46 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.449.0.tgz", - "integrity": "sha512-iKh5Es9tyY+Ch17bvMubW67ydW4X3Buy9vwTIqpmXlnXEfbvjZRwycjWK2MO/P1Su3wjA14zNBq2ifNWFxkwFA==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.427.0.tgz", + "integrity": "sha512-le2wLJKILyWuRfPz2HbyaNtu5kEki+ojUkTqCU6FPDRrqUvEkaaCBH9Awo/2AtrCfRkiobop8RuTTj6cAnpiJg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.445.0", - "@aws-sdk/credential-provider-node": "3.449.0", - "@aws-sdk/middleware-host-header": "3.449.0", - "@aws-sdk/middleware-logger": "3.449.0", - "@aws-sdk/middleware-recursion-detection": "3.449.0", - "@aws-sdk/middleware-sdk-sts": "3.449.0", - "@aws-sdk/middleware-signing": "3.449.0", - "@aws-sdk/middleware-user-agent": "3.449.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.449.0", - "@aws-sdk/util-endpoints": "3.449.0", - "@aws-sdk/util-user-agent-browser": "3.449.0", - "@aws-sdk/util-user-agent-node": "3.449.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", + "@aws-sdk/credential-provider-node": "3.427.0", + "@aws-sdk/middleware-host-header": "3.425.0", + "@aws-sdk/middleware-logger": "3.425.0", + "@aws-sdk/middleware-recursion-detection": "3.425.0", + "@aws-sdk/middleware-sdk-sts": "3.425.0", + "@aws-sdk/middleware-signing": "3.425.0", + "@aws-sdk/middleware-user-agent": "3.427.0", + "@aws-sdk/region-config-resolver": "3.425.0", + "@aws-sdk/types": "3.425.0", + "@aws-sdk/util-endpoints": "3.427.0", + "@aws-sdk/util-user-agent-browser": "3.425.0", + "@aws-sdk/util-user-agent-node": "3.425.0", + "@smithy/config-resolver": "^2.0.11", + "@smithy/fetch-http-handler": "^2.2.1", + "@smithy/hash-node": "^2.0.10", + "@smithy/invalid-dependency": "^2.0.10", + "@smithy/middleware-content-length": "^2.0.12", + "@smithy/middleware-endpoint": "^2.0.10", + "@smithy/middleware-retry": "^2.0.13", + "@smithy/middleware-serde": "^2.0.10", + "@smithy/middleware-stack": "^2.0.4", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/node-http-handler": "^2.1.6", + "@smithy/protocol-http": "^3.0.6", + "@smithy/smithy-client": "^2.1.9", + "@smithy/types": "^2.3.4", + "@smithy/url-parser": "^2.0.10", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", + "@smithy/util-defaults-mode-browser": "^2.0.13", + "@smithy/util-defaults-mode-node": "^2.0.15", + "@smithy/util-retry": "^2.0.3", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" @@ -442,29 +424,16 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/core": { - "version": "3.445.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.445.0.tgz", - "integrity": "sha512-6GYLElUG1QTOdmXG8zXa+Ull9IUeSeItKDYHKzHYfIkbsagMfYlf7wm9XIYlatjtgodNfZ3gPHAJfRyPmwKrsg==", - "optional": true, - "dependencies": { - "@smithy/smithy-client": "^2.1.12", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.449.0.tgz", - "integrity": "sha512-S8+QHo7EWXswwibE6OfF1o90x7toeJF3/eDpCBqTnQwyaEPggs7BNZAml5zxRMHXJUbE8nZ2gImwrKgmCiNjOw==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.427.0.tgz", + "integrity": "sha512-BQNzNrMJlBAfXhYNdAUqaVASpT9Aho5swj7glZKxx4Uds1w5Pih2e14JWgnl8XgUWAZ36pchTrV1aA4JT7N8vw==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.449.0", - "@aws-sdk/types": "3.449.0", + "@aws-sdk/client-cognito-identity": "3.427.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -472,14 +441,14 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.449.0.tgz", - "integrity": "sha512-SwO9XQcBoyA0XrsSmgnMqCnR99wIyp+BjGhvzDU+Wetib7QPt++E2slJkLM/iCNc6YiqiHZtHsvXapSV7RzBJw==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.425.0.tgz", + "integrity": "sha512-J20etnLvMKXRVi5FK4F8yOCNm2RTaQn5psQTGdDEPWJNGxohcSpzzls8U2KcMyUJ+vItlrThr4qwgpHG3i/N0w==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -487,19 +456,17 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.449.0.tgz", - "integrity": "sha512-oIcww6Xsyux3LZVQr89Ps2FkULwCe3ZDUxzlyQNGD7gsMxJRD/fUBffpv+7ZmXUVoN8ZthlxuPwjpP568JVBJw==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.425.0.tgz", + "integrity": "sha512-aP9nkoVWf+OlNMecrUqe4+RuQrX13nucVbty0HTvuwfwJJj0T6ByWZzle+fo1D+5OxvJmtzTflBWt6jUERdHWA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/node-http-handler": "^2.1.8", + "@aws-sdk/types": "3.425.0", + "@smithy/fetch-http-handler": "^2.2.1", + "@smithy/node-http-handler": "^2.1.6", "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/util-stream": "^2.0.17", + "@smithy/protocol-http": "^3.0.6", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -507,20 +474,20 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.449.0.tgz", - "integrity": "sha512-C2pMYysIfbRBR4Q+Aj7J0cRsKY/X2cOnrggrWzsEUJK3EJ1aHwrzm3HI0VM5DttJyya5hE4tZ/H1VX3zNGUtKA==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.427.0.tgz", + "integrity": "sha512-NmH1cO/w98CKMltYec3IrJIIco19wRjATFNiw83c+FGXZ+InJwReqBnruxIOmKTx2KDzd6fwU1HOewS7UjaaaQ==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.449.0", - "@aws-sdk/credential-provider-process": "3.449.0", - "@aws-sdk/credential-provider-sso": "3.449.0", - "@aws-sdk/credential-provider-web-identity": "3.449.0", - "@aws-sdk/types": "3.449.0", + "@aws-sdk/credential-provider-env": "3.425.0", + "@aws-sdk/credential-provider-process": "3.425.0", + "@aws-sdk/credential-provider-sso": "3.427.0", + "@aws-sdk/credential-provider-web-identity": "3.425.0", + "@aws-sdk/types": "3.425.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -528,21 +495,21 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.449.0.tgz", - "integrity": "sha512-cCsqMqL8vmHADwIHCmTWDB4vr5fCXb4PZn3njbA/PIA92xL4S7hRmYi/1ll0CMd+fks+t/h+s+PIhFGo54C7cA==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.427.0.tgz", + "integrity": "sha512-wYYbQ57nKL8OfgRbl8k6uXcdnYml+p3LSSfDUAuUEp1HKlQ8lOXFJ3BdLr5qrk7LhpyppSRnWBmh2c3kWa7ANQ==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.449.0", - "@aws-sdk/credential-provider-ini": "3.449.0", - "@aws-sdk/credential-provider-process": "3.449.0", - "@aws-sdk/credential-provider-sso": "3.449.0", - "@aws-sdk/credential-provider-web-identity": "3.449.0", - "@aws-sdk/types": "3.449.0", + "@aws-sdk/credential-provider-env": "3.425.0", + "@aws-sdk/credential-provider-ini": "3.427.0", + "@aws-sdk/credential-provider-process": "3.425.0", + "@aws-sdk/credential-provider-sso": "3.427.0", + "@aws-sdk/credential-provider-web-identity": "3.425.0", + "@aws-sdk/types": "3.425.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -550,15 +517,15 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.449.0.tgz", - "integrity": "sha512-IofhAgpwdSnaEg9H0dhydac07GCQ55Mc5oRzdzp/tm0Rl0MqnGdIvN8wYsxAeVhEi9pBSNla4eRiTu3LY6Z5+A==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.425.0.tgz", + "integrity": "sha512-YY6tkLdvtb1Fgofp3b1UWO+5vwS14LJ/smGmuGpSba0V7gFJRdcrJ9bcb9vVgAGuMdjzRJ+bUKlLLtqXkaykEw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -566,17 +533,17 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.449.0.tgz", - "integrity": "sha512-Lfhh38rOjFAZBjZZJ2ehve+X048xxr+hTr+ntGOKady1GAH6W1U5UGNYuD9fr5vFaQQtAcNLKkUui+TnmJ4z/w==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.427.0.tgz", + "integrity": "sha512-c+tXyS/i49erHs4bAp6vKNYeYlyQ0VNMBgoco0LCn1rL0REtHbfhWMnqDLF6c2n3yIWDOTrQu0D73Idnpy16eA==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.449.0", - "@aws-sdk/token-providers": "3.449.0", - "@aws-sdk/types": "3.449.0", + "@aws-sdk/client-sso": "3.427.0", + "@aws-sdk/token-providers": "3.427.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -584,14 +551,14 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.449.0.tgz", - "integrity": "sha512-BdqATzdqg39z2VXnEH7I6dzuX/Di6F/4C8FyiiJYx2+VciYdqt6GPprlpGdpngtWct/f8pA/LxQysNBVuwU/RA==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.425.0.tgz", + "integrity": "sha512-/0R65TgRzL01JU3SzloivWNwdkbIhr06uY/F5pBHf/DynQqaspKNfdHn6AiozgSVDfwRHFjKBTUy6wvf3QFkuA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -599,26 +566,26 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.449.0.tgz", - "integrity": "sha512-vC9jQsQy4QAy8dJntCg1i6JdRdteKa8EzPJJ5THVA/QaxuMXiLZPYEJs8udN+cwG4ZoLUDs73BBNgGBc4K8yRw==", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.449.0", - "@aws-sdk/client-sso": "3.449.0", - "@aws-sdk/client-sts": "3.449.0", - "@aws-sdk/credential-provider-cognito-identity": "3.449.0", - "@aws-sdk/credential-provider-env": "3.449.0", - "@aws-sdk/credential-provider-http": "3.449.0", - "@aws-sdk/credential-provider-ini": "3.449.0", - "@aws-sdk/credential-provider-node": "3.449.0", - "@aws-sdk/credential-provider-process": "3.449.0", - "@aws-sdk/credential-provider-sso": "3.449.0", - "@aws-sdk/credential-provider-web-identity": "3.449.0", - "@aws-sdk/types": "3.449.0", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.427.0.tgz", + "integrity": "sha512-rKKohSHju462vo+uQnPjcEZPBAfAMgGH6K1XyyCNpuOC0yYLkG87PYpvAQeb8riTrkHPX0dYUHuTHZ6zQgMGjA==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.427.0", + "@aws-sdk/client-sso": "3.427.0", + "@aws-sdk/client-sts": "3.427.0", + "@aws-sdk/credential-provider-cognito-identity": "3.427.0", + "@aws-sdk/credential-provider-env": "3.425.0", + "@aws-sdk/credential-provider-http": "3.425.0", + "@aws-sdk/credential-provider-ini": "3.427.0", + "@aws-sdk/credential-provider-node": "3.427.0", + "@aws-sdk/credential-provider-process": "3.425.0", + "@aws-sdk/credential-provider-sso": "3.427.0", + "@aws-sdk/credential-provider-web-identity": "3.425.0", + "@aws-sdk/types": "3.425.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -626,14 +593,14 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.449.0.tgz", - "integrity": "sha512-uO7ao5eFhqEEPk8uqkhNhYqqJPPv/+i2aLchvSYrviDcmcbz9HURc8j+Q9WkmIj3jf0hjAJ9UVMQggBUfoLEgg==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.425.0.tgz", + "integrity": "sha512-E5Gt41LObQ+cr8QnLthwsH3MtVSNXy1AKJMowDr85h0vzqA/FHUkgHyOGntgozzjXT5M0MaSRYxS0xwTR5D4Ew==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@smithy/protocol-http": "^3.0.6", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -641,13 +608,13 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.449.0.tgz", - "integrity": "sha512-YwmPLuSx5Zjdnloxr7bArT2KgF+VvlSe5+p5T/woZWEQgINRaCLdvDB37p7x/LlHrxxZRmk20MaFwSKlJU85qQ==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.425.0.tgz", + "integrity": "sha512-INE9XWRXx2f4a/r2vOU0tAmgctVp7nEaEasemNtVBYhqbKLZvr9ndLBSgKGgJ8LIcXAoISipaMuFiqIGkFsm7A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -655,14 +622,14 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.449.0.tgz", - "integrity": "sha512-8kWxxpPBHwFUADf8JaZsUbJ+FtS3K9MGQpMx0AZhh3P9xLaoh602CL0y0+UEEdb2uh6FJJjQiIk4eQXEolhG6Q==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.425.0.tgz", + "integrity": "sha512-77gnzJ5b91bgD75L/ugpOyerx6lR3oyS4080X1YI58EzdyBMkDrHM4FbMcY2RynETi3lwXCFzLRyZjWXY1mRlw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@smithy/protocol-http": "^3.0.6", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -670,14 +637,14 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.449.0.tgz", - "integrity": "sha512-a+mknJkS9jDiDoHg2sFW24B0f6MgT2zs/oF6zMFvVmImvUHjbhSgBzYStE+Phl/uM1zwp1lJfbuO+I+5tVwZEw==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.425.0.tgz", + "integrity": "sha512-JFojrg76oKAoBknnr9EL5N2aJ1mRCtBqXoZYST58GSx8uYdFQ89qS65VNQ8JviBXzsrCNAn4vDhZ5Ch5E6TxGQ==", "optional": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.449.0", - "@aws-sdk/types": "3.449.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/middleware-signing": "3.425.0", + "@aws-sdk/types": "3.425.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -685,17 +652,17 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.449.0.tgz", - "integrity": "sha512-L33efrgdDDY3myjLwraeS2tzUlebaZL6WS7ooACsOwkB9mRs6UQRpSpT90HbcSAjwLaa+xGqaxTA0biAuRjT5A==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.425.0.tgz", + "integrity": "sha512-ZpOfgJHk7ovQ0sSwg3tU4NxFOnz53lJlkJRf7S+wxQALHM0P2MJ6LYBrZaFMVsKiJxNIdZBXD6jclgHg72ZW6Q==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", + "@aws-sdk/types": "3.425.0", "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", + "@smithy/protocol-http": "^3.0.6", "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.4.0", - "@smithy/util-middleware": "^2.0.5", + "@smithy/types": "^2.3.4", + "@smithy/util-middleware": "^2.0.3", "tslib": "^2.5.0" }, "engines": { @@ -703,15 +670,15 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.449.0.tgz", - "integrity": "sha512-0cRptIhIthxUYadrgb5FmcTgGhPIeXnFATBILaa2gA/ivfVY/CiqMAvOvLHxtBAYNK8/VXM9DFL5TfOt8mF2UQ==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.427.0.tgz", + "integrity": "sha512-y9HxYsNvnA3KqDl8w1jHeCwz4P9CuBEtu/G+KYffLeAMBsMZmh4SIkFFCO9wE/dyYg6+yo07rYcnnIfy7WA0bw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@aws-sdk/util-endpoints": "3.449.0", - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@aws-sdk/util-endpoints": "3.427.0", + "@smithy/protocol-http": "^3.0.6", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -719,15 +686,15 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.433.0.tgz", - "integrity": "sha512-xpjRjCZW+CDFdcMmmhIYg81ST5UAnJh61IHziQEk0FXONrg4kjyYPZAOjEdzXQ+HxJQuGQLKPhRdzxmQnbX7pg==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.425.0.tgz", + "integrity": "sha512-u7uv/iUOapIJdRgRkO3wnpYsUgV6ponsZJQgVg/8L+n+Vo5PQL5gAcIuAOwcYSKQPFaeK+KbmByI4SyOK203Vw==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.3", - "@smithy/types": "^2.4.0", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/types": "^2.3.4", "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.5", + "@smithy/util-middleware": "^2.0.3", "tslib": "^2.5.0" }, "engines": { @@ -735,46 +702,44 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.449.0.tgz", - "integrity": "sha512-Tgu6Z/l75uFuNQpKIidbn1gc5bI7OKmGdH5+E/ZAc58XYvxYs9N77HjhrhAGvYQEnXY6gRm26/WSeHAAh5wlgQ==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.427.0.tgz", + "integrity": "sha512-4E5E+4p8lJ69PBY400dJXF06LUHYx5lkKzBEsYqWWhoZcoftrvi24ltIhUDoGVLkrLcTHZIWSdFAWSos4hXqeg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.449.0", - "@aws-sdk/middleware-logger": "3.449.0", - "@aws-sdk/middleware-recursion-detection": "3.449.0", - "@aws-sdk/middleware-user-agent": "3.449.0", - "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.449.0", - "@aws-sdk/util-endpoints": "3.449.0", - "@aws-sdk/util-user-agent-browser": "3.449.0", - "@aws-sdk/util-user-agent-node": "3.449.0", - "@smithy/config-resolver": "^2.0.16", - "@smithy/fetch-http-handler": "^2.2.4", - "@smithy/hash-node": "^2.0.12", - "@smithy/invalid-dependency": "^2.0.12", - "@smithy/middleware-content-length": "^2.0.14", - "@smithy/middleware-endpoint": "^2.1.3", - "@smithy/middleware-retry": "^2.0.18", - "@smithy/middleware-serde": "^2.0.12", - "@smithy/middleware-stack": "^2.0.6", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/node-http-handler": "^2.1.8", + "@aws-sdk/middleware-host-header": "3.425.0", + "@aws-sdk/middleware-logger": "3.425.0", + "@aws-sdk/middleware-recursion-detection": "3.425.0", + "@aws-sdk/middleware-user-agent": "3.427.0", + "@aws-sdk/types": "3.425.0", + "@aws-sdk/util-endpoints": "3.427.0", + "@aws-sdk/util-user-agent-browser": "3.425.0", + "@aws-sdk/util-user-agent-node": "3.425.0", + "@smithy/config-resolver": "^2.0.11", + "@smithy/fetch-http-handler": "^2.2.1", + "@smithy/hash-node": "^2.0.10", + "@smithy/invalid-dependency": "^2.0.10", + "@smithy/middleware-content-length": "^2.0.12", + "@smithy/middleware-endpoint": "^2.0.10", + "@smithy/middleware-retry": "^2.0.13", + "@smithy/middleware-serde": "^2.0.10", + "@smithy/middleware-stack": "^2.0.4", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/node-http-handler": "^2.1.6", "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.8", + "@smithy/protocol-http": "^3.0.6", "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/smithy-client": "^2.1.12", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", + "@smithy/smithy-client": "^2.1.9", + "@smithy/types": "^2.3.4", + "@smithy/url-parser": "^2.0.10", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.16", - "@smithy/util-defaults-mode-node": "^2.0.21", - "@smithy/util-endpoints": "^1.0.2", - "@smithy/util-retry": "^2.0.5", + "@smithy/util-defaults-mode-browser": "^2.0.13", + "@smithy/util-defaults-mode-node": "^2.0.15", + "@smithy/util-retry": "^2.0.3", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" }, @@ -783,12 +748,12 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.449.0.tgz", - "integrity": "sha512-tSQPAvknheB6XnRoc+AuEgdzn2KhY447hddeVW0Mbg8Yl9es4u4TKVINloKDEyUrCKhB/1f93Hb5uJkPe/e/Ww==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.425.0.tgz", + "integrity": "sha512-6lqbmorwerN4v+J5dqbHPAsjynI0mkEF+blf+69QTaKKGaxBBVaXgqoqul9RXYcK5MMrrYRbQIMd0zYOoy90kA==", "optional": true, "dependencies": { - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -796,13 +761,13 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.449.0.tgz", - "integrity": "sha512-hWGM/e+BnbCExXLaIEa6gRb0JW3+XGfcHgRqWkAxsKCaxQuXVIPUA3HyifimxTZDKmTbGZcyWfxCnKGS7I19rw==", + "version": "3.427.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.427.0.tgz", + "integrity": "sha512-rSyiAIFF/EVvity/+LWUqoTMJ0a25RAc9iqx0WZ4tf1UjuEXRRXxZEb+jEZg1bk+pY84gdLdx9z5E+MSJCZxNQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/util-endpoints": "^1.0.2", + "@aws-sdk/types": "3.425.0", + "@smithy/node-config-provider": "^2.0.13", "tslib": "^2.5.0" }, "engines": { @@ -822,26 +787,26 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.449.0.tgz", - "integrity": "sha512-MUQ8YIVZNZZso5w1qlatHu9c1JKYvdjlAugzKhj7npgV4U8D9RBOJUd2Ct8meXPaH4DTfW1qohPlZu/fWWqNVQ==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.425.0.tgz", + "integrity": "sha512-22Y9iMtjGcFjGILR6/xdp1qRezlHVLyXtnpEsbuPTiernRCPk6zfAnK/ATH77r02MUjU057tdxVkd5umUBTn9Q==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@smithy/types": "^2.3.4", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.449.0.tgz", - "integrity": "sha512-PFMnFMSQTdhMAS63anMFFkzz56kWKcjGscgl0bBheEaxo8zgfLf1AAdFuBM+Ob2KYXeMezUbxYu9zOC/0S2hvw==", + "version": "3.425.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.425.0.tgz", + "integrity": "sha512-SIR4F5uQeeVAi8lv4OgRirtdtNi5zeyogTuQgGi9su8F/WP1N6JqxofcwpUY5f8/oJ2UlXr/tx1f09UHfJJzvA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.449.0", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/types": "^2.4.0", + "@aws-sdk/types": "3.425.0", + "@smithy/node-config-provider": "^2.0.13", + "@smithy/types": "^2.3.4", "tslib": "^2.5.0" }, "engines": { @@ -945,9 +910,9 @@ } }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.12.2.tgz", - "integrity": "sha512-wLLJQdL4v1yoqYtEtjKNjf8pJ/G/BqVomAWxcKOR1KbZJyCEnCv04yks7Y1NhJ3JzxbDs307W67uX0JzklFdCg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.12.1.tgz", + "integrity": "sha512-SsyWQ+T5MFQRX+M8H/66AlaI6HyCbQStGfFngx2fuiW+vKI2DkhtOvbYodPyf9fOe/ARLWWc3ohX54lQ5Kmaog==", "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.4.0", @@ -960,7 +925,7 @@ "tslib": "^2.2.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, "node_modules/@azure/core-tracing": { @@ -975,15 +940,15 @@ } }, "node_modules/@azure/core-util": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.6.1.tgz", - "integrity": "sha512-h5taHeySlsV9qxuK64KZxy4iln1BtMYlNt5jbuEFN3UFSAd1EwKg/Gjl5a6tZ/W8t6li3xPnutOx7zbDyXnPmQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.5.0.tgz", + "integrity": "sha512-GZBpVFDtQ/15hW1OgBcRdT4Bl7AEpcEZqLfbAvOtm1CQUncKWiYapFHVD588hmlV27NbOOtSm3cnLF3lvoHi4g==", "dependencies": { "@azure/abort-controller": "^1.0.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, "node_modules/@azure/identity": { @@ -1064,21 +1029,20 @@ } }, "node_modules/@azure/msal-browser": { - "version": "2.38.3", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.3.tgz", - "integrity": "sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==", - "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", + "version": "2.38.2", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.2.tgz", + "integrity": "sha512-71BeIn2we6LIgMplwCSaMq5zAwmalyJR3jFcVOZxNVfQ1saBRwOD+P77nLs5vrRCedVKTq8RMFhIOdpMLNno0A==", "dependencies": { - "@azure/msal-common": "13.3.1" + "@azure/msal-common": "13.3.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", + "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", "engines": { "node": ">=0.8.0" } @@ -1092,12 +1056,11 @@ } }, "node_modules/@azure/msal-node": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", - "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.3.tgz", + "integrity": "sha512-lI1OsxNbS/gxRD4548Wyj22Dk8kS7eGMwD9GlBZvQmFV8FJUXoXySL1BiNzDsHUE96/DS/DHmA+F73p1Dkcktg==", "dependencies": { - "@azure/msal-common": "13.3.1", + "@azure/msal-common": "13.3.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -1106,9 +1069,9 @@ } }, "node_modules/@azure/msal-node/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", + "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", "engines": { "node": ">=0.8.0" } @@ -1126,5360 +1089,3007 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/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, - "engines": { - "node": ">=0.8.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "regenerator-runtime": "^0.14.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", - "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", - "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/core": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", - "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.3", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=6.9.0" + "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "peerDependencies": { + "@csstools/css-tokenizer": "^2.2.1" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@csstools/css-tokenizer": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" } }, - "node_modules/@babel/generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", - "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", "dev": true, - "dependencies": { - "@babel/types": "^7.23.3", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=6.9.0" + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.3.2", + "@csstools/css-tokenizer": "^2.2.1" } }, - "node_modules/@babel/generator/node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "node_modules/@es-joy/jsdoccomment": { + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=16" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], "dev": true, - "bin": { - "semver": "bin/semver.js" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/parser": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", - "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "eslint-visitor-keys": "^3.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "type-fest": "^0.20.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=14" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "hasInstallScript": true, + "engines": { + "node": ">=6" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz", + "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6" } }, - "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "regenerator-runtime": "^0.14.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.3.tgz", + "integrity": "sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA==", "dev": true, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "vue": ">= 3.0.0 < 4" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "optional": true + }, + "node_modules/@grpc/grpc-js": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz", + "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" }, "engines": { - "node": ">=6.9.0" + "node": "^8.13.0 || >=10.10.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", - "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", - "dev": true, + "node_modules/@grpc/proto-loader": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", - "debug": "^4.1.0", - "globals": "^11.1.0" + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@babel/types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", - "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=10.10.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "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==", + "node_modules/@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", "dev": true, - "optional": true, + "dependencies": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + }, "engines": { - "node": ">=0.1.90" + "node": ">= 14" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "node_modules/@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" + "dependencies": { + "@intlify/shared": "9.2.2" }, - "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.1" + "engines": { + "node": ">= 14" } }, - "node_modules/@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "node_modules/@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "dependencies": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + }, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">= 14" } }, - "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "node_modules/@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "node": ">= 14" } }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "node_modules/@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" }, - "peerDependencies": { - "postcss-selector-parser": "^6.0.13" + "engines": { + "node": ">= 14" } }, - "node_modules/@cypress/request": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", - "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", - "dev": true, - "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": "~2.3.2", - "http-signature": "~1.3.6", - "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.10.4", - "safe-buffer": "^5.1.2", - "tough-cookie": "^4.1.3", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" + "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==", + "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": ">= 6" + "node": ">=12" } }, - "node_modules/@cypress/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">= 0.12" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "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, - "dependencies": { - "debug": "^3.1.0", - "lodash.once": "^4.1.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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=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, + "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==" + }, + "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==", "dependencies": { - "ms": "^2.1.1" + "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/@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", - "dev": true, + "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==", "dependencies": { - "comment-parser": "1.4.0", - "esquery": "^1.5.0", - "jsdoc-type-pratt-parser": "~4.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], + "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==", + "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/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@fastify/busboy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", - "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", - "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", - "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz", - "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", - "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/vue-fontawesome": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.5.tgz", - "integrity": "sha512-isZZ4+utQH9qg9cWxWYHQ9GwI3r5FeO7GnmzKYV+gbjxcptQhh+F99iZXi1Y9AvFUEgy8kRpAdvDlbb3drWFrw==", - "dev": true, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "~1 || ~6", - "vue": ">= 3.0.0 < 4" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "optional": true - }, - "node_modules/@grpc/grpc-js": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz", - "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==", - "dependencies": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" - }, - "engines": { - "node": "^8.13.0 || >=10.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", - "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.4", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@intlify/core-base": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", - "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", - "dev": true, - "dependencies": { - "@intlify/devtools-if": "9.2.2", - "@intlify/message-compiler": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/devtools-if": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", - "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", - "dev": true, - "dependencies": { - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/message-compiler": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", - "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", - "dev": true, - "dependencies": { - "@intlify/shared": "9.2.2", - "source-map": "0.6.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/shared": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", - "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/vue-devtools": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", - "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", - "dev": true, - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "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==", - "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.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "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==", - "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==" - }, - "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==", - "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==", - "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==", - "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/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@js-joda/core": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz", - "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==" - }, - "node_modules/@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", - "dev": true - }, - "node_modules/@louislam/ping": { - "version": "0.4.4-mod.1", - "resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.4-mod.1.tgz", - "integrity": "sha512-uMq6qwL9/VYh2YBbDEhM7ZzJ8YON+juw/3k+28P3s9ue3uDMQ56MNPfywXoRpsxkU8RgjN0TDzEhQDzO1WisMw==", - "dependencies": { - "command-exists": "~1.2.9", - "underscore": "~1.13.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@louislam/sqlite3": { - "version": "15.1.6", - "resolved": "https://registry.npmjs.org/@louislam/sqlite3/-/sqlite3-15.1.6.tgz", - "integrity": "sha512-cVf7hcMrfywYnycatLvorngTFpL3BSWvEy7/NrEfcTyQX8xxj9fdeD553oCTv5fIAk85fluo6mzPq89V3YzrVA==", - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "node-addon-api": "^4.2.0", - "tar": "^6.1.11" - }, - "optionalDependencies": { - "node-gyp": "8.x" - }, - "peerDependencies": { - "node-gyp": "8.x" - }, - "peerDependenciesMeta": { - "node-gyp": { - "optional": true - } - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz", - "integrity": "sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - } - }, - "node_modules/@noble/ciphers": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.2.0.tgz", - "integrity": "sha512-6YBxJDAapHSdd3bLDv6x2wRPwq4QFMUaB3HvljNBUTThDd12eSm7/3F+2lnfzx2jvM+S6Nsy0jEt9QbPqSwqRw==", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/curves": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", - "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", - "dependencies": { - "@noble/hashes": "1.3.1" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", - "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "optional": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "optional": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dev": true, - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dev": true, - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", - "dev": true - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.40.0" - }, - "peerDependencies": { - "@octokit/core": ">=2" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" - }, - "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, - "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dev": true, - "dependencies": { - "@octokit/openapi-types": "^12.11.0" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@popperjs/core": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", - "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "node_modules/@redis/bloom": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.1.0.tgz", - "integrity": "sha512-9QovlxmpRtvxVbN0UBcv8WfdSMudNZZTFqCsnBszcQXqaZb/TVe30ScgGEO7u1EAIacTPAo7/oCYjYAxiHLanQ==", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "node_modules/@redis/client": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.4.2.tgz", - "integrity": "sha512-oUdEjE0I7JS5AyaAjkD3aOXn9NhO7XKyPyXEyrgFDu++VrVBHUPnV6dgEya9TcMuj5nIJRuCzCm8ZP+c9zCHPw==", - "dependencies": { - "cluster-key-slot": "1.1.1", - "generic-pool": "3.9.0", - "yallist": "4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@redis/client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@redis/graph": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.1.0.tgz", - "integrity": "sha512-16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "node_modules/@redis/json": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz", - "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "node_modules/@redis/search": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz", - "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "node_modules/@redis/time-series": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.4.tgz", - "integrity": "sha512-ThUIgo2U/g7cCuZavucQTQzA9g9JbDDY2f64u3AbAoz/8vE2lt2U37LamDUVChhaDA3IRT9R6VvJwqnUfTJzng==", - "peerDependencies": { - "@redis/client": "^1.0.0" - } - }, - "node_modules/@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@scure/bip32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", - "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", - "dependencies": { - "@noble/curves": "~1.1.0", - "@noble/hashes": "~1.3.1", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", - "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", - "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@smithy/abort-controller": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.12.tgz", - "integrity": "sha512-YIJyefe1mi3GxKdZxEBEuzYOeQ9xpYfqnFmWzojCssRAuR7ycxwpoRQgp965vuW426xUAQhCV5rCaWElQ7XsaA==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.17.tgz", - "integrity": "sha512-iQ8Q8ojqiPqRKdybDI1g7HvG8EcnekRnH3DYeNTrT26vDuPq2nomyMCc0DZnPW+uAUcLCGZpAmGTAvEOYX55wA==", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.4", - "@smithy/types": "^2.4.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.5", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.0.tgz", - "integrity": "sha512-amqeueHM3i02S6z35WlXp7gejBnRloT5ctR/mQLlg/6LWGd70Avc2epzuuWtCptNg2ak5/yODD1fAVs9NPCyqg==", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.4", - "@smithy/property-provider": "^2.0.13", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.12.tgz", - "integrity": "sha512-ZZQLzHBJkbiAAdj2C5K+lBlYp/XJ+eH2uy+jgJgYIFW/o5AM59Hlj7zyI44/ZTDIQWmBxb3EFv/c5t44V8/g8A==", - "optional": true, - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.4.0", - "@smithy/util-hex-encoding": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.5.tgz", - "integrity": "sha512-m9yoTx+64XRSpCzWArOpvHeAuVfI2LFz2hDzgzjzCLlN8IIwzkFaCav5ShsYxx4iu9sXp09+on0a5VROY9+MFQ==", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^3.0.8", - "@smithy/querystring-builder": "^2.0.12", - "@smithy/types": "^2.4.0", - "@smithy/util-base64": "^2.0.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/hash-node": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.14.tgz", - "integrity": "sha512-eS2Q4IE2AZDfrfpXma49M2H1NVcs7VFg2KZ5hndQZibCmFJehS9CjjwIu0aWC61p4sEB7jWXw70bzOllyQU6GQ==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.12.tgz", - "integrity": "sha512-p5Y+iMHV3SoEpy3VSR7mifbreHQwVSvHSAz/m4GdoXfOzKzaYC8hYv10Ks7Deblkf7lhas8U+lAp9ThbBM+ZXA==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", - "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.14.tgz", - "integrity": "sha512-poUNgKTw9XwPXfX9nEHpVgrMNVpaSMZbshqvPxFVoalF4wp6kRzYKOfdesSVectlQ51VtigoLfbXcdyPwvxgTg==", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^3.0.8", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.5.tgz", - "integrity": "sha512-eRhI0mI9tnkpmLwJbprV+MdlPyOMe8tFtVrNFMUlgOQrJeYv5AD5UFRn/KhgNX1vO1pVgpPtD9R+cRuFhj/lIQ==", - "optional": true, - "dependencies": { - "@smithy/middleware-serde": "^2.0.12", - "@smithy/node-config-provider": "^2.1.4", - "@smithy/shared-ini-file-loader": "^2.2.3", - "@smithy/types": "^2.4.0", - "@smithy/url-parser": "^2.0.12", - "@smithy/util-middleware": "^2.0.5", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.19.tgz", - "integrity": "sha512-VMS1GHxLpRnuLHrPTj/nb9aD99jJsNzWX07F00fIuV9lkz3lWP7RUM7P1aitm0+4YfhShPn+Wri8/CuoqPOziA==", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.4", - "@smithy/protocol-http": "^3.0.8", - "@smithy/service-error-classification": "^2.0.5", - "@smithy/types": "^2.4.0", - "@smithy/util-middleware": "^2.0.5", - "@smithy/util-retry": "^2.0.5", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.12.tgz", - "integrity": "sha512-IBeco157lIScecq2Z+n0gq56i4MTnfKxS7rbfrAORveDJgnbBAaEQgYqMqp/cYqKrpvEXcyTjwKHrBjCCIZh2A==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.6.tgz", - "integrity": "sha512-YSvNZeOKWLJ0M/ycxwDIe2Ztkp6Qixmcml1ggsSv2fdHKGkBPhGrX5tMzPGMI1yyx55UEYBi2OB4s+RriXX48A==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.4.tgz", - "integrity": "sha512-kROLnHFatpimtmZ8YefsRRb5OJ8LVIVNhUWp67KHL4D2Vjd+WpIHMzWtkLLV4p0qXpY+IxmwcL2d2XMPn8ppsQ==", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.13", - "@smithy/shared-ini-file-loader": "^2.2.3", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.8.tgz", - "integrity": "sha512-KZylM7Wff/So5SmCiwg2kQNXJ+RXgz34wkxS7WNwIUXuZrZZpY/jKJCK+ZaGyuESDu3TxcaY+zeYGJmnFKbQsA==", - "optional": true, - "dependencies": { - "@smithy/abort-controller": "^2.0.12", - "@smithy/protocol-http": "^3.0.8", - "@smithy/querystring-builder": "^2.0.12", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.13.tgz", - "integrity": "sha512-VJqUf2CbsQX6uUiC5dUPuoEATuFjkbkW3lJHbRnpk9EDC9X+iKqhfTK+WP+lve5EQ9TcCI1Q6R7hrg41FyC54w==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.8.tgz", - "integrity": "sha512-SHJvYeWq8q0FK8xHk+xjV9dzDUDjFMT+G1pZbV+XB6OVoac/FSVshlMNPeUJ8AmSkcDKHRu5vASnRqZHgD3qhw==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.12.tgz", - "integrity": "sha512-cDbF07IuCjiN8CdGvPzfJjXIrmDSelScRfyJYrYBNBbKl2+k7QD/KqiHhtRyEKgID5mmEVrV6KE6L/iPJ98sFw==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "@smithy/util-uri-escape": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.12.tgz", - "integrity": "sha512-fytyTcXaMzPBuNtPlhj5v6dbl4bJAnwKZFyyItAGt4Tgm9HFPZNo7a9r1SKPr/qdxUEBzvL9Rh+B9SkTX3kFxg==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.5.tgz", - "integrity": "sha512-M0SeJnEgD2ywJyV99Fb1yKFzmxDe9JfpJiYTVSRMyRLc467BPU0qsuuDPzMCdB1mU8M8u1rVOdkqdoyFN8UFTw==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.3.tgz", - "integrity": "sha512-VDyhCNycPbNkPidMnBgYQeSwJkoATRFm5VrveVqIPAjsdGutf7yZpPycuDWW9bRFnuuwaBhCC0pA7KCH0+2wrg==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.14.tgz", - "integrity": "sha512-ZUU8gGlDVFyU3tM9tCEbq2FxHtyfX2qYBUKoIGH23GSxbC4+Ld/HeFL2EZYIFrYwoOuPBO30+g3fAohOP9Ax3Q==", - "optional": true, - "dependencies": { - "@smithy/eventstream-codec": "^2.0.12", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.4.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.5", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "2.1.14", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.14.tgz", - "integrity": "sha512-SMiflchpKadmyvjWPTVwBKjDcEigRHkiUjtzLBlTp9dEp2FmbCjpyc95BNvUdOGOMcPCIkoQQGeabo6avIZNiw==", - "optional": true, - "dependencies": { - "@smithy/middleware-stack": "^2.0.6", - "@smithy/types": "^2.4.0", - "@smithy/util-stream": "^2.0.19", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.4.0.tgz", - "integrity": "sha512-iH1Xz68FWlmBJ9vvYeHifVMWJf82ONx+OybPW8ZGf5wnEv2S0UXcU4zwlwJkRXuLKpcSLHrraHbn2ucdVXLb4g==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.12.tgz", - "integrity": "sha512-qgkW2mZqRvlNUcBkxYB/gYacRaAdck77Dk3/g2iw0S9F0EYthIS3loGfly8AwoWpIvHKhkTsCXXQfzksgZ4zIA==", - "optional": true, - "dependencies": { - "@smithy/querystring-parser": "^2.0.12", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/util-base64": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz", - "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", - "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", - "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", - "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.18.tgz", - "integrity": "sha512-Dok3alNbkKI3MGTiW9zYGY/1gmU0MgrUMk0aRuNOeypY1TuKJ4NuNAbq5dv1GnWvYeFzWk4j0FMIwpJLF8DVmg==", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.13", - "@smithy/smithy-client": "^2.1.14", - "@smithy/types": "^2.4.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.24", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.24.tgz", - "integrity": "sha512-f5wM/SbjvDTCXxk//od43hhnEPItdZB3ByAqbpz5dkum/vLQe2hFRvMNbpt7UA4htQTrbUmLWJatUmvGQEFypg==", - "optional": true, - "dependencies": { - "@smithy/config-resolver": "^2.0.17", - "@smithy/credential-provider-imds": "^2.1.0", - "@smithy/node-config-provider": "^2.1.4", - "@smithy/property-provider": "^2.0.13", - "@smithy/smithy-client": "^2.1.14", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.3.tgz", - "integrity": "sha512-rMYXLMdAMVbJAEHhNlCSJsAxo3NG3lcPja7WmesjAbNrMSyYZ6FnHHTy8kzRhddn4eAtLvPBSO6LiBB21gCoHQ==", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.4", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", - "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.5.tgz", - "integrity": "sha512-1lyT3TcaMJQe+OFfVI+TlomDkPuVzb27NZYdYtmSTltVmLaUjdCyt4KE+OH1CnhZKsz4/cdCL420Lg9UH5Z2Mw==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.5.tgz", - "integrity": "sha512-x3t1+MQAJ6QONk3GTbJNcugCFDVJ+Bkro5YqQQK1EyVesajNDqxFtCx9WdOFNGm/Cbm7tUdwVEmfKQOJoU2Vtw==", - "optional": true, - "dependencies": { - "@smithy/service-error-classification": "^2.0.5", - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.19.tgz", - "integrity": "sha512-2kwTRyOKJcRFeO1LX4Qn1vniEyU1urMG1DfomTpiOLTFS0iV3dsqNvYNltvTbmzZd9u0f15H96l38QP8dsKF1w==", - "optional": true, - "dependencies": { - "@smithy/fetch-http-handler": "^2.2.5", - "@smithy/node-http-handler": "^2.1.8", - "@smithy/types": "^2.4.0", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", - "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-utf8": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz", - "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@tediousjs/connection-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.3.0.tgz", - "integrity": "sha512-d/keJiNKfpHo+GmSB8QcsAwBx8h+V1UbdozA5TD+eSLXprNY53JAYub47J9evsSKWDdNG5uVj0FiMozLKuzowQ==" - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@types/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.4.tgz", - "integrity": "sha512-mLnSC22IC4vcWiuObSRjrLd9XcBTGf59vUSoq2jkQDJ/QQ8PMI9rSuzE+aEV8karUMbskw07bKYoUJCKTUaygg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", - "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", - "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "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==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bootstrap": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.13.tgz", - "integrity": "sha512-1hIIOgfkMlyQCQz/3ae53xr6ZN2d6EDj/n3G+Sh/LBsBUVigyDmnCbLwsaXJJ1GBGlkjgfXVoyIvEPowQw25xQ==", - "dev": true, - "dependencies": { - "@popperjs/core": "^2.9.2" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/content-disposition": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz", - "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==" - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cookies": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.10.tgz", - "integrity": "sha512-hmUCjAk2fwZVPPkkPBcI7jGLIR5mg4OVoNMBwU6aVsMm/iNPY7z9/R+x2fSwLt/ZXoGua6C5Zy2k5xOo9jUyhQ==", - "dependencies": { - "@types/connect": "*", - "@types/express": "*", - "@types/keygrip": "*", - "@types/node": "*" - } - }, - "node_modules/@types/cors": { - "version": "2.8.16", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.16.tgz", - "integrity": "sha512-Trx5or1Nyg1Fq138PCuWqoApzvoSLWzZ25ORBiHMbbUT42g578lH1GT4TwYDbiUOLFuDsCkfLneT2105fsFWGg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/es-aggregate-error": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.5.tgz", - "integrity": "sha512-N2YcF5clfLoFqpSXr50khdH9cItGytbDXti6UMc4948VivZp0g1tiJxes5yqtWO3LWQf/mArYrQFWarUWj8lcQ==", - "dependencies": { - "@types/node": "*" - } - }, - "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==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.41", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", - "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/http-assert": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz", - "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" - }, - "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==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/keygrip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.5.tgz", - "integrity": "sha512-M+BUYYOXgiYoab5L98VpOY1PzmDwWcTkqqu4mdluez5qOTDV0MVPChxhRIPeIFxQgSi3+6qjg1PnGFaGlW373g==" - }, - "node_modules/@types/koa": { - "version": "2.13.11", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.11.tgz", - "integrity": "sha512-0HZSGNdmLlLRvSxv0ngLSp09Hw98c+2XL3ZRYmkE6y8grqTweKEyyaj7LgxkyPUv0gQ5pNS/a7kHXo2Iwha1rA==", - "dependencies": { - "@types/accepts": "*", - "@types/content-disposition": "*", - "@types/cookies": "*", - "@types/http-assert": "*", - "@types/http-errors": "*", - "@types/keygrip": "*", - "@types/koa-compose": "*", - "@types/node": "*" - } - }, - "node_modules/@types/koa-compose": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz", - "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==", - "dependencies": { - "@types/koa": "*" - } - }, - "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==" - }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", - "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.10", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", - "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" - }, - "node_modules/@types/semver": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz", - "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "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 - }, - "node_modules/@types/sizzle": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.6.tgz", - "integrity": "sha512-m04Om5Gz6kbjUwAQ7XJJQ30OdEFsSmAVsvn4NYwcTRyMVpKKa1aPuESw1n2CxS5fYkOQv3nHgDKeNa8e76fUkw==", - "dev": true - }, - "node_modules/@types/ssh2": { - "version": "1.11.16", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.16.tgz", - "integrity": "sha512-Y1WuSL16TSlfsqTVyOkfnUsxHrdZsQQGq0AG6XFqs0hU3jO++cc6PdU+UCyG/0AVg9ez5qRNR8xfkouJv+gdgw==", - "dev": true, - "dependencies": { - "@types/node": "^18.11.18" - } - }, - "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.18.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz", - "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", - "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" - }, - "node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", - "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "node_modules/@js-joda/core": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.5.3.tgz", + "integrity": "sha512-7dqNYwG8gCt4hfg5PKgM7xLEcgSBcx/UgC92OMnhMmvAnq11QzDFPrxUkNR/u5kn17WWLZ8beZ4A3Qrz4pZcmQ==" + }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", "dev": true }, - "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, - "optional": true, + "node_modules/@louislam/ping": { + "version": "0.4.4-mod.1", + "resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.4-mod.1.tgz", + "integrity": "sha512-uMq6qwL9/VYh2YBbDEhM7ZzJ8YON+juw/3k+28P3s9ue3uDMQ56MNPfywXoRpsxkU8RgjN0TDzEhQDzO1WisMw==", "dependencies": { - "@types/node": "*" + "command-exists": "~1.2.9", + "underscore": "~1.13.6" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", - "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==", - "dev": true, + "node_modules/@louislam/sqlite3": { + "version": "15.1.6", + "resolved": "https://registry.npmjs.org/@louislam/sqlite3/-/sqlite3-15.1.6.tgz", + "integrity": "sha512-cVf7hcMrfywYnycatLvorngTFpL3BSWvEy7/NrEfcTyQX8xxj9fdeD553oCTv5fIAk85fluo6mzPq89V3YzrVA==", + "hasInstallScript": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/type-utils": "6.10.0", - "@typescript-eslint/utils": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^4.2.0", + "tar": "^6.1.11" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "optionalDependencies": { + "node-gyp": "8.x" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" + "node-gyp": "8.x" }, "peerDependenciesMeta": { - "typescript": { + "node-gyp": { "optional": true } } }, - "node_modules/@typescript-eslint/parser": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz", - "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==", - "dev": true, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "dependencies": { - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz", - "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==", - "dev": true, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", + "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "optional": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@noble/ciphers": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.2.0.tgz", + "integrity": "sha512-6YBxJDAapHSdd3bLDv6x2wRPwq4QFMUaB3HvljNBUTThDd12eSm7/3F+2lnfzx2jvM+S6Nsy0jEt9QbPqSwqRw==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz", - "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==", - "dev": true, + "node_modules/@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", "dependencies": { - "@typescript-eslint/typescript-estree": "6.10.0", - "@typescript-eslint/utils": "6.10.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@noble/hashes": "1.3.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@typescript-eslint/types": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz", - "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==", - "dev": true, + "node_modules/@noble/hashes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">= 16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz", - "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/visitor-keys": "6.10.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz", - "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.10.0", - "@typescript-eslint/types": "6.10.0", - "@typescript-eslint/typescript-estree": "6.10.0", - "semver": "^7.5.4" - }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">= 8" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz", - "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.10.0", - "eslint-visitor-keys": "^3.4.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 8" } }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", - "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", - "dev": true, - "engines": { - "node": "^14.18.0 || >=16.0.0" + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, - "peerDependencies": { - "vite": "^4.0.0", - "vue": "^3.2.25" + "engines": { + "node": ">=10" } }, - "node_modules/@vue/compiler-core": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", - "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, "dependencies": { - "@babel/parser": "^7.23.0", - "@vue/shared": "3.3.8", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "@octokit/types": "^6.0.3" } }, - "node_modules/@vue/compiler-dom": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", - "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.3.8", - "@vue/shared": "3.3.8" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@vue/compiler-sfc": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", - "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "dependencies": { - "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.8", - "@vue/compiler-dom": "3.3.8", - "@vue/compiler-ssr": "3.3.8", - "@vue/reactivity-transform": "3.3.8", - "@vue/shared": "3.3.8", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.31", - "source-map-js": "^1.0.2" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@vue/compiler-ssr": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", - "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.3.8", - "@vue/shared": "3.3.8" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@vue/devtools-api": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", - "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", "dev": true }, - "node_modules/@vue/reactivity": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", - "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dev": true, "dependencies": { - "@vue/shared": "3.3.8" + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" } }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", - "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "dev": true, "dependencies": { - "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.8", - "@vue/shared": "3.3.8", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.5" + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" } }, - "node_modules/@vue/runtime-core": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", - "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dev": true, "dependencies": { - "@vue/reactivity": "3.3.8", - "@vue/shared": "3.3.8" + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@vue/runtime-dom": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", - "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dev": true, "dependencies": { - "@vue/runtime-core": "3.3.8", - "@vue/shared": "3.3.8", - "csstype": "^3.1.2" + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "node_modules/@vue/server-renderer": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", - "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dev": true, "dependencies": { - "@vue/compiler-ssr": "3.3.8", - "@vue/shared": "3.3.8" - }, - "peerDependencies": { - "vue": "3.3.8" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@vue/shared": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", - "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", - "dev": true + "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==", + "optional": true, + "engines": { + "node": ">=14" + } }, - "node_modules/@vuepic/vue-datepicker": { - "version": "3.4.8", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-3.4.8.tgz", - "integrity": "sha512-nbuMA7IgjtT99LqcjSTSUcl7omTZSB+7vYSWQ9gQm31Frm/1wn54fT1Q0HaRD9nHXX982AACbqeND4K80SKONw==", + "node_modules/@playwright/test": { + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", + "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", "dev": true, "dependencies": { - "date-fns": "^2.29.2" + "playwright": "1.39.0" + }, + "bin": { + "playwright": "cli.js" }, "engines": { - "node": ">=14" + "node": ">=16" + } + }, + "node_modules/@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@redis/bloom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.1.0.tgz", + "integrity": "sha512-9QovlxmpRtvxVbN0UBcv8WfdSMudNZZTFqCsnBszcQXqaZb/TVe30ScgGEO7u1EAIacTPAo7/oCYjYAxiHLanQ==", + "peerDependencies": { + "@redis/client": "^1.0.0" + } + }, + "node_modules/@redis/client": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.4.2.tgz", + "integrity": "sha512-oUdEjE0I7JS5AyaAjkD3aOXn9NhO7XKyPyXEyrgFDu++VrVBHUPnV6dgEya9TcMuj5nIJRuCzCm8ZP+c9zCHPw==", + "dependencies": { + "cluster-key-slot": "1.1.1", + "generic-pool": "3.9.0", + "yallist": "4.0.0" }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@redis/client/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@redis/graph": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.1.0.tgz", + "integrity": "sha512-16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==", + "peerDependencies": { + "@redis/client": "^1.0.0" + } + }, + "node_modules/@redis/json": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz", + "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==", + "peerDependencies": { + "@redis/client": "^1.0.0" + } + }, + "node_modules/@redis/search": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz", + "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==", "peerDependencies": { - "vue": ">=3.2.0" + "@redis/client": "^1.0.0" } }, - "node_modules/abbrev": { + "node_modules/@redis/time-series": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.4.tgz", + "integrity": "sha512-ThUIgo2U/g7cCuZavucQTQzA9g9JbDDY2f64u3AbAoz/8vE2lt2U37LamDUVChhaDA3IRT9R6VvJwqnUfTJzng==", + "peerDependencies": { + "@redis/client": "^1.0.0" + } + }, + "node_modules/@scure/base": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, + "node_modules/@scure/bip32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", "dependencies": { - "event-target-shim": "^5.0.0" + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" }, - "engines": { - "node": ">=6.5" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@scure/bip39": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" }, - "engines": { - "node": ">= 0.6" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true }, - "node_modules/aedes": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/aedes/-/aedes-0.46.3.tgz", - "integrity": "sha512-i3B+H74uNRhlqcs/JdrMp7e3daz4Cwls0x4yLcfjGXz2tIwnxhF6od4m86O6yyNdz/Gg3jfY3q0sc/Cz8qzg6g==", - "dev": true, - "dependencies": { - "aedes-packet": "^2.3.1", - "aedes-persistence": "^8.1.3", - "bulk-write-stream": "^2.0.1", - "end-of-stream": "^1.4.4", - "fastfall": "^1.5.1", - "fastparallel": "^2.4.1", - "fastseries": "^2.0.0", - "hyperid": "^3.0.0", - "mqemitter": "^4.5.0", - "mqtt-packet": "^7.1.2", - "readable-stream": "^3.6.0", - "retimer": "^3.0.0", - "reusify": "^1.0.4", - "uuid": "^8.3.2" - }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "engines": { - "node": ">=12" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/aedes-packet": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/aedes-packet/-/aedes-packet-2.3.1.tgz", - "integrity": "sha512-LqBd57uc2rui2RbjycW17dylglejG26mM4ewVXGNDnVp/SUHFVEgm7d1HTmYrnSkSCNoHti042qgcTwv/F+BtQ==", - "dev": true, + "node_modules/@smithy/abort-controller": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.11.tgz", + "integrity": "sha512-MSzE1qR2JNyb7ot3blIOT3O3H0Jn06iNDEgHRaqZUwBgx5EG+VIx24Y21tlKofzYryIOcWpIohLrIIyocD6LMA==", + "optional": true, "dependencies": { - "mqtt-packet": "^6.3.0" + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/aedes-packet/node_modules/mqtt-packet": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", - "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", - "dev": true, + "node_modules/@smithy/config-resolver": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.14.tgz", + "integrity": "sha512-K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg==", + "optional": true, "dependencies": { - "bl": "^4.0.2", - "debug": "^4.1.1", - "process-nextick-args": "^2.0.1" + "@smithy/node-config-provider": "^2.1.1", + "@smithy/types": "^2.3.5", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.4", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/aedes-persistence": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/aedes-persistence/-/aedes-persistence-8.1.3.tgz", - "integrity": "sha512-VMCjEV+2g1TNJb/IlDEUy6SP9crT+QUhe2xc6UjyqrFNBNgTvHmOefXY7FxWrwmR2QA02vwg3+5p/JXkyg/Dkw==", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz", + "integrity": "sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA==", + "optional": true, "dependencies": { - "aedes-packet": "^2.3.1", - "from2": "^2.3.0", - "qlobber": "^5.0.3" + "@smithy/node-config-provider": "^2.1.1", + "@smithy/property-provider": "^2.0.12", + "@smithy/types": "^2.3.5", + "@smithy/url-parser": "^2.0.11", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@smithy/eventstream-codec": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz", + "integrity": "sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA==", + "optional": true, "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.3.5", + "@smithy/util-hex-encoding": "^2.0.0", + "tslib": "^2.5.0" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "node_modules/@smithy/fetch-http-handler": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.2.tgz", + "integrity": "sha512-K7aRtRuaBjzlk+jWWeyfDTLAmRRvmA4fU8eHUXtjsuEDgi3f356ZE32VD2ssxIH13RCLVZbXMt5h7wHzYiSuVA==", "optional": true, "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" + "@smithy/protocol-http": "^3.0.7", + "@smithy/querystring-builder": "^2.0.11", + "@smithy/types": "^2.3.5", + "@smithy/util-base64": "^2.0.0", + "tslib": "^2.5.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==", - "devOptional": true, + "node_modules/@smithy/hash-node": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.11.tgz", + "integrity": "sha512-PbleVugN2tbhl1ZoNWVrZ1oTFFas/Hq+s6zGO8B9bv4w/StTriTKA9W+xZJACOj9X7zwfoTLbscM+avCB1KqOQ==", + "optional": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@smithy/types": "^2.3.5", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "node_modules/@smithy/invalid-dependency": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.11.tgz", + "integrity": "sha512-zazq99ujxYv/NOf9zh7xXbNgzoVLsqE0wle8P/1zU/XdhPi/0zohTPKWUzIxjGdqb5hkkwfBkNkl5H+LE0mvgw==", + "optional": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" } }, - "node_modules/anafanafo": { + "node_modules/@smithy/is-array-buffer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anafanafo/-/anafanafo-2.0.0.tgz", - "integrity": "sha512-Nlfq7NC4AOkTJerWRIZcOAiMNtIDVIGWGvQ98O7Jl6Kr2Dk0dX5u4MqN778kSRTy5KRqchpLdF2RtLFEz9FVkQ==", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", + "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "optional": true, "dependencies": { - "char-width-table-consumer": "^1.0.0" - } - }, - "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, + "tslib": "^2.5.0" + }, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "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, + "node_modules/@smithy/middleware-content-length": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.13.tgz", + "integrity": "sha512-Md2kxWpaec3bXp1oERFPQPBhOXCkGSAF7uc1E+4rkwjgw3/tqAXRtbjbggu67HJdwaif76As8AV6XxbD1HzqTQ==", + "optional": true, "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "@smithy/protocol-http": "^3.0.7", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/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, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "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==", + "node_modules/@smithy/middleware-endpoint": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.11.tgz", + "integrity": "sha512-mCugsvB15up6fqpzUEpMT4CuJmFkEI+KcozA7QMzYguXCaIilyMKsyxgamwmr+o7lo3QdjN0//XLQ9bWFL129g==", + "optional": true, + "dependencies": { + "@smithy/middleware-serde": "^2.0.11", + "@smithy/types": "^2.3.5", + "@smithy/url-parser": "^2.0.11", + "@smithy/util-middleware": "^2.0.4", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@smithy/middleware-retry": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz", + "integrity": "sha512-Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA==", + "optional": true, "dependencies": { - "color-convert": "^2.0.1" + "@smithy/node-config-provider": "^2.1.1", + "@smithy/protocol-http": "^3.0.7", + "@smithy/service-error-classification": "^2.0.4", + "@smithy/types": "^2.3.5", + "@smithy/util-middleware": "^2.0.4", + "@smithy/util-retry": "^2.0.4", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=14.0.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "node_modules/@smithy/middleware-serde": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.11.tgz", + "integrity": "sha512-NuxnjMyf4zQqhwwdh0OTj5RqpnuT6HcH5Xg5GrPijPcKzc2REXVEVK4Yyk8ckj8ez1XSj/bCmJ+oNjmqB02GWA==", + "optional": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "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" - } - ] - }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true, + "node_modules/@smithy/middleware-stack": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.5.tgz", + "integrity": "sha512-bVQU/rZzBY7CbSxIrDTGZYnBWKtIw+PL/cRc9B7etZk1IKSOe0NvKMJyWllfhfhrTeMF6eleCzOihIQympAvPw==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=14" + "node": ">=14.0.0" } }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "node_modules/@smithy/node-config-provider": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz", + "integrity": "sha512-1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA==", + "optional": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@smithy/property-provider": "^2.0.12", + "@smithy/shared-ini-file-loader": "^2.2.0", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "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==", - "dev": true - }, - "node_modules/args-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/args-parser/-/args-parser-1.3.0.tgz", - "integrity": "sha512-If3Zi4BSjlQIJ9fgAhSiKi0oJtgMzSqh0H4wvl7XSeO16FKx7QqaHld8lZeEajPX7y1C5qKKeNgyrfyvmjmjUQ==" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/@smithy/node-http-handler": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.7.tgz", + "integrity": "sha512-PQIKZXlp3awCDn/xNlCSTFE7aYG/5Tx33M05NfQmWYeB5yV1GZZOSz4dXpwiNJYTXb9jPqjl+ueXXkwtEluFFA==", + "optional": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "@smithy/abort-controller": "^2.0.11", + "@smithy/protocol-http": "^3.0.7", + "@smithy/querystring-builder": "^2.0.11", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, + "node_modules/@smithy/property-provider": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.12.tgz", + "integrity": "sha512-Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "node_modules/@smithy/protocol-http": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.7.tgz", + "integrity": "sha512-HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA==", + "optional": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14.0.0" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, + "node_modules/@smithy/querystring-builder": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.11.tgz", + "integrity": "sha512-b4kEbVMxpmfv2VWUITn2otckTi7GlMteZQxi+jlwedoATOGEyrCJPfRcYQJjbCi3fZ2QTfh3PcORvB27+j38Yg==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5", + "@smithy/util-uri-escape": "^2.0.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "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, + "node_modules/@smithy/querystring-parser": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.11.tgz", + "integrity": "sha512-YXe7jhi7s3dQ0Fu9dLoY/gLu6NCyy8tBWJL/v2c9i7/RLpHgKT+uT96/OqZkHizCJ4kr0ZD46tzMjql/o60KLg==", + "optional": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.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, + "node_modules/@smithy/service-error-classification": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.4.tgz", + "integrity": "sha512-77506l12I5gxTZqBkx3Wb0RqMG81bMYLaVQ+EqIWFwQDJRs5UFeXogKxSKojCmz1wLUziHZQXm03MBzPQiumQw==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5" + }, "engines": { - "node": ">=0.8" + "node": ">=14.0.0" } }, - "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, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz", + "integrity": "sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "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, + "node_modules/@smithy/signature-v4": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.11.tgz", + "integrity": "sha512-EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A==", + "optional": true, + "dependencies": { + "@smithy/eventstream-codec": "^2.0.11", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/types": "^2.3.5", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-middleware": "^2.0.4", + "@smithy/util-uri-escape": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=14.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" + "node_modules/@smithy/smithy-client": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.10.tgz", + "integrity": "sha512-2OEmZDiW1Z196QHuQZ5M6cBE8FCSG0H2HADP1G+DY8P3agsvb0YJyfhyKuJbxIQy15tr3eDAK6FOrlbxgKOOew==", + "optional": true, + "dependencies": { + "@smithy/middleware-stack": "^2.0.5", + "@smithy/types": "^2.3.5", + "@smithy/util-stream": "^2.0.15", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/await-lock": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz", - "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==" - }, - "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, + "node_modules/@smithy/types": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.5.tgz", + "integrity": "sha512-ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": "*" + "node": ">=14.0.0" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true + "node_modules/@smithy/url-parser": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.11.tgz", + "integrity": "sha512-h89yXMCCF+S5k9XIoKltMIWTYj+FcEkU/IIFZ6RtE222fskOTL4Iak6ZRG+ehSvZDt8yKEcxqheTDq7JvvtK3g==", + "optional": true, + "dependencies": { + "@smithy/querystring-parser": "^2.0.11", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + } }, - "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", + "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "optional": true, "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/axios-ntlm": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/axios-ntlm/-/axios-ntlm-1.3.0.tgz", - "integrity": "sha512-NPNsIMO1SGX5scs3ZWJqsV7iRLvET+DlRl94aZ7Sx14zA8RTQh9EDxsJmxB9cKjardKfp2Vge444uYYLfvWC0Q==", + "node_modules/@smithy/util-body-length-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", + "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "optional": true, "dependencies": { - "axios": "^0.21.3", - "dev-null": "^0.1.1" + "tslib": "^2.5.0" } }, - "node_modules/axios-ntlm/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "node_modules/@smithy/util-body-length-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", + "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "optional": true, "dependencies": { - "follow-redirects": "^1.14.0" + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", + "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "optional": true, "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "@smithy/is-array-buffer": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=14.0.0" } }, - "node_modules/babel-plugin-add-module-exports": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz", - "integrity": "sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==", - "dev": true - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, + "node_modules/@smithy/util-config-provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", + "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "optional": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.14.tgz", + "integrity": "sha512-NupG7SWUucm3vJrvlpt9jG1XeoPJphjcivgcUUXhDJbUPy4F04LhlTiAhWSzwlCNcF8OJsMvZ/DWbpYD3pselw==", + "optional": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@smithy/property-provider": "^2.0.12", + "@smithy/smithy-client": "^2.1.10", + "@smithy/types": "^2.3.5", + "bowser": "^2.11.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.18.tgz", + "integrity": "sha512-+3jMom/b/Cdp21tDnY4vKu249Al+G/P0HbRbct7/aSZDlROzv1tksaYukon6UUv7uoHn+/McqnsvqZHLlqvQ0g==", + "optional": true, + "dependencies": { + "@smithy/config-resolver": "^2.0.14", + "@smithy/credential-provider-imds": "^2.0.16", + "@smithy/node-config-provider": "^2.1.1", + "@smithy/property-provider": "^2.0.12", + "@smithy/smithy-client": "^2.1.10", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", + "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "optional": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "tslib": "^2.5.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.0.0" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "node_modules/@smithy/util-middleware": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.4.tgz", + "integrity": "sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, + "node_modules/@smithy/util-retry": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.4.tgz", + "integrity": "sha512-b+n1jBBKc77C1E/zfBe1Zo7S9OXGBiGn55N0apfhZHxPUP/fMH5AhFUUcWaJh7NAnah284M5lGkBKuhnr3yK5w==", + "optional": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "@smithy/service-error-classification": "^2.0.4", + "@smithy/types": "^2.3.5", + "tslib": "^2.5.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 14.0.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dev": true, + "node_modules/@smithy/util-stream": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.15.tgz", + "integrity": "sha512-A/hkYJPH2N5MCWYvky4tTpQihpYAEzqnUfxDyG3L/yMndy/2sLvxnyQal9Opuj1e9FiKSTeMyjnU9xxZGs0mRw==", + "optional": true, "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "@smithy/fetch-http-handler": "^2.2.2", + "@smithy/node-http-handler": "^2.1.7", + "@smithy/types": "^2.3.5", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/babel-runtime/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "node_modules/badge-maker": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/badge-maker/-/badge-maker-3.3.1.tgz", - "integrity": "sha512-OO/PS7Zg2E6qaUWzHEHt21Q5VjcFBAJVA8ztgT/fIdSZFBUwoyeo0ZhA6V5tUM8Vcjq8DJl6jfGhpjESssyqMQ==", + "node_modules/@smithy/util-uri-escape": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", + "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "optional": true, "dependencies": { - "anafanafo": "2.0.0", - "css-color-converter": "^2.0.0" - }, - "bin": { - "badge": "lib/badge-cli.js" + "tslib": "^2.5.0" }, "engines": { - "node": ">= 10", - "npm": ">= 5" + "node": ">=14.0.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==" - }, - "node_modules/barse": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/barse/-/barse-0.4.3.tgz", - "integrity": "sha512-UEpvriJqAn8zuVinYICuKoPttZy3XxXEoqX/V2uYAL4zzJRuNzCK3+20nAu3YUIa2U7G53kf90wfBIp9/A+Odw==", + "node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", + "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "optional": true, "dependencies": { - "readable-stream": "~1.0.2" + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/barse/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" }, - "node_modules/barse/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" } }, - "node_modules/barse/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/@tediousjs/connection-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.3.0.tgz", + "integrity": "sha512-d/keJiNKfpHo+GmSB8QcsAwBx8h+V1UbdozA5TD+eSLXprNY53JAYub47J9evsSKWDdNG5uVj0FiMozLKuzowQ==" }, - "node_modules/base64id": { + "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "engines": { - "node": "^4.5.0 || >= 5.9" + "node": ">= 10" } }, - "node_modules/basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "node_modules/@types/accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.8" + "@types/node": "*" } }, - "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==", + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bootstrap": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.13.tgz", + "integrity": "sha512-1hIIOgfkMlyQCQz/3ae53xr6ZN2d6EDj/n3G+Sh/LBsBUVigyDmnCbLwsaXJJ1GBGlkjgfXVoyIvEPowQw25xQ==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "@popperjs/core": "^2.9.2" } }, - "node_modules/bcryptjs": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/binary-search": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", - "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" + "node_modules/@types/content-disposition": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.6.tgz", + "integrity": "sha512-GmShTb4qA9+HMPPaV2+Up8tJafgi38geFi7vL4qAM7k8BwjoelgHZqEUKJZLvughUw22h6vD/wvwN4IUCaWpDA==" }, - "node_modules/bintrees": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", - "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/@types/cookies": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.8.tgz", + "integrity": "sha512-y6KhF1GtsLERUpqOV+qZJrjUGzc0GE6UTa0b5Z/LZ7Nm2mKSdCXmS6Kdnl7fctPNnMSouHjxqEWI12/YqQfk5w==", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "@types/connect": "*", + "@types/express": "*", + "@types/keygrip": "*", + "@types/node": "*" } }, - "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 - }, - "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 - }, - "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "node_modules/@types/cors": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", + "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" + "@types/node": "*" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" + "node_modules/@types/es-aggregate-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.3.tgz", + "integrity": "sha512-GmY61WWXQemfJp+qmMu6RsrNev0eoEWeWtg46w9pdXje23jRJrf7yETbAkl7F+CfQJSKW7w3//sTYtQTt+R5Lg==", + "dependencies": { + "@types/node": "*" } }, - "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==", + "node_modules/@types/express": { + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", + "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", "dependencies": { - "ms": "2.0.0" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "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==" + "node_modules/@types/http-assert": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz", + "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==" }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@types/http-cache-semantics": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz", + "integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==" }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==" }, - "node_modules/bootstrap": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", - "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - }, - "peerDependencies": { - "@popperjs/core": "^2.10.2" - } + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", - "optional": true + "node_modules/@types/keygrip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.3.tgz", + "integrity": "sha512-tfzBBb7OV2PbUfKbG6zRE5UbmtdLVCKT/XT364Z9ny6pXNbd9GnIB6aFYpq2A5lZ6mq9bhXgK6h5MFGNwhMmuQ==" }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@types/koa": { + "version": "2.13.9", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.9.tgz", + "integrity": "sha512-tPX3cN1dGrMn+sjCDEiQqXH2AqlPoPd594S/8zxwUm/ZbPsQXKqHPUypr2gjCPhHUc+nDJLduhh5lXI/1olnGQ==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@types/accepts": "*", + "@types/content-disposition": "*", + "@types/cookies": "*", + "@types/http-assert": "*", + "@types/http-errors": "*", + "@types/keygrip": "*", + "@types/koa-compose": "*", + "@types/node": "*" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "node_modules/@types/koa-compose": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.6.tgz", + "integrity": "sha512-PHiciWxH3NRyAaxUdEDE1NIZNfvhgtPlsdkjRPazHC6weqt90Jr0uLhIQs+SDwC8HQ/jnA7UQP6xOqGFB7ugWw==", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "@types/koa": "*" } }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } + "node_modules/@types/mime": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==" }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, + "node_modules/@types/minimist": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", "dependencies": { - "node-int64": "^0.4.0" + "undici-types": "~5.25.1" } }, - "node_modules/bson": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz", - "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==", + "node_modules/@types/normalize-package-data": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", + "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6.9.0" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/@types/serve-static": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" } }, - "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==", + "node_modules/@types/ssh2": { + "version": "1.11.14", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.14.tgz", + "integrity": "sha512-O/U38mvV4jVVrdtZz8KpmitkmeD/PUDeDNNueQhm34166dmaqb1iZ3sfarSxBArM2/iX4PZVJY3EOta0Zks9hw==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@types/node": "^18.11.18" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "node_modules/@types/ssh2/node_modules/@types/node": { + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", + "dev": true }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "engines": { - "node": ">=4" - } + "node_modules/@types/webidl-conversions": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz", + "integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg==" }, - "node_modules/buildcheck": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", - "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", - "dev": true, - "optional": true, - "engines": { - "node": ">=10.0.0" + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" } }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", + "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/type-utils": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/bulk-write-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz", - "integrity": "sha512-XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==", + "node_modules/@typescript-eslint/parser": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", + "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "optional": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4" }, "engines": { - "node": ">= 10" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", + "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5" }, "engines": { - "node": ">=10" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", + "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", + "dev": true, "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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==", + "node_modules/@typescript-eslint/types": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", + "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", "dev": true, "engines": { - "node": ">=6" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", + "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", + "dev": true, "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@typescript-eslint/utils": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", + "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "semver": "^7.5.4" + }, "engines": { - "node": ">=6" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", + "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.5", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": ">=6" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", "dev": true, "engines": { - "node": ">=10" + "node": "^14.18.0 || >=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" } }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" } }, - "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==", + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@vue/shared": "3.3.4" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" } }, - "node_modules/char-width-table-consumer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/char-width-table-consumer/-/char-width-table-consumer-1.0.0.tgz", - "integrity": "sha512-Fz4UD0LBpxPgL9i29CJ5O4KANwaMnX/OhhbxzvNa332h+9+nRKyeuLw4wA51lt/ex67+/AdsoBQJF3kgX2feYQ==", + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "dev": true, "dependencies": { - "binary-search": "^1.3.5" + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" } }, - "node_modules/chardet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.4.0.tgz", - "integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A==" + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } }, - "node_modules/chart.js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz", - "integrity": "sha512-6YbpQ0nt3NovAgOzbkSSeeAQu/3za1319dPUQTXn9WcOpywM8rGKxJHrhS8V8xEkAlk8YhEfjbuAPfUyp6jIsw==", + "node_modules/@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", "dev": true, "dependencies": { - "@kurkle/color": "^0.3.0" + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" }, - "engines": { - "pnpm": "^7.0.0" + "peerDependencies": { + "vue": "3.3.4" } }, - "node_modules/chartjs-adapter-dayjs-4": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs-4/-/chartjs-adapter-dayjs-4-1.0.4.tgz", - "integrity": "sha512-yy9BAYW4aNzPVrCWZetbILegTRb7HokhgospPoC3b5iZ5qdlqNmXts2KdSp6AqnjkPAp/YWyHDxLvIvwt5x81w==", + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", + "dev": true + }, + "node_modules/@vuepic/vue-datepicker": { + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-3.4.8.tgz", + "integrity": "sha512-nbuMA7IgjtT99LqcjSTSUcl7omTZSB+7vYSWQ9gQm31Frm/1wn54fT1Q0HaRD9nHXX982AACbqeND4K80SKONw==", "dev": true, + "dependencies": { + "date-fns": "^2.29.2" + }, "engines": { - "node": ">=10" + "node": ">=14" }, "peerDependencies": { - "chart.js": ">=4.0.1", - "dayjs": "^1.9.7" + "vue": ">=3.2.0" } }, - "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==", + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.5" } }, - "node_modules/check-password-strength": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/check-password-strength/-/check-password-strength-2.0.7.tgz", - "integrity": "sha512-VyklBkB6dOKnCIh63zdVr7QKVMN9/npwUqNAXxWrz8HabVZH/n/d+lyNm1O/vbXFJlT/Hytb5ouYKYGkoeZirQ==" - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 6" + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/aedes": { + "version": "0.46.3", + "resolved": "https://registry.npmjs.org/aedes/-/aedes-0.46.3.tgz", + "integrity": "sha512-i3B+H74uNRhlqcs/JdrMp7e3daz4Cwls0x4yLcfjGXz2tIwnxhF6od4m86O6yyNdz/Gg3jfY3q0sc/Cz8qzg6g==", + "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" + "aedes-packet": "^2.3.1", + "aedes-persistence": "^8.1.3", + "bulk-write-stream": "^2.0.1", + "end-of-stream": "^1.4.4", + "fastfall": "^1.5.1", + "fastparallel": "^2.4.1", + "fastseries": "^2.0.0", + "hyperid": "^3.0.0", + "mqemitter": "^4.5.0", + "mqtt-packet": "^7.1.2", + "readable-stream": "^3.6.0", + "retimer": "^3.0.0", + "reusify": "^1.0.4", + "uuid": "^8.3.2" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=12" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/aedes-packet": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/aedes-packet/-/aedes-packet-2.3.1.tgz", + "integrity": "sha512-LqBd57uc2rui2RbjycW17dylglejG26mM4ewVXGNDnVp/SUHFVEgm7d1HTmYrnSkSCNoHti042qgcTwv/F+BtQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "mqtt-packet": "^6.3.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" + } + }, + "node_modules/aedes-packet/node_modules/mqtt-packet": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", + "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", + "dev": true, + "dependencies": { + "bl": "^4.0.2", + "debug": "^4.1.1", + "process-nextick-args": "^2.0.1" } }, - "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==", + "node_modules/aedes-persistence": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/aedes-persistence/-/aedes-persistence-8.1.3.tgz", + "integrity": "sha512-VMCjEV+2g1TNJb/IlDEUy6SP9crT+QUhe2xc6UjyqrFNBNgTvHmOefXY7FxWrwmR2QA02vwg3+5p/JXkyg/Dkw==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "aedes-packet": "^2.3.1", + "from2": "^2.3.0", + "qlobber": "^5.0.3" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { "node": ">=10" } }, - "node_modules/chroma-js": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", - "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">=8" + "node": ">= 6.0.0" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "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==", - "devOptional": true, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, "engines": { - "node": ">=6" + "node": ">= 8.0.0" } }, - "node_modules/cli-cursor": { + "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "optional": true, "dependencies": { - "restore-cursor": "^3.1.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "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==", - "dev": true, + "node_modules/anafanafo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anafanafo/-/anafanafo-2.0.0.tgz", + "integrity": "sha512-Nlfq7NC4AOkTJerWRIZcOAiMNtIDVIGWGvQ98O7Jl6Kr2Dk0dX5u4MqN778kSRTy5KRqchpLdF2RtLFEz9FVkQ==", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, + "char-width-table-consumer": "^1.0.0" + } + }, + "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==", "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==", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/cluster-key-slot": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz", - "integrity": "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=14" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dependencies": { - "color-name": "~1.1.4" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "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==", + "dev": true }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "bin": { - "color-support": "bin.js" + "node_modules/args-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/args-parser/-/args-parser-1.3.0.tgz", + "integrity": "sha512-If3Zi4BSjlQIJ9fgAhSiKi0oJtgMzSqh0H4wvl7XSeO16FKx7QqaHld8lZeEajPX7y1C5qKKeNgyrfyvmjmjUQ==" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dependencies": { - "delayed-stream": "~1.0.0" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "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, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/commist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", - "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", "dependencies": { - "leven": "^2.1.0", - "minimist": "^1.1.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/commist/node_modules/leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "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, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + "node_modules/await-lock": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz", + "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==" }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/axios-ntlm": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/axios-ntlm/-/axios-ntlm-1.3.0.tgz", + "integrity": "sha512-NPNsIMO1SGX5scs3ZWJqsV7iRLvET+DlRl94aZ7Sx14zA8RTQh9EDxsJmxB9cKjardKfp2Vge444uYYLfvWC0Q==", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "axios": "^0.21.3", + "dev-null": "^0.1.1" } }, - "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==", + "node_modules/axios-ntlm/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { - "ms": "2.0.0" + "follow-redirects": "^1.14.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==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "node_modules/babel-plugin-add-module-exports": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz", + "integrity": "sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==", + "dev": true }, - "node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "engines": [ - "node >= 6.0" - ], + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "node_modules/concurrently": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz", - "integrity": "sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==", + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/badge-maker": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/badge-maker/-/badge-maker-3.3.1.tgz", + "integrity": "sha512-OO/PS7Zg2E6qaUWzHEHt21Q5VjcFBAJVA8ztgT/fIdSZFBUwoyeo0ZhA6V5tUM8Vcjq8DJl6jfGhpjESssyqMQ==", "dependencies": { - "chalk": "^4.1.0", - "date-fns": "^2.29.1", - "lodash": "^4.17.21", - "rxjs": "^7.0.0", - "shell-quote": "^1.7.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^17.3.1" + "anafanafo": "2.0.0", + "css-color-converter": "^2.0.0" }, "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "badge": "lib/badge-cli.js" }, "engines": { - "node": "^12.20.0 || ^14.13.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + "node": ">= 10", + "npm": ">= 5" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + "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==" }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/barse": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/barse/-/barse-0.4.3.tgz", + "integrity": "sha512-UEpvriJqAn8zuVinYICuKoPttZy3XxXEoqX/V2uYAL4zzJRuNzCK3+20nAu3YUIa2U7G53kf90wfBIp9/A+Odw==", "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" + "readable-stream": "~1.0.2" } }, - "node_modules/content-disposition/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==", + "node_modules/barse/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/barse/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/barse/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "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==", "funding": [ { "type": "github", @@ -6490,527 +4100,406 @@ "url": "https://www.patreon.com/feross" }, { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "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==" + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "engines": { - "node": ">= 0.10" + "node": "^4.5.0 || >= 5.9" } }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "safe-buffer": "5.1.2" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 0.8" } }, - "node_modules/cpu-features": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", - "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", + "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, - "hasInstallScript": true, - "optional": true, "dependencies": { - "buildcheck": "~0.0.6", - "nan": "^2.17.0" - }, - "engines": { - "node": ">=10.0.0" + "tweetnacl": "^0.14.3" } }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/croner": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/croner/-/croner-6.0.7.tgz", - "integrity": "sha512-k3Xx3Rcclfr60Yx4TmvsF3Yscuiql8LSvYLaphTsaq5Hk8La4Z/udmUANMOTKpgGGroI2F6/XOr9cU9OFkYluQ==", - "engines": { - "node": ">=6.0" - } + "node_modules/binary-search": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", + "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" }, - "node_modules/cronstrue": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.24.0.tgz", - "integrity": "sha512-A1of24mAGz+OWrdGsxT9BOnDqn2ba182hie8Jx0UcEC2t+ZKtfAJxaFntKUgR7sIisU297fgHBSlNhMIfvAkSA==", - "dev": true, - "bin": { - "cronstrue": "bin/cli.js" - } + "node_modules/bintrees": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", + "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/css-color-converter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-color-converter/-/css-color-converter-2.0.0.tgz", - "integrity": "sha512-oLIG2soZz3wcC3aAl/7Us5RS8Hvvc6I8G8LniF/qfMmrm7fIKQ8RIDDRZeKyGL2SrWfNqYspuLShbnjBMVWm8g==", - "dependencies": { - "color-convert": "^0.5.2", - "color-name": "^1.1.4", - "css-unit-converter": "^1.1.2" + "node": ">= 0.8" } }, - "node_modules/css-color-converter/node_modules/color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==" - }, - "node_modules/css-functions-list": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", - "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", - "dev": true, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">=12 || >=16" + "node": ">= 0.8" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "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==", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "ms": "2.0.0" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/css-unit-converter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", - "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + "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==" }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/body-parser/node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "engines": { - "node": ">= 6" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "node_modules/cypress": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.5.0.tgz", - "integrity": "sha512-oh6U7h9w8wwHfzNDJQ6wVcAeXu31DlIYlNOBvfd6U4CcB8oe4akawQmH+QJVOMZlM42eBoCne015+svVqdwdRQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@cypress/request": "^3.0.0", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^18.17.5", - "@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.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.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-ci": "^3.0.0", - "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.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" + "node_modules/bootstrap": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", + "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" }, - "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + "peerDependencies": { + "@popperjs/core": "^2.10.2" } }, - "node_modules/cypress/node_modules/@types/node": { - "version": "18.18.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz", - "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==", - "dev": true, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "undici-types": "~5.26.4" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, + "node_modules/bson": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz", + "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==", "dependencies": { - "@babel/runtime": "^7.21.0" + "buffer": "^5.6.0" }, "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "node": ">=6.9.0" } }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "ms": "2.1.2" - }, + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=4" } }, - "node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "node_modules/buildcheck": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "dev": true, + "optional": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.0.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/bulk-write-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz", + "integrity": "sha512-XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "optional": true, "dependencies": { - "mimic-response": "^3.1.0" + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.16" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" @@ -7019,2434 +4508,2501 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" + "node_modules/char-width-table-consumer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/char-width-table-consumer/-/char-width-table-consumer-1.0.0.tgz", + "integrity": "sha512-Fz4UD0LBpxPgL9i29CJ5O4KANwaMnX/OhhbxzvNa332h+9+nRKyeuLw4wA51lt/ex67+/AdsoBQJF3kgX2feYQ==", + "dependencies": { + "binary-search": "^1.3.5" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "engines": { - "node": ">=8" - } + "node_modules/chardet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.4.0.tgz", + "integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A==" }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/chart.js": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz", + "integrity": "sha512-6YbpQ0nt3NovAgOzbkSSeeAQu/3za1319dPUQTXn9WcOpywM8rGKxJHrhS8V8xEkAlk8YhEfjbuAPfUyp6jIsw==", "dev": true, + "dependencies": { + "@kurkle/color": "^0.3.0" + }, "engines": { - "node": ">=8" + "pnpm": "^7.0.0" } }, - "node_modules/dev-null": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz", - "integrity": "sha512-nMNZG0zfMgmdv8S5O0TM5cpwNbGKRGPCxVsr0SmA3NZZy9CYBbuNLL0PD3Acx9e5LIUgwONXtM9kM6RlawPxEQ==" - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/chartjs-adapter-dayjs-4": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs-4/-/chartjs-adapter-dayjs-4-1.0.4.tgz", + "integrity": "sha512-yy9BAYW4aNzPVrCWZetbILegTRb7HokhgospPoC3b5iZ5qdlqNmXts2KdSp6AqnjkPAp/YWyHDxLvIvwt5x81w==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" + "node": ">=10" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "chart.js": ">=4.0.1", + "dayjs": "^1.9.7" } }, - "node_modules/dns2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/dns2/-/dns2-2.0.5.tgz", - "integrity": "sha512-dznYrQU+Txcz++klGLBY9YR3WLOGHTy2vAKAqF+yYw1KaKFm5f5Y4jbbFEvohJf8YtZ0J2SzZlZx2k6LV4zJqQ==", - "dev": true + "node_modules/check-password-strength": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/check-password-strength/-/check-password-strength-2.0.7.tgz", + "integrity": "sha512-VyklBkB6dOKnCIh63zdVr7QKVMN9/npwUqNAXxWrz8HabVZH/n/d+lyNm1O/vbXFJlT/Hytb5ouYKYGkoeZirQ==" }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "dependencies": { - "esutils": "^2.0.2" + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "domhandler": "^5.0.3", + "domutils": "^3.0.1" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/fb55" + "type": "individual", + "url": "https://paulmillr.com/funding/" } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + ], "dependencies": { - "domelementtype": "^2.3.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 4" + "node": ">= 8.10.0" }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/dompurify": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz", - "integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==", - "dev": true - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "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, "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "is-glob": "^4.0.1" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">= 6" } }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "node_modules/chroma-js": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", + "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" + }, + "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==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "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==", "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "node_modules/cluster-key-slot": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz", + "integrity": "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==", + "engines": { + "node": ">=0.10.0" + } }, - "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==", + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "color-name": "1.1.3" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } }, - "node_modules/electron-to-chromium": { - "version": "1.4.581", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.581.tgz", - "integrity": "sha512-6uhqWBIapTJUxgPTCHH9sqdbxIMPt7oXl0VcAL1kOtlU6aECdcMncCrX5Z7sHQ/invtrC9jUQUef7+HhO8vVFw==", + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">= 0.8" } }, - "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==" + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "dev": true + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } }, - "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==", + "node_modules/comment-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 12.0.0" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, + "node_modules/commist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", + "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", "dependencies": { - "iconv-lite": "^0.6.2" + "leven": "^2.1.0", + "minimist": "^1.1.0" } }, - "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==", + "node_modules/commist/node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "once": "^1.4.0" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/engine.io": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", - "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.11.0" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.8.0" } }, - "node_modules/engine.io-client": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", - "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "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==", "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" + "ms": "2.0.0" } }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "node_modules/engine.io-parser": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz", - "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==", + "node_modules/concurrently": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz", + "integrity": "sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.29.1", + "lodash": "^4.17.21", + "rxjs": "^7.0.0", + "shell-quote": "^1.7.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^17.3.1" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, "engines": { - "node": ">=10.0.0" + "node": "^12.20.0 || ^14.13.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "engines": { + "node": ">=8" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" + "node_modules/concurrently/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, + "dependencies": { + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true, + "node_modules/concurrently/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "optional": true + "node_modules/concurrently/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/concurrently/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "engines": { + "node": ">=8" } }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "node_modules/concurrently/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, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/es-aggregate-error": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.11.tgz", - "integrity": "sha512-DCiZiNlMlbvofET/cE55My387NiLvuGToBEZDdK9U2G3svDCjL8WOgO5Il6lO83nQ8qmag/R9nArdpaFQ/m3lA==", + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "define-data-property": "^1.1.0", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "set-function-name": "^2.0.1" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">= 0.4" - }, + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/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" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "dev": true, + "hasInstallScript": true, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "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==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.10" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "node_modules/cpu-features": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "dev": true, "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "node": ">=10.0.0" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/croner": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/croner/-/croner-6.0.7.tgz", + "integrity": "sha512-k3Xx3Rcclfr60Yx4TmvsF3Yscuiql8LSvYLaphTsaq5Hk8La4Z/udmUANMOTKpgGGroI2F6/XOr9cU9OFkYluQ==", "engines": { - "node": ">=6" + "node": ">=6.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "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==", + "node_modules/cronstrue": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.24.0.tgz", + "integrity": "sha512-A1of24mAGz+OWrdGsxT9BOnDqn2ba182hie8Jx0UcEC2t+ZKtfAJxaFntKUgR7sIisU297fgHBSlNhMIfvAkSA==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "cronstrue": "bin/cli.js" } }, - "node_modules/eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.2", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "cross-spawn": "^7.0.1" }, "bin": { - "eslint": "bin/eslint.js" + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-converter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-color-converter/-/css-color-converter-2.0.0.tgz", + "integrity": "sha512-oLIG2soZz3wcC3aAl/7Us5RS8Hvvc6I8G8LniF/qfMmrm7fIKQ8RIDDRZeKyGL2SrWfNqYspuLShbnjBMVWm8g==", + "dependencies": { + "color-convert": "^0.5.2", + "color-name": "^1.1.4", + "css-unit-converter": "^1.1.2" + } + }, + "node_modules/css-color-converter/node_modules/color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==" + }, + "node_modules/css-color-converter/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/css-functions-list": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", + "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/eslint-plugin-jsdoc": { - "version": "46.4.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.6.tgz", - "integrity": "sha512-z4SWYnJfOqftZI+b3RM9AtWL1vF/sLWE/LlO9yOKDof9yN2+n3zOdOJTGX/pRE/xnPsooOLG2Rq6e4d+XW3lNw==", + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.40.1", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=16" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/eslint-plugin-vue": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "dependencies": { - "eslint-utils": "^3.0.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^8.0.1" + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "node": ">=4" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@babel/runtime": "^7.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.11" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "ms": "2.1.2" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "node": ">=6.0" }, - "peerDependencies": { - "eslint": ">=5" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, "engines": { "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.10.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dependencies": { - "estraverse": "^5.2.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/event-to-promise": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.7.0.tgz", - "integrity": "sha512-VOBBfyaADfe378ZzG0tgkzmsvzUyeU5arehrFzNRt5yaASUDshgctTwSrPI17ocAwR3+YftsxRClHF+GBKFByQ==", - "deprecated": "Use promise-toolbox/fromEvent instead" - }, - "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 - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=0.8.x" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", "dev": true, - "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" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "dependencies": { - "pify": "^2.2.0" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/dev-null": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz", + "integrity": "sha512-nMNZG0zfMgmdv8S5O0TM5cpwNbGKRGPCxVsr0SmA3NZZy9CYBbuNLL0PD3Acx9e5LIUgwONXtM9kM6RlawPxEQ==" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "path-type": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "node_modules/dns2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/dns2/-/dns2-2.0.5.tgz", + "integrity": "sha512-dznYrQU+Txcz++klGLBY9YR3WLOGHTy2vAKAqF+yYw1KaKFm5f5Y4jbbFEvohJf8YtZ0J2SzZlZx2k6LV4zJqQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.19.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.2", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.7", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "esutils": "^2.0.2" }, "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express-basic-auth": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.1.tgz", - "integrity": "sha512-L6YQ1wQ/mNjVLAmK3AG1RK6VkokA1BIY6wmiH304Xtt/cLTps40EusZsU1Uop+v9lTDPxdtzbFmdXfFO3KEnwA==", - "dependencies": { - "basic-auth": "^2.0.1" - } - }, - "node_modules/express-static-gzip": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.7.tgz", - "integrity": "sha512-QOCZUC+lhPPCjIJKpQGu1Oa61Axg9Mq09Qvit8Of7kzpMuwDeMSqjjQteQS3OVw/GkENBoSBheuQDWPlngImvw==", - "dependencies": { - "serve-static": "^1.14.1" - } - }, - "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==", - "dependencies": { - "ms": "2.0.0" + "node": ">=6.0.0" } }, - "node_modules/express/node_modules/ms": { + "node_modules/dom-serializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "engines": { - "node": ">=0.6" + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/express/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==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/fb55" } ] }, - "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 - }, - "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, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">= 10.17.0" + "node": ">= 4" }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=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" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/dompurify": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz", + "integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==", "dev": true }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "engines": { - "node": ">=8.6.0" + "node": ">=12" } }, - "node_modules/fast-glob/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, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "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==" + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", "dev": true }, - "node_modules/fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "optional": true, "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "iconv-lite": "^0.6.2" } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" + "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==", + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/fastfall": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/fastfall/-/fastfall-1.5.1.tgz", - "integrity": "sha512-KH6p+Z8AKPXnmA7+Iz2Lh8ARCMr+8WNPVludm1LGkZoD2MjY6LVnRMtTKhkdzI+jr0RzQWXKzKyBJm1zoHEL4Q==", - "dev": true, + "node_modules/engine.io": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "dependencies": { - "reusify": "^1.0.0" + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/fastparallel": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/fastparallel/-/fastparallel-2.4.1.tgz", - "integrity": "sha512-qUmhxPgNHmvRjZKBFUNI0oZuuH9OlSIOXmJ98lhKPxMZZ7zS/Fi0wRHOihDSz0R1YiIOjxzOY4bq65YTcdBi2Q==", - "dev": true, + "node_modules/engine.io-client": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", "dependencies": { - "reusify": "^1.0.4", - "xtend": "^4.0.2" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/fastseries": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fastseries/-/fastseries-2.0.0.tgz", - "integrity": "sha512-XBU9RXeoYc2/VnvMhplAxEmZLfIk7cvTBu+xwoBuTI8pL19E03cmca17QQycKIdxgwCeFA/a4u27gv1h3ya5LQ==", - "dev": true - }, - "node_modules/favico.js": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/favico.js/-/favico.js-0.3.10.tgz", - "integrity": "sha512-S5KvqAOczRjlyjQPPZPSlUEybBkfBgKosY/pzTIxkvKgigB+DkITvIEI70dxQarbv4PZ+UD77QzquCAcU/6LHQ==", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" + "node_modules/engine.io-parser": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz", + "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==", + "engines": { + "node": ">=10.0.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, - "dependencies": { - "pend": "~1.2.0" + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { - "node": ">=8" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/figures/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, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "optional": true, "engines": { - "node": ">=0.8.0" + "node": ">=6" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "optional": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dependencies": { - "to-regex-range": "^5.0.1" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/es-aggregate-error": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.11.tgz", + "integrity": "sha512-DCiZiNlMlbvofET/cE55My387NiLvuGToBEZDdK9U2G3svDCjL8WOgO5Il6lO83nQ8qmag/R9nArdpaFQ/m3lA==", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "define-data-property": "^1.1.0", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "set-function-name": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dependencies": { - "ms": "2.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "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==" - }, - "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, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">=6" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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, + "engines": { + "node": ">=0.8.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/eslint": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", + "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", + "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "@eslint/eslintrc": "^1.2.2", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/eslint" } }, - "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==", + "node_modules/eslint-plugin-jsdoc": { + "version": "46.4.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.6.tgz", + "integrity": "sha512-z4SWYnJfOqftZI+b3RM9AtWL1vF/sLWE/LlO9yOKDof9yN2+n3zOdOJTGX/pRE/xnPsooOLG2Rq6e4d+XW3lNw==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1" + }, "engines": { - "node": ">=14" + "node": ">=16" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "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==", + "node_modules/eslint-plugin-jsdoc/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, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "engines": { - "node": ">= 14.17" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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==", + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/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, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, "dependencies": { - "minipass": "^3.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/gamedig": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.2.0.tgz", - "integrity": "sha512-UwV9gT1PrOTxjwGzj9/i8XJLx9QqmzFtrRJnRLqN7fZWEIRHjbuUpx2b6Y3v/5QyRDFP+vaB3Pm0hw3Xg4RnOQ==", + "node_modules/eslint/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, "dependencies": { - "cheerio": "^1.0.0-rc.10", - "gbxremote": "^0.2.1", - "got": "^12.1.0", - "iconv-lite": "^0.6.3", - "long": "^5.2.0", - "minimist": "^1.2.6", - "punycode": "^2.1.1", - "seek-bzip": "^2.0.0", - "varint": "^6.0.0" + "has-flag": "^4.0.0" }, - "bin": { - "gamedig": "bin/gamedig.js" + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/gbxremote": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.2.1.tgz", - "integrity": "sha512-SMehu6Y6ndq2Qgp9VxAb8Np3f+UUD+RWoW2SAMaxzGS96rWXyr4T1GGkecO0HHtxeH1m7pEh4FJWB8a/6aM2XQ==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, "dependencies": { - "any-promise": "^1.1.0", - "barse": "~0.4.2", - "event-to-promise": "^0.7.0", - "string-to-stream": "^1.0.1", - "xmlrpc": "^1.3.1" + "estraverse": "^5.1.0" }, "engines": { "node": ">=0.10" } }, - "node_modules/generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dependencies": { - "is-property": "^1.0.2" + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "node_modules/generic-pool": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", - "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, "engines": { - "node": ">= 4" + "node": ">=4.0" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=4.0" } }, - "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==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.10.0" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "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, - "dependencies": { - "pump": "^3.0.0" - }, + "node_modules/event-to-promise": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.7.0.tgz", + "integrity": "sha512-VOBBfyaADfe378ZzG0tgkzmsvzUyeU5arehrFzNRt5yaASUDshgctTwSrPI17ocAwR3+YftsxRClHF+GBKFByQ==", + "deprecated": "Use promise-toolbox/fromEvent instead" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.x" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10.0" } }, - "node_modules/getopts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", - "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" - }, - "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, + "node_modules/express-basic-auth": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.1.tgz", + "integrity": "sha512-L6YQ1wQ/mNjVLAmK3AG1RK6VkokA1BIY6wmiH304Xtt/cLTps40EusZsU1Uop+v9lTDPxdtzbFmdXfFO3KEnwA==", "dependencies": { - "async": "^3.2.0" + "basic-auth": "^2.0.1" } }, - "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, + "node_modules/express-static-gzip": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/express-static-gzip/-/express-static-gzip-2.1.7.tgz", + "integrity": "sha512-QOCZUC+lhPPCjIJKpQGu1Oa61Axg9Mq09Qvit8Of7kzpMuwDeMSqjjQteQS3OVw/GkENBoSBheuQDWPlngImvw==", "dependencies": { - "assert-plus": "^1.0.0" + "serve-static": "^1.14.1" } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "ms": "2.0.0" } }, - "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, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.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==" }, - "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, - "dependencies": { - "ini": "2.0.0" - }, + "node_modules/express/node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "engines": { - "node": ">=10" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "node_modules/express/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" + } + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { - "global-prefix": "^3.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=6" + "node": ">=8.6.0" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/fast-glob/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, "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "optional": true, "dependencies": { - "isexe": "^2.0.0" + "strnum": "^1.0.5" }, "bin": { - "which": "bin/which" + "fxparser": "src/cli/cli.js" } }, - "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 4.9.1" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/fastfall": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/fastfall/-/fastfall-1.5.1.tgz", + "integrity": "sha512-KH6p+Z8AKPXnmA7+Iz2Lh8ARCMr+8WNPVludm1LGkZoD2MjY6LVnRMtTKhkdzI+jr0RzQWXKzKyBJm1zoHEL4Q==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "reusify": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/fastparallel": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/fastparallel/-/fastparallel-2.4.1.tgz", + "integrity": "sha512-qUmhxPgNHmvRjZKBFUNI0oZuuH9OlSIOXmJ98lhKPxMZZ7zS/Fi0wRHOihDSz0R1YiIOjxzOY4bq65YTcdBi2Q==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "reusify": "^1.0.4", + "xtend": "^4.0.2" } }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "reusify": "^1.0.4" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "devOptional": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/fastseries": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fastseries/-/fastseries-2.0.0.tgz", + "integrity": "sha512-XBU9RXeoYc2/VnvMhplAxEmZLfIk7cvTBu+xwoBuTI8pL19E03cmca17QQycKIdxgwCeFA/a4u27gv1h3ya5LQ==", "dev": true }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/favico.js": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/favico.js/-/favico.js-0.3.10.tgz", + "integrity": "sha512-S5KvqAOczRjlyjQPPZPSlUEybBkfBgKosY/pzTIxkvKgigB+DkITvIEI70dxQarbv4PZ+UD77QzquCAcU/6LHQ==", + "dev": true }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" + "flat-cache": "^3.0.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dependencies": { - "function-bind": "^1.1.2" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8" } }, - "node_modules/help-me": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", - "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", + "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==", "dependencies": { - "glob": "^7.1.6", - "readable-stream": "^3.6.0" + "ms": "2.0.0" } }, - "node_modules/hoek": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", - "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==", - "deprecated": "This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues." + "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==" }, - "node_modules/hosted-git-info": { + "node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" } }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "node_modules/html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", { - "type": "github", - "url": "https://github.com/sponsors/fb55" + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" } ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-cookie-agent": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-5.0.4.tgz", - "integrity": "sha512-OtvikW69RvfyP6Lsequ0fN5R49S+8QcS9zwd58k6VSr6r57T8G29BkPdyrBcSwLq6ExLs9V+rBlfxu7gDstJag==", - "dependencies": { - "agent-base": "^7.1.0" - }, "engines": { - "node": ">=14.18.0 <15.0.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/3846masa" - }, - "peerDependencies": { - "deasync": "^0.1.26", - "tough-cookie": "^4.0.0", - "undici": "^5.11.0" + "node": ">=4.0" }, "peerDependenciesMeta": { - "deasync": { - "optional": true - }, - "undici": { + "debug": { "optional": true } } }, - "node_modules/http-cookie-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" + "is-callable": "^1.1.3" } }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/http-graceful-shutdown": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.13.tgz", - "integrity": "sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==", - "dependencies": { - "debug": "^4.3.4" - }, + "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==", "engines": { - "node": ">=4.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { "node": ">= 6" } }, - "node_modules/http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" - }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", "engines": { - "node": ">=0.10" + "node": ">= 14.17" } }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">=10.19.0" + "node": ">= 0.6" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">= 6" + "node": ">= 0.6" } }, - "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==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "engines": { - "node": ">=8.12.0" + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "optional": true, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { - "ms": "^2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/hyperid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.1.1.tgz", - "integrity": "sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==", + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "uuid": "^8.3.2", - "uuid-parse": "^1.1.0" + "safe-buffer": "~5.1.0" } }, - "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==", + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, + "node_modules/gamedig": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.3.0.tgz", + "integrity": "sha512-73wQM/mYLh0giljtg9OmF7QySxTGUj52+MxGklm2cveakOuB2zk0cvQl7vIFYcv6uI3HwenjOZKZ5507c/ZyzA==", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "cheerio": "^1.0.0-rc.10", + "gbxremote": "^0.2.1", + "got": "^12.1.0", + "iconv-lite": "^0.6.3", + "long": "^5.2.0", + "minimist": "^1.2.6", + "punycode": "^2.1.1", + "seek-bzip": "^2.0.0", + "varint": "^6.0.0" }, "bin": { - "import-local-fixture": "fixtures/cli.js" + "gamedig": "bin/gamedig.js" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "devOptional": true, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, "engines": { - "node": ">=0.8.19" + "node": ">=10" } }, - "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==", - "devOptional": true, + "node_modules/gbxremote": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/gbxremote/-/gbxremote-0.2.1.tgz", + "integrity": "sha512-SMehu6Y6ndq2Qgp9VxAb8Np3f+UUD+RWoW2SAMaxzGS96rWXyr4T1GGkecO0HHtxeH1m7pEh4FJWB8a/6aM2XQ==", + "dependencies": { + "any-promise": "^1.1.0", + "barse": "~0.4.2", + "event-to-promise": "^0.7.0", + "string-to-stream": "^1.0.1", + "xmlrpc": "^1.3.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "optional": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "is-property": "^1.0.2" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "node_modules/generic-pool": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", + "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", + "engines": { + "node": ">= 4" + } }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, + "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==", "engines": { - "node": ">=10" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "engines": { - "node": ">= 0.10" + "node": ">=8.0.0" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } + "node_modules/get-port-please": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.1.tgz", + "integrity": "sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==", + "dev": true }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "node_modules/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "has-bigints": "^1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "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, "dependencies": { - "binary-extensions": "^2.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "global-prefix": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "dependencies": { - "builtin-modules": "^3.3.0" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "which": "bin/which" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, "engines": { "node": ">= 0.4" }, @@ -9454,121 +7010,158 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "ci-info": "^3.2.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { - "hasown": "^2.0.0" + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, + "node_modules/got/node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "engines": { - "node": ">=8" + "node": ">=14.16" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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==", + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" + "get-intrinsic": "^1.1.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-lambda": { + "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "optional": true + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -9576,21 +7169,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9599,68 +7183,65 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/help-me": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", + "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", + "dependencies": { + "glob": "^7.1.6", + "readable-stream": "^3.6.0" } }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + "node_modules/hoek": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", + "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==", + "deprecated": "This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues." }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true, "engines": { "node": ">=8" @@ -9669,821 +7250,645 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "has-tostringtag": "^1.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-cookie-agent": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-5.0.4.tgz", + "integrity": "sha512-OtvikW69RvfyP6Lsequ0fN5R49S+8QcS9zwd58k6VSr6r57T8G29BkPdyrBcSwLq6ExLs9V+rBlfxu7gDstJag==", + "dependencies": { + "agent-base": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14.18.0 <15.0.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/3846masa" + }, + "peerDependencies": { + "deasync": "^0.1.26", + "tough-cookie": "^4.0.0", + "undici": "^5.11.0" + }, + "peerDependenciesMeta": { + "deasync": { + "optional": true + }, + "undici": { + "optional": true + } } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/http-cookie-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dependencies": { - "has-symbols": "^1.0.2" + "debug": "^4.3.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 14" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dependencies": { - "which-typed-array": "^1.1.11" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "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 - }, - "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, - "engines": { - "node": ">=10" + "node_modules/http-graceful-shutdown": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.13.tgz", + "integrity": "sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==", + "dependencies": { + "debug": "^4.3.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dependencies": { - "call-bind": "^1.0.2" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6" } }, - "node_modules/is-wsl": { + "node_modules/http2-wrapper": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", "dependencies": { - "is-docker": "^2.0.0" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">=10.19.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { - "punycode": "2.x.x" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=4.0.0" + "node": ">= 6" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isomorphic-ws": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", - "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "peerDependencies": { - "ws": "*" + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "optional": true, + "dependencies": { + "ms": "^2.0.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 - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/hyperid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.1.1.tgz", + "integrity": "sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "uuid": "^8.3.2", + "uuid-parse": "^1.1.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", - "dev": true, + "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==", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">= 4" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "semver": "^7.5.3" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "devOptional": true, "engines": { - "node": ">=10" + "node": ">=0.8.19" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, + "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==", + "optional": true, "engines": { "node": ">=8" } }, - "node_modules/istanbul-reports/node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "optional": true }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=14" + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest": { - "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", - "dev": true, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { - "@jest/core": "^29.6.4", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.6.4" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "has-bigints": "^1.0.1" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-changed-files/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": ">=10.17.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" + "has": "^1.0.3" }, - "bin": { - "jest": "bin/jest.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.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==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "optional": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.12.0" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "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, "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "node": ">=8" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" + "which-typed-array": "^1.1.11" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "is-docker": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "punycode": "2.x.x" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "peerDependencies": { + "ws": "*" } }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/joi": { @@ -10498,9 +7903,9 @@ } }, "node_modules/jose": { - "version": "4.15.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz", - "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.2.tgz", + "integrity": "sha512-IY73F228OXRl9ar3jJagh7Vnuhj/GzBunPiZP13K0lOl7Am9SoWW3kEzq3MCllJMTtZqHTiDXQvoRd4U95aU6A==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -10542,12 +7947,6 @@ "resolved": "https://registry.npmjs.org/jsbi/-/jsbi-4.3.0.tgz", "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==" }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, "node_modules/jsdoc-type-pratt-parser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", @@ -10579,12 +7978,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "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 - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -10597,24 +7990,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "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 - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonata": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/jsonata/-/jsonata-2.0.3.tgz", @@ -10656,21 +8031,6 @@ "npm": ">=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" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, "node_modules/just-performance": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/just-performance/-/just-performance-4.3.0.tgz", @@ -10725,15 +8085,6 @@ "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/knex": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", @@ -10806,29 +8157,11 @@ } }, "node_modules/known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", "dev": true }, - "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, - "engines": { - "node": "> 0.8" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -10857,9 +8190,9 @@ "dev": true }, "node_modules/liquidjs": { - "version": "10.9.4", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.9.4.tgz", - "integrity": "sha512-E7SmGMwhv0Pa1Yau6odd2EgNPAmrx1OOjzvpm9AFxBGVtCX2Bx4fOCDtDCML13L7g6zjLPN7Kb/kakyAl2HTPQ==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.9.2.tgz", + "integrity": "sha512-ygPCgYyiFKQNyRi/CK3s3U5RimosBtrIq7TaMYK5ek93mUl9CZ6xxqw2T+1G4kVc9dAmwI71bWLQNKRToV8SsQ==", "dependencies": { "commander": "^10.0.0" }, @@ -10883,33 +8216,6 @@ "node": ">=14" } }, - "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, - "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 - } - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -10984,71 +8290,6 @@ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, - "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, - "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, - "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, - "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" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/long": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", @@ -11066,18 +8307,17 @@ } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", + "engines": { + "node": ">=16.14" } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", + "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -11176,15 +8416,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "optional": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, "node_modules/map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -11288,12 +8519,6 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -11354,15 +8579,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, - "engines": { - "node": ">=6" - } - }, "node_modules/mimic-response": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", @@ -11714,9 +8930,9 @@ } }, "node_modules/mysql2": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.3.tgz", - "integrity": "sha512-qYd/1CDuW1KYZjD4tzg2O8YS3X/UWuGH8ZMHyMeggMTXL3yOdMisbwZ5SNkHzDGlZXKYLAvV8tMrEH+NUMz3fw==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.5.tgz", + "integrity": "sha512-pS/KqIb0xlXmtmqEuTvBXTmLoQ5LmAz5NW/r8UyQ1ldvnprNEj3P9GbmuQQ2J0A4LO+ynotGi6TbscPa8OUb+w==", "dependencies": { "denque": "^2.1.0", "generate-function": "^2.3.1", @@ -11731,14 +8947,6 @@ "node": ">= 8.0" } }, - "node_modules/mysql2/node_modules/lru-cache": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", - "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", - "engines": { - "node": ">=16.14" - } - }, "node_modules/named-placeholders": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", @@ -11766,9 +8974,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", @@ -11928,12 +9136,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, "node_modules/node-radius-client": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-radius-client/-/node-radius-client-1.0.0.tgz", @@ -11949,12 +9151,6 @@ "resolved": "https://registry.npmjs.org/node-radius-utils/-/node-radius-utils-1.2.0.tgz", "integrity": "sha512-i3Sf6khnenl0aXumo0whAlfPWTaBqHxEnVBBxpu3dZ7q69NkPPv71rvPjlDZ5wkeKCTNNUTECljerS5kcYQxRw==" }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "node_modules/node-ssh": { "version": "13.1.0", "resolved": "https://registry.npmjs.org/node-ssh/-/node-ssh-13.1.0.tgz", @@ -12031,11 +9227,11 @@ } }, "node_modules/nostr-tools": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.17.0.tgz", - "integrity": "sha512-LZmR8GEWKZeElbFV5Xte75dOeE9EFUW/QLI1Ncn3JKn0kFddDKEfBbFN8Mu4TMs+L4HR/WTPha2l+PPuRnJcMw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.16.0.tgz", + "integrity": "sha512-sx/aOl0gmkeHVoIVbyOhEQhzF88NsrBXMC8bsjhPASqA6oZ8uSOAyEGgRLMfC3SKgzQD5Gr6KvDoAahaD6xKcg==", "dependencies": { - "@noble/ciphers": "0.2.0", + "@noble/ciphers": "^0.2.0", "@noble/curves": "1.1.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", @@ -12059,18 +9255,6 @@ "node": "> v0.6.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, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npmlog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", @@ -12119,9 +9303,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12186,21 +9370,6 @@ "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, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", @@ -12218,9 +9387,9 @@ } }, "node_modules/openid-client": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.1.tgz", - "integrity": "sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.0.tgz", + "integrity": "sha512-uFTkN/iqgKvSnmpVAS/T6SNThukRMBcmymTQ71Ngus1F60tdtKVap7zCrleocY+fogPtpmoxi5Q1YdrgYuTlkA==", "dependencies": { "jose": "^4.15.1", "lru-cache": "^6.0.0", @@ -12264,12 +9433,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, "node_modules/p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", @@ -12324,7 +9487,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "devOptional": true, + "optional": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -12467,12 +9630,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.2.tgz", - "integrity": "sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==", - "dependencies": { - "semver": "^7.3.5" - }, + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { "node": "14 || >=16.14" } @@ -12499,18 +9659,6 @@ "node": ">=8" } }, - "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 - }, - "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 - }, "node_modules/pg": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", @@ -12620,48 +9768,36 @@ "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, + "node_modules/pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", "engines": { - "node": ">= 6" + "node": ">= 0.4.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==", + "node_modules/playwright": { + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", + "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "playwright-core": "1.39.0" + }, + "bin": { + "playwright": "cli.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", - "engines": { - "node": ">= 0.4.0" + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz", - "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==", + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", + "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", "bin": { "playwright-core": "cli.js" }, @@ -12669,6 +9805,20 @@ "node": ">=16" } }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -12853,44 +10003,6 @@ "node": ">= 0.8.0" } }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", @@ -12973,20 +10085,7 @@ "resolved": "https://registry.npmjs.org/promisify-child-process/-/promisify-child-process-4.1.2.tgz", "integrity": "sha512-APnkIgmaHNJpkAn7k+CrJSi9WMuff5ctYFbD0CO2XIPkM8yO7d/ShouU2clywbpHV/DUsyc4bpJCsNgddNtx4g==", "engines": { - "node": ">=8" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" + "node": ">=8" } }, "node_modules/protobufjs": { @@ -13025,9 +10124,9 @@ } }, "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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, "node_modules/psl": { @@ -13045,29 +10144,13 @@ } }, "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { "node": ">=6" } }, - "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, "node_modules/qlobber": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/qlobber/-/qlobber-5.0.3.tgz", @@ -13095,6 +10178,21 @@ "node": ">=10.13.0" } }, + "node_modules/qrcode/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/qrcode/node_modules/cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -13106,6 +10204,24 @@ "wrap-ansi": "^6.2.0" } }, + "node_modules/qrcode/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/qrcode/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/qrcode/node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -13269,12 +10385,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/read-pkg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", @@ -13417,9 +10527,9 @@ } }, "node_modules/redbean-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.3.2.tgz", - "integrity": "sha512-39VMxPWPpPicRlU4FSJJnJuUMoxw5/4envFthHtKnLe+3qWTBje3RMrJTFZcQGLruWQ/s2LgeYzdd+d0O+p+uQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.3.1.tgz", + "integrity": "sha512-rz71vF7UtJQ14ttZ9I0QuaJ9TOwBCnZb+qHUBiU05f2fLaiQC79liisL3xgkHI8uE9et6HAkG8Z8VPkZbhgxKw==", "dependencies": { "@types/node": "~20.3.1", "await-lock": "~2.2.2", @@ -13636,15 +10746,6 @@ "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==" }, - "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, - "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", @@ -13674,9 +10775,9 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -13694,27 +10795,6 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -13724,15 +10804,6 @@ "node": ">=4" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -13747,19 +10818,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/retimer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", @@ -14136,20 +11194,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/set-function-name": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", @@ -14220,12 +11264,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -14235,20 +11273,6 @@ "node": ">=8" } }, - "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, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -14378,16 +11402,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -14474,31 +11488,6 @@ "nan": "^2.17.0" } }, - "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, - "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/ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -14511,27 +11500,6 @@ "node": ">= 8" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -14581,19 +11549,6 @@ } ] }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/string-to-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", @@ -14739,24 +11694,6 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", @@ -14797,9 +11734,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "15.11.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", - "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", "dev": true, "dependencies": { "@csstools/css-parser-algorithms": "^2.3.1", @@ -14809,12 +11746,12 @@ "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.1", + "css-functions-list": "^3.2.0", "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^7.0.0", + "file-entry-cache": "^6.0.1", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", @@ -14823,13 +11760,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.29.0", + "known-css-properties": "^0.28.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.28", + "postcss": "^8.4.27", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -14881,18 +11818,6 @@ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true }, - "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.1.tgz", - "integrity": "sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==", - "dev": true, - "dependencies": { - "flat-cache": "^3.1.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -14928,18 +11853,15 @@ } }, "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": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=4" } }, "node_modules/supports-hyperlinks": { @@ -14955,6 +11877,15 @@ "node": ">=14.18" } }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15016,6 +11947,39 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/table/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/table/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/table/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -15196,20 +12160,6 @@ "test": "bin/node-core-test.js" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/test/node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -15264,18 +12214,6 @@ "node": ">=0.2.6" } }, - "node_modules/throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", - "dev": true - }, - "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 - }, "node_modules/tildify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", @@ -15284,38 +12222,11 @@ "node": ">=8" } }, - "node_modules/timezones-list": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/timezones-list/-/timezones-list-3.0.2.tgz", - "integrity": "sha512-I698hm6Jp/xxkwyTSOr39pZkYKETL8LDJeSIhjxXBfPUAHM5oZNuQ4o9UK3PSkDBOkjATecSOBb3pR1IkIBUsg==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/timezones-list": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/timezones-list/-/timezones-list-3.0.2.tgz", + "integrity": "sha512-I698hm6Jp/xxkwyTSOr39pZkYKETL8LDJeSIhjxXBfPUAHM5oZNuQ4o9UK3PSkDBOkjATecSOBb3pR1IkIBUsg==", + "dev": true }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -15427,18 +12338,6 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.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, - "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", @@ -15457,27 +12356,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "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", @@ -15589,9 +12467,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/undici": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", - "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", + "version": "5.25.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.25.4.tgz", + "integrity": "sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -15601,9 +12479,9 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" }, "node_modules/unique-filename": { "version": "1.1.1", @@ -15624,15 +12502,15 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", "dev": true }, "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { "node": ">= 10.0.0" @@ -15646,45 +12524,6 @@ "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -15747,20 +12586,6 @@ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", "dev": true }, - "node_modules/v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -15784,20 +12609,6 @@ "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" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vite": { "version": "4.4.11", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", @@ -15867,6 +12678,55 @@ "vite": ">=2.0.0" } }, + "node_modules/vite-plugin-compression/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vite-plugin-compression/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vite-plugin-compression/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vite-plugin-compression/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/vite-plugin-compression/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -15881,25 +12741,38 @@ "node": ">=12" } }, - "node_modules/vue": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", - "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "node_modules/vite-plugin-compression/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-compression/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, "dependencies": { - "@vue/compiler-dom": "3.3.8", - "@vue/compiler-sfc": "3.3.8", - "@vue/runtime-dom": "3.3.8", - "@vue/server-renderer": "3.3.8", - "@vue/shared": "3.3.8" - }, - "peerDependencies": { - "typescript": "*" + "has-flag": "^4.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=8" + } + }, + "node_modules/vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" } }, "node_modules/vue-chartjs": { @@ -15980,6 +12853,43 @@ "eslint": ">=6.0.0" } }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/vue-i18n": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", @@ -16008,9 +12918,9 @@ } }, "node_modules/vue-multiselect": { - "version": "3.0.0-beta.3", - "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.3.tgz", - "integrity": "sha512-P7Fx+ovVF7WMERSZ0lw6N3p4H4bnQ3NcaY3ORjzFPv0r/6lpIqvFWmK9Xnwze9mgAvmNV1foI1VWrBmjnfBTLQ==", + "version": "3.0.0-beta.2", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.2.tgz", + "integrity": "sha512-TFVHtI/KdWoD3Opzbkso8OIqkZlZEqFF7f2jlYx1ttgC4Jv/48IGlU5zn6cBR4p2bFDFGCHF5SkLCaadLhnBPQ==", "dev": true, "engines": { "node": ">= 4.0.0", @@ -16128,21 +13038,6 @@ "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/wait-on/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -16200,12 +13095,12 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "call-bind": "^1.0.2", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -16258,24 +13153,71 @@ "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==" + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "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==" + }, "node_modules/ws": { "version": "8.14.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", @@ -16341,12 +13283,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -16381,16 +13317,6 @@ "node": ">=12" } }, - "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, - "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", diff --git a/package.json b/package.json index b73b015f..40337d1b 100644 --- a/package.json +++ b/package.json @@ -25,12 +25,15 @@ "start-server-dev": "cross-env NODE_ENV=development node server/server.js", "start-server-dev:watch": "cross-env NODE_ENV=development node --watch server/server.js", "build": "vite build --config ./config/vite.config.js", - "test": "node test/prepare-test-server.js && npm run test-backend", + "test": "npm run test-backend && npm run test-e2e", "test-with-build": "npm run build && npm test", - "test-backend": "node test/backend-test-entry.js && npm run jest-backend", + "test-backend": "node test/backend-test-entry.js", "test-backend:14": "cross-env TEST_BACKEND=1 NODE_OPTIONS=\"--experimental-abortcontroller --no-warnings\" node--test test/backend-test", "test-backend:18": "cross-env TEST_BACKEND=1 node --test test/backend-test", - "jest-backend": "cross-env TEST_BACKEND=1 jest --runInBand --detectOpenHandles --forceExit --config=./config/jest-backend.config.js", + "test-e2e": "playwright test --config ./config/playwright.config.js", + "test-e2e-ui": "playwright test --config ./config/playwright.config.js --ui --ui-port=51063", + "playwright-codegen": "playwright codegen localhost:3000 --save-storage=./private/e2e-auth.json", + "playwright-show-report": "playwright show-report ./private/playwright-report", "tsc": "tsc", "vite-preview-dist": "vite preview --host --config ./config/vite.config.js", "build-docker": "npm run build && npm run build-docker-full && npm run build-docker-slim", @@ -62,10 +65,6 @@ "git-remove-tag": "git tag -d", "build-dist-and-restart": "npm run build && npm run start-server-dev", "start-pr-test": "node extra/checkout-pr.js && npm install && npm run dev", - "cy:test": "node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/ --e2e", - "cy:run": "npx cypress run --browser chrome --headless --config-file ./config/cypress.config.js", - "cy:run:unit": "npx cypress run --browser chrome --headless --config-file ./config/cypress.frontend.config.js", - "cypress-open": "concurrently -k -r \"node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/\" \"cypress open --config-file ./config/cypress.config.js\"", "build-healthcheck-armv7": "cross-env GOOS=linux GOARCH=arm GOARM=7 go build -x -o ./extra/healthcheck-armv7 ./extra/healthcheck.go", "deploy-demo-server": "node extra/deploy-demo-server.js", "sort-contributors": "node extra/sort-contributors.js", @@ -98,8 +97,8 @@ "express-static-gzip": "~2.1.7", "form-data": "~4.0.0", "gamedig": "^4.2.0", - "http-cookie-agent": "~5.0.4", "html-escaper": "^3.0.3", + "http-cookie-agent": "~5.0.4", "http-graceful-shutdown": "~3.1.7", "http-proxy-agent": "~5.0.0", "https-proxy-agent": "~5.0.1", @@ -128,7 +127,7 @@ "password-hash": "~1.2.2", "pg": "~8.11.3", "pg-connection-string": "~2.6.2", - "playwright-core": "~1.35.1", + "playwright-core": "~1.39.0", "prom-client": "~13.2.0", "prometheus-api-metrics": "~3.2.1", "promisify-child-process": "~4.1.2", @@ -152,8 +151,10 @@ "@fortawesome/free-regular-svg-icons": "~5.15.4", "@fortawesome/free-solid-svg-icons": "~5.15.4", "@fortawesome/vue-fontawesome": "~3.0.0-5", + "@playwright/test": "~1.39.0", "@popperjs/core": "~2.10.2", "@types/bootstrap": "~5.1.9", + "@types/node": "^20.8.6", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", "@vitejs/plugin-vue": "~4.2.3", @@ -167,7 +168,6 @@ "core-js": "~3.26.1", "cronstrue": "~2.24.0", "cross-env": "~7.0.3", - "cypress": "^13.2.0", "delay": "^5.0.0", "dns2": "~2.0.1", "dompurify": "~2.4.3", @@ -175,7 +175,7 @@ "eslint-plugin-jsdoc": "~46.4.6", "eslint-plugin-vue": "~8.7.1", "favico.js": "~0.3.10", - "jest": "~29.6.1", + "get-port-please": "^3.1.1", "marked": "~4.2.5", "node-ssh": "~13.1.0", "postcss-html": "~1.5.0", diff --git a/server/server.js b/server/server.js index fdb3242e..0dad1370 100644 --- a/server/server.js +++ b/server/server.js @@ -90,7 +90,7 @@ const Monitor = require("./model/monitor"); const User = require("./model/user"); log.debug("server", "Importing Settings"); -const { getSettings, setSettings, setting, initJWTSecret, checkLogin, doubleCheckPassword, startE2eTests, shake256, SHAKE256_LENGTH, allowDevAllOrigin, +const { getSettings, setSettings, setting, initJWTSecret, checkLogin, doubleCheckPassword, shake256, SHAKE256_LENGTH, allowDevAllOrigin, } = require("./util-server"); log.debug("server", "Importing Notification"); @@ -130,7 +130,6 @@ const twoFAVerifyOptions = { * @type {boolean} */ const testMode = !!args["test"] || false; -const e2eTestMode = !!args["e2e"] || false; // Must be after io instantiation const { sendNotificationList, sendHeartbeatList, sendInfo, sendProxyList, sendDockerHostList, sendAPIKeyList, sendRemoteBrowserList } = require("./client"); @@ -1550,10 +1549,6 @@ let needSetup = false; } startMonitors(); checkVersion.startInterval(); - - if (e2eTestMode) { - startE2eTests(); - } }); await initBackgroundJobs(); diff --git a/server/util-server.js b/server/util-server.js index 5f8c063b..754626ea 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -4,7 +4,6 @@ const { R } = require("redbean-node"); const { log, genSecret, badgeConstants } = require("../src/util"); const passwordHash = require("./password-hash"); const { Resolver } = require("dns"); -const childProcess = require("child_process"); const iconv = require("iconv-lite"); const chardet = require("chardet"); const chroma = require("chroma-js"); @@ -797,29 +796,6 @@ exports.doubleCheckPassword = async (socket, currentPassword) => { return user; }; -/** - * Start end-to-end tests - * @returns {void} - */ -exports.startE2eTests = async () => { - console.log("Starting unit test..."); - const npm = /^win/.test(process.platform) ? "npm.cmd" : "npm"; - const child = childProcess.spawn(npm, [ "run", "cy:run" ]); - - child.stdout.on("data", (data) => { - console.log(data.toString()); - }); - - child.stderr.on("data", (data) => { - console.log(data.toString()); - }); - - child.on("close", function (code) { - console.log("Jest exit code: " + code); - process.exit(code); - }); -}; - /** * Convert unknown string to UTF8 * @param {Uint8Array} body Buffer diff --git a/test/backend.spec.js b/test/backend.spec.js deleted file mode 100644 index 2f9c2fb4..00000000 --- a/test/backend.spec.js +++ /dev/null @@ -1,323 +0,0 @@ -// ⚠️⚠️⚠️ Deprecated: Jest is not recommended for testing backend code anymore, please create a new test file in ./test/backend-test which are native Node.js test files. - -const { genSecret, DOWN, log} = require("../src/util"); -const utilServer = require("../server/util-server"); -const Discord = require("../server/notification-providers/discord"); -const axios = require("axios"); -const { UptimeKumaServer } = require("../server/uptime-kuma-server"); -const Database = require("../server/database"); -const {Settings} = require("../server/settings"); -const fs = require("fs"); -const dayjs = require("dayjs"); -dayjs.extend(require("dayjs/plugin/utc")); -dayjs.extend(require("dayjs/plugin/timezone")); - -jest.mock("axios"); - -describe("Test parseCertificateInfo", () => { - it("should handle undefined", async () => { - const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo"); - const info = parseCertificateInfo(undefined); - expect(info).toEqual(undefined); - }, 5000); - - it("should handle normal cert chain", async () => { - const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo"); - - const chain1 = { - fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain2 = { - fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain3 = { - fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - chain1.issuerCertificate = chain2; - chain2.issuerCertificate = chain3; - chain3.issuerCertificate = chain3; - - const info = parseCertificateInfo(chain1); - expect(chain1).toEqual(info); - }, 5000); - - it("should handle cert chain with strange circle", async () => { - const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo"); - - const chain1 = { - fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain2 = { - fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain3 = { - fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain4 = { - fingerprint: "haha", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - chain1.issuerCertificate = chain2; - chain2.issuerCertificate = chain3; - chain3.issuerCertificate = chain4; - chain4.issuerCertificate = chain2; - - const info = parseCertificateInfo(chain1); - expect(chain1).toEqual(info); - }, 5000); - - it("should handle cert chain with last undefined (should be happen in real, but just in case)", async () => { - const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo"); - - const chain1 = { - fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain2 = { - fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain3 = { - fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - const chain4 = { - fingerprint: "haha", - valid_from: "Oct 22 12:00:00 2013 GMT", - valid_to: "Oct 22 12:00:00 2028 GMT", - subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net", - }; - - chain1.issuerCertificate = chain2; - chain2.issuerCertificate = chain3; - chain3.issuerCertificate = chain4; - chain4.issuerCertificate = undefined; - - const info = parseCertificateInfo(chain1); - expect(chain1).toEqual(info); - }, 5000); -}); - -describe("Test genSecret", () => { - - beforeAll(() => { - - }); - - it("should be correct length", () => { - let secret = genSecret(-1); - expect(secret).toEqual(""); - - secret = genSecret(0); - expect(secret).toEqual(""); - - secret = genSecret(1); - expect(secret.length).toEqual(1); - - secret = genSecret(2); - expect(secret.length).toEqual(2); - - secret = genSecret(64); - expect(secret.length).toEqual(64); - - secret = genSecret(9000); - expect(secret.length).toEqual(9000); - - secret = genSecret(90000); - expect(secret.length).toEqual(90000); - }); - - it("should contain first and last possible chars", () => { - let secret = genSecret(90000); - expect(secret).toContain("A"); - expect(secret).toContain("9"); - }); -}); - -describe("Test reset-password", () => { - it("should able to run", async () => { - await require("../extra/reset-password").main(); - }, 120000); -}); - -describe("Test Discord Notification Provider", () => { - const hostname = "discord.com"; - const port = 1337; - - const sendNotification = async (hostname, port, type) => { - const discordProvider = new Discord(); - - axios.post.mockResolvedValue({}); - - await discordProvider.send( - { - discordUsername: "Uptime Kuma", - discordWebhookUrl: "https://discord.com", - }, - "test message", - { - type, - hostname, - port, - }, - { - status: DOWN, - } - ); - }; - - it("should send hostname for ping monitors", async () => { - await sendNotification(hostname, null, "ping"); - expect(axios.post.mock.lastCall[1].embeds[0].fields[1].value).toBe(hostname); - }); - - it.each([ "dns", "port", "steam" ])("should send hostname for %p monitors", async (type) => { - await sendNotification(hostname, port, type); - expect(axios.post.mock.lastCall[1].embeds[0].fields[1].value).toBe(`${hostname}:${port}`); - }); -}); - -describe("The function filterAndJoin", () => { - it("should join and array of strings to one string", () => { - const result = utilServer.filterAndJoin([ "one", "two", "three" ]); - expect(result).toBe("onetwothree"); - }); - - it("should join strings using a given connector", () => { - const result = utilServer.filterAndJoin([ "one", "two", "three" ], "-"); - expect(result).toBe("one-two-three"); - }); - - it("should filter null, undefined and empty strings before joining", () => { - const result = utilServer.filterAndJoin([ undefined, "", "three" ], "--"); - expect(result).toBe("three"); - }); - - it("should return an empty string if all parts are filtered out", () => { - const result = utilServer.filterAndJoin([ undefined, "", "" ], "--"); - expect(result).toBe(""); - }); -}); - -describe("Test uptimeKumaServer.getClientIP()", () => { - it("should able to get a correct client IP", async () => { - Database.initDataDir({ - "data-dir": "./data/test" - }); - - if (! fs.existsSync(Database.sqlitePath)) { - log.info("server", "Copying Database"); - fs.copyFileSync(Database.templatePath, Database.sqlitePath); - } - - await Database.connect(true); - await Database.patch(); - - const fakeSocket = { - client: { - conn: { - remoteAddress: "192.168.10.10", - request: { - headers: { - } - } - } - } - } - const server = Object.create(UptimeKumaServer.prototype); - let ip = await server.getClientIP(fakeSocket); - - await Settings.set("trustProxy", false); - expect(await Settings.get("trustProxy")).toBe(false); - expect(ip).toBe("192.168.10.10"); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "10.10.10.10"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("192.168.10.10"); - - fakeSocket.client.conn.request.headers["x-real-ip"] = "20.20.20.20"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("192.168.10.10"); - - await Settings.set("trustProxy", true); - expect(await Settings.get("trustProxy")).toBe(true); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "10.10.10.10"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("10.10.10.10"); - - // x-real-ip - delete fakeSocket.client.conn.request.headers["x-forwarded-for"]; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("20.20.20.20"); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "2001:db8:85a3:8d3:1319:8a2e:370:7348"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("2001:db8:85a3:8d3:1319:8a2e:370:7348"); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("203.0.113.195"); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195, 2001:db8:85a3:8d3:1319:8a2e:370:7348"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("203.0.113.195"); - - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195,2001:db8:85a3:8d3:1319:8a2e:370:7348,150.172.238.178"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("203.0.113.195"); - - // Elements are comma-separated, with optional whitespace surrounding the commas. - fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195 , 2001:db8:85a3:8d3:1319:8a2e:370:7348,150.172.238.178"; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("203.0.113.195"); - - fakeSocket.client.conn.remoteAddress = "2001:db8::1"; - fakeSocket.client.conn.request.headers = {}; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("2001:db8::1"); - - fakeSocket.client.conn.remoteAddress = "::ffff:127.0.0.1"; - fakeSocket.client.conn.request.headers = {}; - ip = await server.getClientIP(fakeSocket); - expect(ip).toBe("127.0.0.1"); - - await Database.close(); - }, 120000); -}); diff --git a/test/cypress/e2e/setup.cy.js b/test/cypress/e2e/setup.cy.js deleted file mode 100644 index 57960403..00000000 --- a/test/cypress/e2e/setup.cy.js +++ /dev/null @@ -1,18 +0,0 @@ -const actor = require("../support/actors/actor"); -const userData = require("../support/const/user-data"); -const dashboardPage = require("../support/pages/dashboard-page"); -const setupPage = require("../support/pages/setup-page"); - -describe("user can create a new account on setup page", () => { - before(() => { - cy.visit("/setup"); - }); - it("user can create new account", () => { - cy.url().should("be.equal", setupPage.SetupPage.url); - actor.actor.setupTask.fillAndSubmitSetupForm(userData.DEFAULT_USER_DATA.username, userData.DEFAULT_USER_DATA.password, userData.DEFAULT_USER_DATA.password); - cy.url().should("be.equal", dashboardPage.DashboardPage.url); - cy.get('[role="alert"]') - .should("be.visible") - .and("contain.text", "Added Successfully."); - }); -}); diff --git a/test/cypress/plugins/index.js b/test/cypress/plugins/index.js deleted file mode 100644 index e69de29b..00000000 diff --git a/test/cypress/support/actors/actor.js b/test/cypress/support/actors/actor.js deleted file mode 100644 index 9775880b..00000000 --- a/test/cypress/support/actors/actor.js +++ /dev/null @@ -1,8 +0,0 @@ -const setupTask = require("../tasks/setup-task"); -class Actor { - constructor() { - this.setupTask = new setupTask.SetupTask(); - } -} -const actor = new Actor(); -exports.actor = actor; diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js deleted file mode 100644 index e69de29b..00000000 diff --git a/test/cypress/support/const/user-data.js b/test/cypress/support/const/user-data.js deleted file mode 100644 index 983597bd..00000000 --- a/test/cypress/support/const/user-data.js +++ /dev/null @@ -1,4 +0,0 @@ -exports.DEFAULT_USER_DATA = { - username: "testuser", - password: "testuser123", -}; diff --git a/test/cypress/support/e2e.js b/test/cypress/support/e2e.js deleted file mode 100644 index 449ab857..00000000 --- a/test/cypress/support/e2e.js +++ /dev/null @@ -1 +0,0 @@ -require("./commands"); diff --git a/test/cypress/support/pages/dashboard-page.js b/test/cypress/support/pages/dashboard-page.js deleted file mode 100644 index fc2d67e1..00000000 --- a/test/cypress/support/pages/dashboard-page.js +++ /dev/null @@ -1,3 +0,0 @@ -exports.DashboardPage = { - url: Cypress.env("baseUrl") + "/dashboard", -}; diff --git a/test/cypress/support/pages/setup-page.js b/test/cypress/support/pages/setup-page.js deleted file mode 100644 index 44a525a8..00000000 --- a/test/cypress/support/pages/setup-page.js +++ /dev/null @@ -1,7 +0,0 @@ -exports.SetupPage = { - url: Cypress.env("baseUrl") + "/setup", - usernameInput: '[data-cy="username-input"]', - passWordInput: '[data-cy="password-input"]', - passwordRepeatInput: '[data-cy="password-repeat-input"]', - submitSetupForm: '[data-cy="submit-setup-form"]', -}; diff --git a/test/cypress/support/tasks/setup-task.js b/test/cypress/support/tasks/setup-task.js deleted file mode 100644 index 205f78c2..00000000 --- a/test/cypress/support/tasks/setup-task.js +++ /dev/null @@ -1,11 +0,0 @@ -const setupPage = require("../pages/setup-page"); - -class SetupTask { - fillAndSubmitSetupForm(username, password, passwordRepeat) { - cy.get(setupPage.SetupPage.usernameInput).type(username); - cy.get(setupPage.SetupPage.passWordInput).type(password); - cy.get(setupPage.SetupPage.passwordRepeatInput).type(passwordRepeat); - cy.get(setupPage.SetupPage.submitSetupForm).click(); - } -} -exports.SetupTask = SetupTask; diff --git a/test/cypress/unit/i18n.spec.js b/test/cypress/unit/i18n.spec.js deleted file mode 100644 index da63d95a..00000000 --- a/test/cypress/unit/i18n.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -import { currentLocale } from "../../../src/i18n"; - -describe("Test i18n.js", () => { - - it("currentLocale()", () => { - const setLanguage = (language) => { - Object.defineProperty(window.navigator, 'language', { - value: language, - writable: true - }); - } - setLanguage('en-EN'); - - expect(currentLocale()).equal("en"); - - setLanguage('zh-HK'); - expect(currentLocale()).equal("zh-HK"); - - // Note that in Safari on iOS prior to 10.2, the country code returned is lowercase: "en-us", "fr-fr" etc. - // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language - setLanguage('zh-hk'); - expect(currentLocale()).equal("en"); - - setLanguage('en-US'); - expect(currentLocale()).equal("en"); - - setLanguage('ja-ZZ'); - expect(currentLocale()).equal("ja"); - - setLanguage('zz-ZZ'); - expect(currentLocale()).equal("en"); - - setLanguage('zz-ZZ'); - expect(currentLocale()).equal("en"); - - setLanguage('en'); - localStorage.locale = "en"; - expect(currentLocale()).equal("en"); - - localStorage.locale = "zh-HK"; - expect(currentLocale()).equal("zh-HK"); - }); - -}); \ No newline at end of file diff --git a/test/cypress/unit/util-frontend.spec.js b/test/cypress/unit/util-frontend.spec.js deleted file mode 100644 index 9bfd4bec..00000000 --- a/test/cypress/unit/util-frontend.spec.js +++ /dev/null @@ -1,41 +0,0 @@ -import { hostNameRegexPattern } from "../../../src/util-frontend"; - -describe("Test util-frontend.js", () => { - - describe("hostNameRegexPattern()", () => { - it('should return a valid regex for non mqtt hostnames', () => { - const regex = new RegExp(hostNameRegexPattern(false)); - - expect(regex.test("www.test.com")).to.be.true; - expect(regex.test("127.0.0.1")).to.be.true; - expect(regex.test("192.168.1.156")).to.be.true; - expect(regex.test(" 192.168.1.145")).to.be.false; - expect(regex.test("192.168.1.145 ")).to.be.false; - expect(regex.test(" fe80::3282:3ff:ae28:592")).to.be.false; - expect(regex.test("fe80::3282:3ff:ae28:592 ")).to.be.false; - - ["mqtt", "mqtts", "ws", "wss"].forEach(schema => { - expect(regex.test(`${schema}://www.test.com`)).to.be.false; - expect(regex.test(`${schema}://127.0.0.1`)).to.be.false; - }); - }); - it('should return a valid regex for mqtt hostnames', () => { - const hostnameString = hostNameRegexPattern(false); - console.log('*********', hostnameString, '***********'); - const regex = new RegExp(hostNameRegexPattern(true)); - - expect(regex.test("www.test.com")).to.be.true; - expect(regex.test("127.0.0.1")).to.be.true; - expect(regex.test("192.168.1.156")).to.be.true; - expect(regex.test(" 192.168.1.145")).to.be.false; - expect(regex.test("192.168.1.145 ")).to.be.false; - expect(regex.test(" fe80::3282:3ff:ae28:592")).to.be.false; - expect(regex.test("fe80::3282:3ff:ae28:592 ")).to.be.false; - - ["mqtt", "mqtts", "ws", "wss"].forEach(schema => { - expect(regex.test(`${schema}://www.test.com`)).to.be.true; - expect(regex.test(`${schema}://127.0.0.1`)).to.be.true; - }); - }); - }); -}); diff --git a/test/e2e/setup.spec.js b/test/e2e/setup.spec.js new file mode 100644 index 00000000..b0c76a18 --- /dev/null +++ b/test/e2e/setup.spec.js @@ -0,0 +1,43 @@ +import { test } from "@playwright/test"; +import { login, screenshot } from "./util-test"; + +/* + * Setup + */ + +test("setup sqlite", async ({ page }, testInfo) => { + await page.goto("./"); + await page.getByText("SQLite").click(); + await page.getByRole("button", { name: "Next" }).click(); + await screenshot(testInfo, page); +}); + +test("setup admin", async ({ page }, testInfo) => { + await page.goto("./"); + await page.getByPlaceholder("Username").click(); + await page.getByPlaceholder("Username").fill("admin"); + await page.getByPlaceholder("Username").press("Tab"); + await page.getByPlaceholder("Password", { exact: true }).fill("admin123"); + await page.getByPlaceholder("Password", { exact: true }).press("Tab"); + await page.getByPlaceholder("Repeat Password").fill("admin123"); + await page.getByRole("button", { name: "Create" }).click(); + await screenshot(testInfo, page); +}); + +/* + * All other tests should be run after setup + */ + +test("login", async ({ page }, testInfo) => { + await page.goto("./dashboard"); + await login(page); + await screenshot(testInfo, page); +}); + +test("logout", async ({ page }, testInfo) => { + await page.goto("./dashboard"); + await login(page); + await page.getByText("A", { exact: true }).click(); + await page.getByRole("button", { name: "Logout" }).click(); + await screenshot(testInfo, page); +}); diff --git a/test/e2e/util-test.js b/test/e2e/util-test.js new file mode 100644 index 00000000..3ccf79f4 --- /dev/null +++ b/test/e2e/util-test.js @@ -0,0 +1,27 @@ +/** + * @param {TestInfo} testInfo Test info + * @param {Page} page Page + * @returns {Promise} + */ +export async function screenshot(testInfo, page) { + const screenshot = await page.screenshot(); + await testInfo.attach("screenshot", { + body: screenshot, + contentType: "image/png" + }); +} + +/** + * @param {Page} page Page + * @returns {Promise} + */ +export async function login(page) { + // Login + await page.getByPlaceholder("Username").click(); + await page.getByPlaceholder("Username").fill("admin"); + await page.getByPlaceholder("Username").press("Tab"); + await page.getByPlaceholder("Password").fill("admin123"); + await page.getByLabel("Remember me").check(); + await page.getByRole("button", { name: "Login" }).click(); + await page.isVisible("text=Add New Monitor"); +} From c9fe6b5d0166f66a9837f489aa453fb128ce53db Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:52:49 +0800 Subject: [PATCH 247/494] Feat: Refresh login token for the client initiating password change (#4214) --- server/model/user.js | 10 ++++++++-- server/server.js | 1 + src/components/settings/Security.vue | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/model/user.js b/server/model/user.js index 2dd3c51e..329402ff 100644 --- a/server/model/user.js +++ b/server/model/user.js @@ -25,8 +25,14 @@ class User extends BeanModel { * @returns {Promise} */ async resetPassword(newPassword) { - await User.resetPassword(this.id, newPassword); - this.password = newPassword; + const hashedPassword = passwordHash.generate(newPassword); + + await R.exec("UPDATE `user` SET password = ? WHERE id = ? ", [ + hashedPassword, + this.id + ]); + + this.password = hashedPassword; } /** diff --git a/server/server.js b/server/server.js index 0dad1370..95fd8b15 100644 --- a/server/server.js +++ b/server/server.js @@ -1270,6 +1270,7 @@ let needSetup = false; callback({ ok: true, + token: User.createJWT(user, server.jwtSecret), msg: "successAuthChangePassword", msgi18n: true, }); diff --git a/src/components/settings/Security.vue b/src/components/settings/Security.vue index cd6e7dfe..5d8aed85 100644 --- a/src/components/settings/Security.vue +++ b/src/components/settings/Security.vue @@ -177,6 +177,12 @@ export default { this.password.currentPassword = ""; this.password.newPassword = ""; this.password.repeatNewPassword = ""; + + // Update token of the current session + if (res.token) { + this.$root.storage().token = res.token; + this.$root.socket.token = res.token; + } } }); } From d830fa4a0e2d3a98617d94daad725419f2112fd8 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:09:59 +0800 Subject: [PATCH 248/494] Feat: `Countup` display fixed value (#4266) --- src/components/CountUp.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/CountUp.vue b/src/components/CountUp.vue index 9ce68507..3bd01075 100644 --- a/src/components/CountUp.vue +++ b/src/components/CountUp.vue @@ -1,5 +1,5 @@ @@ -37,6 +37,19 @@ export default { isNum() { return typeof this.value === "number"; }, + outputFixed() { + if (typeof this.output === "number") { + if (this.output < 1) { + return "<1"; + } else if (Number.isInteger(this.output)) { + return this.output; + } else { + return this.output.toFixed(2); + } + } else { + return this.output; + } + } }, watch: { From 329e2042bcd414544ef90e8f3068c43e2172ab01 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 27 Dec 2023 22:39:04 +0800 Subject: [PATCH 249/494] Update to respect docker compose v2 (#4289) --- compose.yaml | 9 +++++++++ docker/docker-compose.yml | 15 --------------- 2 files changed, 9 insertions(+), 15 deletions(-) create mode 100644 compose.yaml delete mode 100644 docker/docker-compose.yml diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 00000000..004705a6 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,9 @@ +services: + uptime-kuma: + image: louislam/uptime-kuma:1 + volumes: + - ./data:/app/data + ports: + # : + - 3001:3001 + restart: unless-stopped diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml deleted file mode 100644 index 94793f01..00000000 --- a/docker/docker-compose.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: '3.8' - -services: - uptime-kuma: - image: louislam/uptime-kuma:1 - container_name: uptime-kuma - volumes: - - uptime-kuma:/app/data - ports: - - "3001:3001" # : - restart: always - -volumes: - uptime-kuma: - From d7d57eafe332b2d28daa52a257134801b3461a40 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 30 Dec 2023 23:13:21 +0800 Subject: [PATCH 250/494] Update Vue to 3.4 (#4300) --- package-lock.json | 604 ++++++++++++++++++++++++++++++---------------- package.json | 10 +- 2 files changed, 404 insertions(+), 210 deletions(-) diff --git a/package-lock.json b/package-lock.json index dece302f..f8b2ea8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,8 +92,8 @@ "@types/node": "^20.8.6", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@vitejs/plugin-vue": "~4.2.3", - "@vue/compiler-sfc": "~3.3.4", + "@vitejs/plugin-vue": "~5.0.1", + "@vue/compiler-sfc": "~3.4.2", "@vuepic/vue-datepicker": "~3.4.8", "aedes": "^0.46.3", "bootstrap": "5.1.3", @@ -127,9 +127,9 @@ "timezones-list": "~3.0.1", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", - "vite": "~4.4.1", + "vite": "~5.0.10", "vite-plugin-compression": "^0.5.1", - "vue": "~3.3.4", + "vue": "~3.4.2", "vue-chartjs": "~5.2.0", "vue-confirm-dialog": "~1.0.2", "vue-contenteditable": "~3.0.4", @@ -138,7 +138,7 @@ "vue-multiselect": "~3.0.0-alpha.2", "vue-prism-editor": "~2.0.0-alpha.2", "vue-qrcode": "~1.0.0", - "vue-router": "~4.0.14", + "vue-router": "~4.2.5", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", "wait-on": "^7.2.0", @@ -1113,9 +1113,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1236,10 +1236,26 @@ "node": ">=16" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", "cpu": [ "arm" ], @@ -1253,9 +1269,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], @@ -1269,9 +1285,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", "cpu": [ "x64" ], @@ -1285,9 +1301,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], @@ -1301,9 +1317,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", "cpu": [ "x64" ], @@ -1317,9 +1333,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", "cpu": [ "arm64" ], @@ -1333,9 +1349,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", "cpu": [ "x64" ], @@ -1349,9 +1365,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", "cpu": [ "arm" ], @@ -1365,9 +1381,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", "cpu": [ "arm64" ], @@ -1381,9 +1397,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", "cpu": [ "ia32" ], @@ -1397,9 +1413,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", "cpu": [ "loong64" ], @@ -1413,9 +1429,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", "cpu": [ "mips64el" ], @@ -1429,9 +1445,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", "cpu": [ "ppc64" ], @@ -1445,9 +1461,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", "cpu": [ "riscv64" ], @@ -1461,9 +1477,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", "cpu": [ "s390x" ], @@ -1477,9 +1493,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", "cpu": [ "x64" ], @@ -1493,9 +1509,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", "cpu": [ "x64" ], @@ -1509,9 +1525,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", "cpu": [ "x64" ], @@ -1525,9 +1541,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", "cpu": [ "x64" ], @@ -1541,9 +1557,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", "cpu": [ "arm64" ], @@ -1557,9 +1573,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", "cpu": [ "ia32" ], @@ -1573,9 +1589,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", "cpu": [ "x64" ], @@ -2440,6 +2456,175 @@ "@redis/client": "^1.0.0" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", + "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", + "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", + "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", + "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", + "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", + "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", + "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", + "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", + "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", + "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", + "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", + "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", + "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@scure/base": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", @@ -3494,66 +3679,66 @@ } }, "node_modules/@vitejs/plugin-vue": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", - "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.1.tgz", + "integrity": "sha512-lwvZX5tDhJpRJEKsjoUSWgaD26Lk9X4aDYGAPpr/Q6cLTT3PC8LPu2dsnYEweAZiNgHsbyKL2Svc/CDrFOsbtw==", "dev": true, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "peerDependencies": { - "vite": "^4.0.0", + "vite": "^5.0.0", "vue": "^3.2.25" } }, "node_modules/@vue/compiler-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", - "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.2.tgz", + "integrity": "sha512-DFs9KF2oqL5sz2nyhhaGJfKPzh0Txjgu46cu+Xgyrd5WWDeAoYyiQf+pVB7AeH2G4YKSKKAT3C3l9eeJxDEWtg==", "dev": true, "dependencies": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.2", + "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", - "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.2.tgz", + "integrity": "sha512-Wbr7JIbgPmljyQYTYb8jdf4d/tkTovjoqdFAHP7h7rYySYbTz9oOoDPN0CUdqH9X0qpav3ksItsJf8rKf2Cr1Q==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-core": "3.4.2", + "@vue/shared": "3.4.2" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", - "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.2.tgz", + "integrity": "sha512-7EoAi5EFNnByjxiHLKc4Q6YmiItFsGPjapk4fP3woBinkZoHaYEJ3mHqyKBK91P/gBmMoeOto+0RTKnH0tcRZw==", "dev": true, "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.2", + "@vue/compiler-dom": "3.4.2", + "@vue/compiler-ssr": "3.4.2", + "@vue/shared": "3.4.2", "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", - "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.2.tgz", + "integrity": "sha512-9MpcSLDqW1BfNIy5wviEHudmyXVJ2pEVB2vXI4qo/W0tD6X5J7hzsDiYBihXaMaEP7ZL/zL9Kkv13AaWo2OM1w==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-dom": "3.4.2", + "@vue/shared": "3.4.2" } }, "node_modules/@vue/devtools-api": { @@ -3563,65 +3748,52 @@ "dev": true }, "node_modules/@vue/reactivity": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", - "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.2.tgz", + "integrity": "sha512-SegdalwvnTwghmF2piGCu/So626dlQq+hTGKJIpAJ+Sj+rnybI7tPSaQBmL2d68GEsHxJ6r/sfX9Wfp7Gr06zg==", "dev": true, "dependencies": { - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", - "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" + "@vue/shared": "3.4.2" } }, "node_modules/@vue/runtime-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", - "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.2.tgz", + "integrity": "sha512-AJUtHqCYRYZgvtjSDCnATEJg/4mFxhYh5tQZ7+KKFU+ugsaXSA7uZAVVfLEymkzpt4CYu7Dn4OPcHX+LI21NAw==", "dev": true, "dependencies": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/reactivity": "3.4.2", + "@vue/shared": "3.4.2" } }, "node_modules/@vue/runtime-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", - "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.2.tgz", + "integrity": "sha512-bDYMGxCZgzcsuR/Fk4xGRtsDPrH2bn6YVG6F1Jju4eUCl2KksdBT8xGh2uEUpUfMx/UA6a1Ya5Nf+hCEWqQ6Nw==", "dev": true, "dependencies": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" + "@vue/runtime-core": "3.4.2", + "@vue/shared": "3.4.2", + "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", - "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.2.tgz", + "integrity": "sha512-WcXwyNj2Kl2IrRRUWRG+0UFmeXf9P4wH90uKya9E7EyCcbxMp4V+y4Aoj1rtQkFaFV8tODhrbSXQi1ZdwgyTMQ==", "dev": true, "dependencies": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-ssr": "3.4.2", + "@vue/shared": "3.4.2" }, "peerDependencies": { - "vue": "3.3.4" + "vue": "3.4.2" } }, "node_modules/@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.2.tgz", + "integrity": "sha512-QANtRj0jTGS/jrAyFak0S1Pvlb+By3Q7GOW1l++kFWz8B0kv3AR/ZmwkoWf+i75jJPse+/F17jXou3fwQm47wg==", "dev": true }, "node_modules/@vuepic/vue-datepicker": { @@ -5215,9 +5387,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "node_modules/date-fns": { @@ -5828,9 +6000,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, "bin": { @@ -5840,28 +6012,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/escalade": { @@ -8315,9 +8488,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", - "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -8974,9 +9147,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -9829,9 +10002,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "dev": true, "funding": [ { @@ -9848,7 +10021,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -10863,18 +11036,31 @@ } }, "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", + "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", "dev": true, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.2", + "@rollup/rollup-android-arm64": "4.9.2", + "@rollup/rollup-darwin-arm64": "4.9.2", + "@rollup/rollup-darwin-x64": "4.9.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", + "@rollup/rollup-linux-arm64-gnu": "4.9.2", + "@rollup/rollup-linux-arm64-musl": "4.9.2", + "@rollup/rollup-linux-riscv64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-musl": "4.9.2", + "@rollup/rollup-win32-arm64-msvc": "4.9.2", + "@rollup/rollup-win32-ia32-msvc": "4.9.2", + "@rollup/rollup-win32-x64-msvc": "4.9.2", "fsevents": "~2.3.2" } }, @@ -12610,29 +12796,29 @@ } }, "node_modules/vite": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", - "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", "dev": true, "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -12763,16 +12949,24 @@ } }, "node_modules/vue": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", - "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.2.tgz", + "integrity": "sha512-lLLsnZLysSxHXM5uIk7frehU2B0vwzZmbZlX9im/kKISd9rfDtywo9jhvgAMLnrLBtP5QtEaP4f9MYHPpfIJtQ==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" + "@vue/compiler-dom": "3.4.2", + "@vue/compiler-sfc": "3.4.2", + "@vue/runtime-dom": "3.4.2", + "@vue/server-renderer": "3.4.2", + "@vue/shared": "3.4.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/vue-chartjs": { @@ -12960,12 +13154,12 @@ } }, "node_modules/vue-router": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", - "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", "dev": true, "dependencies": { - "@vue/devtools-api": "^6.0.0" + "@vue/devtools-api": "^6.5.0" }, "funding": { "url": "https://github.com/sponsors/posva" diff --git a/package.json b/package.json index 40337d1b..de88b4e7 100644 --- a/package.json +++ b/package.json @@ -157,8 +157,8 @@ "@types/node": "^20.8.6", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@vitejs/plugin-vue": "~4.2.3", - "@vue/compiler-sfc": "~3.3.4", + "@vitejs/plugin-vue": "~5.0.1", + "@vue/compiler-sfc": "~3.4.2", "@vuepic/vue-datepicker": "~3.4.8", "aedes": "^0.46.3", "bootstrap": "5.1.3", @@ -192,9 +192,9 @@ "timezones-list": "~3.0.1", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", - "vite": "~4.4.1", + "vite": "~5.0.10", "vite-plugin-compression": "^0.5.1", - "vue": "~3.3.4", + "vue": "~3.4.2", "vue-chartjs": "~5.2.0", "vue-confirm-dialog": "~1.0.2", "vue-contenteditable": "~3.0.4", @@ -203,7 +203,7 @@ "vue-multiselect": "~3.0.0-alpha.2", "vue-prism-editor": "~2.0.0-alpha.2", "vue-qrcode": "~1.0.0", - "vue-router": "~4.0.14", + "vue-router": "~4.2.5", "vue-toastification": "~2.0.0-rc.5", "vuedraggable": "~4.1.0", "wait-on": "^7.2.0", From 23e80882c69a6ed932882bfcc369709df0953077 Mon Sep 17 00:00:00 2001 From: Abhishek Srinivasan <64522190+iamabhshk@users.noreply.github.com> Date: Wed, 3 Jan 2024 21:59:38 +0530 Subject: [PATCH 251/494] Changed the color of delete button in dashboard from red to grey (#4307) --- src/pages/Details.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Details.vue b/src/pages/Details.vue index f1692027..e27bf063 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -58,7 +58,7 @@ {{ $t("Clone") }} - From 0060e46b91b108c6960858e12da5c2f312437a1b Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 4 Jan 2024 03:13:31 +0800 Subject: [PATCH 252/494] [README.md] Fix star badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c79eefca..30b861a3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Uptime Kuma is an easy-to-use self-hosted monitoring tool. - + [![GitHub Sponsors](https://img.shields.io/github/sponsors/louislam?label=GitHub%20Sponsors)](https://github.com/sponsors/louislam) Translation status From bf1e3a3d5e33644c1393119695d38e1e24ba5fea Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Fri, 5 Jan 2024 20:42:24 +0800 Subject: [PATCH 253/494] Feat: Add `stat_hourly` & min. max. ping (#4267) Co-authored-by: Frank Elsinga --- .../2023-12-21-0000-stat-ping-min-max.js | 24 ++ .../2023-12-22-0000-hourly-uptime.js | 26 ++ server/uptime-calculator.js | 374 +++++++++++++++--- test/backend-test/test-uptime-calculator.js | 13 +- 4 files changed, 383 insertions(+), 54 deletions(-) create mode 100644 db/knex_migrations/2023-12-21-0000-stat-ping-min-max.js create mode 100644 db/knex_migrations/2023-12-22-0000-hourly-uptime.js diff --git a/db/knex_migrations/2023-12-21-0000-stat-ping-min-max.js b/db/knex_migrations/2023-12-21-0000-stat-ping-min-max.js new file mode 100644 index 00000000..d936ce56 --- /dev/null +++ b/db/knex_migrations/2023-12-21-0000-stat-ping-min-max.js @@ -0,0 +1,24 @@ +exports.up = function (knex) { + return knex.schema + .alterTable("stat_daily", function (table) { + table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds"); + table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds"); + }) + .alterTable("stat_minutely", function (table) { + table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds"); + table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds"); + }); + +}; + +exports.down = function (knex) { + return knex.schema + .alterTable("stat_daily", function (table) { + table.dropColumn("ping_min"); + table.dropColumn("ping_max"); + }) + .alterTable("stat_minutely", function (table) { + table.dropColumn("ping_min"); + table.dropColumn("ping_max"); + }); +}; diff --git a/db/knex_migrations/2023-12-22-0000-hourly-uptime.js b/db/knex_migrations/2023-12-22-0000-hourly-uptime.js new file mode 100644 index 00000000..4305900a --- /dev/null +++ b/db/knex_migrations/2023-12-22-0000-hourly-uptime.js @@ -0,0 +1,26 @@ +exports.up = function (knex) { + return knex.schema + .createTable("stat_hourly", function (table) { + table.increments("id"); + table.comment("This table contains the hourly aggregate statistics for each monitor"); + table.integer("monitor_id").unsigned().notNullable() + .references("id").inTable("monitor") + .onDelete("CASCADE") + .onUpdate("CASCADE"); + table.integer("timestamp") + .notNullable() + .comment("Unix timestamp rounded down to the nearest hour"); + table.float("ping").notNullable().comment("Average ping in milliseconds"); + table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds"); + table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds"); + table.smallint("up").notNullable(); + table.smallint("down").notNullable(); + + table.unique([ "monitor_id", "timestamp" ]); + }); +}; + +exports.down = function (knex) { + return knex.schema + .dropTable("stat_hourly"); +}; diff --git a/server/uptime-calculator.js b/server/uptime-calculator.js index b6e8346f..9632e6ea 100644 --- a/server/uptime-calculator.js +++ b/server/uptime-calculator.js @@ -34,16 +34,25 @@ class UptimeCalculator { */ minutelyUptimeDataList = new LimitQueue(24 * 60); + /** + * Recent 30-day uptime, each item is a 1-hour interval + * Key: {number} DivisionKey + * @type {LimitQueue} + */ + hourlyUptimeDataList = new LimitQueue(30 * 24); + /** * Daily uptime data, * Key: {number} DailyKey */ dailyUptimeDataList = new LimitQueue(365); - lastDailyUptimeData = null; lastUptimeData = null; + lastHourlyUptimeData = null; + lastDailyUptimeData = null; lastDailyStatBean = null; + lastHourlyStatBean = null; lastMinutelyStatBean = null; /** @@ -53,6 +62,10 @@ class UptimeCalculator { * @returns {Promise} UptimeCalculator */ static async getUptimeCalculator(monitorID) { + if (!monitorID) { + throw new Error("Monitor ID is required"); + } + if (!UptimeCalculator.list[monitorID]) { UptimeCalculator.list[monitorID] = new UptimeCalculator(); await UptimeCalculator.list[monitorID].init(monitorID); @@ -108,13 +121,32 @@ class UptimeCalculator { up: bean.up, down: bean.down, avgPing: bean.ping, + minPing: bean.pingMin, + maxPing: bean.pingMax, + }); + } + + // Load hourly data from database (recent 30 days only) + let hourlyStatBeans = await R.find("stat_hourly", " monitor_id = ? AND timestamp > ? ORDER BY timestamp", [ + monitorID, + this.getHourlyKey(now.subtract(30, "day")), + ]); + + for (let bean of hourlyStatBeans) { + let key = bean.timestamp; + this.hourlyUptimeDataList.push(key, { + up: bean.up, + down: bean.down, + avgPing: bean.ping, + minPing: bean.pingMin, + maxPing: bean.pingMax, }); } // Load daily data from database (recent 365 days only) let dailyStatBeans = await R.find("stat_daily", " monitor_id = ? AND timestamp > ? ORDER BY timestamp", [ monitorID, - this.getDailyKey(now.subtract(365, "day").unix()), + this.getDailyKey(now.subtract(365, "day")), ]); for (let bean of dailyStatBeans) { @@ -123,6 +155,8 @@ class UptimeCalculator { up: bean.up, down: bean.down, avgPing: bean.ping, + minPing: bean.pingMin, + maxPing: bean.pingMax, }); } } @@ -148,13 +182,16 @@ class UptimeCalculator { } let divisionKey = this.getMinutelyKey(date); - let dailyKey = this.getDailyKey(divisionKey); + let hourlyKey = this.getHourlyKey(date); + let dailyKey = this.getDailyKey(date); let minutelyData = this.minutelyUptimeDataList[divisionKey]; + let hourlyData = this.hourlyUptimeDataList[hourlyKey]; let dailyData = this.dailyUptimeDataList[dailyKey]; if (flatStatus === UP) { minutelyData.up += 1; + hourlyData.up += 1; dailyData.up += 1; // Only UP status can update the ping @@ -163,32 +200,57 @@ class UptimeCalculator { // The first beat of the minute, the ping is the current ping if (minutelyData.up === 1) { minutelyData.avgPing = ping; + minutelyData.minPing = ping; + minutelyData.maxPing = ping; } else { minutelyData.avgPing = (minutelyData.avgPing * (minutelyData.up - 1) + ping) / minutelyData.up; + minutelyData.minPing = Math.min(minutelyData.minPing, ping); + minutelyData.maxPing = Math.max(minutelyData.maxPing, ping); + } + + // Add avg ping + // The first beat of the hour, the ping is the current ping + if (hourlyData.up === 1) { + hourlyData.avgPing = ping; + hourlyData.minPing = ping; + hourlyData.maxPing = ping; + } else { + hourlyData.avgPing = (hourlyData.avgPing * (hourlyData.up - 1) + ping) / hourlyData.up; + hourlyData.minPing = Math.min(hourlyData.minPing, ping); + hourlyData.maxPing = Math.max(hourlyData.maxPing, ping); } // Add avg ping (daily) // The first beat of the day, the ping is the current ping - if (minutelyData.up === 1) { + if (dailyData.up === 1) { dailyData.avgPing = ping; + dailyData.minPing = ping; + dailyData.maxPing = ping; } else { dailyData.avgPing = (dailyData.avgPing * (dailyData.up - 1) + ping) / dailyData.up; + dailyData.minPing = Math.min(dailyData.minPing, ping); + dailyData.maxPing = Math.max(dailyData.maxPing, ping); } } } else { minutelyData.down += 1; + hourlyData.down += 1; dailyData.down += 1; } - if (dailyData !== this.lastDailyUptimeData) { - this.lastDailyUptimeData = dailyData; - } - if (minutelyData !== this.lastUptimeData) { this.lastUptimeData = minutelyData; } + if (hourlyData !== this.lastHourlyUptimeData) { + this.lastHourlyUptimeData = hourlyData; + } + + if (dailyData !== this.lastDailyUptimeData) { + this.lastDailyUptimeData = dailyData; + } + // Don't store data in test mode if (process.env.TEST_BACKEND) { log.debug("uptime-calc", "Skip storing data in test mode"); @@ -199,12 +261,24 @@ class UptimeCalculator { dailyStatBean.up = dailyData.up; dailyStatBean.down = dailyData.down; dailyStatBean.ping = dailyData.avgPing; + dailyStatBean.pingMin = dailyData.minPing; + dailyStatBean.pingMax = dailyData.maxPing; await R.store(dailyStatBean); + let hourlyStatBean = await this.getHourlyStatBean(hourlyKey); + hourlyStatBean.up = hourlyData.up; + hourlyStatBean.down = hourlyData.down; + hourlyStatBean.ping = hourlyData.avgPing; + hourlyStatBean.pingMin = hourlyData.minPing; + hourlyStatBean.pingMax = hourlyData.maxPing; + await R.store(hourlyStatBean); + let minutelyStatBean = await this.getMinutelyStatBean(divisionKey); minutelyStatBean.up = minutelyData.up; minutelyStatBean.down = minutelyData.down; minutelyStatBean.ping = minutelyData.avgPing; + minutelyStatBean.pingMin = minutelyData.minPing; + minutelyStatBean.pingMax = minutelyData.maxPing; await R.store(minutelyStatBean); // Remove the old data @@ -214,6 +288,11 @@ class UptimeCalculator { this.getMinutelyKey(date.subtract(24, "hour")), ]); + await R.exec("DELETE FROM stat_hourly WHERE monitor_id = ? AND timestamp < ?", [ + this.monitorID, + this.getHourlyKey(date.subtract(30, "day")), + ]); + return date; } @@ -242,6 +321,31 @@ class UptimeCalculator { return this.lastDailyStatBean; } + /** + * Get the hourly stat bean + * @param {number} timestamp milliseconds + * @returns {Promise} stat_hourly bean + */ + async getHourlyStatBean(timestamp) { + if (this.lastHourlyStatBean && this.lastHourlyStatBean.timestamp === timestamp) { + return this.lastHourlyStatBean; + } + + let bean = await R.findOne("stat_hourly", " monitor_id = ? AND timestamp = ?", [ + this.monitorID, + timestamp, + ]); + + if (!bean) { + bean = R.dispense("stat_hourly"); + bean.monitor_id = this.monitorID; + bean.timestamp = timestamp; + } + + this.lastHourlyStatBean = bean; + return this.lastHourlyStatBean; + } + /** * Get the minutely stat bean * @param {number} timestamp milliseconds @@ -268,11 +372,12 @@ class UptimeCalculator { } /** + * Convert timestamp to minutely key * @param {dayjs.Dayjs} date The heartbeat date * @returns {number} Timestamp */ getMinutelyKey(date) { - // Convert the current date to the nearest minute (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:34:00) + // Truncate value to minutes (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:34:00) date = date.startOf("minute"); // Convert to timestamp in second @@ -283,6 +388,8 @@ class UptimeCalculator { up: 0, down: 0, avgPing: 0, + minPing: 0, + maxPing: 0, }); } @@ -290,14 +397,37 @@ class UptimeCalculator { } /** - * Convert timestamp to daily key - * @param {number} timestamp Timestamp + * Convert timestamp to hourly key + * @param {dayjs.Dayjs} date The heartbeat date * @returns {number} Timestamp */ - getDailyKey(timestamp) { - let date = dayjs.unix(timestamp); + getHourlyKey(date) { + // Truncate value to hours (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:00:00) + date = date.startOf("hour"); + + // Convert to timestamp in second + let divisionKey = date.unix(); + + if (! (divisionKey in this.hourlyUptimeDataList)) { + this.hourlyUptimeDataList.push(divisionKey, { + up: 0, + down: 0, + avgPing: 0, + minPing: 0, + maxPing: 0, + }); + } - // Convert the date to the nearest day (e.g. 2021-01-01 12:34:56 -> 2021-01-01 00:00:00) + return divisionKey; + } + + /** + * Convert timestamp to daily key + * @param {dayjs.Dayjs} date The heartbeat date + * @returns {number} Timestamp + */ + getDailyKey(date) { + // Truncate value to start of day (e.g. 2021-01-01 12:34:56 -> 2021-01-01 00:00:00) // Considering if the user keep changing could affect the calculation, so use UTC time to avoid this problem. date = date.utc().startOf("day"); let dailyKey = date.unix(); @@ -307,12 +437,34 @@ class UptimeCalculator { up: 0, down: 0, avgPing: 0, + minPing: 0, + maxPing: 0, }); } return dailyKey; } + /** + * Convert timestamp to key + * @param {dayjs.Dayjs} datetime Datetime + * @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned + * @returns {number} Timestamp + * @throws {Error} If the type is invalid + */ + getKey(datetime, type) { + switch (type) { + case "day": + return this.getDailyKey(datetime); + case "hour": + return this.getHourlyKey(datetime); + case "minute": + return this.getMinutelyKey(datetime); + default: + throw new Error("Invalid type"); + } + } + /** * Flat status to UP or DOWN * @param {number} status the status which schould be turned into a flat status @@ -333,22 +485,22 @@ class UptimeCalculator { /** * @param {number} num the number of data points which are expected to be returned - * @param {"day" | "minute"} type the type of data which is expected to be returned + * @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned * @returns {UptimeDataResult} UptimeDataResult * @throws {Error} The maximum number of minutes greater than 1440 */ getData(num, type = "day") { - let key; - if (type === "day") { - key = this.getDailyKey(this.getCurrentDate().unix()); - } else { - if (num > 24 * 60) { - throw new Error("The maximum number of minutes is 1440"); - } - key = this.getMinutelyKey(this.getCurrentDate()); + if (type === "hour" && num > 24 * 30) { + throw new Error("The maximum number of hours is 720"); + } + if (type === "minute" && num > 24 * 60) { + throw new Error("The maximum number of minutes is 1440"); } + // Get the current time period key based on the type + let key = this.getKey(this.getCurrentDate(), type); + let total = { up: 0, down: 0, @@ -357,20 +509,37 @@ class UptimeCalculator { let totalPing = 0; let endTimestamp; - if (type === "day") { - endTimestamp = key - 86400 * (num - 1); - } else { - endTimestamp = key - 60 * (num - 1); + // Get the eariest timestamp of the required period based on the type + switch (type) { + case "day": + endTimestamp = key - 86400 * (num - 1); + break; + case "hour": + endTimestamp = key - 3600 * (num - 1); + break; + case "minute": + endTimestamp = key - 60 * (num - 1); + break; + default: + throw new Error("Invalid type"); } // Sum up all data in the specified time range while (key >= endTimestamp) { let data; - if (type === "day") { - data = this.dailyUptimeDataList[key]; - } else { - data = this.minutelyUptimeDataList[key]; + switch (type) { + case "day": + data = this.dailyUptimeDataList[key]; + break; + case "hour": + data = this.hourlyUptimeDataList[key]; + break; + case "minute": + data = this.minutelyUptimeDataList[key]; + break; + default: + throw new Error("Invalid type"); } if (data) { @@ -379,27 +548,53 @@ class UptimeCalculator { totalPing += data.avgPing * data.up; } - // Previous day - if (type === "day") { - key -= 86400; - } else { - key -= 60; + // Set key to the pervious time period + switch (type) { + case "day": + key -= 86400; + break; + case "hour": + key -= 3600; + break; + case "minute": + key -= 60; + break; + default: + throw new Error("Invalid type"); } } let uptimeData = new UptimeDataResult(); + // If there is no data in the previous time ranges, use the last data? if (total.up === 0 && total.down === 0) { - if (type === "day" && this.lastDailyUptimeData) { - total = this.lastDailyUptimeData; - totalPing = total.avgPing * total.up; - } else if (type === "minute" && this.lastUptimeData) { - total = this.lastUptimeData; - totalPing = total.avgPing * total.up; - } else { - uptimeData.uptime = 0; - uptimeData.avgPing = null; - return uptimeData; + switch (type) { + case "day": + if (this.lastDailyUptimeData) { + total = this.lastDailyUptimeData; + totalPing = total.avgPing * total.up; + } else { + return uptimeData; + } + break; + case "hour": + if (this.lastHourlyUptimeData) { + total = this.lastHourlyUptimeData; + totalPing = total.avgPing * total.up; + } else { + return uptimeData; + } + break; + case "minute": + if (this.lastUptimeData) { + total = this.lastUptimeData; + totalPing = total.avgPing * total.up; + } else { + return uptimeData; + } + break; + default: + throw new Error("Invalid type"); } } @@ -416,6 +611,85 @@ class UptimeCalculator { return uptimeData; } + /** + * Get data in form of an array + * @param {number} num the number of data points which are expected to be returned + * @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned + * @returns {Array} uptime data + * @throws {Error} The maximum number of minutes greater than 1440 + */ + getDataArray(num, type = "day") { + if (type === "hour" && num > 24 * 30) { + throw new Error("The maximum number of hours is 720"); + } + if (type === "minute" && num > 24 * 60) { + throw new Error("The maximum number of minutes is 1440"); + } + + // Get the current time period key based on the type + let key = this.getKey(this.getCurrentDate(), type); + + let result = []; + + let endTimestamp; + + // Get the eariest timestamp of the required period based on the type + switch (type) { + case "day": + endTimestamp = key - 86400 * (num - 1); + break; + case "hour": + endTimestamp = key - 3600 * (num - 1); + break; + case "minute": + endTimestamp = key - 60 * (num - 1); + break; + default: + throw new Error("Invalid type"); + } + + // Get datapoints in the specified time range + while (key >= endTimestamp) { + let data; + + switch (type) { + case "day": + data = this.dailyUptimeDataList[key]; + break; + case "hour": + data = this.hourlyUptimeDataList[key]; + break; + case "minute": + data = this.minutelyUptimeDataList[key]; + break; + default: + throw new Error("Invalid type"); + } + + if (data) { + data.timestamp = key; + result.push(data); + } + + // Set key to the pervious time period + switch (type) { + case "day": + key -= 86400; + break; + case "hour": + key -= 3600; + break; + case "minute": + key -= 60; + break; + default: + throw new Error("Invalid type"); + } + } + + return result; + } + /** * Get the uptime data by duration * @param {'24h'|'30d'|'1y'} duration Only accept 24h, 30d, 1y @@ -446,7 +720,7 @@ class UptimeCalculator { * @returns {UptimeDataResult} UptimeDataResult */ get7Day() { - return this.getData(7); + return this.getData(168, "hour"); } /** @@ -464,7 +738,7 @@ class UptimeCalculator { } /** - * @returns {dayjs.Dayjs} Current date + * @returns {dayjs.Dayjs} Current datetime in UTC */ getCurrentDate() { return dayjs.utc(); @@ -476,12 +750,12 @@ class UptimeDataResult { /** * @type {number} Uptime */ - uptime; + uptime = 0; /** * @type {number} Average ping */ - avgPing; + avgPing = null; } module.exports = { diff --git a/test/backend-test/test-uptime-calculator.js b/test/backend-test/test-uptime-calculator.js index b4ccc312..0c7a38d2 100644 --- a/test/backend-test/test-uptime-calculator.js +++ b/test/backend-test/test-uptime-calculator.js @@ -78,22 +78,27 @@ test("Test getMinutelyKey", async (t) => { test("Test getDailyKey", async (t) => { let c2 = new UptimeCalculator(); - let dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 20:46:00").unix()); + let dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 20:46:00")); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); c2 = new UptimeCalculator(); - dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:45:30").unix()); + dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:45:30")); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); // Edge case 1 c2 = new UptimeCalculator(); - dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:59:59").unix()); + dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:59:59")); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); // Edge case 2 c2 = new UptimeCalculator(); - dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 00:00:00").unix()); + dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 00:00:00")); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); + + // Test timezone + c2 = new UptimeCalculator(); + dailyKey = c2.getDailyKey(dayjs("Sat Dec 23 2023 05:38:39 GMT+0800 (Hong Kong Standard Time)")); + assert.strictEqual(dailyKey, dayjs.utc("2023-12-22").unix()); }); test("Test lastDailyUptimeData", async (t) => { From 25cb78796a9908d70876cb02ef42e7d7ecc5a959 Mon Sep 17 00:00:00 2001 From: Ben Scobie Date: Fri, 5 Jan 2024 12:43:03 +0000 Subject: [PATCH 254/494] Fix incorrect ping log (#4322) --- server/util-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/util-server.js b/server/util-server.js index 754626ea..8add5bc5 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -128,7 +128,7 @@ exports.ping = async (hostname, size = 56) => { return await exports.pingAsync(hostname, false, size); } catch (e) { // If the host cannot be resolved, try again with ipv6 - console.debug("ping", "IPv6 error message: " + e.message); + log.debug("ping", "IPv6 error message: " + e.message); // As node-ping does not report a specific error for this, try again if it is an empty message with ipv6 no matter what. if (!e.message) { From 9356e7dd4fb16275e21d18a08d8cdf4420da4987 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 5 Jan 2024 20:51:05 +0800 Subject: [PATCH 255/494] Update clear stats (#4324) --- server/server.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/server.js b/server/server.js index 95fd8b15..eeffb063 100644 --- a/server/server.js +++ b/server/server.js @@ -1491,6 +1491,14 @@ let needSetup = false; log.info("manage", `Clear Statistics User ID: ${socket.userID}`); await R.exec("DELETE FROM heartbeat"); + await R.exec("DELETE FROM stat_daily"); + await R.exec("DELETE FROM stat_hourly"); + await R.exec("DELETE FROM stat_minutely"); + + // Restart all monitors to reset the stats + for (let monitorID in server.monitorList) { + await restartMonitor(socket.userID, monitorID); + } callback({ ok: true, From f3dcdb63326039330b3b3c3f2f735727d35e4ae3 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 7 Jan 2024 23:24:28 +0800 Subject: [PATCH 256/494] Update the demo server (#4296) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30b861a3..ebeca525 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ Uptime Kuma is an easy-to-use self-hosted monitoring tool. Try it! -- Tokyo Demo Server: https://demo.uptime.kuma.pet (Sponsored by [Uptime Kuma Sponsors](https://github.com/louislam/uptime-kuma#%EF%B8%8F-sponsors)) +Demo Server (Location: Frankfurt - Germany): https://demo.kuma.pet/start-demo -It is a temporary live demo, all data will be deleted after 10 minutes. Use the one that is closer to you, but I suggest that you should install and try it out for the best demo experience. +It is a temporary live demo, all data will be deleted after 10 minutes. Sponsored by [Uptime Kuma Sponsors](https://github.com/louislam/uptime-kuma#%EF%B8%8F-sponsors). ## ⭐ Features From d4c21a22595acc7aa73c38dc29204e7e4e6ebd43 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 9 Jan 2024 01:35:10 +0800 Subject: [PATCH 257/494] [GitHub] Minor issue template wording --- .github/ISSUE_TEMPLATE/ask-for-help.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/ask-for-help.yaml b/.github/ISSUE_TEMPLATE/ask-for-help.yaml index c082b2e3..bfaebb75 100644 --- a/.github/ISSUE_TEMPLATE/ask-for-help.yaml +++ b/.github/ISSUE_TEMPLATE/ask-for-help.yaml @@ -6,7 +6,7 @@ body: - type: checkboxes id: no-duplicate-issues attributes: - label: "⚠️ Please verify that this bug has NOT been raised before." + label: "⚠️ Please verify that this question has NOT been raised before." description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)" options: - label: "I checked and didn't find similar issue" From 17e284f011b961bac2cc11afc35d7b34539ecbd5 Mon Sep 17 00:00:00 2001 From: Cyril59310 <70776486+cyril59310@users.noreply.github.com> Date: Sat, 13 Jan 2024 21:59:13 +0100 Subject: [PATCH 258/494] Missing translation key (#4363) --- src/lang/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/en.json b/src/lang/en.json index c003de74..845dd349 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -882,5 +882,6 @@ "useRemoteBrowser": "Use a Remote Browser", "deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?", "GrafanaOncallUrl": "Grafana Oncall URL", - "Browser Screenshot": "Browser Screenshot" + "Browser Screenshot": "Browser Screenshot", + "What is a Remote Browser?": "What is a Remote Browser?" } From 8456912ae3df3e9ed705636cf8e509690f890f2d Mon Sep 17 00:00:00 2001 From: James Cocker Date: Sat, 13 Jan 2024 21:35:11 +0000 Subject: [PATCH 259/494] Corrected "Login" & "Logout" to verbs (EN) (#4320) Co-authored-by: Louis Lam --- src/lang/en.json | 4 ++-- test/e2e/setup.spec.js | 2 +- test/e2e/util-test.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 845dd349..e53cd341 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -118,7 +118,7 @@ "disableauth.message2": "It is designed for scenarios {intendThirdPartyAuth} in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.", "where you intend to implement third-party authentication": "where you intend to implement third-party authentication", "Please use this option carefully!": "Please use this option carefully!", - "Logout": "Logout", + "Logout": "Log out", "Leave": "Leave", "I understand, please disable": "I understand, please disable", "Confirm": "Confirm", @@ -127,7 +127,7 @@ "Username": "Username", "Password": "Password", "Remember me": "Remember me", - "Login": "Login", + "Login": "Log in", "No Monitors, please": "No Monitors, please", "add one": "add one", "Notification Type": "Notification Type", diff --git a/test/e2e/setup.spec.js b/test/e2e/setup.spec.js index b0c76a18..55dcb34e 100644 --- a/test/e2e/setup.spec.js +++ b/test/e2e/setup.spec.js @@ -38,6 +38,6 @@ test("logout", async ({ page }, testInfo) => { await page.goto("./dashboard"); await login(page); await page.getByText("A", { exact: true }).click(); - await page.getByRole("button", { name: "Logout" }).click(); + await page.getByRole("button", { name: "Log out" }).click(); await screenshot(testInfo, page); }); diff --git a/test/e2e/util-test.js b/test/e2e/util-test.js index 3ccf79f4..285e7b71 100644 --- a/test/e2e/util-test.js +++ b/test/e2e/util-test.js @@ -22,6 +22,6 @@ export async function login(page) { await page.getByPlaceholder("Username").press("Tab"); await page.getByPlaceholder("Password").fill("admin123"); await page.getByLabel("Remember me").check(); - await page.getByRole("button", { name: "Login" }).click(); + await page.getByRole("button", { name: "Log in" }).click(); await page.isVisible("text=Add New Monitor"); } From 0ffa150c5d9453666727fec806f81617ce5f6e8c Mon Sep 17 00:00:00 2001 From: Cyril59310 Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 260/494] Translated using Weblate (French) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (French) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (French) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (French) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Cyril59310 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fr-FR.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 0ae81645..cb055e10 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -119,7 +119,7 @@ "Update Password": "Mettre à jour le mot de passe", "Disable Auth": "Désactiver l'authentification", "Enable Auth": "Activer l'authentification", - "disableauth.message1": "Voulez-vous vraiment {disableAuth}?", + "disableauth.message1": "Voulez-vous vraiment {disableAuth} ?", "disable authentication": "désactiver l'authentification", "disableauth.message2": "Cette fonctionnalité est conçue pour les scénarios {intendThirdPartyAuth} devant Uptime Kuma, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.", "where you intend to implement third-party authentication": "où vous avez l'intention d'implémenter une authentification tierce", @@ -810,7 +810,7 @@ "Enable Kafka SSL": "Activer Kafka SSL", "Kafka SASL Options": "Options de Kafka SAS", "Mechanism": "Mécanisme", - "Pick a SASL Mechanism...": "Choisissez un mécanisme SASL...", + "Pick a SASL Mechanism...": "Choisissez un mécanisme SASL…", "Authorization Identity": "Identité d'autorisation", "AccessKey Id": "ID de la clé d'accès", "Secret AccessKey": "Clé d'accès secrète", @@ -912,5 +912,11 @@ "remoteBrowserToggle": "Par défaut, Chromium s'exécute dans le conteneur Uptime Kuma. Vous pouvez utiliser un navigateur distant en activant ce commutateur.", "useRemoteBrowser": "Utiliser un navigateur distant", "successKeyword": "Mot-clé de réussite", - "successKeywordExplanation": "Mot clé MQTT qui sera considéré comme un succès" + "successKeywordExplanation": "Mot clé MQTT qui sera considéré comme un succès", + "Search monitored sites": "Rechercher des sites surveillés", + "settingUpDatabaseMSG": "Mise en place de la base de données. Cela peut prendre un certain temps, veuillez patienter.", + "ntfyPriorityHelptextAllEvents": "Tous les événements sont envoyés avec la priorité maximale", + "ntfyPriorityHelptextAllExceptDown": "Tous les événements sont envoyés avec cette priorité, à l'exception des événements {0}, qui ont une priorité de {1}", + "statusPageSpecialSlugDesc": "Chemin spécial {0} : cette page sera affichée en l'absence de chemin", + "What is a Remote Browser?": "Qu'est-ce qu'un navigateur distant ?" } From 81507009068b8ca0473bc39cad4c7a23fb7dcc24 Mon Sep 17 00:00:00 2001 From: Gunnar Norin Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 261/494] Translated using Weblate (Swedish) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (Swedish) Currently translated at 97.0% (858 of 884 strings) Translated using Weblate (English) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Gunnar Norin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/en/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sv/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/en.json | 2 +- src/lang/sv-SE.json | 132 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 129 insertions(+), 5 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index e53cd341..74b47f05 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -788,7 +788,7 @@ "lunaseaUserID": "User ID", "ntfyAuthenticationMethod": "Authentication Method", "ntfyPriorityHelptextAllEvents": "All events are send with the maximum priority", - "ntfyPriorityHelptextAllExceptDown": "All events are send with this priority, except {0}-events, which have a priority of {1}", + "ntfyPriorityHelptextAllExceptDown": "All events are sent with this priority, except {0}-events, which have a priority of {1}", "ntfyUsernameAndPassword": "Username and Password", "twilioAccountSID": "Account SID", "twilioApiKey": "Api Key (optional)", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index cbea4672..87fcc5eb 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -154,7 +154,7 @@ "Slug": "Slugg", "Invert Keyword": "Invertera nyckelord", "Degraded Service": "Försämrad tjänst", - "Request Timeout": "Request Timeout", + "Request Timeout": "Request-timeout", "timeoutAfter": "Timeout efter {0} sekunder", "styleElapsedTime": "Förfluten tid under heartbeat-indikatorn", "styleElapsedTimeShowNoLine": "Visa (utan linje)", @@ -311,7 +311,7 @@ "The slug is already taken. Please choose another slug.": "Sluggen är upptagen. Vänligen välj en annan slugg.", "No Proxy": "Ingen proxyserver", "Authentication": "Autentisering", - "HTTP Basic Auth": "HTTP Basic Auth", + "HTTP Basic Auth": "HTTP Basic-auth", "New Status Page": "Ny statussida", "Page Not Found": "Sidan hittades inte", "Reverse Proxy": "Omvänd proxyserver", @@ -322,7 +322,7 @@ "Message:": "Meddelande:", "Don't know how to get the token? Please read the guide:": "Vet inte hur man får tag i en token? Vänligen läs guiden:", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Den nuvarande anslutningen kan kopplas bort om du ansluter via Cloudflare Tunnel. Är du säkert du vill avsluta den? Skriv ditt nuvarande lösenord för att bekräfta.", - "HTTP Headers": "HTTP Headers", + "HTTP Headers": "HTTP-headers", "Trust Proxy": "Lita på proxyserver", "Other Software": "Annan programvara", "For example: nginx, Apache and Traefik.": "Till exempel: nginx, Apache och Traefik.", @@ -762,5 +762,129 @@ "Proxy Server": "Proxy-server", "lineDevConsoleTo": "Linjeutvecklarkonsol - {0}", "aboutIconURL": "Du kan tillhandahålla en länk till en bild i \"Ikon-URL\" för att åsidosätta standard profilbilden. Används inte om Ikonemoji är inställt.", - "backupDescription2": "Notera: historik och händelsedata är inte inkluderat." + "backupDescription2": "Notera: historik och händelsedata är inte inkluderat.", + "promosmsTypeFlash": "SMS FLASH - Meddelanden visas automatiskt på mottagande enhet. Begränsad till Polska mottagare.", + "promosmsTypeFull": "SMS Full - Premium nivå av SMS, du kan använda ditt avsändarnamn (du måste registrera namnet först). Pålitligt för varningar.", + "serwersmsSenderName": "SMS-avsändarnamn (registrerat via kundportalen)", + "smseagleGroup": "Telefonboksgruppnamn", + "smseagleContact": "Telefonbokskontaktsnamn", + "Body Encoding": "Body-kodning", + "Badge Label Prefix": "Bricketikettsprefix", + "Badge Preview": "Brickförhandsvisning", + "Badge Label Suffix": "Bricketikettssuffix", + "Search monitored sites": "Sök övervakade sajter", + "Badge Warn Days": "Varningsbricksdagar", + "statusPageSpecialSlugDesc": "Speciell slug {0}: denna sida kommer att visas när ingen slug anges", + "wayToGetLineChannelToken": "Först besök {0}, skapa en leverantör och kanal (Meddelande-API), efter det kan du få en accesstoken för kanalen och användarid från ovanstående menyobjekt.", + "aboutMattermostChannelName": "Du kan åsidosätta standardkanalen som webbhook postar till genom att ange kanalnamnet i \"Kanalnamn\" fältet. Detta behöver vara aktiverad i Mattermost Webbhook inställningar. Ex: #annan-kanal", + "promosmsTypeEco": "SMS ECO - billig men långsam och ofta överbelastad. Begränsad till Polska mottagare.", + "ntfyPriorityHelptextAllEvents": "Alla händelser skickas med högsta prioritet", + "aboutNotifyChannel": "Notifieringskanalen kommer att utlösa en skrivbords eller mobilnotifiering för alla medlemmar i kanalen, oavsett om deras tillgänglighet är aktiv eller borta.", + "ntfyPriorityHelptextAllExceptDown": "Alla händelser är skickade med denna prioritet, utom {0}-händelser, som har en prioritet av {1}", + "settingUpDatabaseMSG": "Ställer in databasen. Detta kan ta ett tag, ha tålamod.", + "promosmsTypeSpeed": "SMS SPEED - Högsta prioritet i system. Väldigt snabb och tillförlitlig, men kostsam (nästan dubbelt mot SMS FULL priset).", + "Badge Down Days": "Nerbricksdagar", + "grpcMethodDescription": "Metodnamn är konverterad till kamelNotation format som sayHello, check, etc.", + "importHandleDescription": "Välj 'Hoppa över existerande' om du vill hoppa över varje övervakare eller notifiering med samma namn. 'Skriv över' kommer att ta bort existerande övervakare och notifieringar.", + "pushoversounds pushover": "Pushover (standard)", + "backupDescription3": "Känslig data som ex. notifieringstokens är inkluderade i exportfilen; vänligen lagra exporten säkert.", + "octopushLogin": "\"Inloggning\" från HTTP API autentiseringsuppgifter i kontrollpanelen", + "octopushAPIKey": "\"API-nyckel\" från HTTP API autentiseringsuppgifter i kontrollpanelen", + "wayToGetKookGuildID": "Slå på 'Utvecklarläge' i Kook-inställningarna och högerklicka på guild för att få dess ID", + "Guild ID": "Guild-ID", + "pushoverDesc1": "Nödprioritet (2) har 30 sekunders timeout mellan försök och löper ut efter 1 timme som standard.", + "octopushTypePremium": "Premium (Snabb - rekommenderas för varningar)", + "octopushTypeLowCost": "Låg kostnad (långsam - blockeras ibland av operatören)", + "jsonQueryDescription": "Gör en json-förfrågan mot svaret och kontrollera det förväntade värdet (returvärde konverteras till en sträng för jämförelse). Se {0} för dokumentation angående frågespråket. En lekplats kan hittas här {1}.", + "Check octopush prices": "Kontrollera octopush priser {0}.", + "octopushSMSSender": "SMS avsändarnamn: 3-11 alfanumeriska tecken och mellanslag (a-zA-Z0-9)", + "LunaSea Device ID": "LunaSea enhetsid", + "Free Mobile User Identifier": "Fri mobilanvändaridentifierare", + "Feishu WebHookUrl": "Feishu WebbhookURL", + "signalImportant": "VIKTIGT: Du kan inte blanda grupper och nummer i mottagare!", + "octopushLegacyHint": "Använder du äldre versionen av Octopush (2011-2020) eller den nya versionen?", + "goAlertInfo": "GoAlert är en öppen källkodsapplikation för jouruppringning, automatiserade eskaleringar och notifieringar (som SMS eller röstsamtal). Engagera automatiskt rätt person, den rätta vägen och i rätt tid! {0}", + "goAlertIntegrationKeyInfo": "Få generiska API-integrationsnycklar för tjänsten i formatet \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" vanligtvis värdet av token-parametern för den kopierade URLen.", + "matrixDesc1": "Du kan hitta det interna rumsid:t genom att titta i den avancerade sektionen av rumsinställningarna i din Matrix-klient. Det bör vara liknande !QMdRCpUIfLwsfjxye6:home.server.", + "matrixDesc2": "Det är rekommenderat att du skapar en ny användare och inte använder din egna Matrix-användares accesstoken eftersom det ger full access till ditt konto och alla rum du gått med i. Skapa en ny användare och invitera endast till rummen du vill ska få notifieringen. Du kan komma åt accesstoken genom att köra {0}", + "aboutWebhooks": "Mer information om Webbhooks på: {0}", + "aboutKumaURL": "Om du lämnar Uptime Kuma URL-fältet tomt, kommer den som standard till projektsidan på Github.", + "smtpDkimDesc": "Vänligen hänvisa till Nodemailer DKIM {0} för användning.", + "smtpDkimheaderFieldNames": "Headernycklar att signera (Valfritt)", + "smtpDkimskipFields": "Headernycklar att inte signera (Valfritt)", + "Auto resolve or acknowledged": "Automatisk lösning eller bekräftad", + "auto resolve": "automatiskt bekräftad", + "auto acknowledged": "automatiskt löst", + "alertaRecoverState": "Återställningsstatus", + "serwersmsAPIUser": "API-användarnamn (inkl. webapi_prefix)", + "smseagleToken": "API-accesstoken", + "smseagleUrl": "Din SMSEagle enhetsURL", + "pagertreeResolve": "Autolös", + "Badge Up Color": "Uppbricksfärg", + "aboutChannelName": "Ange kanalnamnet på {0} kanalnamnsfältet om du vill gå förbi webbhook-kanalen. Ex: #annan-kanal", + "wayToGetPagerDutyKey": "Du kan komma åt detta genom att gå till Tjänst -> Tjänstekatalog -> (välj tjänst) -> Integrationer -> Lägg till integration. Här kan du söka efter \"Events API V2\". För mer info {0}", + "Badge Pending Color": "Väntanbricksfärg", + "Badge Down Color": "Nerbricksfärg", + "Badge Maintenance Color": "Underhållsbricksfärg", + "Badge Warn Color": "Varningsbricksfärg", + "Badge Style": "Brickstil", + "Badge value (For Testing only.)": "Brickvärde (endast för prov.)", + "Badge URL": "BrickURL", + "nostrRelays": "Nostr-relän", + "Badge Label Color": "Bricketikettsfärg", + "Free Mobile API Key": "Fri mobil-API-nyckel", + "Proto Service Name": "Proto tjänstenamn", + "Proto Method": "Proto-metod", + "Proto Content": "Proto-innehåll", + "SendKey": "Skickanyckel", + "SMSManager API Docs": "SMSManager API-dokument ", + "promosmsSMSSender": "SMS-avsändarnamn: Förregistrerat namn eller en av standard: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + "Octopush API Version": "Octopuch API-version", + "Legacy Octopush-DM": "Äldre Octopush-DM", + "ntfy Topic": "ntfy-ämne", + "Server URL should not contain the nfty topic": "Server-URL ska inte innehålla ntfy-ämne", + "onebotHttpAddress": "OneBot HTTP-adress", + "onebotMessageType": "OneBot meddelandetyp", + "onebotSafetyTips": "För säkerhet, måste ange accesstoken", + "PushDeer Server": "PushDeer-server", + "PushDeer Key": "PuchDeer-nyckel", + "wayToGetPagerTreeIntegrationURL": "Efter att du skapat Uptime Kuma integrationen i PagerTree, kopiera endpoint. Se detaljer {0}", + "twilioAccountSID": "Konto-SID", + "Monitor Setting": "{0}s övervakarinställning", + "Show Clickable Link Description": "Om markerad har alla med access till denna statussida även access till övervakarURL.", + "Open Badge Generator": "Öppna brickgenerator", + "Badge Generator": "{0}s brickgenerator", + "Badge Type": "Bricktyp", + "Badge Duration (in hours)": "Brickvaraktighet (i timmar)", + "Badge Label": "Bricketikett", + "Badge Prefix": "Brickvärdeprefix", + "Badge Suffix": "Brickvärdesuffix", + "Badge Color": "Brickfärg", + "monitorToastMessagesLabel": "Övervakar-toastnotifiering", + "wayToGetFlashDutyKey": "Du kan gå till Kanal -> (Välj en kanal) -> Integrationer -> Lägg till ny integrationssidan, lägg till en 'Anpassad händelse' för att få en pushadress, kopiera integrationsnyckeln i adressen. För mer information, besök", + "gamedigGuessPortDescription": "Porten som används av Valve-serverns förfrågningsprotokol kan vara annorlunda från klientporten. Prova detta om övervakaren inte kan kontakta din server.", + "monitorToastMessagesDescription": "Toastnotifieringar för övervakare försvinner efter angiven tid i sekunder. Ange -1 för att inaktivera timeout. Ange 0 för att inkaktivera toastnotifieringar.", + "Mechanism": "Mekanism", + "Pick a SASL Mechanism...": "Välj en SASL-mekanism…", + "Authorization Identity": "Behörighetsidentitet", + "AccessKey Id": "Accessnyckel-ID", + "Secret AccessKey": "Hemlig accessnyckel", + "toastErrorTimeout": "Timeout för felnotifieringar", + "toastSuccessTimeout": "Timeout för lyckadesnotifieringar", + "Enter the list of brokers": "Ange en lista av mäklare", + "Kafka Brokers": "Kafka-mäklare", + "Press Enter to add broker": "Tryck enter för att lägga till mäklare", + "Kafka Topic Name": "Kafka ämnesnamn", + "Kafka Producer Message": "Kafka producentmeddelande", + "Enable Kafka SSL": "Aktivera Kafka SSL", + "Enable Kafka Producer Auto Topic Creation": "Aktivera Kafka producent autoämnesskapande", + "Kafka SASL Options": "Kafka SASL val", + "Request Body": "Förfrågningsbody", + "nostrRelaysHelp": "En relä-URL per rad", + "nostrSender": "Privat avsändarnyckel (nsec)", + "nostrRecipients": "Publik mottagarnyckel (npub)", + "nostrRecipientsHelp": "npub-format, en per rad", + "gamedigGuessPort": "Gamedig: Gissa port", + "twilioAuthToken": "Auth-token / API-nyckelhemlighet", + "What is a Remote Browser?": "Vad är en fjärrläsare?" } From f296d8f533c52e3950746d6460aa5ef2efc2debb Mon Sep 17 00:00:00 2001 From: ConfusedAlex Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 262/494] Translated using Weblate (German) Currently translated at 99.5% (880 of 884 strings) Co-authored-by: ConfusedAlex Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-DE.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index caceb971..95affe1a 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -654,7 +654,7 @@ "dnsCacheDescription": "In einigen IPv6-Umgebungen funktioniert es möglicherweise nicht. Deaktiviere es, wenn Probleme auftreten.", "loadingError": "Die Daten konnten nicht abgerufen werden, bitte später noch einmal versuchen.", "confirmUninstallPlugin": "Möchtest du dieses Plugin wirklich deinstallieren?", - "grpcMethodDescription": "Der Name der Methode wird in das \"cammelCase\"-Format konvertiert (z.B. sayHello, check, etc.)", + "grpcMethodDescription": "Der Name der Methode wird in das \"camelCase\"-Format konvertiert (z.B. sayHello, check, etc.)", "Passive Monitor Type": "Passiver Monitortyp", "Specific Monitor Type": "Spezifischer Monitortyp", "webhookAdditionalHeadersTitle": "Zusätzliche Header", @@ -912,5 +912,6 @@ "Add a domain": "Domain hinzufügen", "Remove domain": "Domain '{0}' entfernen", "successKeyword": "Erfolgsschlüsselwort", - "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird" + "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird", + "settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld." } From 0eca97f6906cf4018d158d538ea7a312b223b263 Mon Sep 17 00:00:00 2001 From: leonsk29 Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 263/494] Translated using Weblate (Spanish) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: leonsk29 Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/es/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/es-ES.json | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 3e677a17..6be37ff7 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -2,7 +2,7 @@ "languageName": "Español", "checkEverySecond": "Comprobar cada {0} segundos", "retriesDescription": "Número máximo de intentos antes de que el servicio se marque como CAÍDO y una notificación sea enviada", - "ignoreTLSError": "Ignorar error TLS/SSL para sitios web HTTPS", + "ignoreTLSError": "Ignorar errores TLS/SSL para sitios web HTTPS", "upsideDownModeDescription": "Invertir el estado. Si el servicio es alcanzable, está CAÍDO.", "maxRedirectDescription": "Número máximo de direcciones a seguir. Establecer a 0 para deshabilitar.", "acceptedStatusCodesDescription": "Seleccionar los códigos de estado que se consideran como respuesta exitosa.", @@ -552,7 +552,7 @@ "Icon URL": "URL de Icono", "aboutIconURL": "Puede proporcionar un enlace a una imagen en \"URL de icono\" para anular la imagen de perfil predeterminada. No se utilizará si se establece Icono Emoji.", "enableGRPCTls": "Permite enviar solicitudes gRPC con conexión TLS", - "grpcMethodDescription": "Nombre del método es convertido a formato cammelCase tal como digoHola, verificandoTodo, etc.", + "grpcMethodDescription": "El nombre del método es convertido al formato camelCase tal como sayHello, check, etc.", "dnsPortDescription": "Puerto servidor DNS. Por defecto al 53. Puedes cambiar el puerto en cualquier momento.", "recurringIntervalMessage": "Ejecutar una vez al día | Ejecutar una vez cada {0} días", "affectedMonitorsDescription": "Selecciona los monitores que se ven afectados por el mantenimiento actual", @@ -848,7 +848,7 @@ "toastSuccessTimeout": "Tiempo de espera para notificaciones de éxito", "toastErrorTimeout": "Tiempo de espera para notificaciones de error", "setupDatabaseChooseDatabase": "¿Qué base de datos desea utilizar?", - "setupDatabaseEmbeddedMariaDB": "No necesitas configurar nada. Esta imagen docker ha incrustado y configurado un MariaDB para ti automáticamente. Uptime Kuma se conectará a esta base de datos a través de un socket unix.", + "setupDatabaseEmbeddedMariaDB": "No necesitas configurar nada. Esta imagen docker ha incrustado y configurado MariaDB para ti automáticamente. Uptime Kuma se conectará a esta base de datos a través de un socket unix.", "setupDatabaseMariaDB": "Conectarse a una base de datos MariaDB externa. Debe configurar la información de conexión a la base de datos.", "setupDatabaseSQLite": "Un archivo de base de datos simple, recomendado para despliegues a pequeña escala. Antes de la versión 2.0.0, Uptime Kuma utilizaba SQLite como base de datos predeterminada.", "dbName": "Nombre de la base de datos", @@ -909,5 +909,12 @@ "self-hosted container": "contenedor autohospedado", "remoteBrowserToggle": "Por defecto Chromium se ejecuta dentro del contenedor Uptime Kuma. Puedes usar un navegador remoto activando este interruptor.", "useRemoteBrowser": "Utilice un navegador remoto", - "deleteRemoteBrowserMessage": "¿Está seguro de que desea eliminar este Navegador Remoto para todos los monitores?" + "deleteRemoteBrowserMessage": "¿Está seguro de que desea eliminar este Navegador Remoto para todos los monitores?", + "settingUpDatabaseMSG": "Configurando la base de datos. Puede tomar un tiempo, sea paciente, por favor.", + "Search monitored sites": "Buscar sitios monitoreados", + "statusPageSpecialSlugDesc": "Identificador único especial {0}: esta página será mostrada cuando no se proporcione ningún identificador único", + "emailTemplateHeartbeatJSON": "Objeto que describe la señal de vida", + "ntfyPriorityHelptextAllEvents": "Todos los eventos son enviados con la máxima prioridad", + "ntfyPriorityHelptextAllExceptDown": "Todos los eventos son enviados con esta prioridad, excepto los eventos {0}, que tienen una prioridad de {1}", + "templateHeartbeatJSON": "Objeto que describe el latido" } From 2a001d1aaef7bdab86c2a39deec72edca3487500 Mon Sep 17 00:00:00 2001 From: Rumplin Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 264/494] Translated using Weblate (Slovenian) Currently translated at 59.1% (523 of 884 strings) Co-authored-by: Rumplin Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/sl-SI.json | 80 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 43b885bd..c5724855 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -3,7 +3,7 @@ "checkEverySecond": "Preveri na vsakih {0} sekund", "retryCheckEverySecond": "Ponovno poskusi na vsakih {0} sekund", "retriesDescription": "Maksimalno število poskusov predenj se storitev označi kot 'ne deluje' in se pošlje obvestilo", - "ignoreTLSError": "Ignoriraj TLS/SSL napake za HTTPS spletne strani", + "ignoreTLSError": "Prezrite napake TLS/SSL za spletna mesta HTTPS", "upsideDownModeDescription": "Negiraj status. Če je storitev deluje bo označena kot 'ne deluje'.", "maxRedirectDescription": "Maksimalno število sledečih preusmeritev. 0 onemogoči preusmeritve.", "acceptedStatusCodesDescription": "Izberi kode statusa veljavna kot uspešen odgovor.", @@ -466,5 +466,81 @@ "Reconnecting...": "Ponovna povezava ...", "General Monitor Type": "Splošni tip monitorja", "Passive Monitor Type": "Pasivni monitor tip", - "Specific Monitor Type": "Specifičen monitor tip" + "Specific Monitor Type": "Specifičen monitor tip", + "setup a new monitor group": "nastavite novo skupino monitorjev", + "smtpDkimDesc": "Za uporabo glejte Nodemailer DKIM {0}.", + "smseagleRecipient": "Prejemnik(-i) (več mora biti ločeno z vejico)", + "Server URL should not contain the nfty topic": "URL strežnika ne sme vsebovati teme nfty", + "Add API Key": "Dodaj API ključ", + "deleteAPIKeyMsg": "Ali ste prepričani, da želite izbrisati ta API ključ?", + "ntfyAuthenticationMethod": "Metoda avtentikacije", + "setupDatabaseEmbeddedMariaDB": "Ničesar vam ni treba nastaviti. Ta slika dockerja je za vas samodejno vdelala in konfigurirala MariaDB. Uptime Kuma se bo povezal s to zbirko podatkov prek vtičnice unix.", + "setupDatabaseSQLite": "Preprosta datoteka zbirke podatkov, priporočljiva za uvedbe v majhnem obsegu. Pred v2.0.0 je Uptime Kuma uporabljal SQLite kot privzeto bazo podatkov.", + "Expiry": "Iztek", + "settingUpDatabaseMSG": "Postavitev podatkovne baze. Lahko traja nekaj časa, bodite potrpežljivi.", + "smtpDkimDomain": "Ime domene", + "smtpDkimPrivateKey": "Privatni ključ", + "smtpDkimHashAlgo": "Algoritem zgoščevanja (neobvezno)", + "smseagleGroup": "Ime(na) skupinskega imenika", + "smseagleContact": "Ime kontakta skupinskega imenika(ov)", + "smseagleRecipientType": "Vrsta prejemnika", + "apiKeyAddedMsg": "Vaš ključ API je bil dodan. Zabeležite si ga, saj ne bo več prikazan.", + "Integration Key": "Integracijski ključ", + "Expiry date": "Datum poteka", + "pushOthers": "Ostalo", + "programmingLanguages": "Programski jeziki", + "openModalTo": "odpri modalno za {0}", + "Add a domain": "Dodajte domeno", + "Remove domain": "Odstrani domeno '{0}'", + "smtpDkimSettings": "DKIM Nastavitve", + "documentation": "dokumentacijo", + "Integration URL": "Integracijski URL", + "Auto resolve or acknowledged": "Samodejna razrešitev ali potrditev", + "do nothing": "ne naredi ničesar", + "auto acknowledged": "samodejno potrjeno", + "alertaRecoverState": "Obnovi stanje", + "smseagleTo": "Telefonska številka(ke)", + "smseagleEncoding": "Pošlji kot Unicode", + "smseaglePriority": "Prednost sporočila (0–9, privzeto = 0)", + "Recipient Number": "Številka prejemnika", + "From Name/Number": "Od Ime/Številka", + "Leave blank to use a shared sender number.": "Če želite uporabiti skupno številko pošiljatelja, pustite prazno.", + "onebotGroupMessage": "Skupina", + "onebotPrivateMessage": "Privatno", + "onebotUserOrGroupId": "Skupina/Uporabniški ID", + "onebotSafetyTips": "Zaradi varnosti morate nastaviti žeton za dostop", + "pushDeerServerDescription": "Za uporabo uradnega strežnika pustite prazno", + "Google Analytics ID": "Google Analytics ID", + "Edit Tag": "Uredi oznako", + "Server Address": "Naslov strežnika", + "Learn More": "Več o tem", + "API Keys": "API Ključi", + "Don't expire": "Ne poteče", + "Continue": "Nadaljuj", + "Add Another": "Dodaj še eno", + "Key Added": "Ključ dodan", + "No API Keys": "Ni API ključev", + "apiKey-inactive": "Neaktivno", + "Expires": "Poteče", + "disableAPIKeyMsg": "Ali ste prepričani, da želite onemogočiti ta API ključ?", + "Generate": "Generiraj", + "pagertreeIntegrationUrl": "Integracijski URL", + "pagertreeUrgency": "Nujnost", + "pagertreeSilent": "Tiho", + "pagertreeLow": "Nizko", + "pagertreeMedium": "Srednje", + "pagertreeHigh": "Visoko", + "pagertreeCritical": "Kritično", + "pagertreeResolve": "Samodejno razreši", + "pagertreeDoNothing": "Ne naredi ničesar", + "lunaseaTarget": "Cilj", + "lunaseaDeviceID": "ID Naprave", + "lunaseaUserID": "Uporabniški ID", + "ntfyPriorityHelptextAllEvents": "Vsi dogodki se pošiljajo z najvišjo prioriteto", + "alertaAlertState": "Stanje opozorila", + "auto resolve": "samodejno razreševanje", + "apiKey-active": "Aktivno", + "apiKey-expired": "Poteklo", + "Resend Notification if Down X times consecutively": "Znova pošljite obvestilo, če X-krat zapored ne uspe", + "alertaEnvironment": "Okolje" } From f8650239a6c59674b5d340164f0ea0737f280be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Gen=C3=A7?= Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 265/494] Translated using Weblate (Turkish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Ömer Faruk Genç Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/tr-TR.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 35642ab6..72de6d8f 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -810,7 +810,7 @@ "Enable Kafka SSL": "Kafka SSL'i etkinleştir", "Kafka SASL Options": "Kafka SASL Seçenekleri", "Mechanism": "Mekanizma", - "Pick a SASL Mechanism...": "Bir SASL Mekanizması seçin...", + "Pick a SASL Mechanism...": "Bir SASL Mekanizması seçin…", "Authorization Identity": "Yetki Kimliği", "Secret AccessKey": "Gizli Erişim Anahtarı", "Session Token": "Oturum Jetonu", @@ -912,5 +912,11 @@ "useRemoteBrowser": "Uzak Tarayıcı Kullanın", "deleteRemoteBrowserMessage": "Bu Uzak Tarayıcıyı tüm monitörler için silmek istediğinizden emin misiniz?", "openModalTo": "modeli {0}'a aç", - "Add a domain": "Alan adı ekle" + "Add a domain": "Alan adı ekle", + "Search monitored sites": "İzlenen siteleri arayın", + "ntfyPriorityHelptextAllEvents": "Tüm olaylar maksimum öncelik ile gönderilir", + "settingUpDatabaseMSG": "Veritabanı kuruluyor. Biraz zaman alabilir, lütfen sabırlı olun.", + "statusPageSpecialSlugDesc": "Özel slug {0}: slug belirtilmediğinde bu sayfa gösterilecektir", + "ntfyPriorityHelptextAllExceptDown": "Önceliği {1} olan {0}-olayları hariç tüm olaylar bu öncelik ile gönderilir", + "What is a Remote Browser?": "Uzak Tarayıcı Nedir?" } From 8cce068224893f29af72f6501b3bfa5e2d03f8fc Mon Sep 17 00:00:00 2001 From: Thanassis Zografos Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 266/494] Translated using Weblate (Greek) Currently translated at 76.0% (672 of 884 strings) Co-authored-by: Thanassis Zografos Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/el/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/el-GR.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index a96e40be..7857e06e 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -704,5 +704,10 @@ "setupDatabaseSQLite": "Ένα απλό αρχείο βάσης δεδομένων, προτεινόμενο για εγκαταστάσεις μικρής κλίμακας. Πρίν από την έκδοση 2.0.0, το Uptime Kuma χρησιμοποιούσε το SQLite ως την προεπιλεγμένη βάση δεδομένων.", "Cannot connect to the socket server": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή socket", "Reconnecting...": "Επανασύνδεση", - "Home": "Αρχική" + "Home": "Αρχική", + "settingUpDatabaseMSG": "Ρύθμιση της βάσης δεδομένων. Μπορεί να διαρκέσει λίγο, παρακαλώ να είστε υπομονετικοί.", + "dbName": "Όνομα Βάσης Δεδομένων", + "Invert Keyword": "Αντιστροφή Λέξης-Κλειδιού", + "Expected Value": "Αναμενόμενη Τιμή", + "Json Query": "Ερώτημα Json" } From 3b7e3e093bfe3a59099997513d49f1ad68066bae Mon Sep 17 00:00:00 2001 From: stanol Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 267/494] Translated using Weblate (Ukrainian) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: stanol Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/uk-UA.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index ae93acab..d5de9084 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -98,7 +98,7 @@ "Username": "Логін", "Password": "Пароль", "Remember me": "Запам'ятати мене", - "Login": "Вхід до системи", + "Login": "Увійти", "No Monitors, please": "Моніторів немає, будь ласка", "No Monitors": "Монітори відсутні", "add one": "створіть новий", @@ -434,9 +434,9 @@ "Stop": "Зупинити", "Uptime Kuma": "Uptime Kuma", "Slug": "Slug", - "Accept characters:": "Прийняти символи:", + "Accept characters:": "Приймаються символи:", "startOrEndWithOnly": "Починається або закінчується лише {0}", - "No consecutive dashes": "Немає послідовних тире", + "No consecutive dashes": "Без послідовних тире", "The slug is already taken. Please choose another slug.": "Slug вже зайнятий. Будь ласка, виберіть інший slug.", "No Proxy": "Без проксі", "Page Not Found": "Сторінку не знайдено", @@ -815,7 +815,7 @@ "Kafka Topic Name": "Назва теми Kafka", "Kafka SASL Options": "Параметри Kafka SASL", "Mechanism": "Механізм", - "Pick a SASL Mechanism...": "Виберіть механізм SASL...", + "Pick a SASL Mechanism...": "Виберіть механізм SASL…", "Authorization Identity": "Ідентифікатор авторизації", "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Secret AccessKey", @@ -918,5 +918,11 @@ "Remove domain": "Видалити домен '{0}'", "successKeyword": "Ключове слово успіху", "successKeywordExplanation": "Ключове слово MQTT, яке вважатиметься успіхом", - "openModalTo": "відкрити модальне вікно для {0}" + "openModalTo": "відкрити модальне вікно для {0}", + "ntfyPriorityHelptextAllExceptDown": "З цим пріоритетом надсилаються всі події, окрім {0}-подій, які мають пріоритет {1}", + "settingUpDatabaseMSG": "Налаштування бази даних. Це може зайняти деякий час, будь ласка, будьте терплячі.", + "statusPageSpecialSlugDesc": "Спеціальний slug {0}: ця сторінка буде показана, якщо slug не надано", + "Search monitored sites": "Пошук сайтів, що відстежуються", + "ntfyPriorityHelptextAllEvents": "Усі події надсилаються з максимальним пріоритетом", + "What is a Remote Browser?": "Що таке віддалений браузер?" } From e815ee919273f9ea91dc14e668842c225c9bd669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Bratovi=C4=87?= Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 268/494] Translated using Weblate (Croatian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Ivan Bratović Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hr-HR.json | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 15b9dc54..34ddcabf 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -589,7 +589,7 @@ "Enable Kafka Producer Auto Topic Creation": "Omogući automatsku izradu teme za Kafka producera", "Kafka SASL Options": "Kafka SASL opcije", "Mechanism": "Mehanizam", - "Pick a SASL Mechanism...": "Odaberite SASL mehanizam...", + "Pick a SASL Mechanism...": "Odaberite SASL mehanizam…", "AccessKey Id": "ID pristupnog ključa", "Secret AccessKey": "Tajni pristupni ključ", "Session Token": "Token sesije", @@ -889,5 +889,27 @@ "templateLimitedToUpDownNotifications": "dostupno samo za obavijesti dostupnosti", "noDockerHostMsg": "Nije dostupno. Morate postaviti Docker domaćina.", "DockerHostRequired": "Postavite Docker domaćina za ovaj Monitor.", - "Browser Screenshot": "Snimka zaslona preglednika" + "Browser Screenshot": "Snimka zaslona preglednika", + "successKeyword": "Ključna riječ za uspjeh", + "successKeywordExplanation": "MQTT ključna riječ koja označava uspješan odgovor", + "remoteBrowserToggle": "Chromium se pokreće unutar Uptime Kuma kontejnera. Možete koristiti udaljeni preglednik uključivanjem ove opcije.", + "deleteRemoteBrowserMessage": "Jeste li sigurni da želite ukloniti ovaj udaljeni preglednik za sve Monitore?", + "Remote Browsers": "Udaljeni preglednici", + "settingUpDatabaseMSG": "Postavljanje baze podatak u tijeku. Ovaj postupak može potrajati, budite strpljivi.", + "ntfyPriorityHelptextAllEvents": "Svi događaji šalju se s maksimalnim prioritetom", + "ntfyPriorityHelptextAllExceptDown": "Svi događaji šalju se ovim prioritetom, osim {0} događaja, koji imaju prioritet {1}", + "Search monitored sites": "Pretraži monitorirane stranice", + "statusPageSpecialSlugDesc": "Poseban slug {0}: ova stranica će se pokazati kada nijedan slug nije naveden", + "openModalTo": "Otvori modal do {0}", + "Add a domain": "Dodaj domenu", + "setup a new monitor group": "Postavljanje nove grupe Monitora", + "Remove domain": "Ukloni domenu '{0}'", + "Remote Browser": "Udaljeni preglednik", + "Add a Remote Browser": "Dodaj udaljeni preglednik", + "Remote Browser not found!": "Udaljeni preglednik nije pronađen!", + "remoteBrowsersDescription": "Udaljeni preglenici alternativa su lokalnom pokretanju Chromiuma. Postavite uslugu poput browserless.io ili spojite vlastiti preglednik", + "self-hosted container": "kontejner koji je self-hosted", + "useRemoteBrowser": "Korištenje udaljenog preglednika", + "Add a new expiry notification day": "Dodaj novi dan za istek obavijesti", + "Remove the expiry notification": "Ukloni dan za istek obavijesti" } From 055aa8d2da43c62efe2e0b385386810c140441a5 Mon Sep 17 00:00:00 2001 From: Aji Priyo Wibowo Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 269/494] Translated using Weblate (Indonesian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Aji Priyo Wibowo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/id-ID.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index cfa2d10b..8ba115af 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -607,7 +607,7 @@ "strategyManual": "Aktif/TidakAktif Secara Manual", "infiniteRetention": "Setel ke 0 untuk retensi tak terbatas.", "enableGRPCTls": "Izinkan untuk mengirim permintaan gRPC dengan koneksi TLS", - "grpcMethodDescription": "Nama metode dikonversi ke format cammelCase seperti sayHello, check, dll.", + "grpcMethodDescription": "Nama metode dikonversi ke format camelCase seperti sayHello, check, dll.", "deleteMaintenanceMsg": "Apakah Anda yakin ingin menghapus pemeliharaan ini?", "Free Mobile API Key": "Kunci API Seluler Gratis", "Enable TLS": "Aktifkan TLS", @@ -838,7 +838,7 @@ "emailTemplateHeartbeatJSON": "objek yang menggambarkan heartbeat", "emailTemplateMsg": "pesan pemberitahuan", "emailCustomBody": "Kustomisasi Body", - "jsonQueryDescription": "Lakukan Kueri json terhadap respons dan periksa nilai yang diharapkan (Nilai pengembalian akan dikonversi menjadi string untuk perbandingan). Lihat jsonata.org untuk dokumentasi tentang bahasa kueri. Playground dapat ditemukan di di sini.", + "jsonQueryDescription": "Lakukan Query json terhadap respons dan periksa nilai yang diharapkan (Nilai yang dikembalikan akan diubah menjadi string untuk perbandingan). Lihat {0} untuk dokumentasi tentang bahasa kueri. Taman bermain dapat ditemukan {1}.", "Notify Channel": "Beritahu Saluran", "Server URL should not contain the nfty topic": "URL server tidak boleh berisi topik nfty", "PushDeer Server": "Server PushDeer", @@ -893,8 +893,8 @@ "successKeywordExplanation": "Kata Kunci MQTT yang akan dianggap sukses", "Remove the expiry notification": "Hapus hari pemberitahuan kedaluwarsa", "Browser Screenshot": "Tangkapan Layar Browser", - "Remote Browsers": "Remote Browsers", - "Remote Browser": "Remote Browser", + "Remote Browsers": "Peramban Jarak Jauh", + "Remote Browser": "Peramban Jarak Jauh", "Add a Remote Browser": "Tambahkan Remote Browser", "Remote Browser not found!": "Remote Browser tidak ditemukan!", "remoteBrowsersDescription": "Remote Browsers adalah alternatif untuk menjalankan Chromium secara lokal. Siapkan dengan layanan seperti browserless.io atau sambungkan ke layanan Anda sendiri", @@ -906,5 +906,11 @@ "setup a new monitor group": "menyiapkan grup monitor baru", "openModalTo": "buka modal ke {0}", "Add a domain": "Tambahkan domain", - "Remove domain": "Hapus domain '{0}'" + "Remove domain": "Hapus domain '{0}'", + "successKeyword": "Kata Kunci Sukses", + "ntfyPriorityHelptextAllExceptDown": "Semua peristiwa dikirim dengan prioritas ini, kecuali peristiwa {0}, yang memiliki prioritas {1}", + "statusPageSpecialSlugDesc": "Tanda khusus {0}: halaman ini akan ditampilkan jika tidak ada tanda khusus yang disediakan", + "settingUpDatabaseMSG": "Menyiapkan basis data. Mungkin perlu waktu beberapa saat, harap bersabar.", + "Search monitored sites": "Mencari situs yang dipantau", + "ntfyPriorityHelptextAllEvents": "Semua peristiwa dikirim dengan prioritas maksimum" } From eaa893909882d7ca407f0c2da3589515af5f2e3e Mon Sep 17 00:00:00 2001 From: demonisius Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 270/494] Translated using Weblate (Russian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: demonisius Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 59137237..d802f59e 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -743,7 +743,7 @@ "deleteAPIKeyMsg": "Вы уверены, что хотите удалить этот ключ API?", "wayToGetPagerTreeIntegrationURL": "После создания интеграции Uptime Kuma в PagerTree скопируйте файл Endpoint. См. полную информацию {0}", "telegramMessageThreadIDDescription": "Необязательный уникальный идентификатор для цепочки сообщений (темы) форума; только для форумов-супергрупп", - "grpcMethodDescription": "Имя метода преобразуется в формат cammelCase, например, sayHello, check и т. д.", + "grpcMethodDescription": "Имя метода преобразуется в формат camelCase, например, sayHello, check и т. д.", "Proto Service Name": "Название службы Proto", "Proto Method": "Метод Proto", "Proto Content": "Содержание Proto", @@ -904,5 +904,27 @@ "successEdited": "Успешно отредактировано.", "Browser Screenshot": "Скриншот браузера", "noDockerHostMsg": "Недоступно. Сначала ностройте Docker Host.", - "DockerHostRequired": "Пожалуйста, настройте Docker Host для этого монитора." + "DockerHostRequired": "Пожалуйста, настройте Docker Host для этого монитора.", + "successKeywordExplanation": "Ключевое слово MQTT, которое будет считаться успешным", + "successKeyword": "Ключевое слово успеха", + "statusPageSpecialSlugDesc": "Специальный ярлык {0}: эта страница будет отображаться, если ярлык не указан", + "ntfyPriorityHelptextAllExceptDown": "Все события отправляются с этим приоритетом, кроме {0}-событий, которые имеют приоритет {1}", + "self-hosted container": "контейнер, который хоститься самостоятельно", + "remoteBrowserToggle": "По умолчанию Chromium работает внутри контейнера Uptime Kuma. Вы можете использовать удаленный браузер, переключив этот переключатель.", + "Remote Browsers": "Удаленные браузеры", + "Remote Browser": "Удаленный браузер", + "Add a Remote Browser": "Добавить удаленный браузер", + "Remote Browser not found!": "Удаленный браузер не найден!", + "remoteBrowsersDescription": "Удаленные браузеры — альтернатива локальному запуску Chromium. Установите такой сервис, как browserless.io, или подключитесь к своему собственному", + "settingUpDatabaseMSG": "Настройка базы данных. Это может занять некоторое время, пожалуйста подождите.", + "setup a new monitor group": "настроить новую группу мониторов", + "openModalTo": "открыть модальное окно {0}", + "Add a domain": "Добавить домен", + "Remove domain": "Удалить домен '{0}'", + "Search monitored sites": "Поиск отслеживаемых сайтов", + "ntfyPriorityHelptextAllEvents": "Все события отправляются с максимальным приоритетом", + "useRemoteBrowser": "Использовать удаленный браузер", + "deleteRemoteBrowserMessage": "Вы уверены, что хотите удалить этот удаленный браузер для всех мониторов?", + "Remove the expiry notification": "Удалить дату истечения срока действия уведомления", + "Add a new expiry notification day": "Добавить новый день уведомления об истечении срока действия" } From f9b3f9766ef94caef7d59e492a58387ad1c382ea Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 271/494] Translated using Weblate (German) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (German) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (German) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (German (Switzerland)) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Marco Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/de-CH.json | 12 +++++++++--- src/lang/de-DE.json | 9 +++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index bd3f958c..d20e3c1e 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -695,7 +695,7 @@ "cloneOf": "Klon von {0}", "wayToGetZohoCliqURL": "Wie eine Webhook URL erstellt werden kann, erfährst du {0}.", "enableGRPCTls": "Senden von gRPC Anforderungen mit TLS Verbindung zulassen", - "grpcMethodDescription": "Der Name der Methode wird in das \"cammelCase\" Format konvertiert (z.B. sayHello, check, etc.)", + "grpcMethodDescription": "Der Name der Methode wird in das \"camelCase\" Format konvertiert (z.B. sayHello, check, etc.)", "wayToGetKookGuildID": "Schalte den „Entwicklermodus“ in den Kook-Einstellungen ein und klicke mit der rechten Maustaste auf die Gilde, um die ID zu erhalten", "Guild ID": "Gilde ID", "Lowcost": "Kostengünstig", @@ -801,7 +801,7 @@ "Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren", "Kafka SASL Options": "Kafka SASL Optionen", "Mechanism": "Mechanismus", - "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus...", + "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus…", "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Secret AccessKey", "Session Token": "Sitzungs-Token", @@ -909,5 +909,11 @@ "Add a domain": "Domain hinzufügen", "Remove domain": "Domain '{0}' entfernen", "successKeyword": "Erfolgsschlüsselwort", - "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird" + "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird", + "ntfyPriorityHelptextAllExceptDown": "Alle Ereignisse werden mit dieser Priorität gesendet, ausser {0}-Ereignisse, die eine Priorität von {1} haben", + "settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld.", + "Search monitored sites": "Überwachte Seiten durchsuchen", + "statusPageSpecialSlugDesc": "Spezieller Slug {0}: diese Seite wird angezeigt, wenn kein Slug angegeben wird", + "ntfyPriorityHelptextAllEvents": "Alle Ereignisse werden mit der höchsten Priorität gesendet", + "What is a Remote Browser?": "Was ist ein Remote-Browser?" } diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 95affe1a..0d233636 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -805,7 +805,7 @@ "Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren", "Kafka SASL Options": "Kafka SASL Optionen", "Mechanism": "Mechanismus", - "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus...", + "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus…", "Authorization Identity": "Authorization Identity", "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Secret AccessKey", @@ -913,5 +913,10 @@ "Remove domain": "Domain '{0}' entfernen", "successKeyword": "Erfolgsschlüsselwort", "successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird", - "settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld." + "settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld.", + "Search monitored sites": "Überwachte Seiten durchsuchen", + "statusPageSpecialSlugDesc": "Spezieller Slug {0}: diese Seite wird angezeigt, wenn kein Slug angegeben wird", + "ntfyPriorityHelptextAllEvents": "Alle Ereignisse werden mit der höchsten Priorität gesendet", + "ntfyPriorityHelptextAllExceptDown": "Alle Ereignisse werden mit dieser Priorität gesendet, außer {0}-Ereignisse, die eine Priorität von {1} haben", + "What is a Remote Browser?": "Was ist ein Remote-Browser?" } From 8773eed7907b8a9635610ec85eafa30e3288b703 Mon Sep 17 00:00:00 2001 From: MrEddX Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 272/494] Translated using Weblate (Bulgarian) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: MrEddX Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/bg-BG.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lang/bg-BG.json b/src/lang/bg-BG.json index eb7fb8cc..03c2d66e 100644 --- a/src/lang/bg-BG.json +++ b/src/lang/bg-BG.json @@ -632,7 +632,7 @@ "Server Timezone": "Часова зона на сървъра", "statusPageMaintenanceEndDate": "Край", "enableGRPCTls": "Разреши изпращане на gRPC заявка с TLS връзка", - "grpcMethodDescription": "Името на метода се форматира в \"cammelCase\", например sayHello, check, и т.н.", + "grpcMethodDescription": "Името на метода се форматира в \"camelCase\", например sayHello, check, и т.н.", "smseagle": "SMSEagle", "smseagleTo": "Тел. номер(а)", "smseagleGroup": "Име на група/и от тел. указател", @@ -818,7 +818,7 @@ "Kafka Producer Message": "Съобщение на Kafka Producer", "Kafka SASL Options": "Опции на Kafka SASL", "Mechanism": "Механизъм", - "Pick a SASL Mechanism...": "Изберете SASL механизъм...", + "Pick a SASL Mechanism...": "Изберете SASL механизъм…", "Authorization Identity": "Идентичност за оторизиране", "AccessKey Id": "AccessKey ID", "Secret AccessKey": "Таен ключ за достъп", @@ -912,5 +912,11 @@ "useRemoteBrowser": "Използвай отдалечен браузър", "deleteRemoteBrowserMessage": "Сигурни ли сте, че желаете да изтриете този отдалечен браузър за всички монитори?", "successKeyword": "Ключова дума за успех", - "successKeywordExplanation": "MQTT ключова дума, която ще се счита за успех" + "successKeywordExplanation": "MQTT ключова дума, която ще се счита за успех", + "ntfyPriorityHelptextAllExceptDown": "Всички събития се изпращат с този приоритет, с изключение на {0}-събития, които имат приоритет {1}", + "statusPageSpecialSlugDesc": "Специален слъг {0}: тази страница ще бъде показана, когато не е предоставен слъг", + "ntfyPriorityHelptextAllEvents": "Всички събития се изпращат с максимален приоритет", + "settingUpDatabaseMSG": "Настройка на базата данни. Може да отнеме известно време, моля, бъдете търпеливи.", + "Search monitored sites": "Търсене на мониторирани сайтове", + "What is a Remote Browser?": "Какво е отдалечен браузър?" } From 999ed525e53cce9ec9e6c76694d82fa5a2dbbbc7 Mon Sep 17 00:00:00 2001 From: Alanimdeo Date: Wed, 17 Jan 2024 19:01:35 +0000 Subject: [PATCH 273/494] Translated using Weblate (Korean) Currently translated at 84.6% (748 of 884 strings) Co-authored-by: Alanimdeo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ko-KR.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index 1f87ce53..48469530 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -762,5 +762,18 @@ "Home": "홈", "Cannot connect to the socket server": "소켓 서버에 연결 할 수 없습니다", "Reconnecting...": "재 연결중...", - "Json Query": "Json 쿼리" + "Json Query": "JSON 쿼리", + "settingUpDatabaseMSG": "데이터베이스를 설정하는 중입니다. 시간이 걸릴 수 있으니 기다려 주세요.", + "enableNSCD": "모든 DNS 요청을 캐싱하기 위해 NSCD (Name Service Cache Daemon) 활성화", + "pushOthers": "기타", + "programmingLanguages": "프로그래밍 언어", + "Select": "선택", + "Edit Maintenance": "점검 수정하기", + "styleElapsedTime": "하트비트 바 밑의 지난 시간 표시", + "styleElapsedTimeShowNoLine": "보이기 (선 없음)", + "styleElapsedTimeShowWithLine": "보이기 (선 있음)", + "chromeExecutable": "Chrome/Chromium 실행 파일", + "chromeExecutableAutoDetect": "자동 감지", + "Invert Keyword": "키워드 반전", + "Expected Value": "기대값" } From b6a75e198c58b91e5f69e0b6859a8d0ae863bb09 Mon Sep 17 00:00:00 2001 From: Jong Ryul Oh Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 274/494] Translated using Weblate (Korean) Currently translated at 84.6% (748 of 884 strings) Co-authored-by: Jong Ryul Oh Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ko-KR.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index 48469530..b3671c80 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -775,5 +775,9 @@ "chromeExecutable": "Chrome/Chromium 실행 파일", "chromeExecutableAutoDetect": "자동 감지", "Invert Keyword": "키워드 반전", - "Expected Value": "기대값" + "Expected Value": "기대값", + "Add a domain": "도메인 추가", + "Remove domain": "도메인 '{0}' 제거", + "Monitor Group": "모니터링 그룹", + "Monitor Setting": "{0}의 모니터 설정" } From ceb1d90095dc4aaa2bc14f0fb4d923f989608ca4 Mon Sep 17 00:00:00 2001 From: Abner Santana Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 275/494] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.8% (883 of 884 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Abner Santana Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pt-BR.json | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index be9f996f..0d591123 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -308,7 +308,7 @@ "Notification Service": "Serviço De Notificação", "default: notify all devices": "padrão: notificar todos os dispositivos", "Trigger type:": "Tipo Do Acionamento:", - "Then choose an action, for example switch the scene to where an RGB light is red.": "Então escolha uma ação, por exemplo, mudar o cenário onde uma luz RGB está vermelha.", + "Then choose an action, for example switch the scene to where an RGB light is red.": "Escolha uma ação, por exemplo, mudar o cenário onde uma luz RGB está vermelha.", "Enable": "Habilitado", "Disable": "Desabilitado", "IconUrl": "URL Do Ícone", @@ -519,7 +519,7 @@ "maintenanceStatus-unknown": "Desconhecido", "enableGRPCTls": "Permita para enviar requisições gRPC com conexões TLS", "confirmDeleteTagMsg": "Você tem certeza que deseja apagar essa tag? Monitores associados a essa tag não serão apagados.", - "grpcMethodDescription": "O nome do método é convertido para o formato cammelCase, exemplos: enviarBomDia, verificar, etc.", + "grpcMethodDescription": "O nome do método é convertido para o formato camelCase, exemplos: sayHello, check, etc.", "infiniteRetention": "Defina como 0 para um tempo infinito de retenção.", "octopushLegacyHint": "Você usa a versão legada do Octopush (2011-2020) ou a nova versão?", "Example:": "Exemplo: {0}", @@ -550,7 +550,7 @@ "endpoint": "endpoint", "pagertreeIntegrationUrl": "URL de Integração", "pagertreeUrgency": "Urgência", - "telegramMessageThreadID": "(Opcional) ID do tópico da mensagem", + "telegramMessageThreadID": "(Opcional) ID da thread", "Edit Tag": "Editar Etiqueta", "Server Address": "Endereço do Servidor", "Learn More": "Aprender Mais", @@ -582,7 +582,7 @@ "The slug is already taken. Please choose another slug.": "Este apelido já está em uso. Por favor escolha outro apelido.", "Setup Docker Host": "Configurar um Host Docker", "trustProxyDescription": "Confiar nos cabeçalhos 'X-Forwarded-*'. Se você quer obter o endereço IP correto do cliente mas seu Uptime Kuma está atrás de um proxy como Nginx ou Apache, você deve habilitar isso.", - "Automations can optionally be triggered in Home Assistant:": "Opcionalmente, automações podem ser acionadas no Home Assistant:", + "Automations can optionally be triggered in Home Assistant:": "Automações podem ser acionadas opcionalmente no Home Assistant:", "secureOptionNone": "Nenhum / STARTTLS (25, 587)", "apiKeyAddedMsg": "Sua chave de API foi adicionada. Por favor anote essa chave, ela não será mostrada novamente.", "Show Clickable Link": "Mostrar Link Clicável", @@ -635,7 +635,7 @@ "chromeExecutable": "Executável do Chrome/Chromium", "Edit Maintenance": "Editar Manutenção", "aboutIconURL": "Você pode fornecer um link para uma imagem em \"URL do Ícone\" para substituir a imagem de perfil padrão. Não será usado se o \"Ícone Emoji\" estiver configurado.", - "octopushAPIKey": "\"API Key\" da credencial API HTTP do painel de controle", + "octopushAPIKey": "\"API Key\" da credencial HTTP API do painel de controle", "octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle", "pushoversounds pushover": "Pushover (padrão)", "pushoversounds bike": "Bicicleta", @@ -803,7 +803,7 @@ "Enable Kafka SSL": "Habilitar Kafka SSL", "Enable Kafka Producer Auto Topic Creation": "Ativar a criação automática de tópicos do Kafka Producer", "Mechanism": "Mecanismo", - "Pick a SASL Mechanism...": "Escolha um mecanismo SASL...", + "Pick a SASL Mechanism...": "Escolha um mecanismo SASL…", "Bark API Version": "Versão da API Bark", "pushOthers": "Outros", "programmingLanguages": "Linguagens de Programação", @@ -880,5 +880,10 @@ "deleteRemoteBrowserMessage": "Tem certeza de que deseja excluir este Navegador Remoto para todos os monitores?", "Add a domain": "Adicione um domínio", "Remove domain": "Remover domínio '{0}'", - "openModalTo": "Abrir modal para {0}" + "openModalTo": "Abrir modal para {0}", + "ntfyPriorityHelptextAllExceptDown": "Todos os eventos são enviados com esta prioridade, exceto {0}-events, que têm prioridade de {1}", + "statusPageSpecialSlugDesc": "Slug especial {0}: esta página será mostrada quando nenhum slug for fornecido", + "settingUpDatabaseMSG": "Configurando o banco de dados. Pode demorar um pouco, por favor, seja paciente.", + "Search monitored sites": "Pesquisar sites monitorados", + "ntfyPriorityHelptextAllEvents": "Todos os eventos são enviados com prioridade máxima" } From ca0385c44938010af4ac80877d3d6f3621a4377c Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 276/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (885 of 885 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: AnnAngela Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 92dbf122..1726d4e3 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -1,5 +1,5 @@ { - "languageName": "English", + "languageName": "简体中文", "checkEverySecond": "检测频率 {0} 秒", "retryCheckEverySecond": "重试间隔 {0} 秒", "resendEveryXTimes": "每 {0} 次失败则重复发送一次", @@ -122,7 +122,7 @@ "disableauth.message1": "是否确定 {disableAuth}?", "disable authentication": "取消登录验证", "disableauth.message2": "这是为 {intendThirdPartyAuth} 的用户提供的功能,如 Cloudflare Access。", - "where you intend to implement third-party authentication": "有第三方认证", + "where you intend to implement third-party authentication": "您打算在哪里实施第三方身份验证", "Please use this option carefully!": "请谨慎使用!", "Logout": "退出", "Leave": "离开", @@ -668,7 +668,7 @@ "DateTime Range": "日期时间范围", "Strategy": "策略", "Free Mobile User Identifier": "Free Mobile 用户 ID", - "Free Mobile API Key": "Free Mobile API Key", + "Free Mobile API Key": "Free Mobile API 密钥", "Enable TLS": "启用 TLS", "Proto Service Name": "Proto 服务名称", "Proto Method": "Proto 方法", @@ -906,7 +906,7 @@ "Remote Browser": "远程浏览器", "Add a Remote Browser": "添加一个远程浏览器", "Remote Browser not found!": "未找到远程浏览器!", - "remoteBrowsersDescription": "远程浏览器可用以代替本地 Chromium 浏览器。您可使用类似于 browserless.io 的服务,或者您可自行运营一个类似服务", + "remoteBrowsersDescription": "远程浏览器可用以代替本地 Chromium 浏览器。您可使用类似于 browserless.io 的服务,或者自行运行一个类似服务", "self-hosted container": "自托管容器", "remoteBrowserToggle": "默认情况下 Chromium 运行于 Uptime Kuma 所在容器内。您可以通过切换此开关来使用远程浏览器。", "useRemoteBrowser": "使用远程浏览器", @@ -914,5 +914,11 @@ "Remove the expiry notification": "移除该天数条件", "openModalTo": "打开一个新窗口以{0}", "Add a domain": "添加一个域名", - "Remove domain": "移除域名 {0}" + "Remove domain": "移除域名 {0}", + "ntfyPriorityHelptextAllExceptDown": "除了 {0} 类事件使用 {1} 优先级外,其他所有事件均使用该优先级", + "statusPageSpecialSlugDesc": "特殊路径 {0}:当访客未指定路径时将显示此路径对应的页面", + "Search monitored sites": "搜索监控中站点", + "settingUpDatabaseMSG": "正在配置数据库中。这需要一定的时间,请耐心等候。", + "ntfyPriorityHelptextAllEvents": "所有事件将使用最高优先级", + "What is a Remote Browser?": "什么是远程浏览器?" } From 44f8a8f8e9aeb0ffc8df34b9d0682e34cc5e2014 Mon Sep 17 00:00:00 2001 From: Michal Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 277/494] Translated using Weblate (Czech) Currently translated at 99.5% (881 of 885 strings) Translated using Weblate (Czech) Currently translated at 99.5% (880 of 884 strings) Translated using Weblate (Czech) Currently translated at 97.7% (864 of 884 strings) Co-authored-by: Michal Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/cs-CZ.json | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index fdf41cfe..03659544 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -9,7 +9,7 @@ "upsideDownModeDescription": "Pomocí této možnosti změníte způsob vyhodnocování stavu. Pokud je služba dosažitelná, je NEDOSTUPNÁ.", "maxRedirectDescription": "Maximální počet přesměrování, která se mají následovat. Nastavením hodnoty 0 zakážete přesměrování.", "enableGRPCTls": "Umožnit odeslání gRPC žádosti během TLS spojení", - "grpcMethodDescription": "Název metody se převede do cammelCase formátu jako je sayHello, check, aj.", + "grpcMethodDescription": "Název metody se převede do camelCase formátu jako je sayHello, check, aj.", "acceptedStatusCodesDescription": "Vyberte stavové kódy, které jsou považovány za úspěšnou odpověď.", "Maintenance": "Údržba", "statusMaintenance": "V údržbě", @@ -894,5 +894,25 @@ "emailTemplateHeartbeatJSON": "objekt popisující heartbeat", "emailTemplateLimitedToUpDownNotification": "dostupné pouze pro heatbeaty BĚŽÍ/NEBĚŽÍ, jinak null", "templateMonitorJSON": "objekt popisující dohled", - "templateLimitedToUpDownNotifications": "dostupné pouze pro oznámení BĚŽÍ/NEBĚŽÍ" + "templateLimitedToUpDownNotifications": "dostupné pouze pro oznámení BĚŽÍ/NEBĚŽÍ", + "successKeyword": "Nalezení klíčového slova", + "Search monitored sites": "Vyhledávání dohledů", + "settingUpDatabaseMSG": "Vytvářím strukturu databáze. Může to chvíli trvat, buďte trpěliví.", + "successKeywordExplanation": "Klíčové slovo MQTT, které bude považováno za úspěch", + "Browser Screenshot": "Snímek obrazovky prohlížeče", + "setup a new monitor group": "nastavení nové skupiny dohledů", + "ntfyPriorityHelptextAllEvents": "Všechny události jsou odesílány s maximální prioritou", + "Remote Browser not found!": "Vzdálený prohlížeč nebyl nalezen!", + "Remove domain": "Odstranit doménu '{0}'", + "Add a Remote Browser": "Přidat vzdálený prohlížeč", + "self-hosted container": "samostatně hostovaný kontejner", + "useRemoteBrowser": "Použít Vzdálený prohlížeč", + "deleteRemoteBrowserMessage": "Opravdu chcete odstranit tento Vzdálený prohlížeč pro všechny dohledy?", + "openModalTo": "otevřít modální okno {0}", + "Add a domain": "Přidat doménu", + "Remote Browsers": "Vzdálené prohlížeče", + "Remote Browser": "Vzdálený prohlížeč", + "Add a new expiry notification day": "Přidání nového oznámení o vypršení platnosti", + "Remove the expiry notification": "Odstranit upozornění na vypršení", + "ntfyPriorityHelptextAllExceptDown": "Všechny události jsou odesílány s touto prioritou, kromě událostí {0}, které mají prioritu {1}" } From c33840fc9fc97892a3c6a9f39869c14b9c6fbd3f Mon Sep 17 00:00:00 2001 From: renph Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 278/494] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: renph Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/zh-CN.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 1726d4e3..1040b6dd 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -767,7 +767,7 @@ "Open Badge Generator": "打开徽章生成器", "Badge Style": "徽章样式", "Badge Down Days": "故障状态所需剩余天数", - "Badge Warn Days": "警告状态所需剩余天数", + "Badge Warn Days": "徽章预警天数", "Badge Warn Color": "警告状态下徽章颜色", "Badge Maintenance Color": "维护状态下徽章颜色", "Badge Down Color": "故障状态下徽章颜色", From 3b0800b78eb42a11c94cab2cebca15ceadfc725b Mon Sep 17 00:00:00 2001 From: Salvatore Cahyo Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 279/494] Translated using Weblate (Indonesian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Salvatore Cahyo Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/id-ID.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 8ba115af..6af8b3e1 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -141,7 +141,7 @@ "Create": "Buat", "Clear Data": "Bersihkan Data", "Events": "Peristiwa", - "Heartbeats": "Heartbeats", + "Heartbeats": "Detak", "Auto Get": "Ambil Otomatis", "backupDescription": "Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam berkas JSON.", "backupDescription2": "Catatan: Data sejarah dan peristiwa tidak disertakan.", From 05f9f35cb3bcfcb7d58dc7033f829f9d46409c30 Mon Sep 17 00:00:00 2001 From: Elia Ronchetti Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 280/494] Translated using Weblate (Italian) Currently translated at 72.5% (641 of 884 strings) Co-authored-by: Elia Ronchetti Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/it-IT.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index e63b5ddb..9767e761 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -666,5 +666,7 @@ "programmingLanguages": "Linguaggi di programmazione", "promosmsAllowLongSMS": "Permetti SMS lunghi", "liquidIntroduction": "La templatabilità è ottenuta attraverso il linguaggio di templating Liquid. Consulta {0} per le istruzioni d'uso. Queste sono le variabili disponibili:", - "templateMsg": "Messaggio della notifica" + "templateMsg": "Messaggio della notifica", + "Search monitored sites": "Ricerca tra i siti monitorati", + "settingUpDatabaseMSG": "Configurazione del database in corso. Potrebbe richiedere un po' di tempo..." } From 423e66d609f64703eb94fa3ae36b4ec964475fba Mon Sep 17 00:00:00 2001 From: dng-nguyn Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 281/494] Translated using Weblate (Vietnamese) Currently translated at 56.2% (497 of 884 strings) Co-authored-by: dng-nguyn Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/vi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/vi-VN.json | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index 83ee258c..4fecceba 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -3,8 +3,8 @@ "checkEverySecond": "Kiểm tra mỗi {0} giây", "retryCheckEverySecond": "Thử lại mỗi {0} giây", "retriesDescription": "Số lần thử lại tối đa trước khi dịch vụ được đánh dấu là down và gửi thông báo", - "ignoreTLSError": "Bỏ qua lỗi TLS/SSL với các web HTTPS", - "upsideDownModeDescription": "Chế độ đảo ngược, nếu dịch vụ có thể truy cập được nghĩa là DOWN.", + "ignoreTLSError": "Bỏ qua các lỗi TLS/SSL với các web HTTPS", + "upsideDownModeDescription": "Chế độ đảo ngược. nếu dịch vụ có thể truy cập được nghĩa là DOWN.", "maxRedirectDescription": "Số lần chuyển hướng (redirect) tối đa. Đặt thành 0 để tắt chuyển hướng.", "acceptedStatusCodesDescription": "Chọn mã trạng thái được coi là phản hồi thành công.", "passwordNotMatchMsg": "Mật khẩu nhập lại không khớp.", @@ -55,7 +55,7 @@ "Delete": "Xoá", "Current": "Hiện tại", "Uptime": "Uptime", - "Cert Exp.": "Chứng chỉ hết hạn", + "Cert Exp.": "Hạn chứng chỉ", "day": "ngày", "-day": "-ngày", "hour": "giờ", @@ -74,10 +74,10 @@ "Advanced": "Nâng cao", "Upside Down Mode": "Chế độ đảo ngược", "Max. Redirects": "Số chuyển hướng tối đa", - "Accepted Status Codes": "Codes trạng thái chấp nhận", + "Accepted Status Codes": "Status Code Được Chấp Nhận", "Push URL": "Push URL", "needPushEvery": "Bạn nên gọi URL mỗi {0} giây.", - "pushOptionalParams": "Tuỳ chỉnh parameters: {0}", + "pushOptionalParams": "Tham số tuỳ chọn: {0}", "Save": "Lưu", "Notifications": "Thông báo", "Not available, please setup.": "Chưa sẵn sàng, hãy cài đặt.", @@ -85,24 +85,24 @@ "Light": "Sáng", "Dark": "Tối", "Auto": "Tự động", - "Theme - Heartbeat Bar": "Theme - Heartbeat Bar", + "Theme - Heartbeat Bar": "Giao Diện - Thanh Trạng Thái", "Normal": "Bình thường", - "Bottom": "Dưới", - "None": "Không có", + "Bottom": "Phía dưới", + "None": "Không", "Timezone": "Múi giờ", - "Search Engine Visibility": "Hiển thị với các công cụ tìm kiếm", - "Allow indexing": "Cho phép indexing", - "Discourage search engines from indexing site": "Ngăn chặn các công cụ tìm kiếm indexing trang", + "Search Engine Visibility": "Khả năng hiển thị với các công cụ tìm kiếm", + "Allow indexing": "Cho phép index", + "Discourage search engines from indexing site": "Ngăn chặn các công cụ tìm kiếm index trang", "Change Password": "Thay đổi mật khẩu", "Current Password": "Mật khẩu hiện tại", "New Password": "Mật khẩu mới", "Repeat New Password": "Lặp lại mật khẩu mới", "Update Password": "Cập nhật mật khẩu", - "Disable Auth": "Tắt xác minh", - "Enable Auth": "Bật xác minh", + "Disable Auth": "Tắt xác minh đăng nhập", + "Enable Auth": "Bật xác minh đăng nhập", "disableauth.message1": "Bạn có muốn {disableAuth} không?", - "disable authentication": "TẮT XÁC THỰC", - "disableauth.message2": "Điều này rất nguy hiểm{intendThirdPartyAuth} cũng có thể truy cập và cướp quyền điều khiển.", + "disable authentication": "tắt xác thực đăng nhập", + "disableauth.message2": "Điều này rất nguy hiểm {intendThirdPartyAuth} cũng có thể truy cập và cướp quyền điều khiển.", "where you intend to implement third-party authentication": "BẤT KỲ AI", "Please use this option carefully!": "Vui lòng cẩn thận!", "Logout": "Đăng xuất", @@ -462,7 +462,7 @@ "onebotSafetyTips": "Để đảm bảo an toàn, hãy thiết lập access token", "Custom": "Tùy chỉnh", "Add New Tag": "Thêm thẻ mới", - "webhookAdditionalHeadersDesc": "Đặt header bổ sung được gửi cùng với webhook.", + "webhookAdditionalHeadersDesc": "Đặt header bổ sung được gửi cùng với webhook. Mỗi header nên được xác định bằng một JSON key/value.", "error": "lỗi", "HTTP Headers": "HTTP Headers", "recurringIntervalMessage": "Chạy một lần mỗi ngày | Chạy một lần mỗi {0} ngày", @@ -514,5 +514,12 @@ "Monitor": "Giám sát", "Invert Keyword": "Đảo ngược từ khóa", "Expected Value": "Giá trị mong muốn", - "Json Query": "Truy vấn Json" + "Json Query": "Truy vấn Json", + "settingUpDatabaseMSG": "Đang khởi tạo cơ sở dữ liệu. Có thể mất một lúc, vui lòng chờ.", + "pushOthers": "Khác", + "programmingLanguages": "Ngôn Ngữ Lập Trình", + "timeoutAfter": "Hết thời gian chờ sau {0} giây", + "styleElapsedTime": "Thời gian đã qua dưới thanh trạng thái", + "styleElapsedTimeShowNoLine": "Hiển Thị (Không Dòng Kẻ)", + "styleElapsedTimeShowWithLine": "Hiển Thị (Có Dòng Kẻ)" } From 5ea712e8266a0f5c71049bc274cce22a99615ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Huy=20M=E1=BA=A1nh=20T=C3=A2n?= Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 282/494] Translated using Weblate (Vietnamese) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 56.2% (497 of 884 strings) Co-authored-by: Lê Huy Mạnh Tân Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/vi/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/vi-VN.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index 4fecceba..3a7eb263 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -505,7 +505,7 @@ "resendEveryXTimes": "Gửi phản hồi mỗi {0} lần", "setupDatabaseMariaDB": "Kết nối tới một cơ sở dữ liệu MariaDB bên ngoài. Bạn cần cấu hình thông tin kết nối cơ sở dữ liệu.", "setupDatabaseChooseDatabase": "Bạn muốn dùng cơ sở dữ liệu nào?", - "setupDatabaseEmbeddedMariaDB": "Bạn không cần phải cài đặt bất cứ thứ gì. Docker image đã nhúng và cấu hình tự động một cơ sở dữ liệu MariaDB cho bạn. Uptime Kuma sẽ kết nối tới cơ sở dữ liệu thông qua unix socket.", + "setupDatabaseEmbeddedMariaDB": "Bạn không cần phải cài đặt bất cứ thứ gì. Docker image đã nhúng và cấu hình tự động cơ sở dữ liệu MariaDB cho bạn. Uptime Kuma sẽ kết nối tới cơ sở dữ liệu thông qua unix socket.", "setupDatabaseSQLite": "Một tệp cơ sở dữ liệu đơn giản, được khuyên dùng cho quy mô triển khai nhỏ. Trước v2.0.0, Uptime Kuma sử dụng SQLite như là một cơ sở dữ liệu mặc định.", "dbName": "Tên cơ sở dữ liệu", "General Monitor Type": "Loại giám sát chung", @@ -521,5 +521,6 @@ "timeoutAfter": "Hết thời gian chờ sau {0} giây", "styleElapsedTime": "Thời gian đã qua dưới thanh trạng thái", "styleElapsedTimeShowNoLine": "Hiển Thị (Không Dòng Kẻ)", - "styleElapsedTimeShowWithLine": "Hiển Thị (Có Dòng Kẻ)" + "styleElapsedTimeShowWithLine": "Hiển Thị (Có Dòng Kẻ)", + "Request Timeout": "Yêu cầu hết hạn" } From f4918792142ea60a1b0a63ba754926d520242e8d Mon Sep 17 00:00:00 2001 From: Itay-Asudi Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 283/494] Translated using Weblate (Hebrew) Currently translated at 0.3% (3 of 884 strings) Co-authored-by: Itay-Asudi Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/he/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/he.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lang/he.json b/src/lang/he.json index 99e17582..56871587 100644 --- a/src/lang/he.json +++ b/src/lang/he.json @@ -1,3 +1,5 @@ { - "Help": "עזרה" + "Help": "עזרה", + "languageName": "עברית", + "setupDatabaseChooseDatabase": "באיזה מסד נתונים אתה רוצה להשתמש?" } From 465531ad98049ae2c7bbb39a6f75b5a30eabd309 Mon Sep 17 00:00:00 2001 From: Markus Fenes Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 284/494] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 61.3% (542 of 884 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 60.4% (534 of 884 strings) Translated using Weblate (Norwegian Bokmål) Currently translated at 54.9% (486 of 884 strings) Co-authored-by: Markus Fenes Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nb_NO/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/nb-NO.json | 297 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 282 insertions(+), 15 deletions(-) diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index 818ca7f5..b26d3a00 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -1,8 +1,8 @@ { "languageName": "Norsk", - "checkEverySecond": "Sjekk hvert {0} sekund.", - "retryCheckEverySecond": "Prøv igjen hvert {0} sekund.", - "retriesDescription": "Maksimalt antall forsøk før tjenesten er merket som nede og et varsel sendes", + "checkEverySecond": "Sjekk hvert {0} sekund", + "retryCheckEverySecond": "Prøv igjen hvert {0} sekund", + "retriesDescription": "Maksimalt antall forsøk før tjenesten blir merket som nede og et varsel sendes", "ignoreTLSError": "Ignorer TLS/SSL-feil for HTTPS-nettsteder", "upsideDownModeDescription": "Snu statusen opp ned. Hvis tjenesten er tilgjengelig, er den NEDE.", "maxRedirectDescription": "Maksimalt antall viderekoblinger å følge. Sett til 0 for å deaktivere viderekoblinger.", @@ -22,12 +22,12 @@ "confirmClearStatisticsMsg": "Er du sikker på at du vil slette ALL statistikk?", "importHandleDescription": "Velg 'Hopp over eksisterende' hvis du vil hoppe over hver overvåkning eller varsel med samme navn. 'Overskriv' sletter alle eksisterende overvåkninger og varsler.", "confirmImportMsg": "Er du sikker på at du vil importere denne sikkerhetskopien? Sørg for at du har valgt riktig importalternativ.", - "twoFAVerifyLabel": "Skriv inn tokenet ditt for å bekrefte at 2FA fungerer", + "twoFAVerifyLabel": "Skriv inn tokenet ditt for å bekrefte at 2FA fungerer:", "tokenValidSettingsMsg": "Token er gyldig! Du kan nå lagre 2FA-innstillingene.", "confirmEnableTwoFAMsg": "Er du sikker på at du vil aktivere 2FA?", "confirmDisableTwoFAMsg": "Er du sikker på at du vil deaktivere 2FA?", "Settings": "Innstillinger", - "Dashboard": "Dashboard", + "Dashboard": "Dashbord", "New Update": "Ny Oppdatering", "Language": "Språk", "Appearance": "Utseende", @@ -54,7 +54,7 @@ "Delete": "Slett", "Current": "Nåværende", "Uptime": "Oppetid", - "Cert Exp.": "Sertifikat utløper", + "Cert Exp.": "Sertifikat utløper.", "day": "dag | dager", "-day": "-dag", "hour": "time", @@ -99,8 +99,8 @@ "disableauth.message1": "Er du sikker på at du vil {disableAuth}?", "disable authentication": "deaktiver autentisering", "disableauth.message2": "Dette er for {intendThirdPartyAuth} foran Uptime Kuma, for eksempel Cloudflare Access.", - "where you intend to implement third-party authentication": "de som har tredjepartsautorisering", - "Please use this option carefully!": "Vennligst vær forsiktig.", + "where you intend to implement third-party authentication": "hvor du planlegger å implementere tredjeparts autentifikasjon", + "Please use this option carefully!": "Vennligst vær forsiktig når du bruker denne!", "Logout": "Logg ut", "Leave": "Forlat", "I understand, please disable": "Jeg forstår, vennligst deaktiver", @@ -156,7 +156,7 @@ "Token": "Token", "Show URI": "Vis URI", "Tags": "Etiketter", - "Add New below or Select...": "Legg til nytt nedenfor eller Velg …", + "Add New below or Select...": "Legg til nytt nedenfor eller Velg…", "Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.", "Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.", "color": "farge", @@ -191,7 +191,7 @@ "Bot Token": "Bot Token", "wayToGetTelegramToken": "Du kan få et token fra {0}.", "Chat ID": "Chat ID", - "supportTelegramChatID": "Support Direct Chat / Group / Channel's Chat ID", + "supportTelegramChatID": "Support Direkte Chat / Gruppe/ Kanalchat ID", "wayToGetTelegramChatID": "Du kan få chat-ID-en din ved å sende en melding til boten og gå til denne nettadressen for å se chat_id:", "YOUR BOT TOKEN HERE": "DITT BOT TOKEN HER", "chatIDNotFound": "Chat-ID ble ikke funnet. Send en melding til denne boten først", @@ -210,7 +210,7 @@ "smtpBCC": "BCC", "discord": "Discord", "Discord Webhook URL": "Discord Webhook URL", - "wayToGetDiscordURL": "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Opprett en Webhook", + "wayToGetDiscordURL": "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Vis webhooks -> Opprett en Webhook", "Bot Display Name": "Bot Visningsnavn", "Prefix Custom Message": "Prefiks tilpasset melding", "Hello @everyone is...": "Hei {'@'}everyone det er…", @@ -287,10 +287,277 @@ "Help": "Hjelp", "Game": "Spill", "statusMaintenance": "Vedlikehold", - "Maintenance": "Maintenance", + "Maintenance": "Vedlikehold", "Passive Monitor Type": "Passiv Monitor Type", - "Specific Monitor Type": "Spesifik Monitor Type", - "General Monitor Type": "Generisk Monitor Type", + "Specific Monitor Type": "Spesifikk Monitor Type", + "General Monitor Type": "Generell Monitor Type", "markdownSupported": "Markdown syntax støttet", - "Resend Notification if Down X times consecutively": "Send notifikasjon på nytt dersom nede X antall ganger på rad" + "Resend Notification if Down X times consecutively": "Send notifikasjon på nytt dersom nede X antall ganger på rad", + "Saved.": "Lagret.", + "programmingLanguages": "Programmeringsspråk", + "steamApiKeyDescription": "For å overvåke en Steam-spillserver trenger du en Steam Web-API-nøkkel. Du kan registrere API-nøkkelen din her: ", + "recent": "Nylig", + "Pick Accepted Status Codes...": "Velg akseptere statuskoder…", + "Description": "Beskrivelse", + "signedInDisp": "Logget inn som {0}", + "2faEnabled": "2FA aktivert.", + "authUserInactiveOrDeleted": "Denne brukeren er inaktiv eller slettet.", + "High": "Høy", + "smtpDkimSettings": "DKIM Innstillinger", + "settingUpDatabaseMSG": "Setter opp databasen. Dette kan ta en stund, vennligst vent.", + "Schedule maintenance": "Planlegg vedlikehold", + "Affected Monitors": "Affekterte monitorer", + "Start of maintenance": "Vedlikeholds start", + "All Status Pages": "Alle status sider", + "Select status pages...": "Velg status sider…", + "filterActive": "Aktiv", + "Custom": "Egendefinert", + "statusPageRefreshIn": "Last inn på nytt : {0}", + "templateMsg": "notifikasjons melding", + "templateLimitedToUpDownCertNotifications": "kun tilgjengelig for OPP/NED/Sertifikatutløpsvarsler", + "templateLimitedToUpDownNotifications": "kun tilgjengelig for OPP/NED varsler", + "Method": "Metode", + "PasswordsDoNotMatch": "Passordene matcher ikke hverandre.", + "Default": "Standard", + "HTTP Options": "HTTP valg", + "primary": "primær", + "Title": "Tittel", + "light": "lys", + "dark": "mørk", + "Customize": "Tilpass", + "Content": "Innhold", + "Style": "Stil", + "info": "info", + "warning": "advarsel", + "Custom Footer": "Egendefinert bunntekst", + "danger": "fare", + "error": "feil", + "critical": "kritisk", + "deleteStatusPageMsg": "Er du sikker på at du vil slette denne status siden?", + "Proxies": "Proxyer", + "default": "Standard", + "enabled": "Aktivert", + "setAsDefault": "Sett som standard", + "Optional": "Valgfri", + "sameAsServerTimezone": "Samme som server tidssone", + "startDateTime": "Start dag/tid", + "weekdayShortMon": "Man", + "weekdayShortTue": "Tirs", + "recurringInterval": "Intervall", + "Recurring": "Gjentakende", + "affectedStatusPages": "Vis denne vedlikeholdsmeldingen på valgte statussider", + "Economy": "Økonomi", + "Lowcost": "Lavkost", + "Base URL": "Base URL", + "PhoneNumbers": "Telefonnummer", + "Retry": "Prøv igjen", + "Topic": "Emne", + "Add a domain": "Legg til domene", + "documentation": "dokumentasjon", + "smtpDkimDomain": "domenenavn", + "Expiry": "Utløp", + "dnsPortDescription": "DNS-serverport. Standard er 53. Du kan endre porten når som helst.", + "deleteMaintenanceMsg": "Er du sikker på at du vil slette vedlikeholdsperioden?", + "do nothing": "gjør ingenting", + "alertaApiEndpoint": "API endepunkt", + "alertaEnvironment": "Miljø", + "alertaApiKey": "API nøkkel", + "serwersmsPhoneNumber": "telefonnummer", + "successAuthChangePassword": "Passordet har blitt oppdatert.", + "recurringIntervalMessage": "Kjør en gang daglig | Kjør en gang hver {0} dag", + "tcp": "TCP / HTTP", + "setupDatabaseChooseDatabase": "Hvilken database vil du bruke?", + "resendDisabled": "Resending deaktivert", + "setupDatabaseMariaDB": "Koble til en ekstern MariaDB database. Du må angi database tilkoblings informasjon.", + "setupDatabaseSQLite": "En simpel database fil, anbefalt for små skala installasjoner. I versjoner tidligere enn v2.0.0 brukte Uptime Kuma SQLite som standard.", + "needPushEvery": "Du skal forsøke å nå denne URLen hvert {0] sekund(er).", + "dbName": "Database Navn", + "resendEveryXTimes": "Resend hver {0} gang(er)", + "Push URL": "Push URL", + "pushOptionalParams": "Valgfrie parametere: {0}", + "pushOthers": "Andre", + "styleElapsedTimeShowNoLine": "Vis (Ingen linje)", + "styleElapsedTimeShowWithLine": "Vis (Med linje)", + "endDateTime": "Slutt dag/tid", + "Current User": "Nåværende bruker", + "Reset Token": "Resett nøkkel", + "Done": "Ferdig", + "Info": "Info", + "Security": "Sikkerhet", + "Steam API Key": "Steam API nøkkel", + "Shrink Database": "Forminsk database", + "Create Incident": "Opprett hendelse", + "Please input title and content": "Vennligst skriv inn tittel og innhold", + "Created": "Opprettet", + "Last Updated": "Sist oppdatert", + "Unpin": "Avmerk", + "Switch to Light Theme": "Bytt til Lyst tema", + "Switch to Dark Theme": "Bytt til Mørkt tema", + "Show Tags": "Vis tagger", + "Hide Tags": "Skjul tagger", + "Untitled Group": "Tittel løs gruppe", + "Services": "Tjenester", + "Discard": "Forkast", + "Cancel": "Avbryt", + "Select": "Velg", + "selectedMonitorCount": "Valgt: {0}", + "Powered by": "Drevet av", + "Custom CSS": "Egendefinert CSS", + "About": "Om", + "signedInDispDisabled": "Autentisering deaktivert.", + "Coming Soon": "Kommer snart", + "Connection String": "Tilkoblingsstreng", + "Connection Type": "Tilkoblingstype", + "Docker Daemon": "Docker Daemon", + "Domain": "Domene", + "Workstation": "Arbeidsstasjon", + "Packet Size": "Pakke størrelse", + "Examples": "Eksempler", + "weekdayShortWed": "Ons", + "weekdayShortThu": "Tors", + "weekdayShortFri": "Fre", + "weekdayShortSat": "Lør", + "weekdayShortSun": "Søn", + "Home Assistant URL": "Home Assistant URL", + "Notification Service": "Notifikasjons tjeneste", + "default: notify all devices": "standard:varsle alle enheter", + "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "En liste over varslingstjenester finner du i Home Assistant under «Utviklerverktøy > Tjenester»-søk etter «varsling» for å finne navnet på enheten/telefonen din.", + "Event data:": "Hendelsesdata:", + "Schedule Maintenance": "Planlegg vedlikehold", + "Edit Maintenance": "Endre vedlikehold", + "Date and Time": "Dato og tid", + "2faDisabled": "2FA deaktivert.", + "Query": "Spørring", + "Domain Names": "Domenenavn", + "Trigger type:": "Trigger type:", + "Event type:": "Hendelsestype:", + "wayToGetClickSendSMSToken": "Du kan hente API brukernavn og API nøkkel fra {0} .", + "Expiry date": "Utløpsdato", + "Don't expire": "Ikke utløp", + "Continue": "Fortsett", + "Add Another": "Legg til en annen", + "Huawei": "Huawei", + "Request Timeout": "Tidsavbrudd på forespørsel", + "timeoutAfter": "Timeout etter {0} sekunder", + "or": "eller", + "filterActivePaused": "Pauset", + "Add New Tag": "Legg til ny tagg", + "Certificate Chain": "Sertifikatkjede", + "Valid": "Gyldig", + "Invalid": "Ugyldig", + "User": "Bruker", + "Installed": "Installert", + "Not installed": "Ikke installert", + "Remove Token": "Fjern nøkkel", + "Start": "Start", + "Add New Status Page": "Legg til ny status side", + "Accept characters:": "Akseptere karakterer:", + "Next": "Neste", + "Authentication": "Autentisering", + "New Status Page": "Ny status side", + "Page Not Found": "Siden ble ikke funnet", + "Backup": "Sikkerhetskopi", + "cloudflareWebsite": "Cloudflare sin side", + "Other Software": "Annen programvare", + "Valid To:": "Gyldig til:", + "Days Remaining:": "Gjenværende dager:", + "Issuer:": "Utsteder:", + "Fingerprint:": "Fingeravtrykk:", + "No status pages": "Ingen status sider", + "Date Created": "Dato opprettet", + "Message:": "Melding:", + "API Username": "API brukernavn", + "API Key": "API nøkkel", + "Show update if available": "Vis oppdatering hvis en er tilgjengelig", + "Also check beta release": "Sjekk også beta utgaven", + "Steam Game Server": "Steam Spill server", + "The resource is no longer available.": "Denne ressursen er ikke lengere tilgjengelig.", + "Most likely causes:": "Mest sannsynlige årsaker:", + "dayOfWeek": "Ukedag", + "lastDay": "Siste dag", + "No Maintenance": "Ingen vedlikehold", + "pauseMaintenanceMsg": "Er du sikker på at du vil pause?", + "maintenanceStatus-under-maintenance": "Under vedlikehold", + "maintenanceStatus-inactive": "Inaktiv", + "maintenanceStatus-scheduled": "Planlagt", + "maintenanceStatus-ended": "Avsluttet", + "maintenanceStatus-unknown": "Ukjent", + "Display Timezone": "Vis tidssone", + "Server Timezone": "Server tidssone", + "statusPageMaintenanceEndDate": "Slutt", + "IconUrl": "Ikon URL", + "dayOfMonth": "Dag i måneden", + "lastDay1": "Siste dag i måneden", + "Disable": "Deaktiver", + "serwersmsAPIPassword": "API Passord", + "Post": "Post", + "Stop": "Stopp", + "high": "høy", + "Expected Value": "Forventet verdi", + "Json Query": "Json Spørring", + "Primary Base URL": "Primær base-url", + "topic": "Emne", + "Add one": "Legg til en", + "Please read": "Vennligst les", + "Subject:": "Emne:", + "Home": "Hjem", + "Invert Keyword": "Inverter nøkkelord", + "Cannot connect to the socket server": "Koble til socket server", + "Reconnecting...": "kobler til på nytt...", + "ntfyAuthenticationMethod": "Autentiserings metode", + "No API Keys": "Ingen API nøkler", + "apiKey-active": "Aktiv", + "Expires": "Utløper", + "Key Added": "Nøkkel lagt til", + "apiKeyAddedMsg": "API-nøkkelen din er lagt til. Vennligst noter det ned siden den ikke vises igjen.", + "Add API Key": "Legg til API nøkkel", + "disableAPIKeyMsg": "Er du sikker på at du vil deaktivere denne API nøkkelen?", + "deleteAPIKeyMsg": "Er du sikker på at du vil slette denne API nøkkelen?", + "ntfyPriorityHelptextAllEvents": "Alle hendelser sendes med maksimal prioritet", + "ntfyUsernameAndPassword": "Brukernavn og passord", + "pagertreeLow": "Lav", + "pagertreeMedium": "Medium", + "Container Name / ID": "Containernavn / ID", + "Docker Host": "Docker Host", + "disableCloudflaredNoAuthMsg": "Du er i No Auth-modus, et passord er ikke nødvendig.", + "apiKey-inactive": "Inaktiv", + "lunaseaTarget": "Mål", + "Go back to the previous page.": "Gå tilbake til forrige side.", + "settingsCertificateExpiry": "TLS Sertifikat utløp", + "What you can try:": "Hva du kan prøve:", + "Retype the address.": "Skriv adressen på nytt.", + "Docker Hosts": "Docker Hosts", + "wayToGetLineNotifyToken": "Du kan få en tilgangstoken fra {0}", + "Long-Lived Access Token": "Langlevd tilgangstoken", + "Generate": "Generer", + "pagertreeSilent": "Stille", + "pagertreeHigh": "Høy", + "pagertreeCritical": "Kritisk", + "pagertreeDoNothing": "Gjør ingenting", + "lunaseaDeviceID": "Enhets ID", + "lunaseaUserID": "Bruker ID", + "twilioAccountSID": "Konto SID", + "twilioApiKey": "Api nøkkel (valgfri)", + "twilioFromNumber": "Fra nummer", + "twilioToNumber": "Til nummer", + "Badge Color": "Merkefarge", + "Badge Preview": "Merke fremvisning", + "Badge URL": "Merke URL", + "Group": "Gruppe", + "Mechanism": "Mekanisme", + "Close": "Lukk", + "2faAlreadyEnabled": "2FA er allerede aktivert.", + "onebotSafetyTips": "For sikkerhetsskyld, må en aksess token settes", + "successDisabled": "Deaktivert.", + "successEnabled": "Aktivert.", + "FlashDuty Severity": "Alvorlighet", + "apiKey-expired": "Utløpt", + "confirmUninstallPlugin": "Er du sikker på at du vil avinstallere valgte plugin?", + "notificationRegional": "Regional", + "emailTemplateServiceName": "Tjenestenavn", + "emailTemplateHostnameOrURL": "Hostnavn eller URL", + "emailTemplateStatus": "Status", + "uninstall": "Avinstaller", + "uninstalling": "Avinstallerer", + "There might be a typing error in the address.": "Det kan være en skrivefeil i adressen." } From 7f4a23a5ac49c884ef4bfa6169810528f032eca8 Mon Sep 17 00:00:00 2001 From: Fabien BERNARD Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 285/494] Translated using Weblate (French) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Fabien BERNARD Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fr-FR.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index cb055e10..feb244ea 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -88,7 +88,7 @@ "Port": "Port", "Heartbeat Interval": "Intervalle de vérification", "Retries": "Essais", - "Heartbeat Retry Interval": "Intervalle de ré-essaie", + "Heartbeat Retry Interval": "Intervalle de ré-essai", "Resend Notification if Down X times consecutively": "Renvoyer la notification si hors ligne X fois consécutivement", "Advanced": "Avancé", "Upside Down Mode": "Mode inversé", From a2905b06867ab452b3752b8614ea683dfea3b965 Mon Sep 17 00:00:00 2001 From: Adam Stachowicz Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 286/494] Translated using Weblate (Polish) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Adam Stachowicz Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/pl.json | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/lang/pl.json b/src/lang/pl.json index 05abf0be..c38ad8dd 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -3,7 +3,7 @@ "checkEverySecond": "Sprawdzaj co {0} sekund", "retryCheckEverySecond": "Ponawiaj co {0} sekund", "retriesDescription": "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako niedostępna i zostanie wysłane powiadomienie", - "ignoreTLSError": "Ignoruj błąd TLS/SSL dla stron HTTPS", + "ignoreTLSError": "Ignoruj błędy TLS/SSL dla stron HTTPS", "upsideDownModeDescription": "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest oznaczona jako niedostępna.", "maxRedirectDescription": "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.", "acceptedStatusCodesDescription": "Wybierz kody stanu, które są uważane za prawidłową odpowiedź.", @@ -452,7 +452,7 @@ "wayToGetCloudflaredURL": "(Pobierz cloudflared z {0})", "cloudflareWebsite": "strona Cloudflare", "Message:": "Wiadomość:", - "Don't know how to get the token? Please read the guide:": "Nie wiesz jak uzyksać token? Przeczytaj proszę poradnik:", + "Don't know how to get the token? Please read the guide:": "Nie wiesz, jak uzyskać token? Przeczytaj proszę poradnik:", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Bieżące połączenie może zostać utracone, jeśli aktualnie łączysz się przez tunel Cloudflare. Czy na pewno chcesz to przerwać? Wpisz swoje aktualne hasło, aby je potwierdzić.", "Other Software": "Inne oprogramowanie", "For example: nginx, Apache and Traefik.": "Na przykład: nginx, Apache i Traefik.", @@ -671,7 +671,7 @@ "dataRetentionTimeError": "Okres przechowywania musi wynosić 0 lub więcej", "infiniteRetention": "Ustaw na 0, aby uzyskać nieskończony okres przechowywania.", "enableGRPCTls": "Zezwalaj na wysyłanie żądania gRPC z połączeniem TLS", - "grpcMethodDescription": "Nazwa metody jest konwertowana na format cammelCase, taki jak sayHello, check, itp.", + "grpcMethodDescription": "Nazwa metody jest konwertowana na format camelCase, taki jak sayHello, check, itp.", "Guild ID": "ID gildii", "Proto Content": "Zawartość Proto", "Proto Method": "Metoda Proto", @@ -894,5 +894,28 @@ "templateLimitedToUpDownNotifications": "dostępne tylko dla powiadomień UP/DOWN", "Browser Screenshot": "Zrzut ekranu przeglądarki", "noDockerHostMsg": "Niedostępne. Najpierw skonfiguruj host Dockera.", - "DockerHostRequired": "Ustaw host Dockera dla tego monitora." + "DockerHostRequired": "Ustaw host Dockera dla tego monitora.", + "successKeyword": "Słowo kluczowe sukcesu", + "successKeywordExplanation": "Słowo kluczowe MQTT, które zostanie uznane za sukces", + "ntfyPriorityHelptextAllExceptDown": "Wszystkie zdarzenia są wysyłane z tym priorytetem, z wyjątkiem zdarzeń {0}, które mają priorytet {1}", + "remoteBrowsersDescription": "Przeglądarki zdalne są alternatywą dla lokalnego uruchamiania Chromium. Skonfiguruj za pomocą usługi takiej jak browserless.io lub połącz z własną", + "deleteRemoteBrowserMessage": "Czy na pewno chcesz usunąć tę zdalną przeglądarkę dla wszystkich monitorów?", + "GrafanaOncallUrl": "Adres URL Grafana Oncall", + "Remote Browsers": "Zdalne przeglądarki", + "self-hosted container": "kontener hostowany samodzielnie", + "settingUpDatabaseMSG": "Konfigurowanie bazy danych. Może to trochę potrwać, prosimy o cierpliwość.", + "statusPageSpecialSlugDesc": "Specjalny slug {0}: ta strona zostanie wyświetlona, jeśli nie podano żadnego slugu", + "Search monitored sites": "Wyszukiwanie monitorowanych witryn", + "setup a new monitor group": "konfiguracja nowej grupy monitorów", + "openModalTo": "otwórz modal na {0}", + "Add a domain": "Dodaj domenę", + "Remove domain": "Usuń domenę '{0}'", + "ntfyPriorityHelptextAllEvents": "Wszystkie zdarzenia są wysyłane z maksymalnym priorytetem", + "Remote Browser": "Zdalna przeglądarka", + "Add a Remote Browser": "Dodaj zdalną przeglądarkę", + "Remote Browser not found!": "Nie znaleziono zdalnej przeglądarki!", + "remoteBrowserToggle": "Domyślnie Chromium działa wewnątrz kontenera Uptime Kuma. Możesz użyć zdalnej przeglądarki, przełączając ten przełącznik.", + "useRemoteBrowser": "Używaj zdalnej przeglądarki", + "Add a new expiry notification day": "Dodaj nowy dzień wygaśnięcia powiadomienia", + "Remove the expiry notification": "Usunąć dzień powiadomienia o wygaśnięciu" } From 83c7b593da713242f92436427c9b6d91aa5db446 Mon Sep 17 00:00:00 2001 From: JC Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 287/494] Translated using Weblate (Catalan) Currently translated at 3.5% (31 of 884 strings) Co-authored-by: JC Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ca.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lang/ca.json b/src/lang/ca.json index c30b84fa..d3fb79c3 100644 --- a/src/lang/ca.json +++ b/src/lang/ca.json @@ -24,5 +24,10 @@ "Reconnecting...": "S'està tornant a connectar...", "languageName": "Català", "Primary Base URL": "URL Base Primària", - "statusMaintenance": "Manteniment" + "statusMaintenance": "Manteniment", + "setupDatabaseChooseDatabase": "Quina base de dadas vols utilitzar?", + "setupDatabaseEmbeddedMariaDB": "No tens que configurar res. Aquesta imatge de docker ha configurat MariaDB automàticament. Uptime Kuma es conectarà a aquesta base de dades per el socket d'unix.", + "setupDatabaseMariaDB": "Conectar a una base de MariaDB externa. Has de ficar les dades de la conexió de la base de dades.", + "setupDatabaseSQLite": "Un simple fitxer de base de dades, es recomana per desplegaments en petita escala. Abans de la v2.0.0, Uptime Kuma utilitzaba SQLite com la base de dades predeterminada.", + "sameAsServerTimezone": "La mateixa zona horaria que el servidor" } From 08da5ad5d850fd5e18aafd971be6298dc8d123e4 Mon Sep 17 00:00:00 2001 From: ITQ Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 288/494] Translated using Weblate (Russian) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: ITQ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index d802f59e..1686cce5 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -3,7 +3,7 @@ "checkEverySecond": "Проверка каждые {0} секунд", "retriesDescription": "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления", "ignoreTLSError": "Игнорировать ошибки TLS/SSL для HTTPS сайтов", - "upsideDownModeDescription": "Реверс статуса сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.", + "upsideDownModeDescription": "Обратить статус сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.", "maxRedirectDescription": "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.", "acceptedStatusCodesDescription": "Выберите коды статусов для определения доступности сервиса.", "passwordNotMatchMsg": "Введённые пароли не совпадают.", @@ -14,7 +14,7 @@ "deleteNotificationMsg": "Вы действительно хотите удалить это уведомление для всех мониторов?", "resolverserverDescription": "Cloudflare является сервером по умолчанию. Вы всегда можете сменить данный сервер.", "rrtypeDescription": "Выберите тип ресурсной записи, который вы хотите отслеживать", - "pauseMonitorMsg": "Вы действительно хотите поставить на паузу?", + "pauseMonitorMsg": "Вы действительно хотите приостановить?", "Settings": "Настройки", "Dashboard": "Панель управления", "New Update": "Обновление", @@ -86,7 +86,7 @@ "Enable Auth": "Включить авторизацию", "disableauth.message1": "Вы уверены, что хотите {disableAuth}?", "disable authentication": "отключить авторизацию", - "disableauth.message2": "Это подходит для {intendThirdPartyAuth} перед открытием Uptime Kuma, например Cloudflare Access и т. п.", + "disableauth.message2": "Это подходит для {intendThirdPartyAuth} перед открытием Uptime Kuma, например Cloudflare Access и т.п.", "where you intend to implement third-party authentication": "тех, у кого стоит другая авторизация", "Please use this option carefully!": "Пожалуйста, используйте с осторожностью!", "Logout": "Выйти", @@ -306,8 +306,8 @@ "Body": "Объект", "Headers": "Заголовки", "PushUrl": "URL пуша", - "HeadersInvalidFormat": "Неправильный JSON в заголовках запросов: ", - "BodyInvalidFormat": "Некорректный JSON в объекте запроса: ", + "HeadersInvalidFormat": "Заголовки запроса не являются валидным JSON: ", + "BodyInvalidFormat": "Тело запроса не является валидным JSON: ", "Monitor History": "История мониторинга", "clearDataOlderThan": "Сохранять статистику за {0} дней.", "PasswordsDoNotMatch": "Пароли не совпадают.", @@ -403,7 +403,7 @@ "No Proxy": "Без прокси", "default": "По умолчанию", "enabled": "Включено", - "setAsDefault": "Установлено по умолчанию", + "setAsDefault": "Установить по умолчанию", "deleteProxyMsg": "Вы действительно хотите удалить этот прокси для всех мониторов?", "proxyDescription": "Прокси должны быть привязаны к монитору, чтобы работать.", "enableProxyDescription": "Этот прокси не будет влиять на запросы монитора, пока не будет активирован. Вы можете контролировать временное отключение прокси для всех мониторов через статус активации.", @@ -431,8 +431,8 @@ "User": "Пользователь", "Installed": "Установлено", "Not installed": "Не установлено", - "Running": "Запущено", - "Not running": "Не запущено", + "Running": "Работает", + "Not running": "Не работает", "Remove Token": "Удалить токен", "Start": "Запустить", "Stop": "Остановить", @@ -697,7 +697,7 @@ "telegramSendSilentlyDescription": "Пользователи получат уведомление без звука.", "Maintenance Time Window of a Day": "Суточный интервал для техобслуживания", "Clone Monitor": "Копия", - "Clone": "Копия", + "Clone": "Клонировать", "cloneOf": "Копия {0}", "notificationRegional": "Региональный", "Add New Tag": "Добавить тег", @@ -866,14 +866,14 @@ "toastSuccessTimeout": "Таймаут для уведомлений об успехе", "pushOthers": "Другие", "successPaused": "Успешно приостановлено.", - "authUserInactiveOrDeleted": "Пользователь неактивен или удален.", + "authUserInactiveOrDeleted": "Пользователь неактивен или удалён.", "authInvalidToken": "Неверный токен.", "authIncorrectCreds": "Неверное имя пользователя или пароль.", "2faEnabled": "2FA включена.", "2faAlreadyEnabled": "2FA уже включена.", "2faDisabled": "2FA отключена.", "successAdded": "Успешно добавлено.", - "successResumed": "Возобновлено успешно.", + "successResumed": "Успешно возобновлено.", "GrafanaOncallUrl": "URL-адрес Grafana Oncall", "liquidIntroduction": "Шаблонность достигается с помощью языка шаблонов Liquid. Инструкции по использованию приведены в разделе {0}. Вот доступные переменные:", "templateLimitedToUpDownNotifications": "доступно только для уведомлений UP/DOWN", @@ -886,7 +886,7 @@ "emailCustomBody": "Пользовательский объект", "emailTemplateHostnameOrURL": "Имя хоста или URL", "emailTemplateStatus": "Статус", - "successAuthChangePassword": "Пароль успешно обновлен.", + "successAuthChangePassword": "Пароль успешно обновлён.", "successBackupRestored": "Резервная копия успешно восстановлена.", "successDisabled": "Успешно отключено.", "successEnabled": "Успешно включено.", @@ -895,16 +895,16 @@ "templateMsg": "сообщение уведомления", "templateHeartbeatJSON": "объект, описывающий сигнал", "templateMonitorJSON": "объект, описывающий монитор", - "templateLimitedToUpDownCertNotifications": "доступно только для UP/DOWN/Certificate уведомлений об окончании срока действия сертификатов", + "templateLimitedToUpDownCertNotifications": "доступно только для уведомлений UP/DOWN и об окончании срока действия сертификата", "Reset Token": "Сброс токена", "emailTemplateMonitorJSON": "объект, описывающий монитор", "emailTemplateHeartbeatJSON": "объект, описывающий сигнал", "emailTemplateMsg": "сообщение уведомления", "successDeleted": "Успешно удалено.", - "successEdited": "Успешно отредактировано.", + "successEdited": "Успешно изменено.", "Browser Screenshot": "Скриншот браузера", - "noDockerHostMsg": "Недоступно. Сначала ностройте Docker Host.", - "DockerHostRequired": "Пожалуйста, настройте Docker Host для этого монитора.", + "noDockerHostMsg": "Не доступно. Сначала настройте хост Docker.", + "DockerHostRequired": "Пожалуйста, установите хост Docker для этого монитора.", "successKeywordExplanation": "Ключевое слово MQTT, которое будет считаться успешным", "successKeyword": "Ключевое слово успеха", "statusPageSpecialSlugDesc": "Специальный ярлык {0}: эта страница будет отображаться, если ярлык не указан", @@ -916,7 +916,7 @@ "Add a Remote Browser": "Добавить удаленный браузер", "Remote Browser not found!": "Удаленный браузер не найден!", "remoteBrowsersDescription": "Удаленные браузеры — альтернатива локальному запуску Chromium. Установите такой сервис, как browserless.io, или подключитесь к своему собственному", - "settingUpDatabaseMSG": "Настройка базы данных. Это может занять некоторое время, пожалуйста подождите.", + "settingUpDatabaseMSG": "Настраиваем базу данных. Это может занять некоторое время, пожалуйста подождите.", "setup a new monitor group": "настроить новую группу мониторов", "openModalTo": "открыть модальное окно {0}", "Add a domain": "Добавить домен", From 2afd743a6d2fbb7e737960fa4d2cc7e1a110f461 Mon Sep 17 00:00:00 2001 From: Zandor Smith Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 289/494] Translated using Weblate (Dutch) Currently translated at 100.0% (884 of 884 strings) Translated using Weblate (English) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: Zandor Smith Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/en/ Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/en.json | 2 +- src/lang/nl-NL.json | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 74b47f05..0f59e62a 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -835,7 +835,7 @@ "Enable Kafka Producer Auto Topic Creation": "Enable Kafka Producer Auto Topic Creation", "Kafka SASL Options": "Kafka SASL Options", "Mechanism": "Mechanism", - "Pick a SASL Mechanism...": "Pick a SASL Mechanism...", + "Pick a SASL Mechanism...": "Pick a SASL Mechanism…", "Authorization Identity": "Authorization Identity", "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Secret AccessKey", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 94f1a03c..9ec09515 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -149,7 +149,7 @@ "retryCheckEverySecond": "Probeer elke {0} seconden", "importHandleDescription": "Kies 'Sla bestaande over' als je elke monitor of melding met dezelfde naam wilt overslaan. Kies 'Overschrijf' als je elke monitor of notificatie wilt verwijderen.", "confirmImportMsg": "Weet je zeker dat je dit bestand wilt importeren? Controleer of je de correcte importeer optie hebt geselecteerd.", - "Heartbeat Retry Interval": "Heartbeat Retry Interval", + "Heartbeat Retry Interval": "Heartbeat opnieuw proberen interval", "Import Backup": "Importeer Backup", "Export Backup": "Exporteer Backup", "Skip existing": "Sla bestaande over", @@ -173,7 +173,7 @@ "Search...": "Zoeken…", "Avg. Ping": "Gemiddelde ping", "Avg. Response": "Gemiddelde response", - "Entry Page": "Entry Page", + "Entry Page": "Opstartpagina", "statusPageNothing": "Niets hier, voeg een groep of monitor toe.", "No Services": "Geen diensten", "All Systems Operational": "Alle systemen operationeel", @@ -204,7 +204,7 @@ "line": "Line Messenger", "mattermost": "Mattermost", "Method": "Methode", - "Body": "Body", + "Body": "Inhoud", "Headers": "Headers", "PushUrl": "Push URL", "HeadersInvalidFormat": "The request headers is geen geldige JSON: ", @@ -522,7 +522,7 @@ "wayToGetClickSendSMSToken": "Je kan een API Username en API Key krijgen vanuit {0} .", "Connection String": "Connection String", "Query": "Query", - "settingsCertificateExpiry": "TLS Certificate Expiry", + "settingsCertificateExpiry": "TLS Certificaat verloopdatum", "certificationExpiryDescription": "Stuur een melding bij het verlopen van het HTTPS TLS certificaat in:", "ntfy Topic": "ntfy Topic", "Domain": "Domein", @@ -622,7 +622,7 @@ "webhookAdditionalHeadersTitle": "Extra Headers", "webhookAdditionalHeadersDesc": "Voegt extra headers toe die meegestuurd worden met de webhook. Iedere header moet een JSON key/value zijn.", "Help": "Hulp", - "Game": "Game", + "Game": "Spel", "statusMaintenance": "Onderhoud", "Maintenance": "Onderhoud", "Passive Monitor Type": "Passieve Monitor Type", @@ -662,7 +662,7 @@ "grpcMethodDescription": "Methodenaam moet in camelCase formaat zijn zoals zegHallo, check, etc.", "wayToGetKookBotToken": "Maak een applicatie en haal je bot token op bij {0}", "wayToGetKookGuildID": "Switch naar 'Developer Mode' in de Kook instellingen, en klik met de rechter muisknop op de guild om de ID op te halen", - "Strategy": "Strategy", + "Strategy": "Strategie", "Free Mobile User Identifier": "Free Mobile User Identifier", "Free Mobile API Key": "Free Mobile API Key", "Proto Service Name": "Proto service naam", @@ -803,7 +803,7 @@ "Cannot connect to the socket server": "Kan geen verbinding maken met de socket-server", "Reconnecting...": "Opnieuw verbinden...", "Expected Value": "Verwachte waarde", - "Json Query": "Json Query", + "Json Query": "Json zoekopdracht", "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk {0} voor de documentatie over de querytaal. Een speelplaats is beschikbaar {1}.", "pushViewCode": "Hoe gebruik je Push monitor?(View Code)", "setupDatabaseChooseDatabase": "Welke database wil je gebruiken?", @@ -870,7 +870,7 @@ "successEdited": "Succesvol bewerkt.", "GrafanaOncallUrl": "Grafana Oncall URL", "Kafka SASL Options": "Kafka SASL opties", - "Pick a SASL Mechanism...": "Kies een SASL mechanisme...", + "Pick a SASL Mechanism...": "Kies een SASL mechanisme…", "Enable Kafka SSL": "Kafka SSL inschakelen", "Kafka Topic Name": "Kafka Topicnaam", "Kafka Producer Message": "Kafka Producer bericht", @@ -913,5 +913,10 @@ "setup a new monitor group": "Stel een nieuwe monitorgroep in", "Add a domain": "Voeg een domein toe", "Remove domain": "Verwijder domein '{0}'", - "openModalTo": "Modal openen naar {0}" + "openModalTo": "Modal openen naar {0}", + "settingUpDatabaseMSG": "Database wordt ingesteld. Dit kan even duren dus wees geduldig.", + "Search monitored sites": "Zoek naar gemonitorde sites", + "statusPageSpecialSlugDesc": "Speciale padnaam {0}: deze pagina wordt getoond als er geen padnaam wordt opgegeven", + "ntfyPriorityHelptextAllEvents": "Alle meldingen worden verzonden met de maximale prioriteit", + "ntfyPriorityHelptextAllExceptDown": "Alle meldingen worden verzonden met deze prioriteit, behalve {0}-meldingen, die hebben een prioriteit van {1}" } From 2d64204ff1be893374e2416d517a21638f5b5600 Mon Sep 17 00:00:00 2001 From: alejandro vasquez Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 290/494] Translated using Weblate (Spanish) Currently translated at 100.0% (884 of 884 strings) Co-authored-by: alejandro vasquez Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/es/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/es-ES.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 6be37ff7..3fe77006 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -655,7 +655,7 @@ "gorush": "Gorush", "squadcast": "Squadcast", "Maintenance Time Window of a Day": "Ventana de tiempo de mantenimiento de un día", - "Effective Date Range": "Rango de Fecha Vigente (Opcional)", + "Effective Date Range": "Rango de fecha efectivo (opcional)", "Free Mobile User Identifier": "Identificador de Usuario de Free Mobile", "Gateway Type": "Tipo de puerta de enlace", "SMSManager": "SMSManager", @@ -804,7 +804,7 @@ "Enable Kafka SSL": "Habilitar Kafka SSL", "Kafka SASL Options": "Opciones de Kafka SASL", "Mechanism": "Mecanismo", - "Pick a SASL Mechanism...": "Elija un mecanismo SASL...", + "Pick a SASL Mechanism...": "Elija un mecanismo SASL…", "Authorization Identity": "Identidad de autorización", "AccessKey Id": "ID de clave de acceso", "Secret AccessKey": "Secreto de la clave de acceso", @@ -854,8 +854,8 @@ "dbName": "Nombre de la base de datos", "authInvalidToken": "Token inválido.", "authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.", - "2faEnabled": "2FA Activado.", - "2faDisabled": "2FA Desactivado.", + "2faEnabled": "2FA habilitado.", + "2faDisabled": "2FA deshabilitado.", "liquidIntroduction": "El lenguaje de plantillas Liquid permite crear plantillas. Consulte las instrucciones de uso en {0}. Estas son las variables disponibles:", "templateLimitedToUpDownCertNotifications": "sólo disponible para las notificaciones de LEVANTADO/CAÍDO/Caducidad de certificado", "emailTemplateMsg": "mensaje de la notificación", @@ -883,7 +883,7 @@ "Add a Remote Browser": "Añadir un navegador remoto", "noDockerHostMsg": "No disponible. Configure primero un host Docker.", "DockerHostRequired": "Establezca el host Docker para este monitor.", - "successAdded": "Añadido con éxito.", + "successAdded": "Agregado exitosamente.", "successResumed": "Reanudado con éxito.", "successPaused": "Pausado con éxito.", "successBackupRestored": "Copia de seguridad restaurada correctamente.", From ef573d057b164c6b694d17bd4628841918bf7c07 Mon Sep 17 00:00:00 2001 From: kindercat Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 291/494] Translated using Weblate (Romanian) Currently translated at 66.7% (590 of 884 strings) Co-authored-by: kindercat <156439718+kindercat@users.noreply.github.com> Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ro.json | 72 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/src/lang/ro.json b/src/lang/ro.json index 420b3152..bdc669d3 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -6,7 +6,7 @@ "Theme": "Temă", "General": "General", "Version": "Versiune", - "Check Update On GitHub": "Verifică Actualitatea pe GitHub", + "Check Update On GitHub": "Verifică actualizarea pe GitHub", "Quick Stats": "Statistici Rapide", "Up": "Sus", "Down": "Jos", @@ -14,7 +14,7 @@ "Maintenance": "Mentenanță", "General Monitor Type": "Monitor de Tip General", "Passive Monitor Type": "Monitor de Tip Pasiv", - "markdownSupported": "Limbaj Markdown Acceptat", + "markdownSupported": "Limbaj Markdown acceptat", "Pause": "Pauză", "Name": "Nume", "Status": "Status", @@ -33,7 +33,7 @@ "Ping": "Ping", "Monitor Type": "Tipul Monitorului", "Keyword": "Cuvânt Cheie", - "Friendly Name": "Nume Ușor de Recunoscut", + "Friendly Name": "Nume ușor de recunoscut", "URL": "URL", "Hostname": "Hostname", "Port": "Port", @@ -45,7 +45,7 @@ "resendEveryXTimes": "Retrimite de {0} ori", "resendDisabled": "Retrimiterea dezactivată", "ignoreTLSError": "Ignoră erorile TLS/SSL pentru site-urile HTTPS", - "upsideDownModeDescription": "Întoarce statusul cu susul în jos. Dacă serviciul este contactabil, este OFFLINE.", + "upsideDownModeDescription": "Întoarce statusul cu susul în jos. Dacă serviciul este accesibil, este OFFLINE.", "Upside Down Mode": "Modul cu Susul in Jos", "Max. Redirects": "Nr. Max. de Redirecționări", "Accepted Status Codes": "Coduri de Status Acceptate", @@ -442,7 +442,7 @@ "More info on:": "Mai multe informații la: {0}", "pushoverDesc2": "Dacă vrei să trimiți notificări la dispozitive diferite, completează câmpul „Dispozitiv”", "Settings": "Setări", - "New Update": "Update Nou", + "New Update": "Actualizare nouă", "Language": "Limbă", "Game": "Joc", "Primary Base URL": "URL-ul de Bază", @@ -458,7 +458,7 @@ "Response": "Răspuns", "Heartbeat Interval": "Interval Heartbeat", "Resend Notification if Down X times consequently": "Retrimite Notificarea dacă se Întâmpină Eroarea de X ori consecutiv", - "retriesDescription": "Numărul Maxim de Reîncercări înainte ca serviciul să fie marcat offline și să se trimită o notificare", + "retriesDescription": "Numărul maxim de reîncercări înainte ca serviciul să fie marcat offline și să se trimită o notificare", "maxRedirectDescription": "Numărul maxim de redirecționări permise. Setează la „0” pentru a dezactiva redirecționările.", "Theme - Heartbeat Bar": "Temă - Bara de Heartbeat", "Discourage search engines from indexing site": "Descurajează Motoarele de Căutare din a Indexa Acest Site", @@ -492,7 +492,7 @@ "statusPageNothing": "Nimic aici, te rog adaugă un grup sau un monitor.", "Go to Dashboard": "Mergi la Panoul de Control", "webhookJsonDesc": "{0} este bun pentru orice server HTTP modern cum ar fi Express.js", - "webhookAdditionalHeadersDesc": "Setează antete adiționale trimise împreună cu webhook-ul.", + "webhookAdditionalHeadersDesc": "Setează antete adiționale trimise împreună cu webhook-ul. Fiecare antet ar trebui definit ca și cheie/valoare JSON.", "HeadersInvalidFormat": "Formatul header-urilor de request nu este valid: ", "clearDataOlderThan": "Păstrează istoricul monitorului pentru {0} zile.", "records": "înregistrări", @@ -561,5 +561,61 @@ "clicksendsms": "ClickSend SMS", "wayToGetKookBotToken": "Creează o aplicație și obține token-ul robot la {0}", "wayToGetKookGuildID": "Activează „Modul Dezvoltator” în setările Kook și dă click pe breaslă (guild) pentru a-i obține ID-ul", - "pushoverDesc1": "Prioritate de urgență (2) are o pauză implicită de 30 de secunde între reîncercări și expiră după o oră." + "pushoverDesc1": "Prioritate de urgență (2) are o pauză implicită de 30 de secunde între reîncercări și expiră după o oră.", + "Setup Proxy": "Configurare Proxy", + "Proxy Protocol": "Protocol Proxy", + "For safety, must use secret key": "Pentru securitate, trebuie să folosești cheia secretă", + "promosmsTypeFlash": "SMS FLASH - Mesajul va fi afișat automat pe dispozitivul destinatarului. Valabil doar către destinatarii din Polonia.", + "promosmsTypeEco": "SMS ECO - ieftin dar încet și deseori supraîncărcat. Valabil doar către destinatarii din Polonia.", + "SMS Type": "Tip SMS", + "checkPrice": "Verifică {0} prețurile:", + "apiCredentials": "Credențiale API", + "octopushLegacyHint": "Folosești versiunea veche de Octopush (2011-2020) sau noua versiune?", + "Check octopush prices": "Verifică prețurile octopush {0}", + "octopushPhoneNumber": "Număr de telefon (format internațional, ex : +33612345678 ", + "LunaSea Device ID": "ID Dispozitiv LunaSea", + "octopushTypePremium": "Premium (Rapid - recomandat pentru alertare)", + "octopushTypeLowCost": "Cost scăzut (Încet - câteodată este blocat de operator)", + "octopushSMSSender": "Numele expeditorului SMS : 3-11 caractere alfanumerice și spațiu (a-zA-Z0-9)", + "Read more:": "Citește mai mult: {0}", + "promosmsPhoneNumber": "Număr de telefon (pentru destinatarii din Polonia poți sări peste prefixele zonei)", + "Uptime Kuma URL": "URL Uptime Kuma", + "Feishu WebHookUrl": "WebHookURL Feishu", + "matrixHomeserverURL": "URL server personal (cu http(s):// și port opțional)", + "AccessKeyId": "ID AccessKey", + "Platform": "Platformă", + "Device Token": "Token Dispozitiv", + "promosmsAllowLongSMS": "Permite SMS lung", + "Apprise URL": "URL Apprise", + "Example:": "Exemplu: {0}", + "Status:": "Status: {0}", + "Strategy": "Strategie", + "Free Mobile User Identifier": "Identificator utilizator Free Mobile", + "Free Mobile API Key": "Cheie API Free Mobile", + "Proto Service Name": "Nume serviciu Proto", + "Enable TLS": "Activează TLS", + "Economy": "Economie", + "SMSManager API Docs": "Documente API SMSManager ", + "Gateway Type": "Tip gateway", + "Base URL": "URL de Bază", + "PhoneNumbers": "NumereTelefon", + "Sms template must contain parameters: ": "Șablonul SMS trebuie sa conțină parametrii: ", + "TemplateCode": "CodȘablon", + "SendKey": "SendKey", + "Proto Method": "Metodă Proto", + "Proto Content": "Conținut Proto", + "Lowcost": "Cost scăzut", + "You can divide numbers with": "Poți împărți numerele cu", + "Huawei": "Huawei", + "Proxy Server": "Server Proxy", + "Proxy server has authentication": "Serverul Proxy are autentificare", + "WebHookUrl": "WebHookURL", + "aboutWebhooks": "Mai multe detalii despre Webhooks pe: {0}", + "signalImportant": "IMPORTANT: Nu poți amesteca grupurile și numerele în recipiente!", + "Bark Group": "Grup Bark", + "Bark Sound": "Sunet Bark", + "SecretKey": "CheieSecretă", + "Retry": "Reîncercare", + "Topic": "Subiect", + "WeCom Bot Key": "Cheie Bot WeCom" } From e47e3cf479a4fa50d81cbc9e4c90db2b305b80ca Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 292/494] Translated using Weblate (Yue) Currently translated at 11.8% (105 of 885 strings) Co-authored-by: Louis Lam Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/yue/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/yue.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lang/yue.json b/src/lang/yue.json index 8661a78f..65eb635c 100644 --- a/src/lang/yue.json +++ b/src/lang/yue.json @@ -101,5 +101,10 @@ "Quick Stats": "綜合數據", "markdownSupported": "可以用 Markdown", "wayToGetFlashDutyKey": "您可以进入 协作空间 -> (选择一个 协作空间) -> 集成数据 -> 新增一个集成 页面,添加“自定义事件”获得一个推送地址,复制地址中的 Integration Key,更多信息前往{0}", - "FlashDuty Severity":"严重程度" + "FlashDuty Severity": "严重程度", + "setupDatabaseChooseDatabase": "你想用咩資料庫?", + "dbName": "資料庫名稱", + "Home": "首頁", + "Cannot connect to the socket server": "連唔到 Socket 伺服器", + "Reconnecting...": "重新連線中..." } From 5ebb1605975f8ba3ff492715d9cdd69a832feddf Mon Sep 17 00:00:00 2001 From: ItzAndriss Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 293/494] Translated using Weblate (Hungarian) Currently translated at 84.5% (748 of 885 strings) Co-authored-by: ItzAndriss Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 212 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 206 insertions(+), 6 deletions(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index 0d8250fb..79265538 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -134,7 +134,7 @@ "Clear Data": "Adatok törlése", "Events": "Események", "Heartbeats": "Életjelek", - "Auto Get": "Auto lekérd.", + "Auto Get": "Auto lekérdezés", "backupDescription": "Mentheti az összes figyelőt és értesítést egy JSON fájlba.", "backupDescription2": "Megj: Történeti és esemény adatokat nem tartalmaz.", "backupDescription3": "Érzékeny adatok, pl. értesítés tokenek is vannak az export fájlban. Figyeljen erre!", @@ -404,7 +404,7 @@ "Display Timezone": "Időzóna megjelenítése", "Server Timezone": "Szerver időzóna", "statusPageMaintenanceEndDate": "Vége", - "Enable DNS Cache": "DNS-gyorsítótár engedélyezése", + "Enable DNS Cache": "(Idejétmúlt) DNS gyorsítótár engedélyezése a HTTP(s) monitorok számára", "Enable": "Engedélyezze", "Disable": "Letiltás", "Affected Monitors": "Érintett monitorok", @@ -422,7 +422,7 @@ "All Status Pages": "Összes státusz oldal", "topic": "Téma", "topicExplanation": "MQTT téma a monitorhoz", - "webhookAdditionalHeadersDesc": "Hozzáad további fejléceket a webhook-hoz", + "webhookAdditionalHeadersDesc": "További fejléceket állít be, amelyeket a webhookkal együtt küldünk. Minden egyes fejlécet JSON kulcs/érték formában kell definiálni.", "error": "hiba", "critical": "kritikus", "Customize": "Testreszab", @@ -521,7 +521,7 @@ "Resend Notification if Down X times consecutively": "Értesítés Újraküldése ha X-szer nem válaszol", "Authentication": "Hitelesítés", "Passive Monitor Type": "Passzív megfigyelési típus", - "General Monitor Type": "Általános megfigyelési típus", + "General Monitor Type": "Általános figyelő típus", "Specific Monitor Type": "Specifikus megfigyelési típus", "Reconnecting...": "Újracsatlakozás...", "Saved.": "Elmentve.", @@ -532,7 +532,7 @@ "2faDisabled": "Kétlépcsős azonosítás kikapcsolva.", "successAuthChangePassword": "Sikeres jelszó módosítás.", "successBackupRestored": "Sikeres mentés visszaállítás.", - "statusPageRefreshIn": "Frissítés: {0}", + "statusPageRefreshIn": "Frissítés {0} múlva", "Retry": "Újrapróbálkozás", "Close": "Bezárás", "Request Body": "Kérés törzs", @@ -572,5 +572,205 @@ "Json Query": "Json lekérdezés", "Home": "Kezdőlap", "Cannot connect to the socket server": "Nem lehet csatlakozni a socket szerverhez", - "Expected Value": "Várt érték" + "Expected Value": "Várt érték", + "successKeyword": "Siker kulcsszó", + "pushViewCode": "Hogyan kell használni a Push monitort? (Kód megtekintése)", + "setAsDefaultProxyDescription": "Ez a proxy alapértelmezés szerint engedélyezve lesz az új megfigyelők esetében. A proxy továbbra is letiltható minden egyes monitor esetében külön-külön.", + "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Az aktuális kapcsolat elveszhet, ha jelenleg a Cloudflare Tunnelen keresztül csatlakozik. Biztos, hogy le akarja állítani? Írja be az aktuális jelszavát a megerősítéshez.", + "telegramSendSilentlyDescription": "Az üzenetet némán küldi el. A felhasználók hang nélküli értesítést kapnak.", + "trustProxyDescription": "Bízz az 'X-Forwarded-*' fejlécekben. Ha a helyes ügyfél IP-t szeretnél kapni, és az Uptime Kuma egy proxy, például Nginx vagy Apache mögött van, akkor ezt engedélyezni kell.", + "liquidIntroduction": "Az ütemezhetőséget a Liquid templating nyelv segítségével érhetjük el. A használati utasításokat lásd a {0} oldalon. Ezek a rendelkezésre álló változók:", + "successKeywordExplanation": "MQTT kulcsszó, amelyet sikerként fogunk figyelembe venni", + "warningTimezone": "A szerver időzónáját használja", + "recurringIntervalMessage": "Futtatás minden nap egyszer | Futtatás {0} naponként egyszer", + "goAlertIntegrationKeyInfo": "A szolgáltatás általános API-integrációs kulcsának lekérdezése ebben a formátumban: \"aaaaaaaa-bbbb-cccccc-dddd-eeeeeeeeeeeeee\" általában a másolt URL token paraméterének értéke.", + "wayToGetPagerDutyKey": "Ezt a Szolgáltatás -> Szolgáltatásjegyzék -> (Szolgáltatás kiválasztása) -> Integrációk -> Integráció hozzáadása menüpontban érheti el. Itt kereshet rá az \"Events API V2\" kifejezésre. További információ {0}", + "backupOutdatedWarning": "Megszűnt: Ez a biztonsági mentési funkció nem karbantartott, ezért nem tud teljes biztonsági mentést létrehozni vagy visszaállítani.", + "SecretKey": "TitkosKulcs", + "Reset Token": "Token visszaállítása", + "Select": "Kiválasztás", + "Check/Uncheck": "Megjelölni/feloldani", + "Steam Game Server": "Steam játék szerver", + "Optional": "Opcionális", + "settingUpDatabaseMSG": "Az adatbázis beállítása. Ez eltarthat egy ideig, kérlek légy türelemmel.", + "webhookBodyPresetOption": "Előbeállítás - {0}", + "startOrEndWithOnly": "Csak {0}-val kezdődő vagy végződő", + "PushDeer Key": "PushDeer kulcs", + "wayToGetClickSendSMSToken": "Az API felhasználónevet és az API kulcsot a {0} oldalon kaphatja meg.", + "pushOthers": "Egyebek", + "programmingLanguages": "Programozási Nyelvek", + "Docker Container": "Docker Konténer", + "Device Token": "Eszköz Token", + "filterActive": "Aktív", + "filterActivePaused": "Szünetel", + "Add New Tag": "Új címke hozzáadása", + "webhookBodyCustomOption": "Egyedi törzs", + "Search monitored sites": "Megfigyelt oldalak keresése", + "templateMsg": "az értesítés üzenete", + "templateHeartbeatJSON": "a szívverést leíró objektum", + "templateMonitorJSON": "a monitort leíró objektum", + "templateLimitedToUpDownNotifications": "csak a FEL/LE értesítéseknél érhető el", + "templateLimitedToUpDownCertNotifications": "csak az FEL/LE/Bizonyítvány lejáratáról szóló értesítések esetében érhető el", + "Retype the address.": "Ismételje meg a címet.", + "enableProxyDescription": "Ez a proxy nem lesz hatással a monitorkérelmekre, amíg nem aktiválódik. Az aktiválás állapotával ideiglenesen letilthatja a proxy-t az összes monitorról.", + "No consecutive dashes": "Egymást követő kötőjelek nélkül", + "wayToGetCloudflaredURL": "(Letöltés cloudflaretől {0})", + "Don't know how to get the token? Please read the guide:": "Nem tudod, hogy hogyan szerezd meg a tokent? Olvasd el az útmutatót:", + "About": "Rólunk", + "Days Remaining:": "Nap hátramaradt:", + "Certificate Expiry Notification": "Tanúsítvány lejáratáról szóló értesítés", + "API Username": "API Felhasználónév", + "API Key": "API Kulcs", + "Also check beta release": "Ellenőrizd a béta kiadást is", + "Using a Reverse Proxy?": "Fordított proxy használata?", + "Check how to config it for WebSocket": "Ellenőrizd, hogyan kell konfigurálni a WebSocket számára", + "Most likely causes:": "Legvalószínűbb okok:", + "There might be a typing error in the address.": "Lehet, hogy gépelési hiba van a címben.", + "What you can try:": "Amit kipróbálhatsz:", + "Go back to the previous page.": "Térj vissza az előző oldalra.", + "Coming Soon": "Hamarosan", + "Connection String": "Csatlakozási karakterlánc", + "statusPageSpecialSlugDesc": "Speciális slug {0}: ez az oldal akkor jelenik meg, ha nincs slug megadva", + "certificationExpiryDescription": "A HTTPS-monitorok értesítést váltanak ki, ha a TLS-tanúsítvány lejár:", + "Setup Docker Host": "Docker hoszt beállítása", + "Connection Type": "Csatlakozás Típusa", + "Docker Daemon": "Docker Daemon", + "deleteDockerHostMsg": "Biztos, hogy törölni akarod ezt a docker hostot az összes monitorról?", + "socket": "Socket", + "tcp": "TCP / HTTP", + "Container Name / ID": "Konténer neve / Azonosító", + "Docker Hosts": "Docket Hosztok", + "Domain": "Domain", + "Docker Host": "Docket Hoszt", + "noDockerHostMsg": "Nem elérhető. Először állíts be egy Docker Hosztot.", + "DockerHostRequired": "Kérlek állítsd be a Docker Hosztot ehhez a monitorhoz.", + "tailscalePingWarning": "A Tailscale Ping monitor használatához telepítenie kell az Uptime Kuma-t Docker nélkül, és telepíteni kell a Tailscale klienst is a szerverre.", + "Workstation": "Munkaállomás", + "telegramMessageThreadID": "(Választható) Üzenetszál azonosítója", + "telegramMessageThreadIDDescription": "Választható Egyedi azonosítója a fórum célüzenetszálának (témájának); csak a fórum szupercsoportok esetében", + "telegramSendSilently": "Csendben küldeni", + "telegramProtectContent": "Védi továbbítást/mentést", + "telegramProtectContentDescription": "Ha engedélyezve van, a bot üzenetei a Telegramban védve lesznek a továbbítástól és a mentéstől.", + "Trigger type:": "Kioldó típusa:", + "Event data:": "Egyemény adata:", + "Then choose an action, for example switch the scene to where an RGB light is red.": "Ezután válasz ki egy műveletet, például állítsa a jelenetet úgy, hogy egy RGB fény piros legyen.", + "Frontend Version": "Frontend verzió", + "Frontend Version do not match backend version!": "Frontend verzió nem egyezik a backend verzióval!", + "backupRecommend": "Helyette készíts biztonsági mentést a kötetről vagy az adatmappáról (./data/) közvetlenül.", + "recurringInterval": "Intervallum", + "Recurring": "Ismétlődő", + "strategyManual": "Aktív/inaktív manuálisan", + "endDateTime": "Befejezés dátuma/időpontja", + "startDateTime": "Kezdés dátuma/időpontja", + "cronExpression": "Cron kifejezés", + "cronSchedule": "Időzítő: ", + "invalidCronExpression": "Érvénytelen Cron kifejezés: {0}", + "chromeExecutable": "Chrome/Chromium futtatható", + "Single Maintenance Window": "Egyetlen karbantartási ablak", + "Maintenance Time Window of a Day": "Egy nap karbantartási időablak", + "Effective Date Range": "Hatályos dátumtartomány (opcionális)", + "Schedule Maintenance": "Karbantartás ütemezése", + "DateTime Range": "DátumIdő tartomány", + "wayToGetZohoCliqURL": "Megtudhatja, hogy hogyan hozz létre egy webhook URL-címet {0}.", + "chromeExecutableDescription": "A Docker-felhasználók számára, ha a Chromium még nincs telepítve, a telepítés és a teszteredmény megjelenítése néhány percet vehet igénybe. 1 GB lemezterületet foglal.", + "loadingError": "Nem sikerült lekérni az adatokat, kérjük, próbálja meg később újra.", + "cloneOf": "{0} klónja", + "dataRetentionTimeError": "A megőrzési időszaknak 0-nak vagy annál nagyobbnak kell lennie", + "infiniteRetention": "Végtelen visszatartás esetén állítsa 0-ra.", + "confirmDeleteTagMsg": "Biztos, hogy törölni szeretné ezt a címkét? Az ehhez a címkéhez tartozó monitorok nem kerülnek törlésre.", + "enableGRPCTls": "Engedélyezi a gRPC-kérelem küldését TLS-kapcsolattal", + "octopushAPIKey": "\"API-kulcs\" a HTTP API hitelesítő adatokból a vezérlőpultban", + "octopushLogin": "\"Bejelentkezés\" a HTTP API hitelesítő adatokból a vezérlőpultban", + "pushoversounds pushover": "Pushover (alapértelmezett)", + "Proto Service Name": "Proto szolgáltatás neve", + "Proto Method": "Proto módszer", + "Proto Content": "Proto tartalom", + "Economy": "Gazdaság", + "Lowcost": "Alacsonyár", + "SendKey": "KulcsKüldés", + "SMSManager API Docs": "SMSManager API dokumentáció ", + "Gateway Type": "Átjáró típusa", + "high": "magas", + "Remove domain": "'{0}' domain eltávolítása", + "You can divide numbers with": "Számokat oszthatunk a", + "Base URL": "Bázis URL", + "goAlertInfo": "A GoAlert egy nyílt forráskódú alkalmazás az ügyeleti időbeosztáshoz, az automatikus eszkalációhoz és értesítésekhez (például SMS vagy hanghívás). Automatikusan hívja be a megfelelő személyt, a megfelelő módon és a megfelelő időben! {0}", + "AccessKeyId": "Hozzáférési Kulcs Azonosítója", + "PhoneNumbers": "Telefonszámok", + "TemplateCode": "SablonKód", + "SignName": "TáblaNév", + "Sms template must contain parameters: ": "Az sms-sablonnak paramétereket kell tartalmaznia: ", + "Bark Endpoint": "Bark végpont", + "Bark Group": "Bark csoport", + "Bark Sound": "Bark hang", + "WebHookUrl": "WebHookUrl", + "High": "Magas", + "Bark API Version": "Bark API Verzió", + "promosmsAllowLongSMS": "Hosszú üzenet engedélyezése", + "Huawei": "Huawei", + "Integration Key": "Integrációs kulcs", + "Integration URL": "Integrációs URL", + "Auto resolve or acknowledged": "Automatikus feloldás vagy nyugtázás", + "do nothing": "ne csináljon semmit", + "auto acknowledged": "automatikus visszaigazolás", + "auto resolve": "automatikus feloldás", + "smseagleTo": "Telefonszám(ok)", + "smseagleContact": "Telefonkönyv kapcsolattartó neve(i)", + "onebotHttpAddress": "OneBot HTTP cím", + "onebotMessageType": "OneBot HTTP cím", + "onebotPrivateMessage": "Privát", + "onebotUserOrGroupId": "Csoport/Felhasználó azonosító", + "onebotSafetyTips": "A biztonság érdekében be kell állítani a hozzáférési jelszót", + "Continue": "Folytatás", + "Google Analytics ID": "Google Analitika Azonosító", + "RadiusCalledStationIdDescription": "A hívott eszköz azonosítója", + "RadiusCallingStationId": "Hívó állomás azonosítója", + "RadiusCallingStationIdDescription": "A hívó eszköz azonosítója", + "Domain Names": "Domain nevek", + "signedInDisp": "Bejelentkezve, mint {0}", + "signedInDispDisabled": "Belépés letiltva.", + "Add a new expiry notification day": "Új lejárati értesítési nap hozzáadása", + "Remove the expiry notification": "A lejáratról szóló értesítés napjának eltávolítása", + "Show Powered By": "Jelenjen meg a \"Szolgáltatva által\"t", + "RadiusSecret": "Titkos sugár", + "RadiusSecretDescription": "Megosztott titok az ügyfél és a szerver között", + "RadiusCalledStationId": "Hívott állomás azonosítója", + "Date and Time": "Dátum és idő", + "enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárba helyezéséhez", + "Edit Maintenance": "Karbantartás szerkesztése", + "smseagleGroup": "Telefonkönyv csoport neve(i)", + "styleElapsedTime": "Az eltelt idő a heartbeat sáv alatt", + "styleElapsedTimeShowNoLine": "Megjelenítés (nincs sor)", + "styleElapsedTimeShowWithLine": "Megjelenítés (vonallal)", + "disableCloudflaredNoAuthMsg": "No Auth módban vagy, jelszóra nincs szükség.", + "wayToGetLineNotifyToken": "Hozzáférési jelszót kaphat {0}-tól/-től", + "Long-Lived Access Token": "Hosszú élettartamú hozzáférési token", + "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "A hosszú élettartamú hozzáférési token létrehozásához kattintson a profilja nevére (balra lent), görgessen az aljára, majd kattintson a Token létrehozása gombra. ", + "Notification Service": "Értesítési szolgáltatás", + "default: notify all devices": "alapértelmezett: minden eszköz értesítése", + "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Az Értesítési szolgáltatások listája megtalálható a Home Assistantban a \"Fejlesztői eszközök > Szolgáltatások\" menüpont alatt, ahol az \"értesítés\" kifejezésre keresve megtalálja a készülék/telefon nevét.", + "Automations can optionally be triggered in Home Assistant:": "Az automatizálás opcionálisan elindítható a Home Assistantban:", + "Event type:": "Esemény típusa:", + "Topic": "Téma", + "WeCom Bot Key": "WeCom Bot Key", + "Setup Proxy": "Proxy beállítása", + "Proxy Protocol": "Proxy Protokol", + "Proxy Server": "Proxy szerver", + "Proxy server has authentication": "A proxy szerver hitelesítéssel rendelkezik", + "smseagleRecipientType": "Címzett típusa", + "smseagleRecipient": "Címzett(ek) (több címzettet vesszővel kell elválasztani)", + "smseagleToken": "API hozzáférési jelszó", + "smseagleUrl": "Az Ön SMSEagle eszközének URL címe", + "smseagleEncoding": "Unicode-ként küldés", + "smseaglePriority": "Üzenet prioritása (0-9, alapértelmezett = 0)", + "Recipient Number": "Recipient Number", + "From Name/Number": "A névtől/számtól", + "Leave blank to use a shared sender number.": "Hagyd üresen, ha megosztott feladószámot szeretnél használni.", + "Octopush API Version": "Octopush API verzió", + "Legacy Octopush-DM": "Octopush-DM örökség", + "ntfy Topic": "ntfy Téma", + "onebotGroupMessage": "Csoport", + "SecretAccessKey": "Titkos Hozzáférési Kulcs", + "Invert Keyword": "Kulcsszó invertálása", + "or": "vagy" } From 2fbdf4886efb13c8814dfd45dbe4a785cb1274a2 Mon Sep 17 00:00:00 2001 From: Kisem Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 294/494] Translated using Weblate (Hungarian) Currently translated at 84.5% (748 of 885 strings) Co-authored-by: Kisem Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/hu.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lang/hu.json b/src/lang/hu.json index 79265538..6f2de897 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -772,5 +772,6 @@ "onebotGroupMessage": "Csoport", "SecretAccessKey": "Titkos Hozzáférési Kulcs", "Invert Keyword": "Kulcsszó invertálása", - "or": "vagy" + "or": "vagy", + "For safety, must use secret key": "Biztonsági okoból kötelező a titkos kulcs használata" } From 64fe00f9f2c712c253945db66e6351ab1f3f6f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=B5=D0=BB=D0=B8=D1=87=20=D0=94=D0=BC=D0=B8=D1=82?= =?UTF-8?q?=D1=80=D0=B8=D0=B9?= Date: Wed, 17 Jan 2024 19:01:36 +0000 Subject: [PATCH 295/494] Translated using Weblate (Russian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (885 of 885 strings) Co-authored-by: Белич Дмитрий Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ru-RU.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 1686cce5..76a16c8e 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -808,7 +808,7 @@ "Kafka Producer Message": "Сообщение продюсера Kafka", "Kafka SASL Options": "Параметры SASL в Kafka", "Mechanism": "Механизм", - "Pick a SASL Mechanism...": "Выберите механизм SASL...", + "Pick a SASL Mechanism...": "Выберите механизм SASL…", "AccessKey Id": "AccessKey Id", "Secret AccessKey": "Секретный ключ доступа", "Session Token": "Токен сессии", @@ -926,5 +926,6 @@ "useRemoteBrowser": "Использовать удаленный браузер", "deleteRemoteBrowserMessage": "Вы уверены, что хотите удалить этот удаленный браузер для всех мониторов?", "Remove the expiry notification": "Удалить дату истечения срока действия уведомления", - "Add a new expiry notification day": "Добавить новый день уведомления об истечении срока действия" + "Add a new expiry notification day": "Добавить новый день уведомления об истечении срока действия", + "What is a Remote Browser?": "Что такое удаленный браузер?" } From 371eb38198768b4deb299575b13dffd823500e9a Mon Sep 17 00:00:00 2001 From: kindercat Date: Wed, 17 Jan 2024 19:01:37 +0000 Subject: [PATCH 296/494] Translated using Weblate (Romanian) Currently translated at 87.2% (772 of 885 strings) Co-authored-by: kindercat <156439718+kindercat@users.noreply.github.com> Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ro.json | 197 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 187 insertions(+), 10 deletions(-) diff --git a/src/lang/ro.json b/src/lang/ro.json index bdc669d3..8763f20a 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -24,7 +24,7 @@ "Resume": "Reia", "Delete": "Șterge", "Uptime": "Timpul de funcționare", - "Cert Exp.": "Expirarea Certificatului", + "Cert Exp.": "Exp. Cert", "Monitor": "Monitor | Monitoare", "day": "zi | zile", "-day": "-zi", @@ -44,7 +44,7 @@ "retryCheckEverySecond": "Reîncearcă la fiecare {0} secunde", "resendEveryXTimes": "Retrimite de {0} ori", "resendDisabled": "Retrimiterea dezactivată", - "ignoreTLSError": "Ignoră erorile TLS/SSL pentru site-urile HTTPS", + "ignoreTLSError": "Ignoră erorile TLS/SSL pentru site-urile web HTTPS", "upsideDownModeDescription": "Întoarce statusul cu susul în jos. Dacă serviciul este accesibil, este OFFLINE.", "Upside Down Mode": "Modul cu Susul in Jos", "Max. Redirects": "Nr. Max. de Redirecționări", @@ -261,7 +261,7 @@ "What you can try:": "Ce poți încerca:", "Retype the address.": "Rescrie adresa.", "Go back to the previous page.": "Mergi la pagina precedentă.", - "Coming Soon": "În curând.", + "Coming Soon": "În curând", "Connection String": "Connection String", "Query": "Query", "settingsCertificateExpiry": "Expirarea certificatului TLS", @@ -328,10 +328,10 @@ "Server Timezone": "Fusul Orar al Server-ului", "statusPageMaintenanceEndDate": "Sfârșit", "IconUrl": "URL-ul pictogramei", - "Enable DNS Cache": "Activează DNS Cache", + "Enable DNS Cache": "(Depreciat) Activează DNS Cache pentru monitoarele HTTP(s)", "Enable": "Activează", "Disable": "Dezactivează", - "Effective Date Range": "Interval în care se aplică", + "Effective Date Range": "Interval în care se aplică (Optional)", "Schedule Maintenance": "Planifică Mentenanță", "Date and Time": "Dată și Oră", "DateTime Range": "Interval DatăOră", @@ -370,7 +370,7 @@ "infiniteRetention": "Setează la „0” pentru retenție pe perioadă nedeterminată.", "confirmDeleteTagMsg": "Ești sigur că vrei să ștergi această etichetă? Monitoarele asociate cu această etichetă nu vor fi șterse.", "enableGRPCTls": "Permite trimiterea cererilor gRPC cu conexiune TLS", - "grpcMethodDescription": "Numele metodei este convert to cammelCase format cum ar fi sayHello, check, etc.", + "grpcMethodDescription": "Numele metodei este convertit în format camelCase, cum ar fi sayHello, check etc.", "deleteMonitorMsg": "Ești sigur că vrei să ștergi acest monitor?", "deleteMaintenanceMsg": "Ești sigur că vrei să ștergi această mentenanță?", "dnsPortDescription": "Port-ul server-ului DNS. Este implicit 53. Poți schimba acest port oricând.", @@ -440,7 +440,7 @@ "Message Title": "Titlu Mesaj", "Notification Sound": "Sunet Notificare", "More info on:": "Mai multe informații la: {0}", - "pushoverDesc2": "Dacă vrei să trimiți notificări la dispozitive diferite, completează câmpul „Dispozitiv”", + "pushoverDesc2": "Dacă doriți să trimiteți notificări către diferite dispozitive, completați câmpul Dispozitiv.", "Settings": "Setări", "New Update": "Actualizare nouă", "Language": "Limbă", @@ -539,7 +539,7 @@ "Maintenance Time Window of a Day": "Fereastra de timp alocată pentru mentenanță dintr-o zi", "uninstalling": "Dezinstalare", "Ignore TLS Error": "Ignoră erorile TLS", - "wayToGetDiscordURL": "Poți obține asta mergând în Setări Server -> Integrări -> Vezi Webhook-urile -> Webhook nou", + "wayToGetDiscordURL": "Poți obține asta mergând în Setări Server -> Integrări -> Vezi Webhook-urile -> Webhook Nou", "wayToCheckSignalURL": "Poți verifica acest URL pentru a vizualiza cum să configurezi unul:", "wayToGetLineChannelToken": "Pentru început, accesează {0}, creează un furnizor și canal (API-ul Mesageriei), apoi poți obține token-ul de acces al canalului si ID-ul utilizatorului din itemii de meniu mentionati mai sus.", "aboutIconURL": "Poți furniza un link către o pictogramă la secțiunea „URL-ul Pictogramei” pentru a suprascrie imaginea de profil implicită. Nu va fi folosită dacă există un emoticon configurat deja.", @@ -571,7 +571,7 @@ "checkPrice": "Verifică {0} prețurile:", "apiCredentials": "Credențiale API", "octopushLegacyHint": "Folosești versiunea veche de Octopush (2011-2020) sau noua versiune?", - "Check octopush prices": "Verifică prețurile octopush {0}", + "Check octopush prices": "Verifică prețurile octopush {0}.", "octopushPhoneNumber": "Număr de telefon (format internațional, ex : +33612345678 ", "LunaSea Device ID": "ID Dispozitiv LunaSea", "octopushTypePremium": "Premium (Rapid - recomandat pentru alertare)", @@ -617,5 +617,182 @@ "SecretKey": "CheieSecretă", "Retry": "Reîncercare", "Topic": "Subiect", - "WeCom Bot Key": "Cheie Bot WeCom" + "WeCom Bot Key": "Cheie Bot WeCom", + "successKeywordExplanation": "Cuvântul cheie MQTT care va fi considerat succes", + "successKeyword": "Cuvânt Cheie Succes", + "pushViewCode": "Cum se utilizează monitorul Push? (Vizualizare cod)", + "setupDatabaseChooseDatabase": "Ce bază de date dorești să utilizezi?", + "setupDatabaseMariaDB": "Conectează-te la o bază de date externă MariaDB. Trebuie să setezi informațiile de conectare la baza de date.", + "setupDatabaseSQLite": "Un fișier de bază de date simplu, recomandat pentru implementări la scară mică. Înainte de v2.0.0, Uptime Kuma folosea SQLite ca bază de date implicită.", + "dbName": "Numele bazei de date", + "pagertreeCritical": "Critic", + "setupDatabaseEmbeddedMariaDB": "Nu trebuie să setezi nimic. Această imagine Docker a încorporat și configurat automat MariaDB pentru tine. Uptime Kuma se va conecta la această bază de date prin socket Unix.", + "statusPageSpecialSlugDesc": "Slug special {0}: această pagină va fi afișată atunci când nu este furnizat niciun slug", + "chromeExecutableDescription": "Pentru utilizatorii Docker, dacă Chromium nu este încă instalat, instalarea și afișarea rezultatului testului poate dura câteva minute. Este nevoie de 1 GB de spațiu pe disc.", + "apiKeyAddedMsg": "Cheia dvs. API a fost adăugată. Vă rugăm să rețineți că nu va fi afișată din nou.", + "pagertreeIntegrationUrl": "URL Integrare", + "Reset Token": "Resetare Token", + "telegramSendSilentlyDescription": "Trimite mesajul silențios. Utilizatorii vor primi o notificare fără sunet.", + "telegramProtectContentDescription": "Dacă este activat, mesajele boților din Telegram vor fi protejate de redirecționare și salvare.", + "sameAsServerTimezone": "Identic ca fusul orar al serverului", + "settingUpDatabaseMSG": "Configurarea bazei de date. Poate dura ceva timp, vă rugăm să aveți răbdare.", + "Search monitored sites": "Căutați site-uri monitorizate", + "pushoverMessageTtl": "Mesaj TTL (secunde)", + "matrixDesc1": "Poți găsi ID-ul camerei interne uitându-te în rubrica avansată a setărilor camerei în clientul tau Matrix. Ar trebui să arate așa QMdRCpUlfLwsfjxye6:home.server.", + "matrixDesc2": "Este foarte recomandat să creați un utilizator nou și să nu utilizați propriul simbol de acces al utilizatorului Matrix, deoarece acesta va permite accesul deplin la contul dvs. și la toate camerele la care v-ați alăturat. În schimb, creați un utilizator nou și invitați-l doar în sala în care doriți să primiți notificarea. Puteți obține tokenul de acces rulând {0}", + "Notify Channel": "Canal de Notificare", + "aboutNotifyChannel": "Canalul de notificare va declanșa o notificare pe desktop sau pe mobil pentru toți membrii canalului, indiferent dacă disponibilitatea acestora este setată activ sau absent.", + "promosmsSMSSender": "Nume Expeditor SMS: nume preînregistrat sau una dintre cele standard: InfoSMS , SMS Info, MaxSMS, INFO, SMS", + "Internal Room Id": "ID cameră internă", + "setup a new monitor group": "configurați un nou grup de monitoare", + "smtpDkimSettings": "Setări DKIM", + "aboutChannelName": "Introduceți numele canalului în câmpul {0} Channel Name (Nume canal) dacă doriți să faceți bypass la canalul Webhook. Ex: #alt-canal", + "aboutKumaURL": "Dacă lăsați necompletat câmpul Uptime Kuma URL, va fi implicit pagina de proiect GitHub.", + "smtpDkimDesc": "Vă rugăm să verificați Nodemailer DKIM {0} pentru utilizare.", + "smtpDkimHashAlgo": "Algoritmul Hash (Opțional)", + "smtpDkimheaderFieldNames": "Chei Header de semnat (Opțional)", + "smtpDkimskipFields": "Chei Header care nu se semnează (Opțional)", + "wayToGetPagerDutyKey": "Puteți obține acest lucru accesând Service -> Service Directory -> (Selectați un serviciu) -> Integrations -> Add integration. Aici puteți căuta \"Events API V2\". Mai multe informații {0}", + "wayToGetClickSendSMSToken": "Puteți obține utilizatorul API și cheia API de la {0} .", + "Custom Monitor Type": "Tip de monitor personalizat", + "Google Analytics ID": "ID Google Analytics", + "leave blank for default subject": "lăsați necompletat pentru subiectul implicit", + "emailCustomBody": "Corp personalizat", + "pushDeerServerDescription": "Lăsați necompletat pentru a utiliza serverul oficial", + "smseagleRecipientType": "Tipul destinatarului", + "ntfy Topic": "Subiect ntfy", + "pushOthers": "Alții", + "programmingLanguages": "Limbaje de programare", + "statusPageRefreshIn": "Refresh în: {0}", + "templateMsg": "mesajul notificării", + "templateLimitedToUpDownCertNotifications": "disponibil numai pentru notificările de expirare UP/DOWN/Certificat", + "templateLimitedToUpDownNotifications": "disponibil numai pentru notificările UP/DOWN", + "templateHeartbeatJSON": "object care descrie heartbeat-ul", + "templateMonitorJSON": "object care descrie monitorul", + "noDockerHostMsg": "Nu este disponibil. Configurați mai întâi un host Docker.", + "DockerHostRequired": "Vă rugăm să setați Host Docker pentru acest monitor.", + "tailscalePingWarning": "Pentru a utiliza monitorul Tailscale Ping, trebuie să instalezi Uptime Kuma fără Docker și, de asemenea, să instalezi clientul Tailscale pe server.", + "endDateTime": "Dată/Oră de final", + "cronSchedule": "Program: ", + "enableNSCD": "Activare NSCD (Name Service Cache Daemon) pentru memorarea în cache a tuturor solicitărilor DNS", + "chromeExecutableAutoDetect": "Detecție automată", + "Edit Maintenance": "Modifică Mentenanța", + "Clone Monitor": "Clonează Monitorul", + "Clone": "Clonează", + "emailCustomisableContent": "Conținut personalizabil", + "leave blank for default body": "lăsați necompletat pentru corpul implicit", + "emailTemplateServiceName": "Numele Serviciului", + "emailTemplateHostnameOrURL": "Numele Hostului sau URL", + "emailTemplateMonitorJSON": "object care descrie monitorul", + "emailTemplateHeartbeatJSON": "object care descrie heartbeat-ul", + "emailTemplateMsg": "mesajul notificării", + "emailTemplateLimitedToUpDownNotification": "disponibil numai pentru heartbeat-uri UP/DOWN, altfel nul", + "emailTemplateStatus": "Stare", + "invertKeywordDescription": "Căutați după cuvântul cheie să fie absent și nu prezent.", + "jsonQueryDescription": "Efectuați o interogare json după răspuns și verificați valoarea așteptată (valoarea returnată va fi convertită în șir pentru comparație). Consultați {0} pentru documentația despre limbajul de interogare. Un playground poate fi găsit {1}.", + "goAlertInfo": "GoAlert este o aplicație open source pentru programare on-call, escalări automate si notificări (asemeni SMS sau apeluri vocale).\nPrinde automat persoana potrivită, metoda potrivită, la momentul potrivit! {0}", + "goAlertIntegrationKeyInfo": "Obține cheia generică de integrare API pentru serviciu în formatul \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" de obicei valoarea parametrului token al URL-ului copiat.", + "SecretAccessKey": "Secret AccessKey", + "SignName": "NumeSemn", + "Bark API Version": "Versiunea API Bark", + "Bark Endpoint": "Endpoint Bark", + "promosmsTypeFull": "SMS FULL - Abonament premium SMS, poți folosi propriul nume de expeditor (Trebuie să înregistrezi inițial numele). Fiabil pentru alerte.", + "openModalTo": "deschide modal la {0}", + "Add a domain": "Adaugă un domeniu", + "Remove domain": "Elimină domeniul '{0}'", + "Icon Emoji": "Pictogramă Emoji", + "documentation": "documentație", + "smtpDkimDomain": "Numele Domeniului", + "smtpDkimKeySelector": "Selector cheie", + "smtpDkimPrivateKey": "Cheie Privată", + "Integration Key": "Cheie de integrare", + "Integration URL": "URL Integrare", + "Auto resolve or acknowledged": "Rezolvare automată sau confirmată", + "do nothing": "nu face nimic", + "alertaApiEndpoint": "Endpoint API", + "alertaEnvironment": "Mediu", + "alertaApiKey": "Cheie API", + "alertaAlertState": "Statut Alertă", + "promosmsTypeSpeed": "SMS SPEED - Cea mai mare prioritate în sistem. Foarte rapid și fiabil dar costisitor (aproape dublul prețului SMS FULL).", + "serwersmsAPIUser": "Utilizator API (incl. webapi_ prefix)", + "serwersmsAPIPassword": "Parolă API", + "serwersmsPhoneNumber": "Număr de telefon", + "serwersmsSenderName": "Numele expeditorului SMS (înregistrat prin portalul clienților)", + "smseagleTo": "Număr (Numere) de telefon", + "smseagleGroup": "Numele grupului din agenda telefonică", + "smseagleContact": "Nume de contact din agenda telefonică", + "smseagleRecipient": "Destinatar(i) (mai mulți trebuie despărțiți prin virgulă)", + "smseagleToken": "Token Acces API", + "smseagleUrl": "URL-ul dispozitivului tău SMSEagle", + "smseagleEncoding": "Trimite ca Unicode", + "smseaglePriority": "Prioritate mesaj (0-9, implicit = 0)", + "Recipient Number": "Număr de telefon Destinatar", + "From Name/Number": "Nume Expeditor/Număr", + "Leave blank to use a shared sender number.": "Lăsați necompletat pentru a utiliza un număr de expeditor partajat.", + "Octopush API Version": "Versiune API Octopush", + "Server URL should not contain the nfty topic": "Adresa URL a serverului nu trebuie să conțină subiectul nfty", + "onebotHttpAddress": "Adresa HTTP OneBot", + "onebotMessageType": "Tipul Mesajului OneBot", + "onebotGroupMessage": "Grup", + "onebotPrivateMessage": "Privat", + "onebotUserOrGroupId": "Grup/ID Utilizator", + "onebotSafetyTips": "Pentru siguranță, trebuie să setați tokenul de acces", + "PushDeer Server": "Serverul PushDeer", + "PushDeer Key": "Cheia PushDeer", + "Edit Tag": "Editați eticheta", + "Server Address": "Adresa Serverului", + "Learn More": "Află mai multe", + "API Keys": "Chei API", + "Expiry": "Expirare", + "Expiry date": "Data de expirare", + "Don't expire": "Nu expiră", + "Continue": "Continuă", + "Add Another": "Adaugă Altul", + "Key Added": "Cheie Adăugată", + "Add API Key": "Adaugă Cheie API", + "No API Keys": "Fără Chei APi", + "apiKey-active": "Activ", + "apiKey-expired": "Expirat", + "apiKey-inactive": "Inactiv", + "Expires": "Expiră", + "disableAPIKeyMsg": "Sigur doriți să dezactivați această cheie API ?", + "deleteAPIKeyMsg": "Sigur doriți să ștergeți această cheie API ?", + "Generate": "Generează", + "pagertreeUrgency": "Urgență", + "pagertreeSilent": "Silențios", + "pagertreeLow": "Scăzut", + "pagertreeMedium": "Mediu", + "pagertreeHigh": "Crescut", + "pagertreeResolve": "Rezolvare automată", + "pagertreeDoNothing": "Nu face nimic", + "Add a new expiry notification day": "Adaugă o nouă zi de notificare de expirare", + "Remove the expiry notification": "Elimină ziua de notificare a expirării", + "startDateTime": "Dată/Oră de început", + "cloneOf": "Clona lui {0}", + "Check/Uncheck": "Bifează/Debifează", + "telegramSendSilently": "Trimite Silențios", + "telegramProtectContent": "Protejați redirecționarea/salvarea", + "Add New Tag": "Adaugă Etichetă Nouă", + "timeoutAfter": "Timeout după {0} secunde", + "styleElapsedTime": "Timp scurs sub bara heartbeat", + "styleElapsedTimeShowNoLine": "Afișați (Fără Linie)", + "styleElapsedTimeShowWithLine": "Afișați (Cu Linie)", + "filterActive": "Activ", + "filterActivePaused": "Întrerupt", + "webhookBodyCustomOption": "Corp Personalizat", + "Select": "Selectează", + "selectedMonitorCount": "Selectat: {0}", + "cronExpression": "Expresie Cron", + "invalidCronExpression": "Expresie Cron invalidă: {0}", + "chromeExecutable": "Executabil Chrome/Chromium", + "High": "Crescut", + "auto acknowledged": "recunoscut automat", + "auto resolve": "rezolvare automată", + "Home": "Acasă", + "Cannot connect to the socket server": "Nu se poate conecta la serverul socket", + "Reconnecting...": "Reconectare...", + "Invert Keyword": "Inversare Cuvânt Cheie", + "Expected Value": "Valoare Așteptată", + "Json Query": "Interogare Json", + "high": "crescut" } From 669fc02baa836428bd3a0c189fbfa13d8a9c46a0 Mon Sep 17 00:00:00 2001 From: Nima Shayanfar Date: Wed, 17 Jan 2024 19:01:37 +0000 Subject: [PATCH 297/494] Translated using Weblate (Persian) Currently translated at 96.8% (857 of 885 strings) Co-authored-by: Nima Shayanfar Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/fa.json | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/lang/fa.json b/src/lang/fa.json index 1365556f..26df0cd8 100644 --- a/src/lang/fa.json +++ b/src/lang/fa.json @@ -494,7 +494,7 @@ "wayToGetDiscordURL": "شما می توانید این را با رفتن به تنظیمات سرور -> ادغام -> مشاهده وب هوک -> وب هوک جدید (Settings -> Integrations -> View Webhooks -> New Webhook) دریافت کنید", "infiniteRetention": "برای دوره بی نهایت 0 را وارد تنظیم کنید.", "confirmDeleteTagMsg": "آیا مطمئن هستید که می خواهید این تگ را حذف کنید؟ مانیتورهای مرتبط با این تگ حذف نخواهند شد.", - "grpcMethodDescription": "نام روش تبدیل به فرمت cammelCase مانند sayHello، check و غیره.", + "grpcMethodDescription": "نام روش تبدیل به فرمت camelCase مانند sayHello، check و غیره.", "deleteMaintenanceMsg": "آیا مطمئن هستید که می خواهید این تعمیر و نگهداری را حذف کنید؟", "recurringIntervalMessage": "یکبار اجرا برای هر روز | یکبار اجرا در هر {0} روز", "affectedMonitorsDescription": "مانیتورهایی را انتخاب کنید که تحت تأثیر تعمیر و نگهداری فعلی هستند", @@ -800,7 +800,7 @@ "Enable Kafka SSL": "فعال سازی SSL", "Kafka SASL Options": "گزینه های SASL", "Mechanism": "مکانیزم", - "Pick a SASL Mechanism...": "یک مکانیزم SASL انتخاب کنید...", + "Pick a SASL Mechanism...": "یک مکانیزم SASL انتخاب کنید…", "Authorization Identity": "اطلاعات اعتبارسنجی", "AccessKey Id": "آیدی AccessKey", "Session Token": "توکن سشن", @@ -813,7 +813,7 @@ "Json Query": "کوئری جیسون", "Saved.": "ذخیره شده.", "setupDatabaseChooseDatabase": "از چه دیتابیسی میخواهید استفاده کنید؟", - "setupDatabaseEmbeddedMariaDB": "شما نیازی نیست چیزی را تنظیم کنید . این Image داکر یک MariaDB را به طور خودکار برای شما جاسازی و پیکربندی کرده است. آپتایم کوما از طریق سوکت یونیکس به این دیتابیس متصل می شود.", + "setupDatabaseEmbeddedMariaDB": "شما نیازی نیست چیزی را تنظیم کنید . این Image داکر MariaDB را به طور خودکار برای شما جاسازی و پیکربندی کرده است. آپتایم کوما از طریق سوکت یونیکس به این دیتابیس متصل می شود.", "setupDatabaseSQLite": "یک فایل دیتابیس ساده که برای استقرار در مقیاس کوچک توصیه می شود. قبل از نسخه 2.0.0، Uptime Kuma از SQLite به عنوان دیتابیس پیش فرض استفاده می کرد.", "enableNSCD": "فعال سازی NSCD (Name Service Cache Daemon) برای کش کردن تمام ریکوئست های DNS", "setupDatabaseMariaDB": "به یک دیتابیس خارجی MariaDB متصل شوید. شما باید اطلاعات اتصال دیتابیس را تنظیم کنید.", @@ -842,5 +842,23 @@ "successAdded": "با موفقیت اضافه شد.", "successResumed": "با موفقیت از سر گرفته شد.", "successAuthChangePassword": "رمز عبور با موفقیت به روز رسانی شد.", - "pushOthers": "غیره" + "pushOthers": "غیره", + "successKeyword": "کلیدواژه موفقیت", + "Reset Token": "توکن بازنشانی", + "settingUpDatabaseMSG": "در حال تنظیم بانک داده. ممکن است مقداری طول بکشد، لطفا صبور باشید.", + "noDockerHostMsg": "در دسترس نیست. ابتدا میزبان داکر را تنظیم کنید.", + "DockerHostRequired": "لطفا میزبان داکر این ناظر را مشخص کنید.", + "Search monitored sites": "جستجو در سایت های نظارت شده", + "successKeywordExplanation": "کلیدواژه MQTT که به عنوان موفق تلقی خواهد شد", + "Remove the expiry notification": "حذف تاریخ انقضا اطلاع رسانی", + "emailCustomisableContent": "محتوای قابل سفارشی کردن", + "leave blank for default subject": "برای موضوع پیشفرض خالی بگذارید", + "emailCustomBody": "بدنه سفارشی", + "leave blank for default body": "برای بدنه پیشفرض خالی بگذارید", + "emailTemplateServiceName": "نام سرویس", + "emailTemplateHostnameOrURL": "نام میزبان یا URL", + "emailTemplateStatus": "وضعیت", + "templateMsg": "پیام نوتیفیکیشن", + "templateMonitorJSON": "شی توصیف کننده ناظر", + "Add a new expiry notification day": "تنظیم تاریخ انقضا اطلاع رسانی جدید" } From 9e21c7cb028a00fbade589902ac6f3ee4a75e44c Mon Sep 17 00:00:00 2001 From: kindercat <156439718+kindercat@users.noreply.github.com> Date: Wed, 17 Jan 2024 19:01:37 +0000 Subject: [PATCH 298/494] Translated using Weblate (Romanian) Currently translated at 100.0% (885 of 885 strings) Co-authored-by: kindercat <156439718+kindercat@users.noreply.github.com> Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ro.json | 137 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 125 insertions(+), 12 deletions(-) diff --git a/src/lang/ro.json b/src/lang/ro.json index 8763f20a..d9f4987f 100644 --- a/src/lang/ro.json +++ b/src/lang/ro.json @@ -24,7 +24,7 @@ "Resume": "Reia", "Delete": "Șterge", "Uptime": "Timpul de funcționare", - "Cert Exp.": "Exp. Cert", + "Cert Exp.": "Exp. Cert.", "Monitor": "Monitor | Monitoare", "day": "zi | zile", "-day": "-zi", @@ -89,7 +89,7 @@ "Repeat Password": "Repetă Parola", "Import Backup": "Importează Backup-ul", "Export Backup": "Exporta Backup-ul", - "Export": "Exportează", + "Export": "Exportă", "Import": "Importă", "respTime": "Timp de Răspuns (ms)", "Apply on all existing monitors": "Aplică pentru toate monitoarele existente", @@ -200,8 +200,8 @@ "setAsDefault": "Setează ca Implicit", "deleteProxyMsg": "Ești sigur că vrei să ștergi acest proxy pentru toate monitoarele?", "Certificate Chain": "Lanț-ul Certificatului", - "Valid": "Valid", - "Invalid": "Invalid", + "Valid": "Valabil", + "Invalid": "Nevalabil", "User": "Utilizator", "Installed": "Instalat", "Running": "Operează", @@ -216,7 +216,7 @@ "Next": "Înainte", "No Proxy": "Niciun Proxy", "Authentication": "Autentificate", - "HTTP Basic Auth": "HTTP Basic Auth", + "HTTP Basic Auth": "Autentificare de bază HTTP", "New Status Page": "Pagină de Status Nouă", "Page Not Found": "Pagină Negăsită", "Backup": "Backup", @@ -262,7 +262,7 @@ "Retype the address.": "Rescrie adresa.", "Go back to the previous page.": "Mergi la pagina precedentă.", "Coming Soon": "În curând", - "Connection String": "Connection String", + "Connection String": "Șirul de conexiune", "Query": "Query", "settingsCertificateExpiry": "Expirarea certificatului TLS", "Setup Docker Host": "Configurează Docker Host", @@ -273,7 +273,7 @@ "tcp": "TCP / HTTP", "Docker Container": "Container Docker", "Container Name / ID": "Numele Container-ului / ID", - "Docker Host": "Docker Host", + "Docker Host": "Gazdă Docker", "Domain": "Domeniu", "Workstation": "Stație de lucru", "Packet Size": "Mărime Pachet", @@ -301,7 +301,7 @@ "Optional": "Opțional", "squadcast": "Squadcast", "or": "sau", - "recurringInterval": "Interval", + "recurringInterval": "Perioadă", "Recurring": "Recurentă", "strategyManual": "Activ/Inactiv Manual", "warningTimezone": "Folosește fusul orar al server-ului", @@ -524,7 +524,7 @@ "Show update if available": "Arată actualizarea dacă e disponibilă", "The resource is no longer available.": "Această resursă nu mai este disponibilă.", "certificationExpiryDescription": "Monitoarele HTTPS declanșează notificarea când certificatul TLS expiră în:", - "Docker Hosts": "Docker Hosts", + "Docker Hosts": "Gazde Docker", "supportTelegramChatID": "Suport Mesaje Directe / Grup / ID-ul Canalului de Text", "wayToGetTelegramChatID": "Poți obține ID-ul chat-ului prin trimiterea unui mesaj către robot și mergând la acest URL pentru a vedea chat_id:", "trustProxyDescription": "Ai incredere in antetele 'X-Forwarded-*'. Dacă vrei să obții IP-ul corect al client-ului și Uptime Kuma este în spatele unui proxy, cum ar fi Nginx sau Apache, trebuie să activezi asta.", @@ -663,7 +663,7 @@ "ntfy Topic": "Subiect ntfy", "pushOthers": "Alții", "programmingLanguages": "Limbaje de programare", - "statusPageRefreshIn": "Refresh în: {0}", + "statusPageRefreshIn": "Reîncărcă în: {0}", "templateMsg": "mesajul notificării", "templateLimitedToUpDownCertNotifications": "disponibil numai pentru notificările de expirare UP/DOWN/Certificat", "templateLimitedToUpDownNotifications": "disponibil numai pentru notificările UP/DOWN", @@ -690,7 +690,7 @@ "emailTemplateStatus": "Stare", "invertKeywordDescription": "Căutați după cuvântul cheie să fie absent și nu prezent.", "jsonQueryDescription": "Efectuați o interogare json după răspuns și verificați valoarea așteptată (valoarea returnată va fi convertită în șir pentru comparație). Consultați {0} pentru documentația despre limbajul de interogare. Un playground poate fi găsit {1}.", - "goAlertInfo": "GoAlert este o aplicație open source pentru programare on-call, escalări automate si notificări (asemeni SMS sau apeluri vocale).\nPrinde automat persoana potrivită, metoda potrivită, la momentul potrivit! {0}", + "goAlertInfo": "GoAlert este o aplicație open source pentru programarea apelurilor, escalări automate și notificări (cum ar fi SMS-uri sau apeluri vocale). Angajați automat persoana potrivită, în modul potrivit și la momentul potrivit! {0}", "goAlertIntegrationKeyInfo": "Obține cheia generică de integrare API pentru serviciu în formatul \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" de obicei valoarea parametrului token al URL-ului copiat.", "SecretAccessKey": "Secret AccessKey", "SignName": "NumeSemn", @@ -794,5 +794,118 @@ "Invert Keyword": "Inversare Cuvânt Cheie", "Expected Value": "Valoare Așteptată", "Json Query": "Interogare Json", - "high": "crescut" + "high": "crescut", + "Saved.": "Salvat.", + "ntfyPriorityHelptextAllExceptDown": "Toate evenimentele sunt trimise cu această prioritate, cu excepția {0}-evenimente, care au o prioritate de {1}", + "noOrBadCertificate": "Fără/Certificat greșit", + "monitorToastMessagesLabel": "Notificări Toast Monitoare", + "authInvalidToken": "Token Invalid.", + "Browser Screenshot": "Captură de ecran din browser", + "GrafanaOncallUrl": "URL Grafana Oncall", + "Pick a SASL Mechanism...": "Alegeți un mecanism SASL…", + "What is a Remote Browser?": "Ce este un Browser Remote?", + "Badge Warn Days": "Badge zile de avertizare", + "monitorToastMessagesDescription": "Notificările toast pentru monitoare dispar după un anumit timp în secunde. Setat la -1, dezactivează timpul de expirare. Setat la 0, dezactivează notificările toast.", + "noGroupMonitorMsg": "Nu este disponibil. Creați mai întâi un grup de monitoare.", + "wayToGetFlashDutyKey": "Puteți merge la Canal -> (Selectați un canal) -> Integrari -> Adăugați o nouă pagină de integrare, adăugați un \"Eveniment personalizat\" pentru a obține o adresă push, copiați cheia de integrare în adresă. Pentru mai multe informatii va rugam vizitati", + "remoteBrowsersDescription": "Browserele Remote sunt o alternativă la rularea locală a Chromium. Configurați cu un serviciu precum browserless.io sau conectați-vă la cel personal", + "Remote Browsers": "Browsere Remote", + "Remote Browser": "Browser Remote", + "Add a Remote Browser": "Adăugați un Browser Remote", + "Remote Browser not found!": "Browserul Remote nu a fost găsit!", + "self-hosted container": "container self-hosted", + "notificationRegional": "Local", + "Monitor Setting": "{0} Setări Monitor", + "Show Clickable Link": "Afișați Linkul Accesibil", + "Show Clickable Link Description": "Dacă este bifată, toți cei care au acces la această pagină de stare pot avea acces la URL-ul monitorului.", + "nostrRecipients": "Chei publice ale destinatarilor (npub)", + "2faAlreadyEnabled": "2FA este deja activat.", + "Badge Prefix": "Prefixul Valorii Badge", + "Badge Suffix": "Sufixul Valorii Badge", + "Badge Label Color": "Culoarea Etichetei Badge", + "Request Body": "Request Body", + "nostrRecipientsHelp": "format npub, unul pe linie", + "showCertificateExpiry": "Afișați expirarea certificatului", + "gamedigGuessPort": "Gamedig: Guess Port", + "gamedigGuessPortDescription": "Portul utilizat de Valve Server Query Protocol poate fi diferit de portul client. Încercați acest lucru dacă monitorul nu se poate conecta la serverul dvs.", + "successAuthChangePassword": "Parola a fost actualizată cu succes.", + "successDisabled": "Dezactivat cu succes.", + "twilioApiKey": "Cheie Api (opțional)", + "Enter the list of brokers": "Introduceți lista de brokeri", + "Close": "Închide", + "Kafka Topic Name": "Numele Subiectului Kafka", + "Kafka Producer Message": "Mesajul Producătorului Kafka", + "Enable Kafka SSL": "Activați SSL Kafka", + "liquidIntroduction": "Șablonarea se realizează prin intermediul limbajului de șabloane Liquid. Consultați {0} pentru instrucțiuni de utilizare. Acestea sunt variabilele disponibile:", + "smtpLiquidIntroduction": "Următoarele două câmpuri pot fi șablonate prin Limbajul de șabloane Liquid. Consultați {0} pentru instrucțiuni de utilizare. Acestea sunt variabilele disponibile:", + "Legacy Octopush-DM": "Octopush-DM vechi", + "alertaRecoverState": "Stare Recuperare", + "Body Encoding": "Codificarea Body", + "wayToGetPagerTreeIntegrationURL": "După ce ați creat integrarea Uptime Kuma în PagerTree, copiați Endpoint-ul. Vedeți detaliile complete {0}", + "lunaseaDeviceID": "ID Dispozitiv", + "lunaseaUserID": "ID Utilizator", + "ntfyAuthenticationMethod": "Metodă de autentificare", + "ntfyPriorityHelptextAllEvents": "Toate evenimentele sunt trimise cu prioritate maximă", + "ntfyUsernameAndPassword": "Utilizator și Parolă", + "twilioAccountSID": "SID Cont", + "twilioAuthToken": "Token de autentificare / Secret cheie Api", + "twilioFromNumber": "Număr Expeditor", + "twilioToNumber": "Număr Destinatar", + "Open Badge Generator": "Deschide Generatorul Badge", + "Badge Type": "Tipul Badge", + "Badge Duration (in hours)": "Durată Badge (în ore)", + "Badge Label": "Etichetă Badge", + "Badge Color": "Culoarea Badge", + "Badge Label Prefix": "Prefixul Etichetei Badge", + "Badge Preview": "Previzualizare Badge", + "Badge Label Suffix": "Sufixul Etichetei Badge", + "Badge Generator": "{0} Generator Badge", + "Badge Up Color": "Culoarea Badge Up", + "Badge Down Color": "Culoarea Badge Down", + "Badge Pending Color": "Culoarea în așteptare Badge", + "Badge Maintenance Color": "Culoarea in mentenanță Badge", + "Badge Warn Color": "Culoare atenționare Badge", + "Badge Down Days": "Badge Zile Down", + "Badge Style": "Stilul Badge", + "Badge value (For Testing only.)": "Valoare Badge (Numai Pentru Testare.)", + "Badge URL": "URL Badge", + "Group": "Grup", + "Monitor Group": "Grup Monitoare", + "toastErrorTimeout": "Timeout pentru notificările de eroare", + "toastSuccessTimeout": "Timeout pentru notificările de succes", + "Kafka Brokers": "Brokeri Kafka", + "Press Enter to add broker": "Apăsați Enter pentru a adăuga broker", + "Enable Kafka Producer Auto Topic Creation": "Activați crearea automată a subiectelor Kafka Producător", + "Kafka SASL Options": "Opțiuni SASL Kafka", + "Mechanism": "Mecanism", + "Authorization Identity": "Identitate de Autorizare", + "AccessKey Id": "Id AccessKey", + "Secret AccessKey": "AccessKey Secret", + "Session Token": "Token Sesiune", + "FlashDuty Severity": "Severitate", + "nostrRelays": "Relee Nostr", + "nostrRelaysHelp": "Un URL releu pe linie", + "nostrSender": "Cheia privată a expeditorului (nsec)", + "authUserInactiveOrDeleted": "Utilizatorul este inactiv sau șters.", + "authIncorrectCreds": "Numele de utilizator sau parola incorectă.", + "2faEnabled": "2FA Activat.", + "2faDisabled": "2FA Dezactivat.", + "successAdded": "Adăugat cu succes.", + "successResumed": "Reluat cu succes.", + "successPaused": "Întrerupt cu succes.", + "successDeleted": "Șters cu succes.", + "successEdited": "Modificat cu succes.", + "successBackupRestored": "Backup restaurat cu succes.", + "successEnabled": "Activat cu succes.", + "tagNotFound": "Eticheta nu a fost găsită.", + "foundChromiumVersion": "S-a găsit Chromium/Chrome. Versiune: {0}", + "remoteBrowserToggle": "În mod implicit, Chromium rulează în containerul Uptime Kuma. Puteți utiliza un browser remote activând acest comutator.", + "useRemoteBrowser": "Utilizați un Browser Remote", + "deleteRemoteBrowserMessage": "Sigur doriți să ștergeți acest browser remote pentru toate monitoarele?", + "lunaseaTarget": "Țintă", + "telegramMessageThreadID": "(Opțional) ID Thread Mesaje", + "telegramMessageThreadIDDescription": "Opțional Identificator unic pentru threadul de mesaje țintă (subiect) al forumului; numai pentru supergrupuri de forum", + "Request Timeout": "Timeout Solicitare", + "webhookBodyPresetOption": "Presetul - {0}", + "Resend Notification if Down X times consecutively": "Retrimiteți notificarea dacă e Down de X ori consecutiv" } From c31475e020c766d3b2b909801bbc667f90f9fca3 Mon Sep 17 00:00:00 2001 From: Paco Culebras Date: Wed, 17 Jan 2024 19:01:37 +0000 Subject: [PATCH 299/494] Translated using Weblate (Catalan) Currently translated at 3.7% (33 of 885 strings) Co-authored-by: Paco Culebras Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/ Translation: Uptime Kuma/Uptime Kuma --- src/lang/ca.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lang/ca.json b/src/lang/ca.json index d3fb79c3..98a41bbc 100644 --- a/src/lang/ca.json +++ b/src/lang/ca.json @@ -29,5 +29,7 @@ "setupDatabaseEmbeddedMariaDB": "No tens que configurar res. Aquesta imatge de docker ha configurat MariaDB automàticament. Uptime Kuma es conectarà a aquesta base de dades per el socket d'unix.", "setupDatabaseMariaDB": "Conectar a una base de MariaDB externa. Has de ficar les dades de la conexió de la base de dades.", "setupDatabaseSQLite": "Un simple fitxer de base de dades, es recomana per desplegaments en petita escala. Abans de la v2.0.0, Uptime Kuma utilitzaba SQLite com la base de dades predeterminada.", - "sameAsServerTimezone": "La mateixa zona horaria que el servidor" + "sameAsServerTimezone": "La mateixa zona horaria que el servidor", + "settingUpDatabaseMSG": "Configuració de la base de dades. Pot trigar una estona, si us plau, tingueu paciència.", + "dbName": "Nom de la base de dades" } From 20b69acde21a44c202215963a49912f395e84429 Mon Sep 17 00:00:00 2001 From: Philip Klostermann Date: Tue, 23 Jan 2024 10:10:31 -0500 Subject: [PATCH 300/494] [Ntfy] Only include action link if monitor url is defined #3274 --- server/notification-providers/ntfy.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/notification-providers/ntfy.js b/server/notification-providers/ntfy.js index 86fc0e08..b51b0f23 100644 --- a/server/notification-providers/ntfy.js +++ b/server/notification-providers/ntfy.js @@ -54,14 +54,17 @@ class Ntfy extends NotificationProvider { "priority": priority, "title": monitorJSON.name + " " + status + " [Uptime-Kuma]", "tags": tags, - "actions": [ + }; + + if (monitorJSON.url) { + data.actions = [ { "action": "view", "label": "Open " + monitorJSON.name, "url": monitorJSON.url, - } - ] - }; + }, + ]; + } if (notification.ntfyIcon) { data.icon = notification.ntfyIcon; From 95125cc4172c2d196f99748fc3dac06a9285bc75 Mon Sep 17 00:00:00 2001 From: Philip Klostermann Date: Tue, 23 Jan 2024 11:16:10 -0500 Subject: [PATCH 301/494] [Ntfy] don't include url action with defaut URL value --- server/notification-providers/ntfy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/notification-providers/ntfy.js b/server/notification-providers/ntfy.js index b51b0f23..12c9258b 100644 --- a/server/notification-providers/ntfy.js +++ b/server/notification-providers/ntfy.js @@ -56,7 +56,7 @@ class Ntfy extends NotificationProvider { "tags": tags, }; - if (monitorJSON.url) { + if (monitorJSON.url && monitorJSON.url !== "https://") { data.actions = [ { "action": "view", From cf075a8793c08c3bd97580e22705f0ba07acd56d Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Fri, 26 Jan 2024 06:53:15 +0800 Subject: [PATCH 302/494] Fix: missing await in `getRemoteBrowser()` (#4418) --- server/monitor-types/real-browser-monitor-type.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/monitor-types/real-browser-monitor-type.js b/server/monitor-types/real-browser-monitor-type.js index c03d36ca..23493b7c 100644 --- a/server/monitor-types/real-browser-monitor-type.js +++ b/server/monitor-types/real-browser-monitor-type.js @@ -96,7 +96,7 @@ async function getBrowser() { async function getRemoteBrowser(remoteBrowserID, userId) { let remoteBrowser = await RemoteBrowser.get(remoteBrowserID, userId); log.debug("MONITOR", `Using remote browser: ${remoteBrowser.name} (${remoteBrowser.id})`); - browser = chromium.connect(remoteBrowser.url); + browser = await chromium.connect(remoteBrowser.url); return browser; } From 538f83205d75fdfc437bece61764e864ae90a5b0 Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Thu, 25 Jan 2024 23:57:36 +0100 Subject: [PATCH 303/494] chore/issue template modification for v2 (#4240) Co-authored-by: Nelson Chan <3271800+chakflying@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/ask-for-help.yaml | 31 +++++++------- .github/ISSUE_TEMPLATE/bug_report.yaml | 45 +++++++++++---------- .github/ISSUE_TEMPLATE/feature_request.yaml | 29 ++++++++----- 3 files changed, 57 insertions(+), 48 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/ask-for-help.yaml b/.github/ISSUE_TEMPLATE/ask-for-help.yaml index bfaebb75..a708dbf2 100644 --- a/.github/ISSUE_TEMPLATE/ask-for-help.yaml +++ b/.github/ISSUE_TEMPLATE/ask-for-help.yaml @@ -24,7 +24,7 @@ body: required: true attributes: label: "📝 Describe your problem" - description: "Please walk us through it step by step." + description: "Please walk us through it step by step. Include all important details and add screenshots where appropriate" placeholder: "Describe what are you asking for..." - type: textarea id: error-msg @@ -56,19 +56,20 @@ body: placeholder: "Ex. Google Chrome 95.0.4638.69" validations: required: true - - type: input - id: docker-version - attributes: - label: "🐋 Docker Version" - description: "If running with Docker, which version are you running?" - placeholder: "Ex. Docker 20.10.9 / K8S / Podman" - validations: - required: false - - type: input - id: nodejs-version + - type: textarea + id: deployment-info attributes: - label: "🟩 NodeJS Version" - description: "If running with Node.js? which version are you running?" - placeholder: "Ex. 14.18.0" + label: "🖥️ Deployment Environment" + description: | + examples: + - **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / .. + - **Database**: sqlite/embedded mariadb/external mariadb + - **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC + - **number of monitors**: 42 + value: | + - Runtime: + - Database: + - Filesystem used to store the database on: + - number of monitors: validations: - required: false + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 07244420..50b919d3 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -3,14 +3,14 @@ description: "Submit a bug report to help us improve" #title: "[Bug] " labels: [bug] body: - - type: checkboxes - id: no-duplicate-issues + - type: textarea + id: related-issues + validations: + required: true attributes: - label: "⚠️ Please verify that this bug has NOT been raised before." - description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)" - options: - - label: "I checked and didn't find similar issue" - required: true + label: "📑 I have found these related issues/pull requests" + description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues" + placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..." - type: checkboxes attributes: label: "🛡️ Security Policy" @@ -31,7 +31,7 @@ body: required: true attributes: label: "👟 Reproduction steps" - description: "How do you trigger this bug? Please walk us through it step by step." + description: "How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate" placeholder: "..." - type: textarea id: expected-behavior @@ -73,22 +73,23 @@ body: placeholder: "Ex. Google Chrome 95.0.4638.69" validations: required: true - - type: input - id: docker-version - attributes: - label: "🐋 Docker Version" - description: "If running with Docker, which version are you running?" - placeholder: "Ex. Docker 20.10.9 / K8S / Podman" - validations: - required: false - - type: input - id: nodejs-version + - type: textarea + id: deployment-info attributes: - label: "🟩 NodeJS Version" - description: "If running with Node.js? which version are you running?" - placeholder: "Ex. 14.18.0" + label: "🖥️ Deployment Environment" + description: | + examples: + - **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / .. + - **Database**: sqlite/embedded mariadb/external mariadb + - **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC + - **number of monitors**: 42 + value: | + - Runtime: + - Database: + - Filesystem used to store the database on: + - number of monitors: validations: - required: false + required: true - type: textarea id: logs attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index b26841c4..531a2c25 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -3,14 +3,14 @@ description: "Submit a proposal for a new feature" #title: "[Feature] " labels: [feature-request] body: - - type: checkboxes - id: no-duplicate-issues + - type: textarea + id: related-issues + validations: + required: true attributes: - label: "⚠️ Please verify that this feature request has NOT been suggested before." - description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)" - options: - - label: "I checked and didn't find similar feature request" - required: true + label: "📑 I have found these related issues/pull requests" + description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues" + placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..." - type: dropdown id: feature-area attributes: @@ -18,10 +18,17 @@ body: description: "What kind of feature request is this?" multiple: true options: - - API - - New Notification - - New Monitor - - UI Feature + - API / automation options + - New notification-provider + - Change to existing notification-provider + - New monitor + - Change to existing monitor + - Dashboard + - Status-page + - Maintenance + - Deployment + - Certificate expiry + - Settings - Other validations: required: true From 2bccae415f61fb9874432c382d5cc95a466e4bfb Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sun, 28 Jan 2024 18:15:29 +0800 Subject: [PATCH 304/494] Feat: Show monitor ID in Details (#4331) --- src/assets/vars.scss | 1 + src/components/HeartbeatBar.vue | 2 +- src/pages/Details.vue | 34 ++++++++++++++++++++++++++++----- src/pages/Settings.vue | 2 +- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/assets/vars.scss b/src/assets/vars.scss index e48a6efb..7250de14 100644 --- a/src/assets/vars.scss +++ b/src/assets/vars.scss @@ -4,6 +4,7 @@ $warning: #f8a306; $maintenance: #1747f5; $link-color: #111; $border-radius: 50rem; +$secondary-text: #aaa; $highlight: #7ce8a4; $highlight-white: #e7faec; diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue index 324641cd..fc044fe5 100644 --- a/src/components/HeartbeatBar.vue +++ b/src/components/HeartbeatBar.vue @@ -309,7 +309,7 @@ export default { } .word { - color: #aaa; + color: $secondary-text; font-size: 12px; } diff --git a/src/pages/Details.vue b/src/pages/Details.vue index e27bf063..1eb9a7f6 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -2,10 +2,18 @@
{{ group }} -

{{ monitor.name }}

+

+ {{ monitor.name }} +
+
#
+
{{ monitor.id }}
+
+

{{ monitor.description }}

-
- +
+
+ +

{{ filterPassword(monitor.url) }} @@ -717,7 +725,7 @@ export default { } .word { - color: #aaa; + color: $secondary-text; font-size: 14px; } @@ -731,7 +739,7 @@ table { .stats p { font-size: 13px; - color: #aaa; + color: $secondary-text; } .stats { @@ -802,4 +810,20 @@ table { margin-left: 0 !important; } +.monitor-id { + display: inline-flex; + font-size: 0.7em; + margin-left: 0.3em; + color: $secondary-text; + flex-direction: row; + flex-wrap: nowrap; + + .hash { + user-select: none; + } + + .dark & { + opacity: 0.7; + } +} diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue index 359af4c6..96bb1fee 100644 --- a/src/pages/Settings.vue +++ b/src/pages/Settings.vue @@ -245,7 +245,7 @@ export default { } footer { - color: #aaa; + color: $secondary-text; font-size: 13px; margin-top: 20px; padding-bottom: 30px; From 3cea7d4eb23eb69140a79f2eb58d1d45a98dc88e Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 30 Jan 2024 01:38:45 +0800 Subject: [PATCH 305/494] Update dependencies --- package-lock.json | 4089 +++++++++++++++++++++------------------------ 1 file changed, 1900 insertions(+), 2189 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8b2ea8b..cdf262f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -283,47 +283,50 @@ "optional": true }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.427.0.tgz", - "integrity": "sha512-9brRaNnl6haE7R3R43A5CSNw0k1YtB3xjuArbMg/p6NDUpvRSRgOVNWu2R02Yjh/j2ZuaLOCPLuCipb+PHQPKQ==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.501.0.tgz", + "integrity": "sha512-ynWW9VVT7CTMQBh8l7WFt2SNekg3667gwjQmeGN8+DDMDqt2Z+L52717S0AN1pQDUMbh/DuKKPk+Sr30HBK3vA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.427.0", - "@aws-sdk/credential-provider-node": "3.427.0", - "@aws-sdk/middleware-host-header": "3.425.0", - "@aws-sdk/middleware-logger": "3.425.0", - "@aws-sdk/middleware-recursion-detection": "3.425.0", - "@aws-sdk/middleware-signing": "3.425.0", - "@aws-sdk/middleware-user-agent": "3.427.0", - "@aws-sdk/region-config-resolver": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@aws-sdk/util-endpoints": "3.427.0", - "@aws-sdk/util-user-agent-browser": "3.425.0", - "@aws-sdk/util-user-agent-node": "3.425.0", - "@smithy/config-resolver": "^2.0.11", - "@smithy/fetch-http-handler": "^2.2.1", - "@smithy/hash-node": "^2.0.10", - "@smithy/invalid-dependency": "^2.0.10", - "@smithy/middleware-content-length": "^2.0.12", - "@smithy/middleware-endpoint": "^2.0.10", - "@smithy/middleware-retry": "^2.0.13", - "@smithy/middleware-serde": "^2.0.10", - "@smithy/middleware-stack": "^2.0.4", - "@smithy/node-config-provider": "^2.0.13", - "@smithy/node-http-handler": "^2.1.6", - "@smithy/protocol-http": "^3.0.6", - "@smithy/smithy-client": "^2.1.9", - "@smithy/types": "^2.3.4", - "@smithy/url-parser": "^2.0.10", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.13", - "@smithy/util-defaults-mode-node": "^2.0.15", - "@smithy/util-retry": "^2.0.3", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/client-sts": "3.501.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-signing": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -331,44 +334,47 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.427.0.tgz", - "integrity": "sha512-sFVFEmsQ1rmgYO1SgrOTxE/MTKpeE4hpOkm1WqhLQK7Ij136vXpjCxjH1JYZiHiUzO1wr9t4ex4dlB5J3VS/Xg==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz", + "integrity": "sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.425.0", - "@aws-sdk/middleware-logger": "3.425.0", - "@aws-sdk/middleware-recursion-detection": "3.425.0", - "@aws-sdk/middleware-user-agent": "3.427.0", - "@aws-sdk/region-config-resolver": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@aws-sdk/util-endpoints": "3.427.0", - "@aws-sdk/util-user-agent-browser": "3.425.0", - "@aws-sdk/util-user-agent-node": "3.425.0", - "@smithy/config-resolver": "^2.0.11", - "@smithy/fetch-http-handler": "^2.2.1", - "@smithy/hash-node": "^2.0.10", - "@smithy/invalid-dependency": "^2.0.10", - "@smithy/middleware-content-length": "^2.0.12", - "@smithy/middleware-endpoint": "^2.0.10", - "@smithy/middleware-retry": "^2.0.13", - "@smithy/middleware-serde": "^2.0.10", - "@smithy/middleware-stack": "^2.0.4", - "@smithy/node-config-provider": "^2.0.13", - "@smithy/node-http-handler": "^2.1.6", - "@smithy/protocol-http": "^3.0.6", - "@smithy/smithy-client": "^2.1.9", - "@smithy/types": "^2.3.4", - "@smithy/url-parser": "^2.0.10", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.13", - "@smithy/util-defaults-mode-node": "^2.0.15", - "@smithy/util-retry": "^2.0.3", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -376,47 +382,49 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.427.0.tgz", - "integrity": "sha512-le2wLJKILyWuRfPz2HbyaNtu5kEki+ojUkTqCU6FPDRrqUvEkaaCBH9Awo/2AtrCfRkiobop8RuTTj6cAnpiJg==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.501.0.tgz", + "integrity": "sha512-Uwc/xuxsA46dZS5s+4U703LBNDrGpWF7RB4XYEEMD21BLfGuqntxLLQux8xxKt3Pcur0CsXNja5jXt3uLnE5MA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.427.0", - "@aws-sdk/middleware-host-header": "3.425.0", - "@aws-sdk/middleware-logger": "3.425.0", - "@aws-sdk/middleware-recursion-detection": "3.425.0", - "@aws-sdk/middleware-sdk-sts": "3.425.0", - "@aws-sdk/middleware-signing": "3.425.0", - "@aws-sdk/middleware-user-agent": "3.427.0", - "@aws-sdk/region-config-resolver": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@aws-sdk/util-endpoints": "3.427.0", - "@aws-sdk/util-user-agent-browser": "3.425.0", - "@aws-sdk/util-user-agent-node": "3.425.0", - "@smithy/config-resolver": "^2.0.11", - "@smithy/fetch-http-handler": "^2.2.1", - "@smithy/hash-node": "^2.0.10", - "@smithy/invalid-dependency": "^2.0.10", - "@smithy/middleware-content-length": "^2.0.12", - "@smithy/middleware-endpoint": "^2.0.10", - "@smithy/middleware-retry": "^2.0.13", - "@smithy/middleware-serde": "^2.0.10", - "@smithy/middleware-stack": "^2.0.4", - "@smithy/node-config-provider": "^2.0.13", - "@smithy/node-http-handler": "^2.1.6", - "@smithy/protocol-http": "^3.0.6", - "@smithy/smithy-client": "^2.1.9", - "@smithy/types": "^2.3.4", - "@smithy/url-parser": "^2.0.10", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.13", - "@smithy/util-defaults-mode-node": "^2.0.15", - "@smithy/util-retry": "^2.0.3", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, @@ -424,16 +432,33 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/core": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.496.0.tgz", + "integrity": "sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==", + "optional": true, + "dependencies": { + "@smithy/core": "^1.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.427.0.tgz", - "integrity": "sha512-BQNzNrMJlBAfXhYNdAUqaVASpT9Aho5swj7glZKxx4Uds1w5Pih2e14JWgnl8XgUWAZ36pchTrV1aA4JT7N8vw==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.501.0.tgz", + "integrity": "sha512-U9fjzliKzMiPx/EWLNLCEoF5wWhVtlluTEc4/WhNtSryV2PyihqIAK8nK4+MFaXB4xOrlRnpYMd7oqm03wMGyw==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.427.0", - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/client-cognito-identity": "3.501.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -441,14 +466,14 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.425.0.tgz", - "integrity": "sha512-J20etnLvMKXRVi5FK4F8yOCNm2RTaQn5psQTGdDEPWJNGxohcSpzzls8U2KcMyUJ+vItlrThr4qwgpHG3i/N0w==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz", + "integrity": "sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -456,17 +481,19 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.425.0.tgz", - "integrity": "sha512-aP9nkoVWf+OlNMecrUqe4+RuQrX13nucVbty0HTvuwfwJJj0T6ByWZzle+fo1D+5OxvJmtzTflBWt6jUERdHWA==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/fetch-http-handler": "^2.2.1", - "@smithy/node-http-handler": "^2.1.6", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/types": "^2.3.4", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.496.0.tgz", + "integrity": "sha512-iphFlFX0qDFsE24XmFlcKmsR4uyNaqQrK+Y18mwSZMs1yWtL4Sck0rcTXU/cU2W3/xisjh7xFXK5L5aowjMZOg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.496.0", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -474,20 +501,20 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.427.0.tgz", - "integrity": "sha512-NmH1cO/w98CKMltYec3IrJIIco19wRjATFNiw83c+FGXZ+InJwReqBnruxIOmKTx2KDzd6fwU1HOewS7UjaaaQ==", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.425.0", - "@aws-sdk/credential-provider-process": "3.425.0", - "@aws-sdk/credential-provider-sso": "3.427.0", - "@aws-sdk/credential-provider-web-identity": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.3.4", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.501.0.tgz", + "integrity": "sha512-6UXnwLtYIr298ljveumCVXsH+x7csGscK5ylY+veRFy514NqyloRdJt8JY26hhh5SF9MYnkW+JyWSJ2Ls3tOjQ==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -495,21 +522,21 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.427.0.tgz", - "integrity": "sha512-wYYbQ57nKL8OfgRbl8k6uXcdnYml+p3LSSfDUAuUEp1HKlQ8lOXFJ3BdLr5qrk7LhpyppSRnWBmh2c3kWa7ANQ==", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.425.0", - "@aws-sdk/credential-provider-ini": "3.427.0", - "@aws-sdk/credential-provider-process": "3.425.0", - "@aws-sdk/credential-provider-sso": "3.427.0", - "@aws-sdk/credential-provider-web-identity": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.3.4", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.501.0.tgz", + "integrity": "sha512-NM62D8gYrQ1nyLYwW4k48B2/lMHDzHDcQccS1wJakr6bg5sdtG06CumwlVcY+LAa0o1xRnhHmh/yiwj/nN4avw==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-ini": "3.501.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -517,15 +544,15 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.425.0.tgz", - "integrity": "sha512-YY6tkLdvtb1Fgofp3b1UWO+5vwS14LJ/smGmuGpSba0V7gFJRdcrJ9bcb9vVgAGuMdjzRJ+bUKlLLtqXkaykEw==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz", + "integrity": "sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -533,17 +560,17 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.427.0.tgz", - "integrity": "sha512-c+tXyS/i49erHs4bAp6vKNYeYlyQ0VNMBgoco0LCn1rL0REtHbfhWMnqDLF6c2n3yIWDOTrQu0D73Idnpy16eA==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.501.0.tgz", + "integrity": "sha512-y90dlvvZ55PwecODFdMx0NiNlJJfm7X6S61PKdLNCMRcu1YK+eWn0CmPHGHobBUQ4SEYhnFLcHSsf+VMim6BtQ==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.427.0", - "@aws-sdk/token-providers": "3.427.0", - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.3.4", + "@aws-sdk/client-sso": "3.496.0", + "@aws-sdk/token-providers": "3.501.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -551,14 +578,14 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.425.0.tgz", - "integrity": "sha512-/0R65TgRzL01JU3SzloivWNwdkbIhr06uY/F5pBHf/DynQqaspKNfdHn6AiozgSVDfwRHFjKBTUy6wvf3QFkuA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz", + "integrity": "sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -566,26 +593,26 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.427.0.tgz", - "integrity": "sha512-rKKohSHju462vo+uQnPjcEZPBAfAMgGH6K1XyyCNpuOC0yYLkG87PYpvAQeb8riTrkHPX0dYUHuTHZ6zQgMGjA==", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.427.0", - "@aws-sdk/client-sso": "3.427.0", - "@aws-sdk/client-sts": "3.427.0", - "@aws-sdk/credential-provider-cognito-identity": "3.427.0", - "@aws-sdk/credential-provider-env": "3.425.0", - "@aws-sdk/credential-provider-http": "3.425.0", - "@aws-sdk/credential-provider-ini": "3.427.0", - "@aws-sdk/credential-provider-node": "3.427.0", - "@aws-sdk/credential-provider-process": "3.425.0", - "@aws-sdk/credential-provider-sso": "3.427.0", - "@aws-sdk/credential-provider-web-identity": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.3.4", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.501.0.tgz", + "integrity": "sha512-nyfGzzYKcAny2kUyQjVDhSzfFTwkfZjGyJZ79WaLkNcCsVSsHBbptPRmRV2b4N0EoHTCfGqkbB02as4av/OQrw==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.501.0", + "@aws-sdk/client-sso": "3.496.0", + "@aws-sdk/client-sts": "3.501.0", + "@aws-sdk/credential-provider-cognito-identity": "3.501.0", + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-http": "3.496.0", + "@aws-sdk/credential-provider-ini": "3.501.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -593,14 +620,14 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.425.0.tgz", - "integrity": "sha512-E5Gt41LObQ+cr8QnLthwsH3MtVSNXy1AKJMowDr85h0vzqA/FHUkgHyOGntgozzjXT5M0MaSRYxS0xwTR5D4Ew==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz", + "integrity": "sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -608,13 +635,13 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.425.0.tgz", - "integrity": "sha512-INE9XWRXx2f4a/r2vOU0tAmgctVp7nEaEasemNtVBYhqbKLZvr9ndLBSgKGgJ8LIcXAoISipaMuFiqIGkFsm7A==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz", + "integrity": "sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -622,29 +649,14 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.425.0.tgz", - "integrity": "sha512-77gnzJ5b91bgD75L/ugpOyerx6lR3oyS4080X1YI58EzdyBMkDrHM4FbMcY2RynETi3lwXCFzLRyZjWXY1mRlw==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/types": "^2.3.4", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.425.0.tgz", - "integrity": "sha512-JFojrg76oKAoBknnr9EL5N2aJ1mRCtBqXoZYST58GSx8uYdFQ89qS65VNQ8JviBXzsrCNAn4vDhZ5Ch5E6TxGQ==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz", + "integrity": "sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA==", "optional": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.425.0", - "@aws-sdk/types": "3.425.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -652,17 +664,17 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.425.0.tgz", - "integrity": "sha512-ZpOfgJHk7ovQ0sSwg3tU4NxFOnz53lJlkJRf7S+wxQALHM0P2MJ6LYBrZaFMVsKiJxNIdZBXD6jclgHg72ZW6Q==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz", + "integrity": "sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.3.4", - "@smithy/util-middleware": "^2.0.3", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -670,15 +682,15 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.427.0.tgz", - "integrity": "sha512-y9HxYsNvnA3KqDl8w1jHeCwz4P9CuBEtu/G+KYffLeAMBsMZmh4SIkFFCO9wE/dyYg6+yo07rYcnnIfy7WA0bw==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz", + "integrity": "sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@aws-sdk/util-endpoints": "3.427.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -686,15 +698,16 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.425.0.tgz", - "integrity": "sha512-u7uv/iUOapIJdRgRkO3wnpYsUgV6ponsZJQgVg/8L+n+Vo5PQL5gAcIuAOwcYSKQPFaeK+KbmByI4SyOK203Vw==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz", + "integrity": "sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.0.13", - "@smithy/types": "^2.3.4", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.3", + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -702,45 +715,47 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.427.0.tgz", - "integrity": "sha512-4E5E+4p8lJ69PBY400dJXF06LUHYx5lkKzBEsYqWWhoZcoftrvi24ltIhUDoGVLkrLcTHZIWSdFAWSos4hXqeg==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.501.0.tgz", + "integrity": "sha512-MvLPhNxlStmQqVm2crGLUqYWvK/AbMmI9j4FbEfJ15oG/I+730zjSJQEy2MvdiqbJRDPZ/tRCL89bUedOrmi0g==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.425.0", - "@aws-sdk/middleware-logger": "3.425.0", - "@aws-sdk/middleware-recursion-detection": "3.425.0", - "@aws-sdk/middleware-user-agent": "3.427.0", - "@aws-sdk/types": "3.425.0", - "@aws-sdk/util-endpoints": "3.427.0", - "@aws-sdk/util-user-agent-browser": "3.425.0", - "@aws-sdk/util-user-agent-node": "3.425.0", - "@smithy/config-resolver": "^2.0.11", - "@smithy/fetch-http-handler": "^2.2.1", - "@smithy/hash-node": "^2.0.10", - "@smithy/invalid-dependency": "^2.0.10", - "@smithy/middleware-content-length": "^2.0.12", - "@smithy/middleware-endpoint": "^2.0.10", - "@smithy/middleware-retry": "^2.0.13", - "@smithy/middleware-serde": "^2.0.10", - "@smithy/middleware-stack": "^2.0.4", - "@smithy/node-config-provider": "^2.0.13", - "@smithy/node-http-handler": "^2.1.6", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.6", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/smithy-client": "^2.1.9", - "@smithy/types": "^2.3.4", - "@smithy/url-parser": "^2.0.10", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.13", - "@smithy/util-defaults-mode-node": "^2.0.15", - "@smithy/util-retry": "^2.0.3", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -748,12 +763,12 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.425.0.tgz", - "integrity": "sha512-6lqbmorwerN4v+J5dqbHPAsjynI0mkEF+blf+69QTaKKGaxBBVaXgqoqul9RXYcK5MMrrYRbQIMd0zYOoy90kA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.496.0.tgz", + "integrity": "sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.4", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -761,13 +776,14 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.427.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.427.0.tgz", - "integrity": "sha512-rSyiAIFF/EVvity/+LWUqoTMJ0a25RAc9iqx0WZ4tf1UjuEXRRXxZEb+jEZg1bk+pY84gdLdx9z5E+MSJCZxNQ==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz", + "integrity": "sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/node-config-provider": "^2.0.13", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", + "@smithy/util-endpoints": "^1.1.1", "tslib": "^2.5.0" }, "engines": { @@ -775,9 +791,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", + "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -787,26 +803,26 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.425.0.tgz", - "integrity": "sha512-22Y9iMtjGcFjGILR6/xdp1qRezlHVLyXtnpEsbuPTiernRCPk6zfAnK/ATH77r02MUjU057tdxVkd5umUBTn9Q==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz", + "integrity": "sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.425.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.425.0.tgz", - "integrity": "sha512-SIR4F5uQeeVAi8lv4OgRirtdtNi5zeyogTuQgGi9su8F/WP1N6JqxofcwpUY5f8/oJ2UlXr/tx1f09UHfJJzvA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz", + "integrity": "sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.425.0", - "@smithy/node-config-provider": "^2.0.13", - "@smithy/types": "^2.3.4", + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -910,22 +926,21 @@ } }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.12.1.tgz", - "integrity": "sha512-SsyWQ+T5MFQRX+M8H/66AlaI6HyCbQStGfFngx2fuiW+vKI2DkhtOvbYodPyf9fOe/ARLWWc3ohX54lQ5Kmaog==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.13.0.tgz", + "integrity": "sha512-a62aP/wppgmnfIkJLfcB4ssPBcH94WzrzPVJ3tlJt050zX4lfmtnvy95D3igDo3f31StO+9BgPrzvkj4aOxnoA==", "dependencies": { - "@azure/abort-controller": "^1.0.0", + "@azure/abort-controller": "^1.1.0", "@azure/core-auth": "^1.4.0", "@azure/core-tracing": "^1.0.1", "@azure/core-util": "^1.3.0", "@azure/logger": "^1.0.0", - "form-data": "^4.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, "node_modules/@azure/core-tracing": { @@ -940,15 +955,15 @@ } }, "node_modules/@azure/core-util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.5.0.tgz", - "integrity": "sha512-GZBpVFDtQ/15hW1OgBcRdT4Bl7AEpcEZqLfbAvOtm1CQUncKWiYapFHVD588hmlV27NbOOtSm3cnLF3lvoHi4g==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.6.1.tgz", + "integrity": "sha512-h5taHeySlsV9qxuK64KZxy4iln1BtMYlNt5jbuEFN3UFSAd1EwKg/Gjl5a6tZ/W8t6li3xPnutOx7zbDyXnPmQ==", "dependencies": { "@azure/abort-controller": "^1.0.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@azure/identity": { @@ -1029,20 +1044,21 @@ } }, "node_modules/@azure/msal-browser": { - "version": "2.38.2", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.2.tgz", - "integrity": "sha512-71BeIn2we6LIgMplwCSaMq5zAwmalyJR3jFcVOZxNVfQ1saBRwOD+P77nLs5vrRCedVKTq8RMFhIOdpMLNno0A==", + "version": "2.38.3", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.3.tgz", + "integrity": "sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==", + "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", "dependencies": { - "@azure/msal-common": "13.3.0" + "@azure/msal-common": "13.3.1" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", - "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", "engines": { "node": ">=0.8.0" } @@ -1056,11 +1072,12 @@ } }, "node_modules/@azure/msal-node": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.3.tgz", - "integrity": "sha512-lI1OsxNbS/gxRD4548Wyj22Dk8kS7eGMwD9GlBZvQmFV8FJUXoXySL1BiNzDsHUE96/DS/DHmA+F73p1Dkcktg==", + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", "dependencies": { - "@azure/msal-common": "13.3.0", + "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -1069,26 +1086,97 @@ } }, "node_modules/@azure/msal-node/node_modules/@azure/msal-common": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.0.tgz", - "integrity": "sha512-/VFWTicjcJbrGp3yQP7A24xU95NiDMe23vxIU1U6qdRPFsprMDNUohMudclnd+WSHE4/McqkZs/nUU3sAKkVjg==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", @@ -1099,9 +1187,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", @@ -1112,10 +1200,87 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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 + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1125,9 +1290,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", - "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1137,9 +1302,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.5.0.tgz", + "integrity": "sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==", "dev": true, "funding": [ { @@ -1155,13 +1320,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-tokenizer": "^2.2.3" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", + "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", "dev": true, "funding": [ { @@ -1178,9 +1343,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.7.tgz", + "integrity": "sha512-lHPKJDkPUECsyAvD60joYfDmp8UERYxHGkFfyLJFTVK/ERJe0sVlIFLXU5XFxdjNDTerp5L4KeaKG+Z5S94qxQ==", "dev": true, "funding": [ { @@ -1196,14 +1361,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.5.0", + "@csstools/css-tokenizer": "^2.2.3" } }, "node_modules/@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz", + "integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==", "dev": true, "funding": [ { @@ -1237,9 +1402,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "cpu": [ "ppc64" ], @@ -1253,9 +1418,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ "arm" ], @@ -1269,9 +1434,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ "arm64" ], @@ -1285,9 +1450,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ "x64" ], @@ -1301,9 +1466,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ "arm64" ], @@ -1317,9 +1482,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ "x64" ], @@ -1333,9 +1498,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], @@ -1349,9 +1514,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], @@ -1365,9 +1530,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ "arm" ], @@ -1381,9 +1546,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], @@ -1397,9 +1562,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ "ia32" ], @@ -1413,9 +1578,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ "loong64" ], @@ -1429,9 +1594,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ "mips64el" ], @@ -1445,9 +1610,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "cpu": [ "ppc64" ], @@ -1461,9 +1626,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "cpu": [ "riscv64" ], @@ -1477,9 +1642,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "cpu": [ "s390x" ], @@ -1493,9 +1658,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], @@ -1509,9 +1674,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "cpu": [ "x64" ], @@ -1525,9 +1690,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "cpu": [ "x64" ], @@ -1541,9 +1706,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "cpu": [ "x64" ], @@ -1557,9 +1722,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", "cpu": [ "arm64" ], @@ -1573,9 +1738,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", "cpu": [ "ia32" ], @@ -1589,9 +1754,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", "cpu": [ "x64" ], @@ -1619,22 +1784,10 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -1663,37 +1816,32 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "*" } }, "node_modules/@fastify/busboy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", - "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", "dev": true, "engines": { "node": ">=14" @@ -1749,9 +1897,9 @@ } }, "node_modules/@fortawesome/vue-fontawesome": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.3.tgz", - "integrity": "sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.5.tgz", + "integrity": "sha512-isZZ4+utQH9qg9cWxWYHQ9GwI3r5FeO7GnmzKYV+gbjxcptQhh+F99iZXi1Y9AvFUEgy8kRpAdvDlbb3drWFrw==", "dev": true, "peerDependencies": { "@fortawesome/fontawesome-svg-core": "~1 || ~6", @@ -1822,6 +1970,28 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -1868,6 +2038,15 @@ "node": ">= 14" } }, + "node_modules/@intlify/message-compiler/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@intlify/shared": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", @@ -2028,9 +2207,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -2038,9 +2217,9 @@ } }, "node_modules/@js-joda/core": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.5.3.tgz", - "integrity": "sha512-7dqNYwG8gCt4hfg5PKgM7xLEcgSBcx/UgC92OMnhMmvAnq11QzDFPrxUkNR/u5kn17WWLZ8beZ4A3Qrz4pZcmQ==" + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz", + "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==" }, "node_modules/@kurkle/color": { "version": "0.3.2", @@ -2102,9 +2281,9 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz", + "integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==", "optional": true, "dependencies": { "sparse-bitfield": "^3.0.3" @@ -2419,11 +2598,6 @@ "node": ">=14" } }, - "node_modules/@redis/client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@redis/graph": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.1.0.tgz", @@ -2457,9 +2631,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", - "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", "cpu": [ "arm" ], @@ -2470,9 +2644,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", - "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", "cpu": [ "arm64" ], @@ -2483,9 +2657,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", - "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", "cpu": [ "arm64" ], @@ -2496,9 +2670,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", - "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", "cpu": [ "x64" ], @@ -2509,9 +2683,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", - "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", "cpu": [ "arm" ], @@ -2522,9 +2696,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", - "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", "cpu": [ "arm64" ], @@ -2535,9 +2709,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", - "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", "cpu": [ "arm64" ], @@ -2548,9 +2722,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", - "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", "cpu": [ "riscv64" ], @@ -2561,9 +2735,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", - "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", "cpu": [ "x64" ], @@ -2574,9 +2748,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", - "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", "cpu": [ "x64" ], @@ -2587,9 +2761,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", - "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", "cpu": [ "arm64" ], @@ -2600,9 +2774,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", - "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", "cpu": [ "ia32" ], @@ -2613,9 +2787,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", - "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", "cpu": [ "x64" ], @@ -2662,9 +2836,9 @@ } }, "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dev": true, "dependencies": { "@hapi/hoek": "^9.0.0" @@ -2694,12 +2868,12 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.11.tgz", - "integrity": "sha512-MSzE1qR2JNyb7ot3blIOT3O3H0Jn06iNDEgHRaqZUwBgx5EG+VIx24Y21tlKofzYryIOcWpIohLrIIyocD6LMA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", + "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2707,15 +2881,34 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.14.tgz", - "integrity": "sha512-K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.1.tgz", + "integrity": "sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.1.tgz", + "integrity": "sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.1", - "@smithy/types": "^2.3.5", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.4", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2723,15 +2916,15 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz", - "integrity": "sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz", + "integrity": "sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.1", - "@smithy/property-provider": "^2.0.12", - "@smithy/types": "^2.3.5", - "@smithy/url-parser": "^2.0.11", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2739,39 +2932,39 @@ } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz", - "integrity": "sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", + "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", "optional": true, "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.3.5", - "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.2.tgz", - "integrity": "sha512-K7aRtRuaBjzlk+jWWeyfDTLAmRRvmA4fU8eHUXtjsuEDgi3f356ZE32VD2ssxIH13RCLVZbXMt5h7wHzYiSuVA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", + "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", "optional": true, "dependencies": { - "@smithy/protocol-http": "^3.0.7", - "@smithy/querystring-builder": "^2.0.11", - "@smithy/types": "^2.3.5", - "@smithy/util-base64": "^2.0.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-node": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.11.tgz", - "integrity": "sha512-PbleVugN2tbhl1ZoNWVrZ1oTFFas/Hq+s6zGO8B9bv4w/StTriTKA9W+xZJACOj9X7zwfoTLbscM+avCB1KqOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.1.tgz", + "integrity": "sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2779,19 +2972,19 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.11.tgz", - "integrity": "sha512-zazq99ujxYv/NOf9zh7xXbNgzoVLsqE0wle8P/1zU/XdhPi/0zohTPKWUzIxjGdqb5hkkwfBkNkl5H+LE0mvgw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz", + "integrity": "sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/is-array-buffer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", - "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -2801,13 +2994,13 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.13.tgz", - "integrity": "sha512-Md2kxWpaec3bXp1oERFPQPBhOXCkGSAF7uc1E+4rkwjgw3/tqAXRtbjbggu67HJdwaif76As8AV6XxbD1HzqTQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz", + "integrity": "sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==", "optional": true, "dependencies": { - "@smithy/protocol-http": "^3.0.7", - "@smithy/types": "^2.3.5", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2815,15 +3008,17 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.11.tgz", - "integrity": "sha512-mCugsvB15up6fqpzUEpMT4CuJmFkEI+KcozA7QMzYguXCaIilyMKsyxgamwmr+o7lo3QdjN0//XLQ9bWFL129g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", + "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", "optional": true, "dependencies": { - "@smithy/middleware-serde": "^2.0.11", - "@smithy/types": "^2.3.5", - "@smithy/url-parser": "^2.0.11", - "@smithy/util-middleware": "^2.0.4", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2831,17 +3026,18 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz", - "integrity": "sha512-Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz", + "integrity": "sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.1", - "@smithy/protocol-http": "^3.0.7", - "@smithy/service-error-classification": "^2.0.4", - "@smithy/types": "^2.3.5", - "@smithy/util-middleware": "^2.0.4", - "@smithy/util-retry": "^2.0.4", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -2850,12 +3046,12 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.11.tgz", - "integrity": "sha512-NuxnjMyf4zQqhwwdh0OTj5RqpnuT6HcH5Xg5GrPijPcKzc2REXVEVK4Yyk8ckj8ez1XSj/bCmJ+oNjmqB02GWA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", + "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2863,12 +3059,12 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.5.tgz", - "integrity": "sha512-bVQU/rZzBY7CbSxIrDTGZYnBWKtIw+PL/cRc9B7etZk1IKSOe0NvKMJyWllfhfhrTeMF6eleCzOihIQympAvPw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", + "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2876,14 +3072,14 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz", - "integrity": "sha512-1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", + "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", "optional": true, "dependencies": { - "@smithy/property-provider": "^2.0.12", - "@smithy/shared-ini-file-loader": "^2.2.0", - "@smithy/types": "^2.3.5", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2891,15 +3087,15 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.7.tgz", - "integrity": "sha512-PQIKZXlp3awCDn/xNlCSTFE7aYG/5Tx33M05NfQmWYeB5yV1GZZOSz4dXpwiNJYTXb9jPqjl+ueXXkwtEluFFA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", + "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", "optional": true, "dependencies": { - "@smithy/abort-controller": "^2.0.11", - "@smithy/protocol-http": "^3.0.7", - "@smithy/querystring-builder": "^2.0.11", - "@smithy/types": "^2.3.5", + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2907,12 +3103,12 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.12.tgz", - "integrity": "sha512-Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", + "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2920,12 +3116,12 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.7.tgz", - "integrity": "sha512-HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", + "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2933,13 +3129,13 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.11.tgz", - "integrity": "sha512-b4kEbVMxpmfv2VWUITn2otckTi7GlMteZQxi+jlwedoATOGEyrCJPfRcYQJjbCi3fZ2QTfh3PcORvB27+j38Yg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", + "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", - "@smithy/util-uri-escape": "^2.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2947,12 +3143,12 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.11.tgz", - "integrity": "sha512-YXe7jhi7s3dQ0Fu9dLoY/gLu6NCyy8tBWJL/v2c9i7/RLpHgKT+uT96/OqZkHizCJ4kr0ZD46tzMjql/o60KLg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", + "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2960,24 +3156,24 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.4.tgz", - "integrity": "sha512-77506l12I5gxTZqBkx3Wb0RqMG81bMYLaVQ+EqIWFwQDJRs5UFeXogKxSKojCmz1wLUziHZQXm03MBzPQiumQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz", + "integrity": "sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5" + "@smithy/types": "^2.9.1" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz", - "integrity": "sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", + "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2985,18 +3181,18 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.11.tgz", - "integrity": "sha512-EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A==", - "optional": true, - "dependencies": { - "@smithy/eventstream-codec": "^2.0.11", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.3.5", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.4", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", + "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", + "optional": true, + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3004,14 +3200,16 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.10.tgz", - "integrity": "sha512-2OEmZDiW1Z196QHuQZ5M6cBE8FCSG0H2HADP1G+DY8P3agsvb0YJyfhyKuJbxIQy15tr3eDAK6FOrlbxgKOOew==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", + "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", "optional": true, "dependencies": { - "@smithy/middleware-stack": "^2.0.5", - "@smithy/types": "^2.3.5", - "@smithy/util-stream": "^2.0.15", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3019,9 +3217,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.5.tgz", - "integrity": "sha512-ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", + "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -3031,23 +3229,23 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.11.tgz", - "integrity": "sha512-h89yXMCCF+S5k9XIoKltMIWTYj+FcEkU/IIFZ6RtE222fskOTL4Iak6ZRG+ehSvZDt8yKEcxqheTDq7JvvtK3g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", + "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", "optional": true, "dependencies": { - "@smithy/querystring-parser": "^2.0.11", - "@smithy/types": "^2.3.5", + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/util-base64": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", - "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", "optional": true, "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3055,18 +3253,18 @@ } }, "node_modules/@smithy/util-body-length-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", - "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", "optional": true, "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/util-body-length-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", - "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -3076,12 +3274,12 @@ } }, "node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", "optional": true, "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", + "@smithy/is-array-buffer": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3089,9 +3287,9 @@ } }, "node_modules/@smithy/util-config-provider": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", - "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -3101,14 +3299,14 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.14.tgz", - "integrity": "sha512-NupG7SWUucm3vJrvlpt9jG1XeoPJphjcivgcUUXhDJbUPy4F04LhlTiAhWSzwlCNcF8OJsMvZ/DWbpYD3pselw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz", + "integrity": "sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==", "optional": true, "dependencies": { - "@smithy/property-provider": "^2.0.12", - "@smithy/smithy-client": "^2.1.10", - "@smithy/types": "^2.3.5", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -3117,27 +3315,41 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.18.tgz", - "integrity": "sha512-+3jMom/b/Cdp21tDnY4vKu249Al+G/P0HbRbct7/aSZDlROzv1tksaYukon6UUv7uoHn+/McqnsvqZHLlqvQ0g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.1.tgz", + "integrity": "sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA==", "optional": true, "dependencies": { - "@smithy/config-resolver": "^2.0.14", - "@smithy/credential-provider-imds": "^2.0.16", - "@smithy/node-config-provider": "^2.1.1", - "@smithy/property-provider": "^2.0.12", - "@smithy/smithy-client": "^2.1.10", - "@smithy/types": "^2.3.5", + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { "node": ">= 10.0.0" } }, + "node_modules/@smithy/util-endpoints": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz", + "integrity": "sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@smithy/util-hex-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", - "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -3147,12 +3359,12 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.4.tgz", - "integrity": "sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", + "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", "optional": true, "dependencies": { - "@smithy/types": "^2.3.5", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -3160,13 +3372,13 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.4.tgz", - "integrity": "sha512-b+n1jBBKc77C1E/zfBe1Zo7S9OXGBiGn55N0apfhZHxPUP/fMH5AhFUUcWaJh7NAnah284M5lGkBKuhnr3yK5w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.1.tgz", + "integrity": "sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==", "optional": true, "dependencies": { - "@smithy/service-error-classification": "^2.0.4", - "@smithy/types": "^2.3.5", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -3174,18 +3386,18 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.15.tgz", - "integrity": "sha512-A/hkYJPH2N5MCWYvky4tTpQihpYAEzqnUfxDyG3L/yMndy/2sLvxnyQal9Opuj1e9FiKSTeMyjnU9xxZGs0mRw==", - "optional": true, - "dependencies": { - "@smithy/fetch-http-handler": "^2.2.2", - "@smithy/node-http-handler": "^2.1.7", - "@smithy/types": "^2.3.5", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", + "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", + "optional": true, + "dependencies": { + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3193,9 +3405,9 @@ } }, "node_modules/@smithy/util-uri-escape": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", - "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", "optional": true, "dependencies": { "tslib": "^2.5.0" @@ -3205,12 +3417,12 @@ } }, "node_modules/@smithy/util-utf8": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", - "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", "optional": true, "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -3247,17 +3459,17 @@ } }, "node_modules/@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/body-parser": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", - "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -3273,17 +3485,17 @@ } }, "node_modules/@types/connect": { - "version": "3.4.36", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", - "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/content-disposition": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.6.tgz", - "integrity": "sha512-GmShTb4qA9+HMPPaV2+Up8tJafgi38geFi7vL4qAM7k8BwjoelgHZqEUKJZLvughUw22h6vD/wvwN4IUCaWpDA==" + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz", + "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==" }, "node_modules/@types/cookie": { "version": "0.4.1", @@ -3291,9 +3503,9 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cookies": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.8.tgz", - "integrity": "sha512-y6KhF1GtsLERUpqOV+qZJrjUGzc0GE6UTa0b5Z/LZ7Nm2mKSdCXmS6Kdnl7fctPNnMSouHjxqEWI12/YqQfk5w==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz", + "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==", "dependencies": { "@types/connect": "*", "@types/express": "*", @@ -3302,25 +3514,31 @@ } }, "node_modules/@types/cors": { - "version": "2.8.14", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", - "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/es-aggregate-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.3.tgz", - "integrity": "sha512-GmY61WWXQemfJp+qmMu6RsrNev0eoEWeWtg46w9pdXje23jRJrf7yETbAkl7F+CfQJSKW7w3//sTYtQTt+R5Lg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "node_modules/@types/express": { - "version": "4.17.18", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz", - "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -3329,9 +3547,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.37", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", - "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "version": "4.17.42", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz", + "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3340,35 +3558,35 @@ } }, "node_modules/@types/http-assert": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz", - "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz", + "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==" }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz", - "integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" }, "node_modules/@types/http-errors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", - "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/keygrip": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.3.tgz", - "integrity": "sha512-tfzBBb7OV2PbUfKbG6zRE5UbmtdLVCKT/XT364Z9ny6pXNbd9GnIB6aFYpq2A5lZ6mq9bhXgK6h5MFGNwhMmuQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz", + "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==" }, "node_modules/@types/koa": { - "version": "2.13.9", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.9.tgz", - "integrity": "sha512-tPX3cN1dGrMn+sjCDEiQqXH2AqlPoPd594S/8zxwUm/ZbPsQXKqHPUypr2gjCPhHUc+nDJLduhh5lXI/1olnGQ==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz", + "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==", "dependencies": { "@types/accepts": "*", "@types/content-disposition": "*", @@ -3381,67 +3599,67 @@ } }, "node_modules/@types/koa-compose": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.6.tgz", - "integrity": "sha512-PHiciWxH3NRyAaxUdEDE1NIZNfvhgtPlsdkjRPazHC6weqt90Jr0uLhIQs+SDwC8HQ/jnA7UQP6xOqGFB7ugWw==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz", + "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==", "dependencies": { "@types/koa": "*" } }, "node_modules/@types/mime": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", - "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/minimist": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", - "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true }, "node_modules/@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "node_modules/@types/qs": { - "version": "6.9.8", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", - "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" }, "node_modules/@types/range-parser": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", - "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", "dev": true }, "node_modules/@types/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", - "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", - "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -3449,24 +3667,27 @@ } }, "node_modules/@types/ssh2": { - "version": "1.11.14", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.14.tgz", - "integrity": "sha512-O/U38mvV4jVVrdtZz8KpmitkmeD/PUDeDNNueQhm34166dmaqb1iZ3sfarSxBArM2/iX4PZVJY3EOta0Zks9hw==", + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.19.tgz", + "integrity": "sha512-ydbQAqEcdNVy2t1w7dMh6eWMr+iOgtEkqM/3K9RMijMaok/ER7L8GW6PwsOypHCN++M+c8S/UR9SgMqNIFstbA==", "dev": true, "dependencies": { "@types/node": "^18.11.18" } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.18.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", - "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", - "dev": true + "version": "18.19.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz", + "integrity": "sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/webidl-conversions": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz", - "integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" }, "node_modules/@types/whatwg-url": { "version": "8.2.2", @@ -3478,16 +3699,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", - "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", + "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/type-utils": "6.7.5", - "@typescript-eslint/utils": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/type-utils": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3513,15 +3734,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", - "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", + "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4" }, "engines": { @@ -3541,13 +3762,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", - "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3558,13 +3779,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", - "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", + "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/utils": "6.20.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3585,9 +3806,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", - "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3598,16 +3819,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", - "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", + "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -3625,17 +3847,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", - "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", + "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", "semver": "^7.5.4" }, "engines": { @@ -3650,12 +3872,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", - "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/types": "6.20.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -3666,22 +3888,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@vitejs/plugin-vue": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.1.tgz", - "integrity": "sha512-lwvZX5tDhJpRJEKsjoUSWgaD26Lk9X4aDYGAPpr/Q6cLTT3PC8LPu2dsnYEweAZiNgHsbyKL2Svc/CDrFOsbtw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz", + "integrity": "sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==", "dev": true, "engines": { "node": "^18.0.0 || >=20.0.0" @@ -3692,108 +3902,108 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.2.tgz", - "integrity": "sha512-DFs9KF2oqL5sz2nyhhaGJfKPzh0Txjgu46cu+Xgyrd5WWDeAoYyiQf+pVB7AeH2G4YKSKKAT3C3l9eeJxDEWtg==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz", + "integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==", "dev": true, "dependencies": { "@babel/parser": "^7.23.6", - "@vue/shared": "3.4.2", + "@vue/shared": "3.4.15", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.2.tgz", - "integrity": "sha512-Wbr7JIbgPmljyQYTYb8jdf4d/tkTovjoqdFAHP7h7rYySYbTz9oOoDPN0CUdqH9X0qpav3ksItsJf8rKf2Cr1Q==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz", + "integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.4.2", - "@vue/shared": "3.4.2" + "@vue/compiler-core": "3.4.15", + "@vue/shared": "3.4.15" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.2.tgz", - "integrity": "sha512-7EoAi5EFNnByjxiHLKc4Q6YmiItFsGPjapk4fP3woBinkZoHaYEJ3mHqyKBK91P/gBmMoeOto+0RTKnH0tcRZw==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz", + "integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==", "dev": true, "dependencies": { "@babel/parser": "^7.23.6", - "@vue/compiler-core": "3.4.2", - "@vue/compiler-dom": "3.4.2", - "@vue/compiler-ssr": "3.4.2", - "@vue/shared": "3.4.2", + "@vue/compiler-core": "3.4.15", + "@vue/compiler-dom": "3.4.15", + "@vue/compiler-ssr": "3.4.15", + "@vue/shared": "3.4.15", "estree-walker": "^2.0.2", "magic-string": "^0.30.5", - "postcss": "^8.4.32", + "postcss": "^8.4.33", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.2.tgz", - "integrity": "sha512-9MpcSLDqW1BfNIy5wviEHudmyXVJ2pEVB2vXI4qo/W0tD6X5J7hzsDiYBihXaMaEP7ZL/zL9Kkv13AaWo2OM1w==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz", + "integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.4.2", - "@vue/shared": "3.4.2" + "@vue/compiler-dom": "3.4.15", + "@vue/shared": "3.4.15" } }, "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", "dev": true }, "node_modules/@vue/reactivity": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.2.tgz", - "integrity": "sha512-SegdalwvnTwghmF2piGCu/So626dlQq+hTGKJIpAJ+Sj+rnybI7tPSaQBmL2d68GEsHxJ6r/sfX9Wfp7Gr06zg==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz", + "integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==", "dev": true, "dependencies": { - "@vue/shared": "3.4.2" + "@vue/shared": "3.4.15" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.2.tgz", - "integrity": "sha512-AJUtHqCYRYZgvtjSDCnATEJg/4mFxhYh5tQZ7+KKFU+ugsaXSA7uZAVVfLEymkzpt4CYu7Dn4OPcHX+LI21NAw==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz", + "integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==", "dev": true, "dependencies": { - "@vue/reactivity": "3.4.2", - "@vue/shared": "3.4.2" + "@vue/reactivity": "3.4.15", + "@vue/shared": "3.4.15" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.2.tgz", - "integrity": "sha512-bDYMGxCZgzcsuR/Fk4xGRtsDPrH2bn6YVG6F1Jju4eUCl2KksdBT8xGh2uEUpUfMx/UA6a1Ya5Nf+hCEWqQ6Nw==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz", + "integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==", "dev": true, "dependencies": { - "@vue/runtime-core": "3.4.2", - "@vue/shared": "3.4.2", + "@vue/runtime-core": "3.4.15", + "@vue/shared": "3.4.15", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.2.tgz", - "integrity": "sha512-WcXwyNj2Kl2IrRRUWRG+0UFmeXf9P4wH90uKya9E7EyCcbxMp4V+y4Aoj1rtQkFaFV8tODhrbSXQi1ZdwgyTMQ==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.15.tgz", + "integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==", "dev": true, "dependencies": { - "@vue/compiler-ssr": "3.4.2", - "@vue/shared": "3.4.2" + "@vue/compiler-ssr": "3.4.15", + "@vue/shared": "3.4.15" }, "peerDependencies": { - "vue": "3.4.2" + "vue": "3.4.15" } }, "node_modules/@vue/shared": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.2.tgz", - "integrity": "sha512-QANtRj0jTGS/jrAyFak0S1Pvlb+By3Q7GOW1l++kFWz8B0kv3AR/ZmwkoWf+i75jJPse+/F17jXou3fwQm47wg==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz", + "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==", "dev": true }, "node_modules/@vuepic/vue-datepicker": { @@ -3841,9 +4051,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3924,14 +4134,14 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/agentkeepalive": { @@ -3992,15 +4202,17 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/any-promise": { @@ -4433,12 +4645,11 @@ "optional": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -4574,24 +4785,14 @@ "node": ">= 10" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "engines": { - "node": ">=10" + "node": ">=14.16" } }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, "node_modules/cacheable-request": { "version": "10.2.14", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", @@ -4609,24 +4810,14 @@ "node": ">=14.16" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4642,12 +4833,15 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/camelcase-keys": { @@ -4668,10 +4862,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "engines": { "node": ">=10" @@ -4680,30 +4874,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/char-width-table-consumer": { @@ -4868,19 +5064,20 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-support": { "version": "1.1.3", @@ -4918,11 +5115,11 @@ "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "engines": { - "node": ">= 6" + "node": ">=14" } }, "node_modules/comment-parser": { @@ -4943,14 +5140,6 @@ "minimist": "^1.1.0" } }, - "node_modules/commist/node_modules/leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/compare-versions": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", @@ -5043,91 +5232,6 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/concurrently/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/concurrently/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concurrently/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -5196,9 +5300,9 @@ } }, "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==" }, "node_modules/cors": { "version": "2.8.5", @@ -5316,18 +5420,13 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==" }, - "node_modules/css-color-converter/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/css-functions-list": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", - "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", + "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true, "engines": { - "node": ">=12.22" + "node": ">=12 || >=16" } }, "node_modules/css-select": { @@ -5515,9 +5614,9 @@ } }, "node_modules/define-data-property": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", - "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -5898,25 +5997,25 @@ } }, "node_modules/es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dependencies": { "array-buffer-byte-length": "^1.0.0", "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.1", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -5926,7 +6025,7 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.5.1", @@ -5940,7 +6039,7 @@ "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -5971,13 +6070,13 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -6000,9 +6099,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", "dev": true, "hasInstallScript": true, "bin": { @@ -6012,29 +6111,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" } }, "node_modules/escalade": { @@ -6051,12 +6150,15 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { @@ -6134,18 +6236,6 @@ "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-plugin-jsdoc/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-vue": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", @@ -6166,6 +6256,22 @@ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", @@ -6184,7 +6290,7 @@ "eslint": ">=5" } }, - "node_modules/eslint-visitor-keys": { + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", @@ -6193,84 +6299,7 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", @@ -6282,61 +6311,26 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint/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==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, "node_modules/esm": { @@ -6364,18 +6358,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -6388,15 +6370,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -6409,7 +6382,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -6570,9 +6543,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -6663,9 +6636,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz", + "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -6738,22 +6711,25 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "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==", + "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, "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", @@ -6761,7 +6737,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -6771,9 +6747,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -6900,6 +6876,29 @@ "safe-buffer": "~5.1.0" } }, + "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, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/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, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -6917,9 +6916,9 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, @@ -6931,9 +6930,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.6", @@ -6967,9 +6969,9 @@ } }, "node_modules/gamedig": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.3.0.tgz", - "integrity": "sha512-73wQM/mYLh0giljtg9OmF7QySxTGUj52+MxGklm2cveakOuB2zk0cvQl7vIFYcv6uI3HwenjOZKZ5507c/ZyzA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.3.1.tgz", + "integrity": "sha512-et9Aq4wlD0cExXEO3r3LWiEEjOzsnG5l/0YSqza7FZLoJqunNT6DedkAXAdeOqAqStkRQahQiPFjx2WCg4SOtg==", "dependencies": { "cheerio": "^1.0.0-rc.10", "gbxremote": "^0.2.1", @@ -7047,14 +7049,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7069,11 +7071,22 @@ } }, "node_modules/get-port-please": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.1.tgz", - "integrity": "sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", "dev": true }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -7125,6 +7138,26 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", @@ -7151,12 +7184,6 @@ "node": ">=6" } }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -7169,6 +7196,21 @@ "which": "bin/which" } }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -7244,25 +7286,6 @@ "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/got/node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -7284,14 +7307,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -7301,20 +7316,20 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7361,6 +7376,17 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/help-me": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", @@ -7388,24 +7414,6 @@ "node": ">=10" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/html-escaper": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", @@ -7473,17 +7481,6 @@ } } }, - "node_modules/http-cookie-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", @@ -7523,10 +7520,21 @@ "node": ">= 6" } }, + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.2.0" @@ -7547,6 +7555,17 @@ "node": ">= 6" } }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -7557,11 +7576,12 @@ } }, "node_modules/hyperid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.1.1.tgz", - "integrity": "sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.2.0.tgz", + "integrity": "sha512-PdTtDo+Rmza9nEhTunaDSUKwbC69TIzLEpZUwiB6f+0oqmY0UPfhyHCPt6K1NQ4WFv5yJBTG5vELztVWP+nEVQ==", "dev": true, "dependencies": { + "buffer": "^5.2.1", "uuid": "^8.3.2", "uuid-parse": "^1.1.0" } @@ -7597,9 +7617,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -7668,13 +7688,19 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -7786,11 +7812,11 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8076,9 +8102,9 @@ } }, "node_modules/jose": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.2.tgz", - "integrity": "sha512-IY73F228OXRl9ar3jJagh7Vnuhj/GzBunPiZP13K0lOl7Am9SoWW3kEzq3MCllJMTtZqHTiDXQvoRd4U95aU6A==", + "version": "4.15.4", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz", + "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -8098,9 +8124,9 @@ } }, "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==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.2.tgz", + "integrity": "sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==", "dev": true }, "node_modules/js-yaml": { @@ -8183,6 +8209,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonfile/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, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/jsonwebtoken": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", @@ -8308,14 +8343,6 @@ } } }, - "node_modules/knex/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, "node_modules/knex/node_modules/pg-connection-string": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", @@ -8330,11 +8357,19 @@ } }, "node_modules/known-css-properties": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", - "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -8363,9 +8398,9 @@ "dev": true }, "node_modules/liquidjs": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.9.2.tgz", - "integrity": "sha512-ygPCgYyiFKQNyRi/CK3s3U5RimosBtrIq7TaMYK5ek93mUl9CZ6xxqw2T+1G4kVc9dAmwI71bWLQNKRToV8SsQ==", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.10.0.tgz", + "integrity": "sha512-f4gPvCq4uV4Fm5YezVUQoAMPmBMEuIE2LvgCnzyWoPRx+ZefH6b8DU2eb7znltRqATHF8zYvOsd5FD2z1spJgg==", "dependencies": { "commander": "^10.0.0" }, @@ -8381,24 +8416,19 @@ "url": "https://opencollective.com/liquidjs" } }, - "node_modules/liquidjs/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, "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==", + "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, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -8480,11 +8510,14 @@ } }, "node_modules/lru-cache": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", - "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=16.14" + "node": ">=10" } }, "node_modules/magic-string": { @@ -8557,6 +8590,18 @@ "node": ">= 6" } }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -8571,24 +8616,6 @@ "node": ">= 6" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, "node_modules/map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -8773,14 +8800,17 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -8881,11 +8911,6 @@ "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -8898,11 +8923,6 @@ "node": ">= 8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", @@ -8920,9 +8940,9 @@ } }, "node_modules/mongodb": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.1.tgz", - "integrity": "sha512-MBuyYiPUPRTqfH2dV0ya4dcr2E5N52ocBuZ8Sgg/M030nGF78v855B3Z27mZJnp8PxjnUquEnAtjOsphgMZOlQ==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz", + "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==", "dependencies": { "bson": "^4.7.2", "mongodb-connection-string-url": "^2.6.0", @@ -8982,9 +9002,9 @@ } }, "node_modules/mqtt": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.3.7.tgz", - "integrity": "sha512-ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.3.8.tgz", + "integrity": "sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==", "dependencies": { "commist": "^1.0.0", "concat-stream": "^2.0.0", @@ -9024,17 +9044,6 @@ "process-nextick-args": "^2.0.1" } }, - "node_modules/mqtt/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mqtt/node_modules/mqtt-packet": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", @@ -9065,11 +9074,6 @@ } } }, - "node_modules/mqtt/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -9120,6 +9124,14 @@ "node": ">= 8.0" } }, + "node_modules/mysql2/node_modules/lru-cache": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", + "engines": { + "node": ">=16.14" + } + }, "node_modules/named-placeholders": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", @@ -9400,11 +9412,11 @@ } }, "node_modules/nostr-tools": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.16.0.tgz", - "integrity": "sha512-sx/aOl0gmkeHVoIVbyOhEQhzF88NsrBXMC8bsjhPASqA6oZ8uSOAyEGgRLMfC3SKgzQD5Gr6KvDoAahaD6xKcg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-1.17.0.tgz", + "integrity": "sha512-LZmR8GEWKZeElbFV5Xte75dOeE9EFUW/QLI1Ncn3JKn0kFddDKEfBbFN8Mu4TMs+L4HR/WTPha2l+PPuRnJcMw==", "dependencies": { - "@noble/ciphers": "^0.2.0", + "@noble/ciphers": "0.2.0", "@noble/curves": "1.1.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", @@ -9476,9 +9488,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9492,12 +9504,12 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -9560,11 +9572,11 @@ } }, "node_modules/openid-client": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.0.tgz", - "integrity": "sha512-uFTkN/iqgKvSnmpVAS/T6SNThukRMBcmymTQ71Ngus1F60tdtKVap7zCrleocY+fogPtpmoxi5Q1YdrgYuTlkA==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.4.tgz", + "integrity": "sha512-T1h3B10BRPKfcObdBklX639tVz+xh34O7GjofqrqiAQdm7eHsQ00ih18x6wuJ/E6FxdtS2u3FmUGPDeEcMwzNA==", "dependencies": { - "jose": "^4.15.1", + "jose": "^4.15.4", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" @@ -9573,22 +9585,6 @@ "url": "https://github.com/sponsors/panva" } }, - "node_modules/openid-client/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/openid-client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -9630,27 +9626,15 @@ } }, "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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/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==", + "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, "dependencies": { - "p-try": "^2.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9803,9 +9787,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "engines": { "node": "14 || >=16.14" } @@ -9978,20 +9962,6 @@ "node": ">=16" } }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -10002,9 +9972,9 @@ } }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -10044,12 +10014,6 @@ "node": "^12 || >=14" } }, - "node_modules/postcss-html/node_modules/js-tokens": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.2.tgz", - "integrity": "sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==", - "dev": true - }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", @@ -10114,9 +10078,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -10262,9 +10226,9 @@ } }, "node_modules/protobufjs": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", - "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", + "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -10317,9 +10281,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -10351,19 +10315,13 @@ "node": ">=10.13.0" } }, - "node_modules/qrcode/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/qrcode/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, "node_modules/qrcode/node_modules/cliui": { @@ -10377,31 +10335,65 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/qrcode/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/qrcode/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/qrcode/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, "dependencies": { - "color-name": "~1.1.4" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/qrcode/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/qrcode/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, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/qrcode/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/qrcode/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==", "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/qrcode/node_modules/wrap-ansi": { @@ -10587,53 +10579,7 @@ "type-fest": "^1.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/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, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/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, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/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, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10700,9 +10646,9 @@ } }, "node_modules/redbean-node": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.3.1.tgz", - "integrity": "sha512-rz71vF7UtJQ14ttZ9I0QuaJ9TOwBCnZb+qHUBiU05f2fLaiQC79liisL3xgkHI8uE9et6HAkG8Z8VPkZbhgxKw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.3.3.tgz", + "integrity": "sha512-0J59/QlShdWs1h0lsFHRfb8NwjvgIYTQKwYrvq6FykRmeX1cG2u8AgHEIRVBrm56mtKLRASVy/8ykk6fSntLdw==", "dependencies": { "@types/node": "~20.3.1", "await-lock": "~2.2.2", @@ -10717,14 +10663,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.3.tgz", "integrity": "sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==" }, - "node_modules/redbean-node/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==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/redbean-node/node_modules/commander": { "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", @@ -10804,20 +10742,6 @@ } } }, - "node_modules/redbean-node/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/redbean-node/node_modules/minipass": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", @@ -10881,9 +10805,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "node_modules/regexp.prototype.flags": { @@ -10948,9 +10872,9 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -11017,9 +10941,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" }, "node_modules/rimraf": { "version": "3.0.2", @@ -11036,10 +10960,13 @@ } }, "node_modules/rollup": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", - "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, @@ -11048,26 +10975,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.2", - "@rollup/rollup-android-arm64": "4.9.2", - "@rollup/rollup-darwin-arm64": "4.9.2", - "@rollup/rollup-darwin-x64": "4.9.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", - "@rollup/rollup-linux-arm64-gnu": "4.9.2", - "@rollup/rollup-linux-arm64-musl": "4.9.2", - "@rollup/rollup-linux-riscv64-gnu": "4.9.2", - "@rollup/rollup-linux-x64-gnu": "4.9.2", - "@rollup/rollup-linux-x64-musl": "4.9.2", - "@rollup/rollup-win32-arm64-msvc": "4.9.2", - "@rollup/rollup-win32-ia32-msvc": "4.9.2", - "@rollup/rollup-win32-x64-msvc": "4.9.2", + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", "fsevents": "~2.3.2" } }, "node_modules/rollup-plugin-visualizer": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.2.tgz", - "integrity": "sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", "dev": true, "dependencies": { "open": "^8.4.0", @@ -11082,7 +11009,7 @@ "node": ">=14" }, "peerDependencies": { - "rollup": "2.x || 3.x" + "rollup": "2.x || 3.x || 4.x" }, "peerDependenciesMeta": { "rollup": { @@ -11090,15 +11017,6 @@ } } }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/rtlcss": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", @@ -11114,52 +11032,6 @@ "rtlcss": "bin/rtlcss.js" } }, - "node_modules/rtlcss/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, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/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, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/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, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -11193,12 +11065,12 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -11215,14 +11087,17 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11285,6 +11160,14 @@ "seek-table": "bin/seek-bzip-table" } }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -11299,22 +11182,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", @@ -11380,6 +11247,21 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-function-name": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", @@ -11459,6 +11341,23 @@ "node": ">=8" } }, + "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, + "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" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -11564,6 +11463,17 @@ "node": ">= 10" } }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/sortablejs": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", @@ -11571,12 +11481,12 @@ "dev": true }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, "node_modules/source-map-js": { @@ -11588,6 +11498,25 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -11614,9 +11543,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -11657,9 +11586,9 @@ } }, "node_modules/ssh2": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", - "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", + "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -11670,8 +11599,8 @@ "node": ">=10.16.0" }, "optionalDependencies": { - "cpu-features": "~0.0.8", - "nan": "^2.17.0" + "cpu-features": "~0.0.9", + "nan": "^2.18.0" } }, "node_modules/ssri": { @@ -11704,9 +11633,9 @@ } }, "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" }, "node_modules/string_decoder": { "version": "1.3.0", @@ -11920,9 +11849,9 @@ "dev": true }, "node_modules/stylelint": { - "version": "15.10.3", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", - "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "dependencies": { "@csstools/css-parser-algorithms": "^2.3.1", @@ -11932,12 +11861,12 @@ "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.0", + "css-functions-list": "^3.2.1", "css-tree": "^2.3.1", "debug": "^4.3.4", "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^7.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", @@ -11946,13 +11875,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.28.0", + "known-css-properties": "^0.29.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.27", + "postcss": "^8.4.28", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -12004,6 +11933,18 @@ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz", + "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==", + "dev": true, + "dependencies": { + "flat-cache": "^3.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -12013,41 +11954,19 @@ "node": ">=8" } }, - "node_modules/stylelint/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/stylelint/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-hyperlinks": { @@ -12063,15 +11982,6 @@ "node": ">=14.18" } }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -12125,70 +12035,20 @@ "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/table/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, - "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" - } - }, "node_modules/tar": { "version": "6.1.15", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", @@ -12213,11 +12073,6 @@ "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/tarn": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", @@ -12319,16 +12174,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/test": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test/-/test-3.3.0.tgz", @@ -12371,9 +12216,9 @@ } }, "node_modules/test/node_modules/readable-stream": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", - "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -12409,9 +12254,9 @@ } }, "node_modules/timezones-list": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/timezones-list/-/timezones-list-3.0.2.tgz", - "integrity": "sha512-I698hm6Jp/xxkwyTSOr39pZkYKETL8LDJeSIhjxXBfPUAHM5oZNuQ4o9UK3PSkDBOkjATecSOBb3pR1IkIBUsg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/timezones-list/-/timezones-list-3.0.3.tgz", + "integrity": "sha512-C+Vdvvj2c1xB6pu81pOX8geo6mrk/QsudFVlTVQET7QQwu8WAIyhDNeCrK5grU7EMzmbKLWqz7uU6dN8fvQvPQ==", "dev": true }, "node_modules/to-regex-range": { @@ -12457,14 +12302,6 @@ "node": ">=6" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/tr46": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", @@ -12542,6 +12379,18 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "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", @@ -12653,9 +12502,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/undici": { - "version": "5.25.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.25.4.tgz", - "integrity": "sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==", + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -12665,9 +12514,9 @@ } }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unique-filename": { "version": "1.1.1", @@ -12688,18 +12537,17 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", "dev": true }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "engines": { - "node": ">= 10.0.0" + "node": ">= 4.0.0" } }, "node_modules/unpipe": { @@ -12796,9 +12644,9 @@ } }, "node_modules/vite": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", - "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -12864,101 +12712,31 @@ "vite": ">=2.0.0" } }, - "node_modules/vite-plugin-compression/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/vite-plugin-compression/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/vite-plugin-compression/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/vite-plugin-compression/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/vite-plugin-compression/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, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/vite-plugin-compression/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/vite-plugin-compression/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==", + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/vue": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.2.tgz", - "integrity": "sha512-lLLsnZLysSxHXM5uIk7frehU2B0vwzZmbZlX9im/kKISd9rfDtywo9jhvgAMLnrLBtP5QtEaP4f9MYHPpfIJtQ==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz", + "integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.4.2", - "@vue/compiler-sfc": "3.4.2", - "@vue/runtime-dom": "3.4.2", - "@vue/server-renderer": "3.4.2", - "@vue/shared": "3.4.2" + "@vue/compiler-dom": "3.4.15", + "@vue/compiler-sfc": "3.4.15", + "@vue/runtime-dom": "3.4.15", + "@vue/server-renderer": "3.4.15", + "@vue/shared": "3.4.15" }, "peerDependencies": { "typescript": "*" @@ -13047,43 +12825,6 @@ "eslint": ">=6.0.0" } }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/vue-i18n": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", @@ -13112,9 +12853,9 @@ } }, "node_modules/vue-multiselect": { - "version": "3.0.0-beta.2", - "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.2.tgz", - "integrity": "sha512-TFVHtI/KdWoD3Opzbkso8OIqkZlZEqFF7f2jlYx1ttgC4Jv/48IGlU5zn6cBR4p2bFDFGCHF5SkLCaadLhnBPQ==", + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.3.tgz", + "integrity": "sha512-P7Fx+ovVF7WMERSZ0lw6N3p4H4bnQ3NcaY3ORjzFPv0r/6lpIqvFWmK9Xnwze9mgAvmNV1foI1VWrBmjnfBTLQ==", "dev": true, "engines": { "node": ">= 4.0.0", @@ -13209,25 +12950,25 @@ } }, "node_modules/wait-on/node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", "dev": true, "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.4", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "node_modules/wait-on/node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", + "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", "dev": true, "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -13289,12 +13030,12 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -13347,75 +13088,40 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?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==" }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=7.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/write-file-atomic/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, "engines": { - "node": ">=8" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "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==" - }, "node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "engines": { "node": ">=10.0.0" }, @@ -13477,6 +13183,11 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", From ac4355114a6f1e2947bd394ab4c1e412a5521858 Mon Sep 17 00:00:00 2001 From: Robert Martin Date: Mon, 29 Jan 2024 22:10:44 -0600 Subject: [PATCH 306/494] Update en.json Grammar fix: "set up" should be two words when used as a verb --- src/lang/en.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 0f59e62a..bb3ad9e8 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -90,8 +90,8 @@ "programmingLanguages": "Programming Languages", "Save": "Save", "Notifications": "Notifications", - "Not available, please setup.": "Not available, please setup.", - "Setup Notification": "Setup Notification", + "Not available, please setup.": "Not available, please set up.", + "Setup Notification": "Set Up Notification", "Light": "Light", "Dark": "Dark", "Auto": "Auto", @@ -166,7 +166,7 @@ "Options": "Options", "Keep both": "Keep both", "Verify Token": "Verify Token", - "Setup 2FA": "Setup 2FA", + "Setup 2FA": "Set Up 2FA", "Enable 2FA": "Enable 2FA", "Disable 2FA": "Disable 2FA", "2FA Settings": "2FA Settings", @@ -387,10 +387,10 @@ "Query": "Query", "settingsCertificateExpiry": "TLS Certificate Expiry", "certificationExpiryDescription": "HTTPS Monitors trigger notification when TLS certificate expires in:", - "Setup Docker Host": "Setup Docker Host", + "Setup Docker Host": "Set Up Docker Host", "Connection Type": "Connection Type", "Docker Daemon": "Docker Daemon", - "noDockerHostMsg": "Not Available. Setup a Docker Host First.", + "noDockerHostMsg": "Not Available. Set Up a Docker Host First.", "DockerHostRequired": "Please set the Docker Host for this monitor.", "deleteDockerHostMsg": "Are you sure want to delete this docker host for all monitors?", "socket": "Socket", @@ -670,7 +670,7 @@ "Retry": "Retry", "Topic": "Topic", "WeCom Bot Key": "WeCom Bot Key", - "Setup Proxy": "Setup Proxy", + "Setup Proxy": "Set Up Proxy", "Proxy Protocol": "Proxy Protocol", "Proxy Server": "Proxy Server", "Proxy server has authentication": "Proxy server has authentication", @@ -690,7 +690,7 @@ "Notify Channel": "Notify Channel", "aboutNotifyChannel": "Notify channel will trigger a desktop or mobile notification for all members of the channel, whether their availability is set to active or away.", "Uptime Kuma URL": "Uptime Kuma URL", - "setup a new monitor group": "setup a new monitor group", + "setup a new monitor group": "set up a new monitor group", "openModalTo": "open modal to {0}", "Add a domain": "Add a domain", "Remove domain": "Remove domain '{0}'", @@ -876,7 +876,7 @@ "Remote Browser": "Remote Browser", "Add a Remote Browser": "Add a Remote Browser", "Remote Browser not found!": "Remote Browser not found!", - "remoteBrowsersDescription": "Remote Browsers are an alternative to running Chromium locally. Setup with a service like browserless.io or connect to your own", + "remoteBrowsersDescription": "Remote Browsers are an alternative to running Chromium locally. Set up with a service like browserless.io or connect to your own", "self-hosted container": "self-hosted container", "remoteBrowserToggle": "By default Chromium runs inside the Uptime Kuma container. You can use a remote browser by toggling this switch.", "useRemoteBrowser": "Use a Remote Browser", From dc3abc68f0c90681727c7ea574a35f8588174108 Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Tue, 30 Jan 2024 17:54:04 +0100 Subject: [PATCH 307/494] Fixed type anotation --- server/model/monitor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 30c631a7..0c322b92 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -324,7 +324,7 @@ class Monitor extends BeanModel { /** * Start monitor * @param {Server} io Socket server instance - * @returns {void} + * @returns {Promise} */ async start(io) { let previousBeat = null; From 56aa81e337043d4efa76c46dd7dc8320c9688398 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sat, 3 Feb 2024 06:16:14 +0800 Subject: [PATCH 308/494] UI: Improve maintenace actions design (#4407) --- src/pages/ManageMaintenance.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pages/ManageMaintenance.vue b/src/pages/ManageMaintenance.vue index 01dc8aad..8378736a 100644 --- a/src/pages/ManageMaintenance.vue +++ b/src/pages/ManageMaintenance.vue @@ -53,7 +53,7 @@ {{ $t("Edit") }} -

@@ -294,8 +294,15 @@ export default { gap: 8px; flex-direction: row-reverse; - .btn-group { - width: 310px; + @media (max-width: 550px) { + & { + width: 100%; + } + + .btn-group { + margin: 1em 1em 0 1em; + width: 100%; + } } } } From a16b42f98c5bbbdcd6fc057d791609948c2c4d0d Mon Sep 17 00:00:00 2001 From: Neel Bhanushali Date: Sun, 11 Feb 2024 21:33:58 +0530 Subject: [PATCH 310/494] poc done --- server/model/monitor.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index b2fed86f..140a9442 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -606,7 +606,9 @@ class Monitor extends BeanModel { if (result.toString() === this.expectedValue) { bean.msg += ", expected value is found"; bean.status = UP; + console.log('json-query successful') } else { + console.log('json-query unsuccessful') throw new Error(bean.msg + ", but value is not equal to expected value, value was: [" + result + "]"); } } @@ -898,7 +900,7 @@ class Monitor extends BeanModel { retries = 0; } catch (error) { - + console.log('came in catch') if (error?.name === "CanceledError") { bean.msg = `timeout by AbortSignal (${this.timeout}s)`; } else { @@ -913,6 +915,7 @@ class Monitor extends BeanModel { } else if ((this.maxretries > 0) && (retries < this.maxretries)) { retries++; bean.status = PENDING; + console.log('checking retries', retries, this.maxretries) } else { // Continue counting retries during DOWN retries++; @@ -971,6 +974,7 @@ class Monitor extends BeanModel { } else if (bean.status === MAINTENANCE) { log.warn("monitor", `Monitor #${this.id} '${this.name}': Under Maintenance | Type: ${this.type}`); } else { + beatInterval = this.retryInterval log.warn("monitor", `Monitor #${this.id} '${this.name}': Failing: ${bean.msg} | Interval: ${beatInterval} seconds | Type: ${this.type} | Down Count: ${bean.downCount} | Resend Interval: ${this.resendInterval}`); } From a5d0f7a7db9ddc4863731c86895b66664c0055a2 Mon Sep 17 00:00:00 2001 From: Neel Bhanushali Date: Sun, 11 Feb 2024 21:37:45 +0530 Subject: [PATCH 311/494] console added with double quotes and semicolons. console added with username so i can remove later --- server/model/monitor.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 140a9442..c2b40b9b 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -606,9 +606,9 @@ class Monitor extends BeanModel { if (result.toString() === this.expectedValue) { bean.msg += ", expected value is found"; bean.status = UP; - console.log('json-query successful') + console.log("neelbhanushali: json-query successful"); } else { - console.log('json-query unsuccessful') + console.log("neelbhanushali: json-query unsuccessful"); throw new Error(bean.msg + ", but value is not equal to expected value, value was: [" + result + "]"); } } @@ -900,7 +900,7 @@ class Monitor extends BeanModel { retries = 0; } catch (error) { - console.log('came in catch') + console.log("neelbhanushali: came in catch"); if (error?.name === "CanceledError") { bean.msg = `timeout by AbortSignal (${this.timeout}s)`; } else { @@ -915,7 +915,7 @@ class Monitor extends BeanModel { } else if ((this.maxretries > 0) && (retries < this.maxretries)) { retries++; bean.status = PENDING; - console.log('checking retries', retries, this.maxretries) + console.log("neelbhanushali: checking retries", retries, this.maxretries); } else { // Continue counting retries during DOWN retries++; @@ -974,7 +974,7 @@ class Monitor extends BeanModel { } else if (bean.status === MAINTENANCE) { log.warn("monitor", `Monitor #${this.id} '${this.name}': Under Maintenance | Type: ${this.type}`); } else { - beatInterval = this.retryInterval + beatInterval = this.retryInterval; log.warn("monitor", `Monitor #${this.id} '${this.name}': Failing: ${bean.msg} | Interval: ${beatInterval} seconds | Type: ${this.type} | Down Count: ${bean.downCount} | Resend Interval: ${this.resendInterval}`); } From 81e465f41896ab2369f554ba30d7f36ec672b5b2 Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Sun, 11 Feb 2024 20:02:09 +0100 Subject: [PATCH 312/494] Removed debug statement --- server/model/monitor.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index c2b40b9b..2543cf1b 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -606,9 +606,7 @@ class Monitor extends BeanModel { if (result.toString() === this.expectedValue) { bean.msg += ", expected value is found"; bean.status = UP; - console.log("neelbhanushali: json-query successful"); } else { - console.log("neelbhanushali: json-query unsuccessful"); throw new Error(bean.msg + ", but value is not equal to expected value, value was: [" + result + "]"); } } @@ -900,7 +898,6 @@ class Monitor extends BeanModel { retries = 0; } catch (error) { - console.log("neelbhanushali: came in catch"); if (error?.name === "CanceledError") { bean.msg = `timeout by AbortSignal (${this.timeout}s)`; } else { @@ -915,7 +912,6 @@ class Monitor extends BeanModel { } else if ((this.maxretries > 0) && (retries < this.maxretries)) { retries++; bean.status = PENDING; - console.log("neelbhanushali: checking retries", retries, this.maxretries); } else { // Continue counting retries during DOWN retries++; From 93ac212aef23f8bdb8a64968ecb6a6ca5f704407 Mon Sep 17 00:00:00 2001 From: Humberto Evans Date: Mon, 12 Feb 2024 15:58:54 -0800 Subject: [PATCH 313/494] Add Heii On-Call --- server/notification-providers/heii-oncall.js | 68 +++++++++++ server/notification.js | 40 ++++--- src/components/NotificationDialog.vue | 118 +++++++++++++++---- src/components/notifications/HeiiOnCall.vue | 35 ++++++ src/components/notifications/index.js | 108 ++++++++--------- src/lang/en.json | 3 +- 6 files changed, 283 insertions(+), 89 deletions(-) create mode 100644 server/notification-providers/heii-oncall.js create mode 100644 src/components/notifications/HeiiOnCall.vue diff --git a/server/notification-providers/heii-oncall.js b/server/notification-providers/heii-oncall.js new file mode 100644 index 00000000..7babd907 --- /dev/null +++ b/server/notification-providers/heii-oncall.js @@ -0,0 +1,68 @@ +const { UP, DOWN, getMonitorRelativeURL } = require("../../src/util"); +const { setting } = require("../util-server"); + +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +const heiiOnCallBaseUrl = "http://192.168.2.1:3005"; + +class HeiiOnCall extends NotificationProvider { + name = "HeiiOnCall"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + // Payload to Heii On-Call is the entire heartbat JSON + const payload = heartbeatJSON ? heartbeatJSON : {}; + + if (!heartbeatJSON) { + // Test button was clicked on Notification Setup, trigger the alert as a test + payload["message"] = "Testing UptimeKuma Trigger"; + return this.postNotification(notification, "alert", payload); + } + + // If we can add url back to mintor to payload + const baseURL = await setting("primaryBaseURL"); + if (baseURL && monitorJSON) { + payload["url"] = baseURL + getMonitorRelativeURL(monitorJSON.id); + } + + if (heartbeatJSON.status === DOWN) { + // Monitor is DOWN, alert on Heii On-Call + return this.postNotification(notification, "alert", payload); + } + + if (heartbeatJSON.status === UP) { + // Monitor is UP, resolve on Heii On-Call + return this.postNotification(notification, "resolve", payload); + } + } + + /** + * Post to Heii On-Call + * @param {BeanModel} notification Message title + * @param {string} action Trigger Action (alert, resovle) + * @param {object} payload Data for Heii On-Call + * @returns {Promise} Success message + */ + async postNotification(notification, action, payload) { + const config = { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + Authorization: "Bearer " + notification.heiiOnCallApiKey, + }, + }; + + // Post to Heii On-Call Trigger https://heiioncall.com/docs#manual-triggers + await axios.post( + `${heiiOnCallBaseUrl}/triggers/${notification.heiiOnCallTriggerId}/${action}`, + payload, + config + ); + return "Sent Successfully."; + } +} + +module.exports = HeiiOnCall; diff --git a/server/notification.js b/server/notification.js index 5e76d6eb..722cf90c 100644 --- a/server/notification.js +++ b/server/notification.js @@ -16,6 +16,7 @@ const Gorush = require("./notification-providers/gorush"); const Gotify = require("./notification-providers/gotify"); const GrafanaOncall = require("./notification-providers/grafana-oncall"); const HomeAssistant = require("./notification-providers/home-assistant"); +const HeiiOnCall = require("./notification-providers/heii-oncall"); const Kook = require("./notification-providers/kook"); const Line = require("./notification-providers/line"); const LineNotify = require("./notification-providers/linenotify"); @@ -56,7 +57,6 @@ const ServerChan = require("./notification-providers/serverchan"); const ZohoCliq = require("./notification-providers/zoho-cliq"); class Notification { - providerList = {}; /** @@ -87,6 +87,7 @@ class Notification { new Gotify(), new GrafanaOncall(), new HomeAssistant(), + new HeiiOnCall(), new Kook(), new Line(), new LineNotify(), @@ -124,10 +125,10 @@ class Notification { new Webhook(), new WeCom(), new GoAlert(), - new ZohoCliq() + new ZohoCliq(), ]; for (let item of list) { - if (! item.name) { + if (!item.name) { throw new Error("Notification provider without name"); } @@ -147,9 +148,19 @@ class Notification { * @returns {Promise} Successful msg * @throws Error with fail msg */ - static async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + static async send( + notification, + msg, + monitorJSON = null, + heartbeatJSON = null + ) { if (this.providerList[notification.type]) { - return this.providerList[notification.type].send(notification, msg, monitorJSON, heartbeatJSON); + return this.providerList[notification.type].send( + notification, + msg, + monitorJSON, + heartbeatJSON + ); } else { throw new Error("Notification type is not supported"); } @@ -171,10 +182,9 @@ class Notification { userID, ]); - if (! bean) { + if (!bean) { throw new Error("notification not found"); } - } else { bean = R.dispense("notification"); } @@ -204,7 +214,7 @@ class Notification { userID, ]); - if (! bean) { + if (!bean) { throw new Error("notification not found"); } @@ -220,7 +230,6 @@ class Notification { let exists = commandExistsSync("apprise"); return exists; } - } /** @@ -231,16 +240,17 @@ class Notification { */ async function applyNotificationEveryMonitor(notificationID, userID) { let monitors = await R.getAll("SELECT id FROM monitor WHERE user_id = ?", [ - userID + userID, ]); for (let i = 0; i < monitors.length; i++) { - let checkNotification = await R.findOne("monitor_notification", " monitor_id = ? AND notification_id = ? ", [ - monitors[i].id, - notificationID, - ]); + let checkNotification = await R.findOne( + "monitor_notification", + " monitor_id = ? AND notification_id = ? ", + [monitors[i].id, notificationID] + ); - if (! checkNotification) { + if (!checkNotification) { let relation = R.dispense("monitor_notification"); relation.monitor_id = monitors[i].id; relation.notification_id = notificationID; diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 57a2fdf2..4a16fdf3 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -1,62 +1,132 @@ @@ -121,6 +197,7 @@ export default { "gotify": "Gotify", "GrafanaOncall": "Grafana Oncall", "HomeAssistant": "Home Assistant", + "HeiiOnCall": "Heii On-Call", "Kook": "Kook", "line": "LINE Messenger", "LineNotify": "LINE Notify", @@ -330,7 +407,8 @@ export default { @import "../assets/vars.scss"; .dark { - .modal-dialog .form-text, .modal-dialog p { + .modal-dialog .form-text, + .modal-dialog p { color: $dark-font-color; } } diff --git a/src/components/notifications/HeiiOnCall.vue b/src/components/notifications/HeiiOnCall.vue new file mode 100644 index 00000000..f773dbae --- /dev/null +++ b/src/components/notifications/HeiiOnCall.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 0606d41a..c71736a7 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -14,6 +14,7 @@ import Gorush from "./Gorush.vue"; import Gotify from "./Gotify.vue"; import GrafanaOncall from "./GrafanaOncall.vue"; import HomeAssistant from "./HomeAssistant.vue"; +import HeiiOnCall from "./HeiiOnCall.vue"; import Kook from "./Kook.vue"; import Line from "./Line.vue"; import LineNotify from "./LineNotify.vue"; @@ -58,60 +59,61 @@ import Splunk from "./Splunk.vue"; * @type { Record } */ const NotificationFormList = { - "alerta": Alerta, - "AlertNow": AlertNow, - "AliyunSMS": AliyunSMS, - "apprise": Apprise, - "Bark": Bark, - "clicksendsms": ClickSendSMS, - "smsc": SMSC, - "DingDing": DingDing, - "discord": Discord, - "Feishu": Feishu, - "FreeMobile": FreeMobile, - "GoogleChat": GoogleChat, - "gorush": Gorush, - "gotify": Gotify, - "GrafanaOncall": GrafanaOncall, - "HomeAssistant": HomeAssistant, - "Kook": Kook, - "line": Line, - "LineNotify": LineNotify, - "lunasea": LunaSea, - "matrix": Matrix, - "mattermost": Mattermost, - "nostr": Nostr, - "ntfy": Ntfy, - "octopush": Octopush, - "OneBot": OneBot, - "Opsgenie": Opsgenie, - "PagerDuty": PagerDuty, - "FlashDuty": FlashDuty, - "PagerTree": PagerTree, - "promosms": PromoSMS, - "pushbullet": Pushbullet, - "PushByTechulus": TechulusPush, - "PushDeer": PushDeer, - "pushover": Pushover, - "pushy": Pushy, + alerta: Alerta, + AlertNow: AlertNow, + AliyunSMS: AliyunSMS, + apprise: Apprise, + Bark: Bark, + clicksendsms: ClickSendSMS, + smsc: SMSC, + DingDing: DingDing, + discord: Discord, + Feishu: Feishu, + FreeMobile: FreeMobile, + GoogleChat: GoogleChat, + gorush: Gorush, + gotify: Gotify, + GrafanaOncall: GrafanaOncall, + HomeAssistant: HomeAssistant, + HeiiOnCall: HeiiOnCall, + Kook: Kook, + line: Line, + LineNotify: LineNotify, + lunasea: LunaSea, + matrix: Matrix, + mattermost: Mattermost, + nostr: Nostr, + ntfy: Ntfy, + octopush: Octopush, + OneBot: OneBot, + Opsgenie: Opsgenie, + PagerDuty: PagerDuty, + FlashDuty: FlashDuty, + PagerTree: PagerTree, + promosms: PromoSMS, + pushbullet: Pushbullet, + PushByTechulus: TechulusPush, + PushDeer: PushDeer, + pushover: Pushover, + pushy: Pushy, "rocket.chat": RocketChat, - "serwersms": SerwerSMS, - "signal": Signal, - "SMSManager": SMSManager, - "slack": Slack, - "squadcast": Squadcast, - "SMSEagle": SMSEagle, - "smtp": STMP, - "stackfield": Stackfield, - "teams": Teams, - "telegram": Telegram, - "twilio": Twilio, - "Splunk": Splunk, - "webhook": Webhook, - "WeCom": WeCom, - "GoAlert": GoAlert, - "ServerChan": ServerChan, - "ZohoCliq": ZohoCliq + serwersms: SerwerSMS, + signal: Signal, + SMSManager: SMSManager, + slack: Slack, + squadcast: Squadcast, + SMSEagle: SMSEagle, + smtp: STMP, + stackfield: Stackfield, + teams: Teams, + telegram: Telegram, + twilio: Twilio, + Splunk: Splunk, + webhook: Webhook, + WeCom: WeCom, + GoAlert: GoAlert, + ServerChan: ServerChan, + ZohoCliq: ZohoCliq, }; export default NotificationFormList; diff --git a/src/lang/en.json b/src/lang/en.json index 0f59e62a..c81403d0 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -883,5 +883,6 @@ "deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?", "GrafanaOncallUrl": "Grafana Oncall URL", "Browser Screenshot": "Browser Screenshot", - "What is a Remote Browser?": "What is a Remote Browser?" + "What is a Remote Browser?": "What is a Remote Browser?", + "Trigger ID": "Trigger ID" } From e8fada938675d5b7655291492d0d22382365737b Mon Sep 17 00:00:00 2001 From: Humberto Evans Date: Mon, 12 Feb 2024 16:14:41 -0800 Subject: [PATCH 314/494] set url to heii on call prod --- server/notification-providers/heii-oncall.js | 23 ++++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/server/notification-providers/heii-oncall.js b/server/notification-providers/heii-oncall.js index 7babd907..6332fee8 100644 --- a/server/notification-providers/heii-oncall.js +++ b/server/notification-providers/heii-oncall.js @@ -4,7 +4,7 @@ const { setting } = require("../util-server"); const NotificationProvider = require("./notification-provider"); const axios = require("axios"); -const heiiOnCallBaseUrl = "http://192.168.2.1:3005"; +const heiiOnCallBaseUrl = "https://heiioncall.com"; class HeiiOnCall extends NotificationProvider { name = "HeiiOnCall"; @@ -22,7 +22,7 @@ class HeiiOnCall extends NotificationProvider { return this.postNotification(notification, "alert", payload); } - // If we can add url back to mintor to payload + // If we can, add url back to mintor to payload const baseURL = await setting("primaryBaseURL"); if (baseURL && monitorJSON) { payload["url"] = baseURL + getMonitorRelativeURL(monitorJSON.id); @@ -42,7 +42,7 @@ class HeiiOnCall extends NotificationProvider { /** * Post to Heii On-Call * @param {BeanModel} notification Message title - * @param {string} action Trigger Action (alert, resovle) + * @param {string} action Trigger action (alert, resovle) * @param {object} payload Data for Heii On-Call * @returns {Promise} Success message */ @@ -56,12 +56,17 @@ class HeiiOnCall extends NotificationProvider { }; // Post to Heii On-Call Trigger https://heiioncall.com/docs#manual-triggers - await axios.post( - `${heiiOnCallBaseUrl}/triggers/${notification.heiiOnCallTriggerId}/${action}`, - payload, - config - ); - return "Sent Successfully."; + try { + await axios.post( + `${heiiOnCallBaseUrl}/triggers/${notification.heiiOnCallTriggerId}/${action}`, + payload, + config + ); + } catch (error) { + this.throwGeneralAxiosError(error); + } + + return "Heii On-Call post sent successfully."; } } From 80bdc455da6cd255ee95d5714ae803dab3bec8a2 Mon Sep 17 00:00:00 2001 From: Humberto Evans Date: Mon, 12 Feb 2024 16:31:58 -0800 Subject: [PATCH 315/494] lint --- server/notification.js | 2 +- src/components/notifications/HeiiOnCall.vue | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/server/notification.js b/server/notification.js index 722cf90c..71310b00 100644 --- a/server/notification.js +++ b/server/notification.js @@ -247,7 +247,7 @@ async function applyNotificationEveryMonitor(notificationID, userID) { let checkNotification = await R.findOne( "monitor_notification", " monitor_id = ? AND notification_id = ? ", - [monitors[i].id, notificationID] + [ monitors[i].id, notificationID ] ); if (!checkNotification) { diff --git a/src/components/notifications/HeiiOnCall.vue b/src/components/notifications/HeiiOnCall.vue index f773dbae..64c0a9e0 100644 --- a/src/components/notifications/HeiiOnCall.vue +++ b/src/components/notifications/HeiiOnCall.vue @@ -1,9 +1,7 @@ diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 6cb0c9fd..f9e6eb8f 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -13,6 +13,7 @@ import GoogleChat from "./GoogleChat.vue"; import Gorush from "./Gorush.vue"; import Gotify from "./Gotify.vue"; import GrafanaOncall from "./GrafanaOncall.vue"; +import GtxMessaging from "./GtxMessaging.vue"; import HomeAssistant from "./HomeAssistant.vue"; import HeiiOnCall from "./HeiiOnCall.vue"; import Kook from "./Kook.vue"; @@ -113,7 +114,8 @@ const NotificationFormList = { "WeCom": WeCom, "GoAlert": GoAlert, "ServerChan": ServerChan, - "ZohoCliq": ZohoCliq + "ZohoCliq": ZohoCliq, + "gtxmessaging": GtxMessaging, }; export default NotificationFormList; diff --git a/src/lang/en.json b/src/lang/en.json index 11190a08..b406f67c 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -887,5 +887,10 @@ "Browser Screenshot": "Browser Screenshot", "What is a Remote Browser?": "What is a Remote Browser?", "wayToGetHeiiOnCallDetails": "How to get the Trigger ID and API Keys is explained in the {documentation}", - "documentationOf": "{0} Documentation" + "documentationOf": "{0} Documentation", + "gtxMessagingApiKeyHint": "You can find your API key at: My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)", + "From Phone Number / Transmission Path Originating Address (TPOA)": "From Phone Number / Transmission Path Originating Address (TPOA)", + "gtxMessagingFromHint": "On mobile phones, your recipients sees the TPOA displayed as the sender of the message. Allowed are up to 11 alphanumeric characters, a shortcode, the local longcode or international numbers ({e164}, {e212} or {e214})", + "To Phone Number": "To Phone Number", + "gtxMessagingToHint": "International format, with leading \"+\" ({e164}, {e212} or {e214})" } From b8858f46058b8951aee9d9c0aa25f42d3657f5e0 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:19:25 +0800 Subject: [PATCH 364/494] Feat: Handle maintenance in `UptimeCalculator` (#4406) Co-authored-by: Frank Elsinga --- .../2024-01-22-0000-stats-extras.js | 26 ++++++ server/uptime-calculator.js | 86 +++++++++++++++---- 2 files changed, 94 insertions(+), 18 deletions(-) create mode 100644 db/knex_migrations/2024-01-22-0000-stats-extras.js diff --git a/db/knex_migrations/2024-01-22-0000-stats-extras.js b/db/knex_migrations/2024-01-22-0000-stats-extras.js new file mode 100644 index 00000000..b92e8892 --- /dev/null +++ b/db/knex_migrations/2024-01-22-0000-stats-extras.js @@ -0,0 +1,26 @@ +exports.up = function (knex) { + return knex.schema + .alterTable("stat_daily", function (table) { + table.text("extras").defaultTo(null).comment("Extra statistics during this time period"); + }) + .alterTable("stat_minutely", function (table) { + table.text("extras").defaultTo(null).comment("Extra statistics during this time period"); + }) + .alterTable("stat_hourly", function (table) { + table.text("extras").defaultTo(null).comment("Extra statistics during this time period"); + }); + +}; + +exports.down = function (knex) { + return knex.schema + .alterTable("stat_daily", function (table) { + table.dropColumn("extras"); + }) + .alterTable("stat_minutely", function (table) { + table.dropColumn("extras"); + }) + .alterTable("stat_hourly", function (table) { + table.dropColumn("extras"); + }); +}; diff --git a/server/uptime-calculator.js b/server/uptime-calculator.js index 9632e6ea..7b532674 100644 --- a/server/uptime-calculator.js +++ b/server/uptime-calculator.js @@ -116,14 +116,23 @@ class UptimeCalculator { ]); for (let bean of minutelyStatBeans) { - let key = bean.timestamp; - this.minutelyUptimeDataList.push(key, { + let data = { up: bean.up, down: bean.down, avgPing: bean.ping, minPing: bean.pingMin, maxPing: bean.pingMax, - }); + }; + + if (bean.extras != null) { + data = { + ...data, + ...JSON.parse(bean.extras), + }; + } + + let key = bean.timestamp; + this.minutelyUptimeDataList.push(key, data); } // Load hourly data from database (recent 30 days only) @@ -133,14 +142,22 @@ class UptimeCalculator { ]); for (let bean of hourlyStatBeans) { - let key = bean.timestamp; - this.hourlyUptimeDataList.push(key, { + let data = { up: bean.up, down: bean.down, avgPing: bean.ping, minPing: bean.pingMin, maxPing: bean.pingMax, - }); + }; + + if (bean.extras != null) { + data = { + ...data, + ...JSON.parse(bean.extras), + }; + } + + this.hourlyUptimeDataList.push(bean.timestamp, data); } // Load daily data from database (recent 365 days only) @@ -150,14 +167,22 @@ class UptimeCalculator { ]); for (let bean of dailyStatBeans) { - let key = bean.timestamp; - this.dailyUptimeDataList.push(key, { + let data = { up: bean.up, down: bean.down, avgPing: bean.ping, minPing: bean.pingMin, maxPing: bean.pingMax, - }); + }; + + if (bean.extras != null) { + data = { + ...data, + ...JSON.parse(bean.extras), + }; + } + + this.dailyUptimeDataList.push(bean.timestamp, data); } } @@ -170,11 +195,6 @@ class UptimeCalculator { async update(status, ping = 0) { let date = this.getCurrentDate(); - // Don't count MAINTENANCE into uptime - if (status === MAINTENANCE) { - return date; - } - let flatStatus = this.flatStatus(status); if (flatStatus === DOWN && ping > 0) { @@ -189,7 +209,12 @@ class UptimeCalculator { let hourlyData = this.hourlyUptimeDataList[hourlyKey]; let dailyData = this.dailyUptimeDataList[dailyKey]; - if (flatStatus === UP) { + if (status === MAINTENANCE) { + minutelyData.maintenance = minutelyData.maintenance ? minutelyData.maintenance + 1 : 1; + hourlyData.maintenance = hourlyData.maintenance ? hourlyData.maintenance + 1 : 1; + dailyData.maintenance = dailyData.maintenance ? dailyData.maintenance + 1 : 1; + + } else if (flatStatus === UP) { minutelyData.up += 1; hourlyData.up += 1; dailyData.up += 1; @@ -233,7 +258,7 @@ class UptimeCalculator { } } - } else { + } else if (flatStatus === DOWN) { minutelyData.down += 1; hourlyData.down += 1; dailyData.down += 1; @@ -263,6 +288,13 @@ class UptimeCalculator { dailyStatBean.ping = dailyData.avgPing; dailyStatBean.pingMin = dailyData.minPing; dailyStatBean.pingMax = dailyData.maxPing; + { + // eslint-disable-next-line no-unused-vars + const { up, down, avgPing, minPing, maxPing, ...extras } = dailyData; + if (Object.keys(extras).length > 0) { + dailyStatBean.extras = JSON.stringify(extras); + } + } await R.store(dailyStatBean); let hourlyStatBean = await this.getHourlyStatBean(hourlyKey); @@ -271,6 +303,13 @@ class UptimeCalculator { hourlyStatBean.ping = hourlyData.avgPing; hourlyStatBean.pingMin = hourlyData.minPing; hourlyStatBean.pingMax = hourlyData.maxPing; + { + // eslint-disable-next-line no-unused-vars + const { up, down, avgPing, minPing, maxPing, ...extras } = hourlyData; + if (Object.keys(extras).length > 0) { + hourlyStatBean.extras = JSON.stringify(extras); + } + } await R.store(hourlyStatBean); let minutelyStatBean = await this.getMinutelyStatBean(divisionKey); @@ -279,6 +318,13 @@ class UptimeCalculator { minutelyStatBean.ping = minutelyData.avgPing; minutelyStatBean.pingMin = minutelyData.minPing; minutelyStatBean.pingMax = minutelyData.maxPing; + { + // eslint-disable-next-line no-unused-vars + const { up, down, avgPing, minPing, maxPing, ...extras } = minutelyData; + if (Object.keys(extras).length > 0) { + minutelyStatBean.extras = JSON.stringify(extras); + } + } await R.store(minutelyStatBean); // Remove the old data @@ -474,7 +520,7 @@ class UptimeCalculator { flatStatus(status) { switch (status) { case UP: - // case MAINTENANCE: + case MAINTENANCE: return UP; case DOWN: case PENDING: @@ -606,7 +652,11 @@ class UptimeCalculator { avgPing = totalPing / total.up; } - uptimeData.uptime = total.up / (total.up + total.down); + if (total.up + total.down === 0) { + uptimeData.uptime = 0; + } else { + uptimeData.uptime = total.up / (total.up + total.down); + } uptimeData.avgPing = avgPing; return uptimeData; } From 88187b66ebdd0d301d2c2eec25e79839741b7205 Mon Sep 17 00:00:00 2001 From: Chongyi Zheng Date: Wed, 27 Mar 2024 19:30:33 -0400 Subject: [PATCH 365/494] Drop Node.js 14 and 16 (#3747) Co-authored-by: Frank Elsinga Co-authored-by: Adam Stachowicz --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/workflows/auto-test.yml | 14 +++++--------- .github/workflows/close-incorrect-issue.yml | 2 +- CONTRIBUTING.md | 4 ++-- README.md | 5 +---- package.json | 2 +- 6 files changed, 11 insertions(+), 18 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 50b919d3..9745a76a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -79,7 +79,7 @@ body: label: "🖥️ Deployment Environment" description: | examples: - - **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / .. + - **Runtime**: Docker 20.10.9 / nodejs 18.17.1 / K8S via ... v1.3.3 / .. - **Database**: sqlite/embedded mariadb/external mariadb - **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC - **number of monitors**: 42 diff --git a/.github/workflows/auto-test.yml b/.github/workflows/auto-test.yml index d0629f7b..c791bc88 100644 --- a/.github/workflows/auto-test.yml +++ b/.github/workflows/auto-test.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest, ARM64] - node: [ 16, 20.5 ] + node: [ 18, 20.5 ] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: @@ -33,13 +33,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - - - name: Install - run: npm install - - name: Build - run: npm run build - - name: Test Backend - run: npm run test-backend + - run: npm install + - run: npm run build + - run: npm run test-backend env: HEADLESS_TEST: 1 JUST_FOR_TEST: ${{ secrets.JUST_FOR_TEST }} @@ -53,7 +49,7 @@ jobs: strategy: matrix: os: [ ARMv7 ] - node: [ 14, 20 ] + node: [ 18, 20 ] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: diff --git a/.github/workflows/close-incorrect-issue.yml b/.github/workflows/close-incorrect-issue.yml index e26cf5e5..3ef5ba37 100644 --- a/.github/workflows/close-incorrect-issue.yml +++ b/.github/workflows/close-incorrect-issue.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node-version: [16] + node-version: [18] steps: - uses: actions/checkout@v4 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2eedd548..d9c0952c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -230,8 +230,8 @@ The goal is to make the Uptime Kuma installation as easy as installing a mobile ## Tools -- [`Node.js`](https://nodejs.org/) >= 14 -- [`npm`](https://www.npmjs.com/) >= 8.5 +- [`Node.js`](https://nodejs.org/) >= 18 +- [`npm`](https://www.npmjs.com/) >= 9.3 - [`git`](https://git-scm.com/) - IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using [`IntelliJ IDEA`](https://www.jetbrains.com/idea/)) - A SQLite GUI tool (f.ex. [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or [`DBeaver Community`](https://dbeaver.io/download/)) diff --git a/README.md b/README.md index ebeca525..0459692a 100644 --- a/README.md +++ b/README.md @@ -56,15 +56,12 @@ Requirements: - ✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc. - ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher - ❌ Replit / Heroku -- [Node.js](https://nodejs.org/en/download/) 14 / 16 / 18 / 20.4 +- [Node.js](https://nodejs.org/en/download/) 18 / 20.4 - [npm](https://docs.npmjs.com/cli/) 9 - [Git](https://git-scm.com/downloads) - [pm2](https://pm2.keymetrics.io/) - For running Uptime Kuma in the background ```bash -# Update your npm -npm install npm@9 -g - git clone https://github.com/louislam/uptime-kuma.git cd uptime-kuma npm run setup diff --git a/package.json b/package.json index e8adc491..567efa1b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "https://github.com/louislam/uptime-kuma.git" }, "engines": { - "node": "14 || 16 || 18 || >= 20.4.0" + "node": "18 || >= 20.4.0" }, "scripts": { "lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .", From 0923d053175463061af9f987500e0425286bd128 Mon Sep 17 00:00:00 2001 From: Simon Nilsson Date: Fri, 29 Mar 2024 16:27:54 +0100 Subject: [PATCH 366/494] Cellsynt mobile services (#4625) Co-authored-by: Frank Elsinga --- server/notification-providers/cellsynt.js | 39 ++++++++++++++++ server/notification.js | 2 + src/components/NotificationDialog.vue | 3 +- src/components/notifications/Cellsynt.vue | 54 +++++++++++++++++++++++ src/components/notifications/index.js | 2 + src/lang/en.json | 15 ++++++- 6 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 server/notification-providers/cellsynt.js create mode 100644 src/components/notifications/Cellsynt.vue diff --git a/server/notification-providers/cellsynt.js b/server/notification-providers/cellsynt.js new file mode 100644 index 00000000..e842237b --- /dev/null +++ b/server/notification-providers/cellsynt.js @@ -0,0 +1,39 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +class Cellsynt extends NotificationProvider { + name = "Cellsynt"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + const data = { + // docs at https://www.cellsynt.com/en/sms/api-integration + params: { + "username": notification.cellsyntLogin, + "password": notification.cellsyntPassword, + "destination": notification.cellsyntDestination, + "text": msg.replace(/[^\x00-\x7F]/g, ""), + "originatortype": notification.cellsyntOriginatortype, + "originator": notification.cellsyntOriginator, + "allowconcat": notification.cellsyntAllowLongSMS ? 6 : 1 + } + }; + try { + const resp = await axios.post("https://se-1.cellsynt.net/sms.php", null, data); + if (resp.data == null ) { + throw new Error("Could not connect to Cellsynt, please try again."); + } else if (resp.data.includes("Error:")) { + resp.data = resp.data.replaceAll("Error:", ""); + throw new Error(resp.data); + } + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } +} + +module.exports = Cellsynt; diff --git a/server/notification.js b/server/notification.js index 29867019..1d847104 100644 --- a/server/notification.js +++ b/server/notification.js @@ -56,6 +56,7 @@ const SMSManager = require("./notification-providers/smsmanager"); const ServerChan = require("./notification-providers/serverchan"); const ZohoCliq = require("./notification-providers/zoho-cliq"); const GtxMessaging = require("./notification-providers/gtx-messaging"); +const Cellsynt = require("./notification-providers/cellsynt"); class Notification { @@ -129,6 +130,7 @@ class Notification { new GoAlert(), new ZohoCliq(), new GtxMessaging(), + new Cellsynt(), ]; for (let item of list) { if (! item.name) { diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 12209f33..3e756945 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -153,7 +153,8 @@ export default { "webhook": "Webhook", "GoAlert": "GoAlert", "ZohoCliq": "ZohoCliq", - "gtxmessaging": "GtxMessaging" + "gtxmessaging": "GtxMessaging", + "Cellsynt": "Cellsynt" }; // Put notifications here if it's not supported in most regions or its documentation is not in English diff --git a/src/components/notifications/Cellsynt.vue b/src/components/notifications/Cellsynt.vue new file mode 100644 index 00000000..2e8a6de7 --- /dev/null +++ b/src/components/notifications/Cellsynt.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index f9e6eb8f..b422c493 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -54,6 +54,7 @@ import WeCom from "./WeCom.vue"; import GoAlert from "./GoAlert.vue"; import ZohoCliq from "./ZohoCliq.vue"; import Splunk from "./Splunk.vue"; +import Cellsynt from "./Cellsynt.vue"; /** * Manage all notification form. @@ -116,6 +117,7 @@ const NotificationFormList = { "ServerChan": ServerChan, "ZohoCliq": ZohoCliq, "gtxmessaging": GtxMessaging, + "Cellsynt": Cellsynt, }; export default NotificationFormList; diff --git a/src/lang/en.json b/src/lang/en.json index b406f67c..9a44b2cd 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -892,5 +892,18 @@ "From Phone Number / Transmission Path Originating Address (TPOA)": "From Phone Number / Transmission Path Originating Address (TPOA)", "gtxMessagingFromHint": "On mobile phones, your recipients sees the TPOA displayed as the sender of the message. Allowed are up to 11 alphanumeric characters, a shortcode, the local longcode or international numbers ({e164}, {e212} or {e214})", "To Phone Number": "To Phone Number", - "gtxMessagingToHint": "International format, with leading \"+\" ({e164}, {e212} or {e214})" + "gtxMessagingToHint": "International format, with leading \"+\" ({e164}, {e212} or {e214})", + "Originator type": "Originator type", + "Alphanumeric (recommended)": "Alphanumeric (recommended)", + "Telephone number": "Telephone number", + "cellsyntOriginatortypeAlphanumeric": "Alphanumeric string (max 11 alphanumeric characters). Recipients can not reply to the message.", + "cellsyntOriginatortypeNumeric": "Numeric value (max 15 digits) with telephone number on international format without leading 00 (example UK number 07920 110 000 should be set as 447920110000). Recipients can reply to the message.", + "Originator": "Originator", + "cellsyntOriginator": "Visible on recipient's mobile phone as originator of the message. Allowed values and function depends on parameter originatortype.", + "Destination": "Destination", + "cellsyntDestination": "Recipient's telephone number using international format with leading 00 followed by country code, e.g. 00447920110000 for the UK number 07920 110 000 (max 17 digits in total). Max 25000 comma separated recipients per HTTP request.", + "Allow Long SMS": "Allow Long SMS", + "cellsyntSplitLongMessages": "Split long messages into up to 6 parts. 153 x 6 = 918 characters.", + "max 15 digits": "max 15 digits", + "max 11 alphanumeric characters": "max 11 alphanumeric characters" } From 08f75b0b99a96a919158ce818d6f59ed61ff0dd2 Mon Sep 17 00:00:00 2001 From: Nelson Chan <3271800+chakflying@users.noreply.github.com> Date: Sun, 31 Mar 2024 12:04:22 +0800 Subject: [PATCH 367/494] Fix: Add missing FK for monitor-tls-info table (#4632) --- db/knex_init_db.js | 5 ++++- .../patch-monitor-tls-info-add-fk.sql | 18 ++++++++++++++++++ server/database.js | 3 ++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 db/old_migrations/patch-monitor-tls-info-add-fk.sql diff --git a/db/knex_init_db.js b/db/knex_init_db.js index 7ce1bb48..46bff4bf 100644 --- a/db/knex_init_db.js +++ b/db/knex_init_db.js @@ -318,7 +318,10 @@ async function createTables() { // monitor_tls_info await knex.schema.createTable("monitor_tls_info", (table) => { table.increments("id"); - table.integer("monitor_id").unsigned().notNullable(); //TODO: no fk ? + table.integer("monitor_id").unsigned().notNullable() + .references("id").inTable("monitor") + .onDelete("CASCADE") + .onUpdate("CASCADE"); table.text("info_json"); }); diff --git a/db/old_migrations/patch-monitor-tls-info-add-fk.sql b/db/old_migrations/patch-monitor-tls-info-add-fk.sql new file mode 100644 index 00000000..9b9c2d2c --- /dev/null +++ b/db/old_migrations/patch-monitor-tls-info-add-fk.sql @@ -0,0 +1,18 @@ +BEGIN TRANSACTION; + +PRAGMA writable_schema = TRUE; + +UPDATE + SQLITE_MASTER +SET + sql = replace(sql, + 'monitor_id INTEGER NOT NULL', + 'monitor_id INTEGER NOT NULL REFERENCES [monitor] ([id]) ON DELETE CASCADE ON UPDATE CASCADE' +) +WHERE + name = 'monitor_tls_info' + AND type = 'table'; + +PRAGMA writable_schema = RESET; + +COMMIT; diff --git a/server/database.js b/server/database.js index cfe14fe7..ed4b9e68 100644 --- a/server/database.js +++ b/server/database.js @@ -105,7 +105,8 @@ class Database { "patch-add-gamedig-given-port.sql": true, "patch-notification-config.sql": true, "patch-fix-kafka-producer-booleans.sql": true, - "patch-timeout.sql": true, // The last file so far converted to a knex migration file + "patch-timeout.sql": true, + "patch-monitor-tls-info-add-fk.sql": true, // The last file so far converted to a knex migration file }; /** From effd0197ac9899ff6574810189755d62e81c71d1 Mon Sep 17 00:00:00 2001 From: Daan Meijer Date: Tue, 2 Apr 2024 02:43:54 +0200 Subject: [PATCH 368/494] [Slack] restructure alert actions, add 'visit site' button (#3886) Co-authored-by: Frank Elsinga Co-authored-by: Nelson Chan <3271800+chakflying@users.noreply.github.com> --- server/notification-providers/slack.js | 134 +++++++++++++++++-------- 1 file changed, 92 insertions(+), 42 deletions(-) diff --git a/server/notification-providers/slack.js b/server/notification-providers/slack.js index 9347b07c..439f5e90 100644 --- a/server/notification-providers/slack.js +++ b/server/notification-providers/slack.js @@ -26,6 +26,93 @@ class Slack extends NotificationProvider { } } + /** + * Builds the actions available in the slack message + * @param {string} baseURL Uptime Kuma base URL + * @param {object} monitorJSON The monitor config + * @returns {Array} The relevant action objects + */ + static buildActions(baseURL, monitorJSON) { + const actions = []; + + if (baseURL) { + actions.push({ + "type": "button", + "text": { + "type": "plain_text", + "text": "Visit Uptime Kuma", + }, + "value": "Uptime-Kuma", + "url": baseURL + getMonitorRelativeURL(monitorJSON.id), + }); + + } + + if (monitorJSON.url) { + actions.push({ + "type": "button", + "text": { + "type": "plain_text", + "text": "Visit site", + }, + "value": "Site", + "url": monitorJSON.url, + }); + } + + return actions; + } + + /** + * Builds the different blocks the Slack message consists of. + * @param {string} baseURL Uptime Kuma base URL + * @param {object} monitorJSON The monitor object + * @param {object} heartbeatJSON The heartbeat object + * @param {string} title The message title + * @param {string} msg The message body + * @returns {Array} The rich content blocks for the Slack message + */ + static buildBlocks(baseURL, monitorJSON, heartbeatJSON, title, msg) { + + //create an array to dynamically add blocks + const blocks = []; + + // the header block + blocks.push({ + "type": "header", + "text": { + "type": "plain_text", + "text": title, + }, + }); + + // the body block, containing the details + blocks.push({ + "type": "section", + "fields": [ + { + "type": "mrkdwn", + "text": "*Message*\n" + msg, + }, + { + "type": "mrkdwn", + "text": `*Time (${heartbeatJSON["timezone"]})*\n${heartbeatJSON["localDateTime"]}`, + } + ], + }); + + const actions = this.buildActions(baseURL, monitorJSON); + if (actions.length > 0) { + //the actions block, containing buttons + blocks.push({ + "type": "actions", + "elements": actions, + }); + } + + return blocks; + } + /** * @inheritdoc */ @@ -48,35 +135,18 @@ class Slack extends NotificationProvider { return okMsg; } - const textMsg = "Uptime Kuma Alert"; + const baseURL = await setting("primaryBaseURL"); + + const title = "Uptime Kuma Alert"; let data = { - "text": `${textMsg}\n${msg}`, + "text": `${title}\n${msg}`, "channel": notification.slackchannel, "username": notification.slackusername, "icon_emoji": notification.slackiconemo, "attachments": [ { "color": (heartbeatJSON["status"] === UP) ? "#2eb886" : "#e01e5a", - "blocks": [ - { - "type": "header", - "text": { - "type": "plain_text", - "text": textMsg, - }, - }, - { - "type": "section", - "fields": [{ - "type": "mrkdwn", - "text": "*Message*\n" + msg, - }, - { - "type": "mrkdwn", - "text": `*Time (${heartbeatJSON["timezone"]})*\n${heartbeatJSON["localDateTime"]}`, - }], - } - ], + "blocks": Slack.buildBlocks(baseURL, monitorJSON, heartbeatJSON, title, msg), } ] }; @@ -85,26 +155,6 @@ class Slack extends NotificationProvider { await Slack.deprecateURL(notification.slackbutton); } - const baseURL = await setting("primaryBaseURL"); - - // Button - if (baseURL) { - data.attachments.forEach(element => { - element.blocks.push({ - "type": "actions", - "elements": [{ - "type": "button", - "text": { - "type": "plain_text", - "text": "Visit Uptime Kuma", - }, - "value": "Uptime-Kuma", - "url": baseURL + getMonitorRelativeURL(monitorJSON.id), - }], - }); - }); - } - await axios.post(notification.slackwebhookURL, data); return okMsg; } catch (error) { From 937c8a9a7baa387e430d93fc1affd7ed0ea23a3c Mon Sep 17 00:00:00 2001 From: Merlin <50715457+BothimTV@users.noreply.github.com> Date: Tue, 2 Apr 2024 21:39:45 +0200 Subject: [PATCH 369/494] New notification provider: CallMeBot API (#4605) Co-authored-by: Frank Elsinga --- server/notification-providers/call-me-bot.js | 23 ++++++++++++++++++++ server/notification.js | 2 ++ src/components/NotificationDialog.vue | 1 + src/components/notifications/CallMeBot.vue | 13 +++++++++++ src/components/notifications/index.js | 2 ++ src/lang/en.json | 1 + 6 files changed, 42 insertions(+) create mode 100644 server/notification-providers/call-me-bot.js create mode 100644 src/components/notifications/CallMeBot.vue diff --git a/server/notification-providers/call-me-bot.js b/server/notification-providers/call-me-bot.js new file mode 100644 index 00000000..daa9ccde --- /dev/null +++ b/server/notification-providers/call-me-bot.js @@ -0,0 +1,23 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +class CallMeBot extends NotificationProvider { + name = "CallMeBot"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + try { + const url = new URL(notification.callMeBotEndpoint); + url.searchParams.set("text", msg); + await axios.get(url.toString()); + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } +} + +module.exports = CallMeBot; diff --git a/server/notification.js b/server/notification.js index 1d847104..6f1c35d1 100644 --- a/server/notification.js +++ b/server/notification.js @@ -6,6 +6,7 @@ const AliyunSms = require("./notification-providers/aliyun-sms"); const Apprise = require("./notification-providers/apprise"); const Bark = require("./notification-providers/bark"); const ClickSendSMS = require("./notification-providers/clicksendsms"); +const CallMeBot = require("./notification-providers/call-me-bot"); const SMSC = require("./notification-providers/smsc"); const DingDing = require("./notification-providers/dingding"); const Discord = require("./notification-providers/discord"); @@ -80,6 +81,7 @@ class Notification { new Apprise(), new Bark(), new ClickSendSMS(), + new CallMeBot(), new SMSC(), new DingDing(), new Discord(), diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 3e756945..6538f4ea 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -115,6 +115,7 @@ export default { "apprise": this.$t("apprise"), "Bark": "Bark", "clicksendsms": "ClickSend SMS", + "CallMeBot": "CallMeBot (WhatsApp, Telegram Call, Facebook Messanger)", "discord": "Discord", "GoogleChat": "Google Chat (Google Workspace)", "gorush": "Gorush", diff --git a/src/components/notifications/CallMeBot.vue b/src/components/notifications/CallMeBot.vue new file mode 100644 index 00000000..74c69ea3 --- /dev/null +++ b/src/components/notifications/CallMeBot.vue @@ -0,0 +1,13 @@ + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index b422c493..821652e2 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -4,6 +4,7 @@ import AliyunSMS from "./AliyunSms.vue"; import Apprise from "./Apprise.vue"; import Bark from "./Bark.vue"; import ClickSendSMS from "./ClickSendSMS.vue"; +import CallMeBot from "./CallMeBot.vue"; import SMSC from "./SMSC.vue"; import DingDing from "./DingDing.vue"; import Discord from "./Discord.vue"; @@ -67,6 +68,7 @@ const NotificationFormList = { "apprise": Apprise, "Bark": Bark, "clicksendsms": ClickSendSMS, + "CallMeBot": CallMeBot, "smsc": SMSC, "DingDing": DingDing, "discord": Discord, diff --git a/src/lang/en.json b/src/lang/en.json index 9a44b2cd..8fb04ae6 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -888,6 +888,7 @@ "What is a Remote Browser?": "What is a Remote Browser?", "wayToGetHeiiOnCallDetails": "How to get the Trigger ID and API Keys is explained in the {documentation}", "documentationOf": "{0} Documentation", + "callMeBotGet": "Here you can generate an endpoint for {0}, {1} and {2}. Keep in mind that you might get rate limited. The ratelimits appear to be: {3}", "gtxMessagingApiKeyHint": "You can find your API key at: My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)", "From Phone Number / Transmission Path Originating Address (TPOA)": "From Phone Number / Transmission Path Originating Address (TPOA)", "gtxMessagingFromHint": "On mobile phones, your recipients sees the TPOA displayed as the sender of the message. Allowed are up to 11 alphanumeric characters, a shortcode, the local longcode or international numbers ({e164}, {e212} or {e214})", From 822ce5384b1c138ccea7a20112363358cdb67083 Mon Sep 17 00:00:00 2001 From: Edoardo Ridolfi <32812884+edo2313@users.noreply.github.com> Date: Wed, 3 Apr 2024 02:22:01 +0200 Subject: [PATCH 370/494] Add support for Whapi notification provider (#4323) Co-authored-by: Frank Elsinga --- server/notification-providers/whapi.js | 39 ++++++++++++++++++++++++++ server/notification.js | 2 ++ src/components/NotificationDialog.vue | 3 +- src/components/notifications/Whapi.vue | 33 ++++++++++++++++++++++ src/components/notifications/index.js | 2 ++ src/lang/en.json | 4 +++ 6 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 server/notification-providers/whapi.js create mode 100644 src/components/notifications/Whapi.vue diff --git a/server/notification-providers/whapi.js b/server/notification-providers/whapi.js new file mode 100644 index 00000000..70e0fbb4 --- /dev/null +++ b/server/notification-providers/whapi.js @@ -0,0 +1,39 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +class Whapi extends NotificationProvider { + name = "whapi"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + + try { + const config = { + headers: { + "Accept": "application/json", + "Content-Type": "application/json", + "Authorization": "Bearer " + notification.whapiAuthToken, + } + }; + + let data = { + "to": notification.whapiRecipient, + "body": msg, + }; + + let url = (notification.whapiApiUrl || "https://gate.whapi.cloud/").replace(/\/+$/, "") + "/messages/text"; + + await axios.post(url, data, config); + + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } + +} + +module.exports = Whapi; diff --git a/server/notification.js b/server/notification.js index 6f1c35d1..f5a95206 100644 --- a/server/notification.js +++ b/server/notification.js @@ -56,6 +56,7 @@ const GoAlert = require("./notification-providers/goalert"); const SMSManager = require("./notification-providers/smsmanager"); const ServerChan = require("./notification-providers/serverchan"); const ZohoCliq = require("./notification-providers/zoho-cliq"); +const Whapi = require("./notification-providers/whapi"); const GtxMessaging = require("./notification-providers/gtx-messaging"); const Cellsynt = require("./notification-providers/cellsynt"); @@ -131,6 +132,7 @@ class Notification { new WeCom(), new GoAlert(), new ZohoCliq(), + new Whapi(), new GtxMessaging(), new Cellsynt(), ]; diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 6538f4ea..f57e0628 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -154,8 +154,9 @@ export default { "webhook": "Webhook", "GoAlert": "GoAlert", "ZohoCliq": "ZohoCliq", + "whapi": "WhatsApp (Whapi)", "gtxmessaging": "GtxMessaging", - "Cellsynt": "Cellsynt" + "Cellsynt": "Cellsynt", }; // Put notifications here if it's not supported in most regions or its documentation is not in English diff --git a/src/components/notifications/Whapi.vue b/src/components/notifications/Whapi.vue new file mode 100644 index 00000000..4c92ad2c --- /dev/null +++ b/src/components/notifications/Whapi.vue @@ -0,0 +1,33 @@ + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 821652e2..45832238 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -55,6 +55,7 @@ import WeCom from "./WeCom.vue"; import GoAlert from "./GoAlert.vue"; import ZohoCliq from "./ZohoCliq.vue"; import Splunk from "./Splunk.vue"; +import Whapi from "./Whapi.vue"; import Cellsynt from "./Cellsynt.vue"; /** @@ -118,6 +119,7 @@ const NotificationFormList = { "GoAlert": GoAlert, "ServerChan": ServerChan, "ZohoCliq": ZohoCliq, + "whapi": Whapi, "gtxmessaging": GtxMessaging, "Cellsynt": Cellsynt, }; diff --git a/src/lang/en.json b/src/lang/en.json index 8fb04ae6..21b0eec7 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -885,6 +885,10 @@ "deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?", "GrafanaOncallUrl": "Grafana Oncall URL", "Browser Screenshot": "Browser Screenshot", + "wayToWriteWhapiRecipient": "The phone number with the international prefix, but without the plus sign at the start ({0}), the Contact ID ({1}) or the Group ID ({2}).", + "wayToGetWhapiUrlAndToken": "You can get the API URL and the token by going into your desired channel from {0}", + "whapiRecipient": "Phone Number / Contact ID / Group ID", + "API URL": "API URL", "What is a Remote Browser?": "What is a Remote Browser?", "wayToGetHeiiOnCallDetails": "How to get the Trigger ID and API Keys is explained in the {documentation}", "documentationOf": "{0} Documentation", From 05606c69e7feb7cf4c033e2eb7c6f43ca7d1c5d0 Mon Sep 17 00:00:00 2001 From: msrl2000 <86884058+msrl2000@users.noreply.github.com> Date: Wed, 10 Apr 2024 22:49:19 +0300 Subject: [PATCH 371/494] Update i18n.js (#4666) --- src/i18n.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n.js b/src/i18n.js index 3a636c35..d309e113 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -57,7 +57,7 @@ for (let lang in languageList) { }; } -const rtlLangs = [ "fa", "ar-SY", "ur" ]; +const rtlLangs = [ "he-IL", "fa", "ar-SY", "ur" ]; export const currentLocale = () => localStorage.locale || languageList[navigator.language] && navigator.language From b25ac55a2f0702bbbd8b7d7fba736e962ea10d97 Mon Sep 17 00:00:00 2001 From: CoolCu <166844316+CoolCu@users.noreply.github.com> Date: Tue, 16 Apr 2024 22:59:07 +0800 Subject: [PATCH 372/494] chore: fix some typos in comments (#4679) Signed-off-by: CoolCu --- server/model/monitor.js | 2 +- server/uptime-calculator.js | 6 +++--- src/mixins/socket.js | 2 +- src/pages/Details.vue | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 1667b83a..80cff6f9 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -1573,7 +1573,7 @@ class Monitor extends BeanModel { } /** - * Unlinks all children of the the group monitor + * Unlinks all children of the group monitor * @param {number} groupID ID of group to remove children of * @returns {Promise} */ diff --git a/server/uptime-calculator.js b/server/uptime-calculator.js index 7b532674..3735a79a 100644 --- a/server/uptime-calculator.js +++ b/server/uptime-calculator.js @@ -513,7 +513,7 @@ class UptimeCalculator { /** * Flat status to UP or DOWN - * @param {number} status the status which schould be turned into a flat status + * @param {number} status the status which should be turned into a flat status * @returns {UP|DOWN|PENDING} The flat status * @throws {Error} Invalid status */ @@ -594,7 +594,7 @@ class UptimeCalculator { totalPing += data.avgPing * data.up; } - // Set key to the pervious time period + // Set key to the previous time period switch (type) { case "day": key -= 86400; @@ -721,7 +721,7 @@ class UptimeCalculator { result.push(data); } - // Set key to the pervious time period + // Set key to the previous time period switch (type) { case "day": key -= 86400; diff --git a/src/mixins/socket.js b/src/mixins/socket.js index 0a8001a4..c3845d34 100644 --- a/src/mixins/socket.js +++ b/src/mixins/socket.js @@ -323,7 +323,7 @@ export default { }, /** - * Show success or error toast dependant on response status code + * Show success or error toast dependent on response status code * @param {object} res Response object * @returns {void} */ diff --git a/src/pages/Details.vue b/src/pages/Details.vue index 8582b82c..231870ef 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -550,7 +550,7 @@ export default { /** * Return the correct title for the ping stat * @param {boolean} average Is the statistic an average? - * @returns {string} Title formatted dependant on monitor type + * @returns {string} Title formatted dependent on monitor type */ pingTitle(average = false) { let translationPrefix = ""; From 29575343ca61461f0a07b334c688664d6e3ac47d Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 19 Apr 2024 02:37:12 -0700 Subject: [PATCH 373/494] Update CONTRIBUTING.md for how to set up a Docker builder (#4668) Co-authored-by: Frank Elsinga --- CONTRIBUTING.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d9c0952c..53f19921 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -490,3 +490,28 @@ We have a few procedures we follow. These are documented here:

+ +### Set up a Docker Builder + +- amd64, armv7 using local. +- arm64 using remote arm64 cpu, as the emulator is too slow and can no longer pass the `npm ci` command. + 1. Add the public key to the remote server. + 2. Add the remote context. The remote machine must be arm64 and installed Docker CE. + ``` + docker context create oracle-arm64-jp --docker "host=ssh://root@100.107.174.88" + ``` + 3. Create a new builder. + ``` + docker buildx create --name kuma-builder --platform linux/amd64,linux/arm/v7 + docker buildx use kuma-builder + docker buildx inspect --bootstrap + ``` + 4. Append the remote context to the builder. + ``` + docker buildx create --append --name kuma-builder --platform linux/arm64 oracle-arm64-jp + ``` + 5. Verify the builder and check if the builder is using `kuma-builder`. + ``` + docker buildx inspect kuma-builder + docker buildx ls + ``` From bab427f7154c117d423bdded8c7500056bc905a9 Mon Sep 17 00:00:00 2001 From: BigBoot Date: Sun, 21 Apr 2024 20:39:44 +0200 Subject: [PATCH 374/494] Add `loginRequired` SocketIO event (#4636) --- server/server.js | 1 + src/mixins/socket.js | 28 ++++++++++------------------ 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/server/server.js b/server/server.js index 753f88b8..d5e3f215 100644 --- a/server/server.js +++ b/server/server.js @@ -1535,6 +1535,7 @@ let needSetup = false; await afterLogin(socket, await R.findOne("user")); socket.emit("autoLogin"); } else { + socket.emit("loginRequired"); log.debug("auth", "need auth"); } diff --git a/src/mixins/socket.js b/src/mixins/socket.js index c3845d34..a7a66fca 100644 --- a/src/mixins/socket.js +++ b/src/mixins/socket.js @@ -129,6 +129,16 @@ export default { this.allowLoginDialog = false; }); + socket.on("loginRequired", () => { + let token = this.storage().token; + if (token && token !== "autoLogin") { + this.loginByToken(token); + } else { + this.$root.storage().removeItem("token"); + this.allowLoginDialog = true; + } + }); + socket.on("monitorList", (data) => { // Add Helper function Object.entries(data).forEach(([ monitorID, monitor ]) => { @@ -256,24 +266,6 @@ export default { this.clearData(); } - let token = this.storage().token; - - if (token) { - if (token !== "autoLogin") { - this.loginByToken(token); - } else { - // Timeout if it is not actually auto login - setTimeout(() => { - if (! this.loggedIn) { - this.allowLoginDialog = true; - this.$root.storage().removeItem("token"); - } - }, 5000); - } - } else { - this.allowLoginDialog = true; - } - this.socket.firstConnect = false; }); From 996db6281bd495a367f8dbf416e8fa84e57435d1 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 25 Apr 2024 15:46:18 +0800 Subject: [PATCH 375/494] Update dependencies and remove an empty file --- package-lock.json | 246 ++++++++++++++++----------------- test/cypress/unit/i18n.spec.js | 0 2 files changed, 123 insertions(+), 123 deletions(-) delete mode 100644 test/cypress/unit/i18n.spec.js diff --git a/package-lock.json b/package-lock.json index a6ef4f03..158a6cfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@louislam/sqlite3": "15.1.6", "@vvo/tzdb": "^6.125.0", "args-parser": "~1.3.0", - "axios": "~0.28.0", + "axios": "~0.28.1", "axios-ntlm": "1.3.0", "badge-maker": "~3.3.1", "bcryptjs": "~2.4.3", @@ -52,7 +52,7 @@ "mongodb": "~4.17.1", "mqtt": "~4.3.7", "mssql": "~8.1.4", - "mysql2": "~3.6.2", + "mysql2": "~3.9.6", "nanoid": "~3.3.4", "node-cloudflared-tunnel": "~1.0.9", "node-radius-client": "~1.0.0", @@ -75,14 +75,14 @@ "socket.io": "~4.6.1", "socket.io-client": "~4.6.1", "socks-proxy-agent": "6.1.1", - "tar": "~6.1.11", + "tar": "~6.2.1", "tcp-ping": "~0.1.1", "thirty-two": "~1.0.2", "tough-cookie": "~4.1.3", "ws": "^8.13.0" }, "devDependencies": { - "@actions/github": "~5.0.1", + "@actions/github": "~5.1.1", "@fortawesome/fontawesome-svg-core": "~1.2.36", "@fortawesome/free-regular-svg-icons": "~5.15.4", "@fortawesome/free-solid-svg-icons": "~5.15.4", @@ -106,7 +106,7 @@ "cross-env": "~7.0.3", "delay": "^5.0.0", "dns2": "~2.0.1", - "dompurify": "~2.4.3", + "dompurify": "~3.0.11", "eslint": "~8.14.0", "eslint-plugin-jsdoc": "~46.4.6", "eslint-plugin-vue": "~8.7.1", @@ -127,7 +127,7 @@ "test": "~3.3.0", "typescript": "~4.4.4", "v-pagination-3": "~0.1.7", - "vite": "~5.0.10", + "vite": "~5.2.8", "vite-plugin-compression": "^0.5.1", "vite-plugin-vue-devtools": "^7.0.15", "vue": "~3.4.2", @@ -146,7 +146,7 @@ "whatwg-url": "~12.0.1" }, "engines": { - "node": "14 || 16 || 18 || >= 20.4.0" + "node": "18 || >= 20.4.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -159,9 +159,9 @@ } }, "node_modules/@actions/github": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.3.tgz", - "integrity": "sha512-myjA/pdLQfhUGLtRZC/J4L1RXOG4o6aYdiEq+zr5wVVKljzbFld+xv10k1FX6IkIJtNxbAq44BdwSNpQ015P0A==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", "dev": true, "dependencies": { "@actions/http-client": "^2.0.1", @@ -1962,9 +1962,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", "cpu": [ "ppc64" ], @@ -1978,9 +1978,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], @@ -1994,9 +1994,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], @@ -2010,9 +2010,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], @@ -2026,9 +2026,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], @@ -2042,9 +2042,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], @@ -2058,9 +2058,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], @@ -2074,9 +2074,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], @@ -2090,9 +2090,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], @@ -2106,9 +2106,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], @@ -2122,9 +2122,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], @@ -2138,9 +2138,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], @@ -2154,9 +2154,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], @@ -2170,9 +2170,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], @@ -2186,9 +2186,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], @@ -2202,9 +2202,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], @@ -2218,9 +2218,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], @@ -2234,9 +2234,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], @@ -2250,9 +2250,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], @@ -2266,9 +2266,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], @@ -2282,9 +2282,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], @@ -2298,9 +2298,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], @@ -2314,9 +2314,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], @@ -5078,9 +5078,9 @@ "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==" }, "node_modules/axios": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.0.tgz", - "integrity": "sha512-Tu7NYoGY4Yoc7I+Npf9HhUMtEEpV7ZiLH9yndTCoNhcpBH0kwcvFbzYN9/u5QKI5A6uefjsNNWaz5olJVYS62Q==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz", + "integrity": "sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -6671,9 +6671,9 @@ } }, "node_modules/dompurify": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.9.tgz", - "integrity": "sha512-iHtnxYMotKgOTvxIqq677JsKHvCOkAFqj9x8Mek2zdeHW1XjuFKwjpmZeMaXQRQ8AbJZDbcRz/+r1QhwvFtmQg==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.11.tgz", + "integrity": "sha512-Fan4uMuyB26gFV3ovPoEoQbxRRPfTu3CvImyZnhGq5fsIEO+gEFLp45ISFt+kQBWsK5ulDdT0oV28jS1UrwQLg==", "dev": true }, "node_modules/domutils": { @@ -7032,9 +7032,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "dev": true, "hasInstallScript": true, "bin": { @@ -7044,29 +7044,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, "node_modules/escalade": { @@ -10249,9 +10249,9 @@ } }, "node_modules/mysql2": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.5.tgz", - "integrity": "sha512-pS/KqIb0xlXmtmqEuTvBXTmLoQ5LmAz5NW/r8UyQ1ldvnprNEj3P9GbmuQQ2J0A4LO+ynotGi6TbscPa8OUb+w==", + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.9.7.tgz", + "integrity": "sha512-KnJT8vYRcNAZv73uf9zpXqNbvBG7DJrs+1nACsjZP1HMJ1TgXEy8wnNilXAn/5i57JizXKtrUtwDB7HxT9DDpw==", "dependencies": { "denque": "^2.1.0", "generate-function": "^2.3.1", @@ -13323,9 +13323,9 @@ "dev": true }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -13967,14 +13967,14 @@ } }, "node_modules/vite": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.13.tgz", - "integrity": "sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dev": true, "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" diff --git a/test/cypress/unit/i18n.spec.js b/test/cypress/unit/i18n.spec.js deleted file mode 100644 index e69de29b..00000000 From 7da5b2311c172392781d8fee5a395184113c3be0 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 25 Apr 2024 15:49:32 +0800 Subject: [PATCH 376/494] Fix merge issue --- .github/workflows/auto-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-test.yml b/.github/workflows/auto-test.yml index 0cc3ebf3..c791bc88 100644 --- a/.github/workflows/auto-test.yml +++ b/.github/workflows/auto-test.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest, ARM64] - node: [ 16, 20.5 ] + node: [ 18, 20.5 ] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: From c0db0361876c6204f250d7ce21f271c5a5c36c48 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 25 Apr 2024 23:45:24 +0800 Subject: [PATCH 377/494] Update server/model/monitor.js Co-authored-by: Adam Stachowicz --- server/model/monitor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 7397ff01..f6d59995 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -1621,7 +1621,7 @@ class Monitor extends BeanModel { /** * Store TLS certificate information and check for expiry - * @param {Object} tlsInfo Information about the TLS connection + * @param {object} tlsInfo Information about the TLS connection * @returns {Promise} */ async handleTlsInfo(tlsInfo) { From 27bcc968ec3594244b707d4f9b837496213e63bc Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 25 Apr 2024 23:45:30 +0800 Subject: [PATCH 378/494] Update server/util-server.js Co-authored-by: Adam Stachowicz --- server/util-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/util-server.js b/server/util-server.js index 93d4180d..24d42869 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -654,7 +654,7 @@ const parseCertificateInfo = function (info) { /** * Check if certificate is valid * @param {tls.TLSSocket} socket TLSSocket, which may or may not be connected - * @returns {Object} Object containing certificate information + * @returns {object} Object containing certificate information */ exports.checkCertificate = function (socket) { let certInfoStartTime = dayjs().valueOf(); From 1d091739c87541073f0ace24a23ccac3bf5e64e9 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Fri, 26 Apr 2024 15:01:03 +0800 Subject: [PATCH 379/494] Update server/model/monitor.js Co-authored-by: Adam Stachowicz --- server/model/monitor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index f6d59995..65bfb420 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -247,7 +247,7 @@ class Monitor extends BeanModel { * for HTTP "basic" auth, as per RFC-7617 * @param {string|null} user - The username (nullable if not changed by a user) * @param {string|null} pass - The password (nullable if not changed by a user) - * @returns {string} + * @returns {string} Encoded Base64 string */ encodeBase64(user, pass) { return Buffer.from(`${user || ""}:${pass || ""}`).toString("base64"); From 126d6cd912cbae2602d643916773e1fd064c4567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=AF=E8=A7=82=E7=94=9F=E6=B4=BB?= Date: Sat, 27 Apr 2024 23:16:39 +0800 Subject: [PATCH 380/494] Add the ability to notify `@everyone` in DingTalk notifications (#4718) Co-authored-by: Frank Elsinga --- server/notification-providers/dingding.js | 3 +++ src/components/notifications/DingDing.vue | 25 +++++++++++++++++++++-- src/lang/en.json | 3 +++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/server/notification-providers/dingding.js b/server/notification-providers/dingding.js index 3ad36d54..5d8cb894 100644 --- a/server/notification-providers/dingding.js +++ b/server/notification-providers/dingding.js @@ -19,6 +19,9 @@ class DingDing extends NotificationProvider { markdown: { title: `[${this.statusToString(heartbeatJSON["status"])}] ${monitorJSON["name"]}`, text: `## [${this.statusToString(heartbeatJSON["status"])}] ${monitorJSON["name"]} \n> ${heartbeatJSON["msg"]}\n> Time (${heartbeatJSON["timezone"]}): ${heartbeatJSON["localDateTime"]}`, + }, + "at": { + "isAtAll": notification.mentioning === "everyone" } }; if (await this.sendToDingDing(notification, params)) { diff --git a/src/components/notifications/DingDing.vue b/src/components/notifications/DingDing.vue index 79d8d837..710677fd 100644 --- a/src/components/notifications/DingDing.vue +++ b/src/components/notifications/DingDing.vue @@ -2,9 +2,10 @@
- +
+
- +

{{ $t("For safety, must use secret key") }}

@@ -13,4 +14,24 @@
+
+ + +
+ + diff --git a/src/lang/en.json b/src/lang/en.json index 726186f5..696b0ca6 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -667,6 +667,9 @@ "WebHookUrl": "WebHookUrl", "SecretKey": "SecretKey", "For safety, must use secret key": "For safety, must use secret key", + "Mentioning": "Mentioning", + "Don't mention people": "Don't mention people", + "Mention group": "Mention {group}", "Device Token": "Device Token", "Platform": "Platform", "Huawei": "Huawei", From 19e8c75c3b7fa8e1e9d6675372785dc37a8ef04e Mon Sep 17 00:00:00 2001 From: Joschua Becker Date: Sat, 27 Apr 2024 23:40:59 +0200 Subject: [PATCH 381/494] SevenIO Notification Provider (#4219) Co-authored-by: Frank Elsinga --- server/notification-providers/sevenio.js | 78 ++++++++++++++++++++++++ server/notification.js | 2 + src/components/NotificationDialog.vue | 1 + src/components/notifications/SevenIO.vue | 31 ++++++++++ src/components/notifications/index.js | 2 + src/lang/en.json | 5 ++ 6 files changed, 119 insertions(+) create mode 100644 server/notification-providers/sevenio.js create mode 100644 src/components/notifications/SevenIO.vue diff --git a/server/notification-providers/sevenio.js b/server/notification-providers/sevenio.js new file mode 100644 index 00000000..d363e95d --- /dev/null +++ b/server/notification-providers/sevenio.js @@ -0,0 +1,78 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); +const { DOWN, UP } = require("../../src/util"); + +class SevenIO extends NotificationProvider { + name = "SevenIO"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + + const data = { + to: notification.sevenioTo, + from: notification.sevenioSender || "Uptime Kuma", + text: msg, + }; + + const config = { + baseURL: "https://gateway.seven.io/api/", + headers: { + "Content-Type": "application/json", + "X-API-Key": notification.sevenioApiKey, + }, + }; + + try { + // testing or certificate expiry notification + if (heartbeatJSON == null) { + await axios.post("sms", data, config); + return okMsg; + } + + let address = ""; + + switch (monitorJSON["type"]) { + case "ping": + address = monitorJSON["hostname"]; + break; + case "port": + case "dns": + case "gamedig": + case "steam": + address = monitorJSON["hostname"]; + if (monitorJSON["port"]) { + address += ":" + monitorJSON["port"]; + } + break; + default: + if (![ "https://", "http://", "" ].includes(monitorJSON["url"])) { + address = monitorJSON["url"]; + } + break; + } + + if (address !== "") { + address = `(${address}) `; + } + + // If heartbeatJSON is not null, we go into the normal alerting loop. + if (heartbeatJSON["status"] === DOWN) { + data.text = `Your service ${monitorJSON["name"]} ${address}went down at ${heartbeatJSON["localDateTime"]} ` + + `(${heartbeatJSON["timezone"]}). Error: ${heartbeatJSON["msg"]}`; + } else if (heartbeatJSON["status"] === UP) { + data.text = `Your service ${monitorJSON["name"]} ${address}went back up at ${heartbeatJSON["localDateTime"]} ` + + `(${heartbeatJSON["timezone"]}).`; + } + await axios.post("sms", data, config); + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } + +} + +module.exports = SevenIO; diff --git a/server/notification.js b/server/notification.js index f5a95206..b64bb1b5 100644 --- a/server/notification.js +++ b/server/notification.js @@ -56,6 +56,7 @@ const GoAlert = require("./notification-providers/goalert"); const SMSManager = require("./notification-providers/smsmanager"); const ServerChan = require("./notification-providers/serverchan"); const ZohoCliq = require("./notification-providers/zoho-cliq"); +const SevenIO = require("./notification-providers/sevenio"); const Whapi = require("./notification-providers/whapi"); const GtxMessaging = require("./notification-providers/gtx-messaging"); const Cellsynt = require("./notification-providers/cellsynt"); @@ -132,6 +133,7 @@ class Notification { new WeCom(), new GoAlert(), new ZohoCliq(), + new SevenIO(), new Whapi(), new GtxMessaging(), new Cellsynt(), diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index f57e0628..347fa230 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -154,6 +154,7 @@ export default { "webhook": "Webhook", "GoAlert": "GoAlert", "ZohoCliq": "ZohoCliq", + "SevenIO": "SevenIO", "whapi": "WhatsApp (Whapi)", "gtxmessaging": "GtxMessaging", "Cellsynt": "Cellsynt", diff --git a/src/components/notifications/SevenIO.vue b/src/components/notifications/SevenIO.vue new file mode 100644 index 00000000..fcf746ec --- /dev/null +++ b/src/components/notifications/SevenIO.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 45832238..51107ac9 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -55,6 +55,7 @@ import WeCom from "./WeCom.vue"; import GoAlert from "./GoAlert.vue"; import ZohoCliq from "./ZohoCliq.vue"; import Splunk from "./Splunk.vue"; +import SevenIO from "./SevenIO.vue"; import Whapi from "./Whapi.vue"; import Cellsynt from "./Cellsynt.vue"; @@ -119,6 +120,7 @@ const NotificationFormList = { "GoAlert": GoAlert, "ServerChan": ServerChan, "ZohoCliq": ZohoCliq, + "SevenIO": SevenIO, "whapi": Whapi, "gtxmessaging": GtxMessaging, "Cellsynt": Cellsynt, diff --git a/src/lang/en.json b/src/lang/en.json index 696b0ca6..45e800d9 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -890,6 +890,11 @@ "deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?", "GrafanaOncallUrl": "Grafana Oncall URL", "Browser Screenshot": "Browser Screenshot", + "wayToGetSevenIOApiKey": "Visit the dashboard under app.seven.io > developer > api key > the green add button", + "senderSevenIO": "Sending number or name", + "receiverSevenIO": "Receiving number", + "receiverInfoSevenIO": "If the receiving number is not located in Germany, you have to add the country code in front of the number (e.g. for the country code 1 from the US use 117612121212 instead of 017612121212)", + "apiKeySevenIO": "SevenIO API Key", "wayToWriteWhapiRecipient": "The phone number with the international prefix, but without the plus sign at the start ({0}), the Contact ID ({1}) or the Group ID ({2}).", "wayToGetWhapiUrlAndToken": "You can get the API URL and the token by going into your desired channel from {0}", "whapiRecipient": "Phone Number / Contact ID / Group ID", From 988ba79679f7cfacb42453470982f4c465797eeb Mon Sep 17 00:00:00 2001 From: Ezhil Shanmugham Date: Tue, 30 Apr 2024 19:47:34 +0530 Subject: [PATCH 382/494] feat: keephq notification provider (#4722) --- server/notification-providers/keep.js | 42 +++++++++++++++++++++++++++ server/notification.js | 2 ++ src/components/NotificationDialog.vue | 1 + src/components/notifications/Keep.vue | 42 +++++++++++++++++++++++++++ src/components/notifications/index.js | 2 ++ src/lang/en.json | 1 + 6 files changed, 90 insertions(+) create mode 100644 server/notification-providers/keep.js create mode 100644 src/components/notifications/Keep.vue diff --git a/server/notification-providers/keep.js b/server/notification-providers/keep.js new file mode 100644 index 00000000..aa65a867 --- /dev/null +++ b/server/notification-providers/keep.js @@ -0,0 +1,42 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +class Keep extends NotificationProvider { + name = "Keep"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + + try { + let data = { + heartbeat: heartbeatJSON, + monitor: monitorJSON, + msg, + }; + let config = { + headers: { + "x-api-key": notification.webhookAPIKey, + "content-type": "application/json", + }, + }; + + let url = notification.webhookURL; + + if (url.endsWith("/")) { + url = url.slice(0, -1); + } + + let webhookURL = url + "/alerts/event/uptimekuma"; + + await axios.post(webhookURL, data, config); + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + } +} + +module.exports = Keep; diff --git a/server/notification.js b/server/notification.js index b64bb1b5..03bd368e 100644 --- a/server/notification.js +++ b/server/notification.js @@ -18,6 +18,7 @@ const Gotify = require("./notification-providers/gotify"); const GrafanaOncall = require("./notification-providers/grafana-oncall"); const HomeAssistant = require("./notification-providers/home-assistant"); const HeiiOnCall = require("./notification-providers/heii-oncall"); +const Keep = require("./notification-providers/keep"); const Kook = require("./notification-providers/kook"); const Line = require("./notification-providers/line"); const LineNotify = require("./notification-providers/linenotify"); @@ -95,6 +96,7 @@ class Notification { new GrafanaOncall(), new HomeAssistant(), new HeiiOnCall(), + new Keep(), new Kook(), new Line(), new LineNotify(), diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 347fa230..09646d59 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -123,6 +123,7 @@ export default { "GrafanaOncall": "Grafana Oncall", "HeiiOnCall": "Heii On-Call", "HomeAssistant": "Home Assistant", + "Keep": "Keep", "Kook": "Kook", "line": "LINE Messenger", "LineNotify": "LINE Notify", diff --git a/src/components/notifications/Keep.vue b/src/components/notifications/Keep.vue new file mode 100644 index 00000000..f0c856ee --- /dev/null +++ b/src/components/notifications/Keep.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 51107ac9..52bebf83 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -17,6 +17,7 @@ import GrafanaOncall from "./GrafanaOncall.vue"; import GtxMessaging from "./GtxMessaging.vue"; import HomeAssistant from "./HomeAssistant.vue"; import HeiiOnCall from "./HeiiOnCall.vue"; +import Keep from "./Keep.vue"; import Kook from "./Kook.vue"; import Line from "./Line.vue"; import LineNotify from "./LineNotify.vue"; @@ -82,6 +83,7 @@ const NotificationFormList = { "GrafanaOncall": GrafanaOncall, "HomeAssistant": HomeAssistant, "HeiiOnCall": HeiiOnCall, + "Keep": Keep, "Kook": Kook, "line": Line, "LineNotify": LineNotify, diff --git a/src/lang/en.json b/src/lang/en.json index 45e800d9..d4a0997c 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -63,6 +63,7 @@ "Friendly Name": "Friendly Name", "URL": "URL", "Hostname": "Hostname", + "Host URL": "Host URL", "locally configured mail transfer agent": "locally configured mail transfer agent", "Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Either enter the hostname of the server you want to connect to or {localhost} if you intend to use a {local_mta}", "Port": "Port", From 9f2cf28a762ac5e49b84b7d9b38bce496862e34b Mon Sep 17 00:00:00 2001 From: Rakovskij Stanislav Date: Tue, 30 Apr 2024 23:53:27 +0300 Subject: [PATCH 383/494] Making docker usage with localhost and external ip more clear (#3836) Co-authored-by: Frank Elsinga --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0459692a..0cb8fe3f 100644 --- a/README.md +++ b/README.md @@ -43,11 +43,18 @@ It is a temporary live demo, all data will be deleted after 10 minutes. Sponsore docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 ``` -Uptime Kuma is now running on http://localhost:3001 +Uptime Kuma is now running on . > [!WARNING] > File Systems like **NFS** (Network File System) are **NOT** supported. Please map to a local directory or volume. +> [!NOTE] +> If you want to limit exppoure to localhost (without exposing port for other users or to use a [reverse proxyx](https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy)), you can expose the port like this: +> +> ```bash +> docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 +> ``` + ### 💪🏻 Non-Docker Requirements: From dbbc79a05a2036176c8b011401c915c0db3384ca Mon Sep 17 00:00:00 2001 From: Frank Elsinga Date: Thu, 2 May 2024 06:11:49 +0200 Subject: [PATCH 384/494] Fixed a typo introduced in #3836 (#4729) Co-authored-by: Nelson Chan <3271800+chakflying@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0cb8fe3f..1b4c885d 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Uptime Kuma is now running on . > File Systems like **NFS** (Network File System) are **NOT** supported. Please map to a local directory or volume. > [!NOTE] -> If you want to limit exppoure to localhost (without exposing port for other users or to use a [reverse proxyx](https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy)), you can expose the port like this: +> If you want to limit exposure to localhost (without exposing port for other users or to use a [reverse proxy](https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy)), you can expose the port like this: > > ```bash > docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 From 237a6e8da9ac492baa3f68a4db4679bf7ec833e6 Mon Sep 17 00:00:00 2001 From: jmolnar-comparative <108280072+jmolnar-comparative@users.noreply.github.com> Date: Fri, 10 May 2024 12:35:36 -0600 Subject: [PATCH 385/494] chore: fixed a typo for internal, unused part of the file upload icon for status page (#4750) --- server/socket-handlers/status-page-socket-handler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/socket-handlers/status-page-socket-handler.js b/server/socket-handlers/status-page-socket-handler.js index ee1c68d3..53128914 100644 --- a/server/socket-handlers/status-page-socket-handler.js +++ b/server/socket-handlers/status-page-socket-handler.js @@ -148,7 +148,7 @@ module.exports.statusPageSocketHandler = (socket) => { config.logo = `/upload/${filename}?t=` + Date.now(); } else { - config.icon = imgDataUrl; + config.logo = imgDataUrl; } statusPage.slug = config.slug; From 6bfb1be71a0c0901a16ebb884e2df5f1deec4ad0 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sun, 19 May 2024 22:46:22 +0800 Subject: [PATCH 386/494] Improve MariaDB's connection (#4728) --- server/database.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/database.js b/server/database.js index ed4b9e68..3374aff9 100644 --- a/server/database.js +++ b/server/database.js @@ -209,9 +209,9 @@ class Database { let config = {}; let mariadbPoolConfig = { - afterCreate: function (conn, done) { - - } + min: 0, + max: 10, + idleTimeoutMillis: 30000, }; log.info("db", `Database Type: ${dbConfig.type}`); From 4e24e96dabc342b614cf8515fd205f394499be6c Mon Sep 17 00:00:00 2001 From: TheDanniCraft Date: Sun, 19 May 2024 21:14:13 +0200 Subject: [PATCH 387/494] [discord] thread/forum channel support (#4099) --- server/notification-providers/discord.js | 23 +++++++++--- src/components/notifications/Discord.vue | 46 ++++++++++++++++++++++++ src/lang/en.json | 9 +++++ 3 files changed, 74 insertions(+), 4 deletions(-) diff --git a/server/notification-providers/discord.js b/server/notification-providers/discord.js index f24d4725..129e334b 100644 --- a/server/notification-providers/discord.js +++ b/server/notification-providers/discord.js @@ -13,6 +13,10 @@ class Discord extends NotificationProvider { try { const discordDisplayName = notification.discordUsername || "Uptime Kuma"; + const webhookUrl = new URL(notification.discordWebhookUrl); + if (notification.discordChannelType === "postToThread") { + webhookUrl.searchParams.append("thread_id", notification.threadId); + } // If heartbeatJSON is null, assume we're testing. if (heartbeatJSON == null) { @@ -20,7 +24,12 @@ class Discord extends NotificationProvider { username: discordDisplayName, content: msg, }; - await axios.post(notification.discordWebhookUrl, discordtestdata); + + if (notification.discordChannelType === "createNewForumPost") { + discordtestdata.thread_name = notification.postName; + } + + await axios.post(webhookUrl.toString(), discordtestdata); return okMsg; } @@ -72,12 +81,14 @@ class Discord extends NotificationProvider { ], }], }; - + if (notification.discordChannelType === "createNewForumPost") { + discorddowndata.thread_name = notification.postName; + } if (notification.discordPrefixMessage) { discorddowndata.content = notification.discordPrefixMessage; } - await axios.post(notification.discordWebhookUrl, discorddowndata); + await axios.post(webhookUrl.toString(), discorddowndata); return okMsg; } else if (heartbeatJSON["status"] === UP) { @@ -108,11 +119,15 @@ class Discord extends NotificationProvider { }], }; + if (notification.discordChannelType === "createNewForumPost") { + discordupdata.thread_name = notification.postName; + } + if (notification.discordPrefixMessage) { discordupdata.content = notification.discordPrefixMessage; } - await axios.post(notification.discordWebhookUrl, discordupdata); + await axios.post(webhookUrl.toString(), discordupdata); return okMsg; } } catch (error) { diff --git a/src/components/notifications/Discord.vue b/src/components/notifications/Discord.vue index 99389d29..5d8334f5 100644 --- a/src/components/notifications/Discord.vue +++ b/src/components/notifications/Discord.vue @@ -16,4 +16,50 @@ + +
+ + +
+ +
+
+ + +
+ {{ $t("whatHappensAtForumPost", { option: $t("postToExistingThread") }) }} +
+
+
+
+
+ + + +
+
+ diff --git a/src/lang/en.json b/src/lang/en.json index d4a0997c..2c6e7887 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -527,6 +527,15 @@ "Bot Display Name": "Bot Display Name", "Prefix Custom Message": "Prefix Custom Message", "Hello @everyone is...": "Hello {'@'}everyone is…", + "Select message type": "Select message type", + "Send to channel": "Send to channel", + "Create new forum post": "Create new forum post", + "postToExistingThread": "Post to existing thread / forum post", + "forumPostName": "Forum post name", + "threadForumPostID": "Thread / Forum post ID", + "e.g. {discordThreadID}": "e.g. {discordThreadID}", + "whatHappensAtForumPost": "Create a new forum post. This does NOT post messages in existing post. To post in existing post use \"{option}\"", + "wayToGetDiscordThreadId": "Getting a thread / forum post id is similar to getting a channel id. Read more about how to get ids {0}", "wayToGetTeamsURL": "You can learn how to create a webhook URL {0}.", "wayToGetZohoCliqURL": "You can learn how to create a webhook URL {0}.", "needSignalAPI": "You need to have a signal client with REST API.", From e856cb6007dd1cd6e8e33bf8813fde232a7237cb Mon Sep 17 00:00:00 2001 From: Laurent Aupse Date: Sun, 19 May 2024 21:56:55 +0200 Subject: [PATCH 388/494] Make auto refresh interval customizable (#4260) Co-authored-by: Frank Elsinga --- .../2023-12-20-0000-alter-status-page.js | 12 ++++++++++ server/model/status_page.js | 2 ++ .../status-page-socket-handler.js | 2 ++ src/lang/en.json | 2 ++ src/pages/StatusPage.vue | 24 ++++++++++++------- 5 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 db/knex_migrations/2023-12-20-0000-alter-status-page.js diff --git a/db/knex_migrations/2023-12-20-0000-alter-status-page.js b/db/knex_migrations/2023-12-20-0000-alter-status-page.js new file mode 100644 index 00000000..61ef5d60 --- /dev/null +++ b/db/knex_migrations/2023-12-20-0000-alter-status-page.js @@ -0,0 +1,12 @@ +exports.up = function (knex) { + return knex.schema + .alterTable("status_page", function (table) { + table.integer("auto_refresh_interval").defaultTo(300).unsigned(); + }); +}; + +exports.down = function (knex) { + return knex.schema.alterTable("status_page", function (table) { + table.dropColumn("auto_refresh_interval"); + }); +}; diff --git a/server/model/status_page.js b/server/model/status_page.js index 23558298..528d1dd4 100644 --- a/server/model/status_page.js +++ b/server/model/status_page.js @@ -238,6 +238,7 @@ class StatusPage extends BeanModel { description: this.description, icon: this.getIcon(), theme: this.theme, + autoRefreshInterval: this.autoRefreshInterval, published: !!this.published, showTags: !!this.show_tags, domainNameList: this.getDomainNameList(), @@ -260,6 +261,7 @@ class StatusPage extends BeanModel { title: this.title, description: this.description, icon: this.getIcon(), + autoRefreshInterval: this.autoRefreshInterval, theme: this.theme, published: !!this.published, showTags: !!this.show_tags, diff --git a/server/socket-handlers/status-page-socket-handler.js b/server/socket-handlers/status-page-socket-handler.js index 53128914..0804da15 100644 --- a/server/socket-handlers/status-page-socket-handler.js +++ b/server/socket-handlers/status-page-socket-handler.js @@ -155,6 +155,7 @@ module.exports.statusPageSocketHandler = (socket) => { statusPage.title = config.title; statusPage.description = config.description; statusPage.icon = config.logo; + statusPage.autoRefreshInterval = config.autoRefreshInterval, statusPage.theme = config.theme; //statusPage.published = ; //statusPage.search_engine_index = ; @@ -280,6 +281,7 @@ module.exports.statusPageSocketHandler = (socket) => { statusPage.title = title; statusPage.theme = "auto"; statusPage.icon = ""; + statusPage.autoRefreshInterval = 300; await R.store(statusPage); callback({ diff --git a/src/lang/en.json b/src/lang/en.json index 2c6e7887..2a3e6628 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -361,6 +361,8 @@ "Proxy": "Proxy", "Date Created": "Date Created", "Footer Text": "Footer Text", + "Refresh Interval": "Refresh Interval", + "Refresh Interval Description": "The status page will do a full site refresh every {0} seconds", "Show Powered By": "Show Powered By", "Domain Names": "Domain Names", "signedInDisp": "Signed in as {0}", diff --git a/src/pages/StatusPage.vue b/src/pages/StatusPage.vue index af2f028d..1f67c22e 100644 --- a/src/pages/StatusPage.vue +++ b/src/pages/StatusPage.vue @@ -34,6 +34,14 @@ +
+ + +
+ {{ $t("Refresh Interval Description", [config.autoRefreshInterval]) }} +
+
+