diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 9f20426f..44bc1759 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,4 +3,10 @@ FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT} RUN npm install -g pnpm +RUN apt-get update \ + && apt-get -y install --no-install-recommends \ + python3-pip \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + ENV PATH="${PATH}:./node_modules/.bin" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 15d1b9f3..06e7f6ee 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,27 +1,26 @@ { - "name": "homepage", - "build": { - "dockerfile": "Dockerfile", - "args": { - "VARIANT": "18-bullseye" - } - }, - "customizations": { - "vscode": { - "extensions": [ - "dbaeumer.vscode-eslint", - "mhutchie.git-graph", - "streetsidesoftware.code-spell-checker", - ], - "settings": { - "eslint.format.enable": true, - "eslint.lintTask.enable": true, - "eslint.packageManager": "pnpm" - } - } - }, - "postCreateCommand": ".devcontainer/setup.sh", - "forwardPorts": [ - 3000 - ] + "name": "homepage", + "build": { + "dockerfile": "Dockerfile", + "args": { + "VARIANT": "18-bullseye", + }, + }, + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "mhutchie.git-graph", + "streetsidesoftware.code-spell-checker", + "esbenp.prettier-vscode", + ], + "settings": { + "eslint.format.enable": true, + "eslint.lintTask.enable": true, + "eslint.packageManager": "pnpm", + }, + }, + }, + "postCreateCommand": ".devcontainer/setup.sh", + "forwardPorts": [3000], } diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index 70bf96cf..ea5d2fe9 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -3,6 +3,8 @@ # Install Node packages pnpm install +python3 -m pip install -r requirements.txt + # Copy in skeleton configuration if there is no existing configuration if [ ! -d "config/" ]; then echo "Adding skeleton config" diff --git a/.editorconfig b/.editorconfig index a481ff77..7037b0f6 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,3 +11,6 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintrc.json b/.eslintrc.json index 6c1da17d..70ba41d1 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,6 +13,12 @@ { "newlines-between": "always" } + ], + "no-else-return": [ + "error", + { + "allowElseIf": true + } ] }, "settings": { diff --git a/.github/DISCUSSION_TEMPLATE/support.yml b/.github/DISCUSSION_TEMPLATE/support.yml new file mode 100644 index 00000000..2493df22 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/support.yml @@ -0,0 +1,56 @@ +body: + - type: markdown + attributes: + value: | + ### โš ๏ธ Before opening a discussion: + + - [Check the troubleshooting guide](https://gethomepage.dev/troubleshooting/). + - [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions) (including closed ones!). + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of the issue or question. If applicable, add screenshots to help explain your problem. + validations: + required: true + - type: input + id: version + attributes: + label: homepage version + placeholder: e.g. v0.4.18 (4ea2798) + validations: + required: true + - type: dropdown + id: install-method + attributes: + label: Installation method + options: + - Docker + - Unraid + - Source + - Other (please describe above) + validations: + required: true + - type: textarea + id: config + attributes: + label: Configuration + description: Please provide any relevant service, widget or otherwise related configuration here + render: yaml + - type: textarea + id: container-logs + attributes: + label: Container Logs + description: Please review and provide any logs from the container, if relevant + - type: textarea + id: browser-logs + attributes: + label: Browser Logs + description: Please review and provide any logs from the browser, if relevant + - type: textarea + id: troubleshooting + attributes: + label: Troubleshooting + description: Please include output from your [troubleshooting tests](https://gethomepage.dev/more/troubleshooting/#service-widget-errors), if relevant. + validations: + required: true diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 3e283d69..39bfee33 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,3 @@ -github: benphelps -ko_fi: benphelps -custom: ["https://paypal.me/phelpsben"] +github: [gethomepage] +open_collective: homepage +patreon: gethomepage diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e9d4ee40..b799d3e4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,99 +1,33 @@ -name: Bug report -description: Create a report to help us improve -title: "[Bug] Concise description of the issue" -labels: ["bug, unconfirmed"] +name: ๐Ÿ› Bug report +description: Please only raise an issue if you've been advised to do so in a GitHub discussion. Thanks! ๐Ÿ™ +labels: ["bug"] body: - type: markdown attributes: value: | - ## โš ๏ธ Please remember: issues are for *bugs* - That is, something you believe affects every single homepage user, not just you. Otherwise, start with one of the other options below. - - type: markdown - attributes: - value: | - Have a question? ๐Ÿ‘‰ [Start a new discussion](https://github.com/gethomepage/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC). - - Before opening an issue, please double check: - - - [The troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/). - - [The homepage documentation](https://gethomepage.dev/) - - [Existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions). - - type: textarea - id: description - attributes: - label: Description - description: A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem. - placeholder: | - Currently homepage does not work when... - - [Screenshot if applicable] - validations: - required: true - - type: textarea - id: reproduction - attributes: - label: Steps to reproduce - description: Steps to reproduce the behavior. - placeholder: | - 1. Go to '...' - 2. Click on '....' - 3. See error - validations: - required: true - - type: input - id: version - attributes: - label: homepage version - placeholder: e.g. v0.4.18 (4ea2798) - validations: - required: true - - type: dropdown - id: install-method - attributes: - label: Installation method - options: - - Docker - - Unraid - - Source - - Other (please describe above) - validations: - required: true - - type: textarea - id: config - attributes: - label: Configuration - description: Please provide any relevant service, widget or otherwise related configuration here - render: yaml - - type: textarea - id: container-logs - attributes: - label: Container Logs - description: Please review and provide any logs from the container, if relevant - - type: textarea - id: browser-logs - attributes: - label: Browser Logs - description: Please review and provide any logs from the browser, if relevant - - type: textarea - id: troubleshooting - attributes: - label: Troubleshooting - description: Please include output from your [troubleshooting tests](https://gethomepage.dev/latest/more/troubleshooting/#service-widget-errors). If this is a service widget issue and you do not include any information here your issue will be closed. If it is not, indicate e.g. 'n/a' - validations: - required: true - - type: textarea - id: other - attributes: - label: Other - description: Include any other relevant details. E.g. service version or API version, docker version, etc. + ## โš ๏ธ Please note + The starting point for a bug report should always be a [GitHub discussion](https://github.com/gethomepage/homepage/discussions/new?category=support) + Thank you for contributing to homepage! โœŠ - type: checkboxes id: pre-flight attributes: - label: Before submitting, I have made sure to + label: Before submitting, please confirm the following options: - - label: Check [the documentation](https://gethomepage.dev/) + - label: I confirm this was discussed, and the maintainers asked that I open an issue. required: true - - label: Follow [the troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/) (please include output above if applicable). - required: true - - label: Search [existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions). + - label: I am aware that if I create this issue without a discussion, it will be removed without a response. required: true + - type: input + id: discussion + attributes: + label: Discussion Link + description: | + Please link to the GitHub discussion that led to this issue. + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Optional + render: Text diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index e3f14d07..22d29ff5 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,7 @@ blank_issues_enabled: false contact_links: - name: ๐Ÿค” Questions and Help url: https://github.com/gethomepage/homepage/discussions - about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions. + about: For support, possible bug reports or general questions. - name: ๐Ÿ’ฌ Chat url: https://discord.gg/k4ruYNrudu about: Want to discuss homepage with others? Check out our chat. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1cad352a..1d9e6243 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,12 +1,12 @@ ## Proposed change Closes # (issue) @@ -26,6 +26,6 @@ What type of change does your PR introduce to Homepage? ## Checklist: - [ ] If applicable, I have added corresponding documentation changes. -- [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/latest/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/latest/more/development/#service-widget-guidelines). -- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/latest/more/development/#code-linting). +- [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines). +- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting). - [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers. diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c36b6fe8..ba1b1fb0 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,7 +5,11 @@ version: 2 updates: - - package-ecosystem: "github-actions" # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml index e7e473eb..f3c90cf3 100644 --- a/.github/workflows/crowdin.yml +++ b/.github/workflows/crowdin.yml @@ -8,7 +8,7 @@ on: paths: [ '/public/locales/en/**', ] - branches: [ main ] + branches: [ dev ] jobs: synchronize-with-crowdin: @@ -19,12 +19,12 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: crowdin action - uses: crowdin/github-action@v1 + uses: crowdin/github-action@v2 with: upload_translations: false download_translations: true - crowdin_branch_name: main - localization_branch_name: l10n_main + crowdin_branch_name: dev + localization_branch_name: l10n_dev env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3bea5512..2ac8b3e8 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -12,21 +12,20 @@ on: branches: - main - feature/** + - dev # Publish semver tags as releases. tags: [ 'v*.*.*' ] paths-ignore: - 'docs/**' - 'mkdocs.yml' pull_request: - branches: [ "main" ] + branches: [ "dev" ] paths-ignore: - 'docs/**' - 'mkdocs.yml' merge_group: env: - # Use docker.io for Docker Hub if empty - REGISTRY: ghcr.io # github.repository as / IMAGE_NAME: ${{ github.repository }} @@ -46,7 +45,7 @@ jobs: python-version: 3.x - name: Check files - uses: pre-commit/action@v3.0.0 + uses: pre-commit/action@v3.0.1 build: name: Docker Build & Push @@ -65,14 +64,6 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - # Install the cosign tool except on PR - # https://github.com/sigstore/cosign-installer - - name: Install cosign - if: github.event_name != 'pull_request' - uses: sigstore/cosign-installer@main - with: - cosign-release: 'v1.13.1' # optional - # Setup QEMU # https://github.com/marketplace/actions/docker-setup-buildx#with-qemu - name: Setup QEMU @@ -98,9 +89,15 @@ jobs: if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: - registry: ${{ env.REGISTRY }} + registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action @@ -108,7 +105,9 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: | + ${{ env.IMAGE_NAME }} + ghcr.io/${{ env.IMAGE_NAME }} flavor: | latest=auto @@ -116,7 +115,7 @@ jobs: # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . push: ${{ github.event_name != 'pull_request' && !(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/feature')) }} @@ -132,19 +131,6 @@ jobs: cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - # Sign the resulting Docker image digest except on PRs. - # This will only write to the public Rekor transparency log when the Docker - # repository is public to avoid leaking data. If you would like to publish - # transparency data even for private images, pass --force to cosign below. - # https://github.com/sigstore/cosign -# - name: Sign the published Docker image -# if: ${{ github.event_name != 'pull_request' }} -# env: -# COSIGN_EXPERIMENTAL: "true" -# # This step uses the identity token to provision an ephemeral certificate -# # against the sigstore community Fulcio instance. -# run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }} - # Temp fix # https://github.com/docker/build-push-action/issues/252 # https://github.com/moby/buildkit/issues/1896 diff --git a/.github/workflows/docs-publish.yml b/.github/workflows/docs-publish.yml index d3aea8e6..def1ee1e 100644 --- a/.github/workflows/docs-publish.yml +++ b/.github/workflows/docs-publish.yml @@ -2,15 +2,15 @@ name: Docs on: push: - tags: [ 'v*.*.*' ] - branches: ['main'] + tags: ["v*.*.*"] + branches: ["main"] paths: - - 'docs/**' - - 'mkdocs.yml' + - "docs/**" + - "mkdocs.yml" pull_request: paths: - - 'docs/**' - - 'mkdocs.yml' + - "docs/**" + - "mkdocs.yml" merge_group: workflow_dispatch: @@ -22,17 +22,14 @@ jobs: name: Linting Checks runs-on: ubuntu-22.04 steps: - - - name: Checkout repository + - name: Checkout repository uses: actions/checkout@v4 - - - name: Install python + - name: Install python uses: actions/setup-python@v5 with: python-version: 3.x - - - name: Check files - uses: pre-commit/action@v3.0.0 + - name: Check files + uses: pre-commit/action@v3.0.1 test: name: Test Build @@ -53,8 +50,7 @@ jobs: restore-keys: | mkdocs-material- - run: sudo apt-get install pngquant - - run: pip install mike - - run: pip install mkdocs-material + - run: pip install mkdocs-material mkdocs-redirects "mkdocs-material[imaging]" - name: Test Docs Build run: MKINSIDERS=false mkdocs build deploy: @@ -65,8 +61,10 @@ jobs: - pre-commit steps: - uses: actions/checkout@v4 - with: - ref: main + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com - uses: actions/setup-python@v5 with: python-version: 3.x @@ -78,23 +76,9 @@ jobs: restore-keys: | mkdocs-material- - run: sudo apt-get install pngquant - - run: pip install mike==2.0.0 - run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git - - name: Set Git config - run: | - git config --global user.name "GitHub Action" - git config --global user.email "action@github.com" - - name: Sync gh-pages - run: | - git fetch origin gh-pages - git checkout gh-pages - git pull origin gh-pages - git checkout main - - name: Docs Deploy for Main - if: github.ref == 'refs/heads/main' - run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}} - - name: Docs Deploy for Tags - if: github.ref != 'refs/heads/main' - run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}} latest + - run: pip install mkdocs-redirects "mkdocs-material[imaging]" + - name: Docs Deploy + run: MKINSIDERS=true mkdocs gh-deploy --force env: GH_TOKEN: ${{ secrets.GH_TOKEN }} diff --git a/.github/workflows/reaction-comments.yml b/.github/workflows/reaction-comments.yml new file mode 100644 index 00000000..f3a0e67d --- /dev/null +++ b/.github/workflows/reaction-comments.yml @@ -0,0 +1,20 @@ +name: 'Reaction Comments' + +on: + issue_comment: + types: [created, edited] + pull_request_review_comment: + types: [created, edited] + schedule: + - cron: '0 0 * * *' + +permissions: + actions: write + issues: write + pull-requests: write + +jobs: + action: + runs-on: ubuntu-latest + steps: + - uses: dessant/reaction-comments@v4 diff --git a/.github/workflows/repo-maintenance.yml b/.github/workflows/repo-maintenance.yml new file mode 100644 index 00000000..7cf47c51 --- /dev/null +++ b/.github/workflows/repo-maintenance.yml @@ -0,0 +1,280 @@ +name: 'Repository Maintenance' + +on: + schedule: + - cron: '0 3 * * *' + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + discussions: write + +concurrency: + group: lock + +jobs: + stale: + name: 'Stale' + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + days-before-stale: 7 + days-before-close: 14 + stale-issue-label: stale + stale-pr-label: stale + stale-issue-message: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details. + lock-threads: + name: 'Lock Old Threads' + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v5 + with: + issue-inactive-days: '30' + pr-inactive-days: '30' + discussion-inactive-days: '30' + log-output: true + issue-comment: > + This issue has been automatically locked since there + has not been any recent activity after it was closed. + Please open a new discussion for related concerns. + See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details. + pr-comment: > + This pull request has been automatically locked since there + has not been any recent activity after it was closed. + Please open a new discussion for related concerns. + See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details. + discussion-comment: > + This discussion has been automatically locked since there + has not been any recent activity after it was closed. + Please open a new discussion for related concerns. + See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details. + close-answered-discussions: + name: 'Close Answered Discussions' + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + const query = `query($owner:String!, $name:String!) { + repository(owner:$owner, name:$name){ + discussions(first:100, answered:true, states:[OPEN]) { + nodes { + id, + number + } + } + } + }`; + const variables = { + owner: context.repo.owner, + name: context.repo.repo, + } + const result = await github.graphql(query, variables) + + console.log(`Found ${result.repository.discussions.nodes.length} open answered discussions`) + + for (const discussion of result.repository.discussions.nodes) { + console.log(`Closing discussion #${discussion.number} (${discussion.id})`) + + const addCommentMutation = `mutation($discussion:ID!, $body:String!) { + addDiscussionComment(input:{discussionId:$discussion, body:$body}) { + clientMutationId + } + }`; + const commentVariables = { + discussion: discussion.id, + body: 'This discussion has been automatically closed because it was marked as answered. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.', + } + await github.graphql(addCommentMutation, commentVariables) + + const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) { + closeDiscussion(input:{discussionId:$discussion, reason:$reason}) { + clientMutationId + } + }`; + const closeVariables = { + discussion: discussion.id, + reason: "RESOLVED", + } + await github.graphql(closeDiscussionMutation, closeVariables) + + await sleep(1000) + } + close-outdated-discussions: + name: 'Close Outdated Discussions' + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + const CUTOFF_DAYS = 180; + const cutoff = new Date(); + cutoff.setDate(cutoff.getDate() - CUTOFF_DAYS); + + const query = `query( + $owner:String!, + $name:String!, + $supportCategory:ID!, + $generalCategory:ID!, + ) { + supportDiscussions: repository(owner:$owner, name:$name){ + discussions( + categoryId:$supportCategory, + last:50, + answered:false, + states:[OPEN], + ) { + nodes { + id, + number, + updatedAt + } + }, + }, + generalDiscussions: repository(owner:$owner, name:$name){ + discussions( + categoryId:$generalCategory, + last:50, + states:[OPEN], + ) { + nodes { + id, + number, + updatedAt + } + } + } + }`; + const variables = { + owner: context.repo.owner, + name: context.repo.repo, + supportCategory: "DIC_kwDOH31rQM4CRErR", + generalCategory: "DIC_kwDOH31rQM4CRErQ" + } + const result = await github.graphql(query, variables); + const combinedDiscussions = [ + ...result.supportDiscussions.discussions.nodes, + ...result.generalDiscussions.discussions.nodes, + ] + + console.log(`Checking ${combinedDiscussions.length} open discussions`); + + for (const discussion of combinedDiscussions) { + if (new Date(discussion.updatedAt) < cutoff) { + console.log(`Closing outdated discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt}`); + const addCommentMutation = `mutation($discussion:ID!, $body:String!) { + addDiscussionComment(input:{discussionId:$discussion, body:$body}) { + clientMutationId + } + }`; + const commentVariables = { + discussion: discussion.id, + body: 'This discussion has been automatically closed due to inactivity. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.', + } + await github.graphql(addCommentMutation, commentVariables); + + const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) { + closeDiscussion(input:{discussionId:$discussion, reason:$reason}) { + clientMutationId + } + }`; + const closeVariables = { + discussion: discussion.id, + reason: "OUTDATED", + } + await github.graphql(closeDiscussionMutation, closeVariables); + + await sleep(1000); + } + } + close-unsupported-feature-requests: + name: 'Close Unsupported Feature Requests' + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + const CUTOFF_1_DAYS = 180; + const CUTOFF_1_COUNT = 5; + const CUTOFF_2_DAYS = 365; + const CUTOFF_2_COUNT = 10; + + const cutoff1Date = new Date(); + cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS); + const cutoff2Date = new Date(); + cutoff2Date.setDate(cutoff2Date.getDate() - CUTOFF_2_DAYS); + + const query = `query( + $owner:String!, + $name:String!, + $featureRequestsCategory:ID!, + ) { + repository(owner:$owner, name:$name){ + discussions( + categoryId:$featureRequestsCategory, + last:100, + states:[OPEN], + ) { + nodes { + id, + number, + updatedAt, + upvoteCount, + } + }, + } + }`; + const variables = { + owner: context.repo.owner, + name: context.repo.repo, + featureRequestsCategory: "DIC_kwDOH31rQM4CRErS" + } + const result = await github.graphql(query, variables); + + for (const discussion of result.repository.discussions.nodes) { + const discussionDate = new Date(discussion.updatedAt); + if ((discussionDate < cutoff1Date && discussion.upvoteCount < CUTOFF_1_COUNT) || + (discussionDate < cutoff2Date && discussion.upvoteCount < CUTOFF_2_COUNT)) { + console.log(`Closing discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt} with votes ${discussion.upvoteCount}`); + const addCommentMutation = `mutation($discussion:ID!, $body:String!) { + addDiscussionComment(input:{discussionId:$discussion, body:$body}) { + clientMutationId + } + }`; + const commentVariables = { + discussion: discussion.id, + body: 'This discussion has been automatically closed due to lack of community support. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.', + } + await github.graphql(addCommentMutation, commentVariables); + + const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) { + closeDiscussion(input:{discussionId:$discussion, reason:$reason}) { + clientMutationId + } + }`; + const closeVariables = { + discussion: discussion.id, + reason: "OUTDATED", + } + await github.graphql(closeDiscussionMutation, closeVariables); + + await sleep(1000); + } + } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index efcce663..0cc5fad0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,9 +16,9 @@ We use github to host code, to track issues and feature requests, as well as acc In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern. -## Report bugs using Github's [issues](https://github.com/gethomepage/homepage/issues) +## Report bugs using Github [discussions](https://github.com/gethomepage/homepage/discussions) -We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/gethomepage/homepage/issues/new); it's that easy! +We use GitHub discussions to triage bugs. Report a bug by [opening a new discussion](https://github.com/gethomepage/homepage/discussions/new?category=support); it's that easy! Please do not open an issue unless instructed to do so by a project maintainer. ## Write bug reports with detail, background, and sample configurations @@ -38,16 +38,34 @@ People _love_ thorough bug reports. I'm not even kidding. ## Development Guidelines -Please see the [documentation regarding development](https://gethomepage.dev/latest/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/latest/more/development/#service-widget-guidelines) if you are considering making one. +Please see the [documentation regarding development](https://gethomepage.dev/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/more/development/#service-widget-guidelines) if you are considering making one. ## Use a Consistent Coding Style -Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks). +Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks). ## License By contributing, you agree that your contributions will be licensed under its GNU General Public License. +## Use of AI for pull requests + +In general, homepage does not accept "AI-generated" PRs. If you choose to use something like that to aid the development process to generate a significant proportion of the pull request, please make sure this is explicitly stated in the PR itself. + ## References This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md) + +## Automatic Respository Maintenance + +The homepage team appreciates all effort and interest from the community in filing bug reports, creating feature requests, sharing ideas and helping other community members. That said, in an effort to keep the repository organized and managebale the project uses automatic handling of certain areas: + +- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity. +- Discussions with a marked answer will be automatically closed. +- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity. +- Feature requests that do not meet the following thresholds will be closed: 5 "up-votes" after 180 days of inactivity or 10 "up-votes" after 365 days. + +In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns. +Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features. + +Thank you all for your contributions. diff --git a/README.md b/README.md index 7fc05672..4f898387 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,18 @@   Discord   - +   GitHub Sponsors

+

+ DigitalOcean Referral Badge +

+

+Homepage builds are kindly powered by DigitalOcean. +

+ # Features With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it. @@ -41,37 +48,40 @@ With features like quick search, bookmarks, weather support, a wide range of int ## Docker Integration -Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker](https://gethomepage.dev/latest/installation/docker/) page for more information. +Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker Service Discovery](https://gethomepage.dev/configs/docker/#automatic-service-discovery) page for more information. ## Service Widgets -Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/latest/widgets/) page for more information. +Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/widgets/) page for more information. ## Information Widgets -Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the [Information Providers](https://gethomepage.dev/latest/widgets/) page for more information. +Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the [Information Providers](https://gethomepage.dev/widgets/) page for more information. ## Customization -Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the [Settings](https://gethomepage.dev/latest/configs/settings/) page for more information. +Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the [Settings](https://gethomepage.dev/configs/settings/) page for more information. # Getting Started For configuration options, examples and more, [please check out the homepage documentation](http://gethomepage.dev). +## Security Notice ๐Ÿ”’ + +Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN. + ## With Docker Using docker compose: ```yaml -version: "3.3" services: homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage environment: - PUID: 1000 -- optional, your user id - PGID: 1000 -- optional, your group id + PUID: 1000 # optional, your user id + PGID: 1000 # optional, your group id ports: - 3000:3000 volumes: @@ -93,7 +103,7 @@ docker run --name homepage \ ghcr.io/gethomepage/homepage:latest ``` -## With Node +## From Source First, clone the repository: @@ -116,15 +126,9 @@ Finally, run the server in production mode: pnpm start ``` -or development mode: - -```bash -pnpm dev -``` - # Configuration -Please refer to the [homepage documentation](https://gethomepage.dev/) website for more information. Everything you need to know about configuring Homepage is there. Please read everything carefully before asking for help, as most questions are answered there or are simple YAML configuration issues. +Please refer to the [homepage documentation website](https://gethomepage.dev/) for more information. Everything you need to know about configuring Homepage is there. Please read everything carefully before asking for help, as most questions are answered there or are simple YAML configuration issues. # Development @@ -164,7 +168,9 @@ mkdocs serve # or build, to build the static site If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/gethomepage/homepage/discussions) page. -For bug reports, please open an issue on the [Issues](https://github.com/gethomepage/homepage/issues) page. +## Troubleshooting + +In addition to the docs, the [troubleshooting guide](https://gethomepage.dev/troubleshooting/) can help reveal many basic config or network issues. If you're having a problem, it's a good place to start. ## Contributing & Contributors diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 00000000..d9efae21 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +gethomepage.dev diff --git a/docs/assets/banner_dark@2x.webp b/docs/assets/banner_dark@2x.webp new file mode 100644 index 00000000..651fd078 Binary files /dev/null and b/docs/assets/banner_dark@2x.webp differ diff --git a/docs/assets/banner_light@2x.webp b/docs/assets/banner_light@2x.webp new file mode 100644 index 00000000..00b258eb Binary files /dev/null and b/docs/assets/banner_light@2x.webp differ diff --git a/docs/assets/blossom_valley.jpg b/docs/assets/blossom_valley.jpg new file mode 100644 index 00000000..39445902 Binary files /dev/null and b/docs/assets/blossom_valley.jpg differ diff --git a/docs/assets/blossom_valley_blur.jpg b/docs/assets/blossom_valley_blur.jpg new file mode 100644 index 00000000..54bb9bae Binary files /dev/null and b/docs/assets/blossom_valley_blur.jpg differ diff --git a/docs/assets/homepage_demo.webp b/docs/assets/homepage_demo.webp new file mode 100644 index 00000000..e6c47041 Binary files /dev/null and b/docs/assets/homepage_demo.webp differ diff --git a/docs/assets/homepage_demo_clip.png b/docs/assets/homepage_demo_clip.png new file mode 100644 index 00000000..8ac16f35 Binary files /dev/null and b/docs/assets/homepage_demo_clip.png differ diff --git a/docs/assets/homepage_demo_clip.webp b/docs/assets/homepage_demo_clip.webp new file mode 100644 index 00000000..169998e9 Binary files /dev/null and b/docs/assets/homepage_demo_clip.webp differ diff --git a/docs/assets/light_squircle@2x.webp b/docs/assets/light_squircle@2x.webp new file mode 100644 index 00000000..fc1a1613 Binary files /dev/null and b/docs/assets/light_squircle@2x.webp differ diff --git a/docs/assets/sections.png b/docs/assets/sections.png new file mode 100644 index 00000000..d1d68d5a Binary files /dev/null and b/docs/assets/sections.png differ diff --git a/docs/assets/sections.webp b/docs/assets/sections.webp new file mode 100644 index 00000000..2e8f3e35 Binary files /dev/null and b/docs/assets/sections.webp differ diff --git a/docs/assets/widget_stocks_demo.png b/docs/assets/widget_stocks_demo.png new file mode 100644 index 00000000..0d2cde53 Binary files /dev/null and b/docs/assets/widget_stocks_demo.png differ diff --git a/docs/configs/bookmarks.md b/docs/configs/bookmarks.md index 27f6c273..897975e2 100644 --- a/docs/configs/bookmarks.md +++ b/docs/configs/bookmarks.md @@ -3,7 +3,7 @@ title: Bookmarks description: Bookmark Configuration --- -Bookmarks function much the same as [Services](services.md), in how groups and lists work. They're just much simpler, smaller, and contain no extra features other than being a link out. +Bookmarks are configured in the `bookmarks.yaml` file. They function much the same as [Services](services.md), in how groups and lists work. They're just much simpler, smaller, and contain no extra features other than being a link out. The design of homepage expects `abbr` to be 2 letters, but is not otherwise forced. @@ -12,6 +12,7 @@ You can also use an icon for bookmarks similar to the [options for service icons By default, the description will use the hostname of the link, but you can override it with a custom description. ```yaml +--- - Developer: - Github: - abbr: GH @@ -29,4 +30,8 @@ By default, the description will use the hostname of the link, but you can overr href: https://youtube.com/ ``` +which renders to (depending on your theme, etc.): + Bookmarks + +The default [bookmarks.yaml](https://github.com/gethomepage/homepage/blob/main/src/skeleton/bookmarks.yaml) is a working example. diff --git a/docs/configs/docker.md b/docs/configs/docker.md index 4d3026db..51f6b523 100644 --- a/docs/configs/docker.md +++ b/docs/configs/docker.md @@ -203,7 +203,7 @@ In order to detect every service within the Docker swarm it is necessary that se ## Multiple Homepage Instances -The optional field `instanceName` can be configured in [settings.md](settings.md#instance-name) to differentiate between multiple homepage instances. +The optional field `instanceName` can be configured in [settings.yaml](settings.md#instance-name) to differentiate between multiple homepage instances. To limit a label to an instance, insert `.instance.{{instanceName}}` after the `homepage` prefix. @@ -235,4 +235,4 @@ You can show the docker stats by clicking the status indicator but this can also showStats: true ``` -Also see the settings for [show docker stats](docker.md#show-docker-stats). +Also see the settings for [show docker stats](settings.md#show-docker-stats). diff --git a/docs/configs/index.md b/docs/configs/index.md index a43977f6..85a1ac90 100644 --- a/docs/configs/index.md +++ b/docs/configs/index.md @@ -1,6 +1,7 @@ --- title: Configuration description: Homepage Configuration +icon: material/cog --- Homepage uses YAML for configuration, YAML stands for "YAML Ain't Markup Language.". It's a human-readable data serialization format that's a superset of JSON. Great for config files, easy to read and write. Supports complex data types like lists and objects. **Indentation matters.** If you already use Docker Compose, you already use YAML. diff --git a/docs/configs/kubernetes.md b/docs/configs/kubernetes.md index 6ba995c4..29ab6b38 100644 --- a/docs/configs/kubernetes.md +++ b/docs/configs/kubernetes.md @@ -36,7 +36,7 @@ Inside of the service you'd like to connect to a pod: The `app` field is used to create a label selector, in this example case it would match pods with the label: `app.kubernetes.io/name=emby`. -Sometimes this is insufficient for complex or atypical application deployments. In these cases, the `pod-selector` field can be used. Any field selector can be used with it, so it allows for some very powerful selection capabilities. +Sometimes this is insufficient for complex or atypical application deployments. In these cases, the `podSelector` field can be used. Any field selector can be used with it, so it allows for some very powerful selection capabilities. For instance, it can be utilized to roll multiple underlying deployments under one application to see a high-level aggregate: @@ -47,7 +47,7 @@ For instance, it can be utilized to roll multiple underlying deployments under o description: Matrix Synapse Powered Chat app: matrix-element namespace: comms - pod-selector: >- + podSelector: >- app.kubernetes.io/instance in ( matrix-element, matrix-media-repo, @@ -58,7 +58,7 @@ For instance, it can be utilized to roll multiple underlying deployments under o !!! note - A blank string as a pod-selector does not deactivate it, but will actually select all pods in the namespace. This is a useful way to capture the resource usage of a complex application siloed to a single namespace, like Longhorn. + A blank string as a podSelector does not deactivate it, but will actually select all pods in the namespace. This is a useful way to capture the resource usage of a complex application siloed to a single namespace, like Longhorn. ## Automatic Service Discovery @@ -98,6 +98,10 @@ When the Kubernetes cluster connection has been properly configured, this servic If you are using multiple instances of homepage, an `instance` annotation can be specified to limit services to a specific instance. If no instance is provided, the service will be visible on all instances. +If you have a single service that needs to be shown on multiple specific instances of homepage (but not on all of them), the service can be annotated by multiple `instance.name` annotations, where `name` can be the names of your specific multiple homepage instances. For example, a service that is annotated with `gethomepage.dev/instance.public: ""` and `gethomepage.dev/instance.internal: ""` will be shown on `public` and `internal` homepage instances. + +Use the `gethomepage.dev/pod-selector` selector to specify the pod used for the health check. For example, a service that is annotated with `gethomepage.dev/pod-selector: app.kubernetes.io/name=deployment` would link to a pod with the label `app.kubernetes.io/name: deployment`. + ### Traefik IngressRoute support Homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set: diff --git a/docs/configs/services.md b/docs/configs/services.md index 010950eb..9cb75177 100644 --- a/docs/configs/services.md +++ b/docs/configs/services.md @@ -65,9 +65,13 @@ Services may have descriptions, Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png` or with `.svg` to use the svg version. -You can also specify prefixed icons from [Material Design Icons](https://materialdesignicons.com) with `mdi-XX` or [Simple Icons](https://simpleicons.org/) with `si-XX`. +You can also specify prefixed icons from: -You can specify a custom color by adding a hex color code as suffix e.g. `mdi-XX-#f0d453` or `si-XX-#a712a2`. +- [Material Design Icons](https://pictogrammers.com/library/mdi/) with `mdi-XX` +- [Simple Icons](https://simpleicons.org/) with `si-XX` +- [selfh.st/icons](https://selfh.st/icons/) with `sh-XX` to use the png version or `sh-XX.svg/png/webp` for a specific version + +You can specify a custom color for `mdi` and `si` icons by adding a hex color code as a suffix e.g. `mdi-XX-#f0d453` or `si-XX-#a712a2`. To use a remote icon, use the absolute URL (e.g. `https://...`). @@ -101,7 +105,7 @@ To use a local icon, first create a Docker mount to `/app/public/icons` and then ## Ping -Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. +Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. Currently, only IPv4 is supported. ```yaml - Group A: @@ -171,7 +175,7 @@ Services may be connected to a Docker container, either running on the local mac !!! note - This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information + This can also be controlled with `showStats`. See [show docker stats](docker.md#show-stats) for more information Docker Stats Expanded diff --git a/docs/configs/settings.md b/docs/configs/settings.md index fdc5eff2..2f387a65 100644 --- a/docs/configs/settings.md +++ b/docs/configs/settings.md @@ -85,7 +85,7 @@ Or you may pass the path to a local image relative to the `/app/public` director ## Theme -You can configure a fixed them (and disable the theme switcher) by passing the `theme` option, like so: +You can configure a fixed theme (and disable the theme switcher) by passing the `theme` option, like so: ```yaml theme: dark # or light @@ -211,13 +211,13 @@ layout: ### Five Columns -You can add a fifth column (when `style: columns` which is default) by adding: +You can add a fifth column to services (when `style: columns` which is default) by adding: ```yaml fiveColumns: true ``` -By default homepage will max out at 4 columns for column style +By default homepage will max out at 4 columns for services with `columns` style ### Collapsible sections @@ -229,6 +229,26 @@ disableCollapse: true By default the feature is enabled. +### Initially collapsed sections + +You can initially collapse sections by adding the `initiallyCollapsed` option to the layout group. + +```yaml +layout: + Section A: + initiallyCollapsed: true +``` + +This can also be set globaly using the `groupsInitiallyCollapsed` option. + +```yaml +groupsInitiallyCollapsed: true +``` + +The value set on a group will overwrite the global setting. + +By default the feature is disabled. + ### Use Equal Height Cards You can enable equal height cards for groups of services, this will make all cards in a row the same height. @@ -343,7 +363,7 @@ providers: You can then pass `provider` instead of `apiKey` in your widget configuration. ```yaml -- weather: +- weatherapi: latitude: 50.449684 longitude: 30.525026 provider: weatherapi @@ -357,15 +377,29 @@ You can use the 'Quick Launch' feature to search services, perform a web search There are a few optional settings for the Quick Launch feature: -- `searchDescriptions`: which lets you control whether item descriptions are included in searches. This is off by default. When enabled, results that match the item name will be placed above those that only match the description. +- `searchDescriptions`: which lets you control whether item descriptions are included in searches. This is false by default. When enabled, results that match the item name will be placed above those that only match the description. - `hideInternetSearch`: disable automatically including the currently-selected web search (e.g. from the widget) as a Quick Launch option. This is false by default, enabling the feature. +- `showSearchSuggestions`: show search suggestions for the internet search. If this is not specified then the setting will be inherited from the search widget. If it is not specified there either, it will default to false. For custom providers the `suggestionUrl` needs to be set in order for this to work. +- `provider`: search engine provider. If none is specified it will try to use the provider set for the Search Widget, if neither are present then internet search will be disabled. - `hideVisitURL`: disable detecting and offering an option to open URLs. This is false by default, enabling the feature. ```yaml quicklaunch: searchDescriptions: true hideInternetSearch: true + showSearchSuggestions: true hideVisitURL: true + provider: google # google, duckduckgo, bing, baidu, brave or custom +``` + +or for a custom search: + +```yaml +quicklaunch: + provider: custom + url: https://www.ecosia.org/search?q= + target: _blank + suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= ``` ## Homepage Version @@ -384,6 +418,8 @@ By default the homepage logfile is written to the a `logs` subdirectory of the ` logpath: /logfile/path ``` +By default, logs are sent both to `stdout` and to a file at the path specified. This can be changed by setting the `LOG_TARGETS` environment variable to one of `both` (default), `stdout` or `file`. + ## Show Docker Stats You can show all docker stats expanded in `settings.yaml`: diff --git a/docs/index.md b/docs/index.md index 97a3704b..31a84e8c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,7 @@ --- title: Home +description: A modern, fully static, fast, secure, fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. +icon: material/home hide: - navigation - toc @@ -10,10 +12,21 @@ hide:
-

-![Alt text](assets/banner_dark@2x.png#only-light) -![Alt text](assets/banner_light@2x.png#only-dark) +

-A modern, fully static, fast, secure fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery. +homepage -![Alt text](assets/homepage_demo.png) +homepage + +

A modern, fully static, fast, secure fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.

+ +
+ + diff --git a/docs/installation/docker.md b/docs/installation/docker.md index 1f9f07d6..84db22b4 100644 --- a/docs/installation/docker.md +++ b/docs/installation/docker.md @@ -6,7 +6,6 @@ description: Install and run homepage from Docker Using docker compose: ```yaml -version: "3.3" services: homepage: image: ghcr.io/gethomepage/homepage:latest @@ -27,7 +26,6 @@ _Using the docker socket directly is not the recommended method of integration a In the docker compose example below, the environment variables `$PUID` and `$PGID` are set in a `.env` file. ```yaml -version: "3.3" services: homepage: image: ghcr.io/gethomepage/homepage:latest diff --git a/docs/installation/index.md b/docs/installation/index.md index f1d317c4..d954cf37 100644 --- a/docs/installation/index.md +++ b/docs/installation/index.md @@ -1,12 +1,17 @@ --- title: Installation description: Docs intro +icon: simple/docker ---

You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.

+!!! warning + + Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN. +
diff --git a/docs/installation/k8s.md b/docs/installation/k8s.md index 685472ea..6805139b 100644 --- a/docs/installation/k8s.md +++ b/docs/installation/k8s.md @@ -361,3 +361,33 @@ spec: port: number: 3000 ``` + +### Multiple Replicas + +If you plan to deploy homepage with a replica count greater than 1, you may +want to consider enabling sticky sessions on the homepage route. This will +prevent unnecessary re-renders on page loads and window / tab focusing. The +procedure for enabling sticky sessions depends on your Ingress controller. Below +is an example using Traefik as the Ingress controller. + +``` +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: homepage.example.com +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`homepage.example.com`) + services: + - kind: Service + name: homepage + port: 3000 + sticky: + cookie: + httpOnly: true + secure: true + sameSite: none +``` diff --git a/docs/installation/unraid.md b/docs/installation/unraid.md index eb5be7a8..ed097d35 100644 --- a/docs/installation/unraid.md +++ b/docs/installation/unraid.md @@ -31,15 +31,15 @@ You may need to set the permissions of the folders to be able to edit the files. - To use the [Docker integration](../configs/docker.md), you only need to use the `container:` parameter. There is no need to set the server. - !!! note +!!! note - To view detailed container statistics (CPU, RAM, etc.), or if you use a remote docker socket, `container:` will still need to be set. For example: + To view detailed container statistics (CPU, RAM, etc.), or if you use a remote docker socket, `container:` will still need to be set. For example: - ``` - - Plex: - icon: /icons/plex.png - href: https://app.plex.com - container: plex - ``` +``` + - Plex: + icon: /icons/plex.png + href: https://app.plex.com + container: plex +``` - When you upload a new image into the **/images** folder, you will need to restart the container for it to show up in the WebUI. Please see the [service icons](../configs/services.md#icons) for more information. diff --git a/docs/layouts/custom.yml b/docs/layouts/custom.yml new file mode 100644 index 00000000..d8e36c10 --- /dev/null +++ b/docs/layouts/custom.yml @@ -0,0 +1,252 @@ +# Copyright (c) 2016-2024 Martin Donath + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +# ----------------------------------------------------------------------------- +# Configuration +# ----------------------------------------------------------------------------- + +# Definitions +definitions: + # Background image + - &background_image >- + {{ layout.background_image | x }} + + # Background color (default: indigo) + - &background_color >- + {%- if layout.background_color -%} + {{ layout.background_color }} + {%- else -%} + {%- set palette = config.theme.palette or {} -%} + {%- if not palette is mapping -%} + {%- set list = palette | selectattr("primary") | list + palette -%} + {%- set palette = list | first -%} + {%- endif -%} + {%- set primary = palette.get("primary", "indigo") -%} + {%- set primary = primary.replace(" ", "-") -%} + {{ { + "red": "#ef5552", + "pink": "#e92063", + "purple": "#ab47bd", + "deep-purple": "#7e56c2", + "indigo": "#4051b5", + "blue": "#2094f3", + "light-blue": "#02a6f2", + "cyan": "#00bdd6", + "teal": "#009485", + "green": "#4cae4f", + "light-green": "#8bc34b", + "lime": "#cbdc38", + "yellow": "#ffec3d", + "amber": "#ffc105", + "orange": "#ffa724", + "deep-orange": "#ff6e42", + "brown": "#795649", + "grey": "#757575", + "blue-grey": "#546d78", + "black": "#000000", + "white": "#ffffff" + }[primary] or "#4051b5" }} + {%- endif -%} + + # Text color (default: white) + - &color >- + {%- if layout.color -%} + {{ layout.color }} + {%- else -%} + {%- set palette = config.theme.palette or {} -%} + {%- if not palette is mapping -%} + {%- set list = palette | selectattr("primary") | list + palette -%} + {%- set palette = list | first -%} + {%- endif -%} + {%- set primary = palette.get("primary", "indigo") -%} + {%- set primary = primary.replace(" ", "-") -%} + {{ { + "red": "#ffffff", + "pink": "#ffffff", + "purple": "#ffffff", + "deep-purple": "#ffffff", + "indigo": "#ffffff", + "blue": "#ffffff", + "light-blue": "#ffffff", + "cyan": "#ffffff", + "teal": "#ffffff", + "green": "#ffffff", + "light-green": "#ffffff", + "lime": "#000000", + "yellow": "#000000", + "amber": "#000000", + "orange": "#000000", + "deep-orange": "#ffffff", + "brown": "#ffffff", + "grey": "#ffffff", + "blue-grey": "#ffffff", + "black": "#ffffff", + "white": "#000000" + }[primary] or "#ffffff" }} + {%- endif -%} + + # Font family (default: Roboto) + - &font_family >- + {%- if layout.font_family -%} + {{ layout.font_family }} + {%- elif config.theme.font is mapping -%} + {{ config.theme.font.get("text", "Roboto") }} + {%- else -%} + Roboto + {%- endif -%} + + # Font variant + - &font_variant >- + {%- if layout.font_variant -%} + {{ layout.font_variant }} + {%- endif -%} + + # Site name + - &site_name >- + {{ config.site_name }} + + # Page title + - &page_title >- + {%- if layout.title -%} + {{ layout.title }} + {%- else -%} + {{ page.meta.get("title", page.title) }} + {%- endif -%} + + # Page title with site name + - &page_title_with_site_name >- + {%- if not page.is_homepage -%} + {{ page.meta.get("title", page.title) }} - {{ config.site_name }} + {%- else -%} + {{ page.meta.get("title", page.title) }} + {%- endif -%} + + # Page description + - &page_description >- + {%- if layout.description -%} + {{ layout.description }} + {%- else -%} + {{ page.meta.get("description", config.site_description) | x }} + {%- endif -%} + + # Page icon + - &page_icon >- + {{ page.meta.icon | x }} + + # Logo + - &logo >- + {%- if layout.logo -%} + {{ layout.logo }} + {%- elif config.theme.logo -%} + {{ config.docs_dir }}/{{ config.theme.logo }} + {%- endif -%} + + # Logo (icon) + - &logo_icon >- + {%- if not layout.logo and config.theme.icon -%} + {{ config.theme.icon.logo | x }} + {%- endif -%} + +# Meta tags +tags: + # Open Graph + og:type: website + og:title: *page_title_with_site_name + og:description: *page_description + og:image: "{{ image.url }}" + og:image:type: "{{ image.type }}" + og:image:width: "{{ image.width }}" + og:image:height: "{{ image.height }}" + og:url: "{{ page.canonical_url }}" + + # Twitter + twitter:card: summary_large_image + twitter:title: *page_title_with_site_name + twitter:description: *page_description + twitter:image: "{{ image.url }}" + +# ----------------------------------------------------------------------------- +# Specification +# ----------------------------------------------------------------------------- + +# Card size and layers +size: { width: 1200, height: 630 } +layers: + # Background + - background: + image: *background_image + color: *background_color + + # Page icon + - size: { width: 630, height: 630 } + offset: { x: 800, y: 0 } + icon: + value: *page_icon + color: "#FFFFFF20" + + # Logo + - size: { width: 64, height: 64 } + offset: { x: 64, y: 64 } + background: + image: *logo + icon: + value: *logo_icon + color: *color + + # Site name + - size: { width: 768, height: 42 } + offset: { x: 160, y: 74 } + typography: + content: *site_name + color: *color + font: + family: *font_family + variant: *font_variant + style: Bold + + # Page title + - size: { width: 864, height: 256 } + offset: { x: 62, y: 192 } + typography: + content: *page_title + align: start + color: *color + line: + amount: 3 + height: 1.25 + font: + family: *font_family + variant: *font_variant + style: Bold + + # Page description + - size: { width: 864, height: 64 } + offset: { x: 64, y: 512 } + typography: + content: *page_description + align: start + color: *color + line: + amount: 2 + height: 1.5 + font: + family: *font_family + variant: *font_variant + style: Regular diff --git a/docs/more/coverage.md b/docs/more/coverage.md new file mode 100644 index 00000000..65a1a866 --- /dev/null +++ b/docs/more/coverage.md @@ -0,0 +1,57 @@ +--- +title: Community Coverage +description: Homepage has been covered by quite a few YouTube channels, here are some of them. +--- + +Homepage has been covered by quite a few YouTube channels, here are some of them. If you have a video you'd like to add, please open a PR! + +## English + +
+ +[![Youtube Video](https://img.youtube.com/vi/mC3tjysJ01E/maxresdefault.jpg)](https://www.youtube.com/watch?v=mC3tjysJ01E) + +[![Youtube Video](https://img.youtube.com/vi/o9SLve4wBPY/maxresdefault.jpg)](https://www.youtube.com/watch?v=o9SLve4wBPY) + +[![Youtube Video](https://img.youtube.com/vi/j9kbQucNwlc/maxresdefault.jpg)](https://www.youtube.com/watch?v=j9kbQucNwlc) + +[![Youtube Video](https://img.youtube.com/vi/3Ux7zfCCM1A/maxresdefault.jpg)](https://www.youtube.com/watch?v=3Ux7zfCCM1A) + +[![Youtube Video](https://img.youtube.com/vi/4AwUNy2eztA/maxresdefault.jpg)](https://www.youtube.com/watch?v=4AwUNy2eztA) + +[![Youtube Video](https://img.youtube.com/vi/7mUUCB3kP0E/maxresdefault.jpg)](https://www.youtube.com/watch?v=7mUUCB3kP0E) + +[![Youtube Video](https://img.youtube.com/vi/a5-4u0qFKaE/maxresdefault.jpg)](https://www.youtube.com/watch?v=a5-4u0qFKaE) + +[![Youtube Video](https://img.youtube.com/vi/tV7-06FU4gQ/maxresdefault.jpg)](https://www.youtube.com/watch?v=tV7-06FU4gQ) + +[![Youtube Video](https://img.youtube.com/vi/X2ycbT7rPu4/maxresdefault.jpg)](https://www.youtube.com/watch?v=X2ycbT7rPu4) + +[![Youtube Video](https://img.youtube.com/vi/1jEWUJqL-eo/maxresdefault.jpg)](https://www.youtube.com/watch?v=1jEWUJqL-eo) + +
+ +
+ +
+## French +[![Youtube Video](https://img.youtube.com/vi/aGztk8you6o/maxresdefault.jpg)](https://www.youtube.com/watch?v=aGztk8you6o) +[![Youtube Video](https://img.youtube.com/vi/pQfhWqZh7YE/maxresdefault.jpg)](https://www.youtube.com/watch?v=pQfhWqZh7YE) +
+ +
+## German +[![Youtube Video](https://img.youtube.com/vi/DrDgg-WRA2g/maxresdefault.jpg)](https://www.youtube.com/watch?v=DrDgg-WRA2g) +
+ +
+## Chinese +[![Youtube Video](https://img.youtube.com/vi/DAW15ckt4n4/mqdefault.jpg){: style="width: 100%"}](https://www.youtube.com/watch?v=DAW15ckt4n4) +
+ +
+## Russian +[![Youtube Video](https://img.youtube.com/vi/dk3Cp5ck8mY/maxresdefault.jpg)](https://www.youtube.com/watch?v=dk3Cp5ck8mY) +
+ +
diff --git a/docs/more/development.md b/docs/more/development.md deleted file mode 100644 index 83a2f032..00000000 --- a/docs/more/development.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Development -description: Homepage Development ---- - -## Development Overview - -First, clone the homepage repository. - -For installing NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!): - -```bash -pnpm install -``` - -Start the development server: - -```bash -pnpm dev -``` - -Open [http://localhost:3000](http://localhost:3000) to start. - -This is a [Next.js](https://nextjs.org/) application, see their documentation for more information. - -## Code Linting - -Once dependencies have been installed you can lint your code with - -```bash -pnpm lint -``` - -## Code formatting with pre-commit hooks - -To ensure a consistent style and formatting across the project source, the project utilizes Git [`pre-commit`](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) hooks to perform some formatting and linting before a commit is allowed. - -Once installed, hooks will run when you commit. If the formatting isn't quite right, the commit will be rejected and you'll need to look at the output and fix the issue. Most hooks will automatically format failing files, so all you need to do is `git add` those files again and retry your commit. - -See the [pre-commit documentation](https://pre-commit.com/#install) to get started. - -## New Feature Guidelines - -- New features should be linked to an existing feature request with at least 5 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users. -- If you have ideas for a larger feature, please open a discussion first. - -## Service Widget Guidelines - -To ensure cohesiveness of various widgets, the following should be used as a guide for developing new widgets: - -- Please only submit widgets that have been requested and have at least 5 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users. -- Widgets should be only one row of blocks -- Widgets should be no more than 4 blocks wide -- Minimize the number of API calls -- Avoid the use of custom proxy unless absolutely necessary diff --git a/docs/more/index.md b/docs/more/index.md index 1b817983..402029b3 100644 --- a/docs/more/index.md +++ b/docs/more/index.md @@ -1,6 +1,7 @@ --- title: More description: More homepage resources and guides. +icon: material/information-slab-circle --- Here you'll find resources and guides for Homepage, troubleshooting tips, and more. diff --git a/docs/more/sponsors.md b/docs/more/sponsors.md new file mode 100644 index 00000000..bb877a6c --- /dev/null +++ b/docs/more/sponsors.md @@ -0,0 +1,58 @@ +--- +title: Sponsors +description: Homepage is supported by these awesome people and companies. +--- + +If you would like to support the Homepage project, you can do so by becoming a sponsor. Your sponsorship helps to keep the project running and growing. + +
+ +[:simple-github: GitHub Sponsors](https://github.com/sponsors/gethomepage){ .md-button } + +[:simple-opencollective: OpenCollective](https://opencollective.com/homepage){ .md-button } + +[:simple-patreon: Patreon](https://www.patreon.com/gethomepage){ .md-button .w-full } + +
+ +
+ +These companies help the Homepage project by providing services, tools, and resources. + +
+
+ DigitalOcean +

+ DigitalOcean provides the GitHub Actions runner for the project. Dramatically speeding up the CI/CD process. +

+
+ +
+ Crowdin +

+ Crowdin provides the translation platform for the project. Making it easy to translate the project into multiple languages. +

+
+ +
+ JetBrains +

+ JetBrains provides the project with free licenses for their awesome tools. +

+
+ +
+ BuySellAds +

+ BuySellAds provides the project with the ability to monetize the website, with high quality ads from the CarbonAds network. All earnings are sent directly to the projects OpenCollective. +

+
+
+ + diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 00000000..7150c1b7 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,52 @@ +{% extends "base.html" %} + +{% block header %} +
+ {% include "partials/header.html" %} +{% endblock %} + +{% block site_nav %} + + {% if nav %} + {% if page.meta and page.meta.hide %} + {% set hidden = "hidden" if "navigation" in page.meta.hide %} + {% endif %} + + {% endif %} + + + {% if "toc.integrate" not in features %} + {% if page.meta and page.meta.hide %} + {% set hidden = "hidden" if "toc" in page.meta.hide %} + {% endif %} + + {% endif %} +{% endblock %} diff --git a/docs/scripts/extra.js b/docs/scripts/extra.js deleted file mode 100644 index 8383e85e..00000000 --- a/docs/scripts/extra.js +++ /dev/null @@ -1,35 +0,0 @@ -var glimeScript; -var glimeStyles = []; -document$.subscribe(function () { - if (!glimeScript) { - glimeScript = document.createElement("script"); - glimeScript.setAttribute("src", "https://cdn.glimelab.ai/widget/1.0.0/widget.js"); - glimeScript.setAttribute("onload", "onGlimeLoad()"); - document.head.appendChild(glimeScript); - } else { - var newGlimeStyle = document.createElement("style"); - document.head.appendChild(newGlimeStyle); - var i = 0; - glimeStyles.forEach((rule) => { - newGlimeStyle.sheet.insertRule(rule.cssText, i); - i++; - }); - } -}); - -onGlimeLoad = () => { - window.glime.init("Bl3mlvfCnTnRm5"); - setTimeout(() => { - const sheets = document.styleSheets; - [...sheets].forEach((sheet) => { - if (!sheet.href) { - [...sheet.cssRules].forEach((rule) => { - if (!rule || rule.href || !rule.selectorText) return; - if (rule.selectorText.indexOf(".css-") === 0 || rule.selectorText.indexOf("glime") > -1) { - glimeStyles.push(rule); - } - }); - } - }); - }, 1000); -}; diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index e6bc9bf0..eb1ddd25 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,24 +1,288 @@ +[data-md-color-scheme="slate"] { + --md-hue: 220; + --md-default-bg-color: hsla(0, 0%, 14%, 0.6); + --md-code-bg-color: hsla(0, 0%, 0%, 0.2); +} + +[data-md-color-scheme="default"] { + --md-hue: 220; + --md-default-fg-color--light: white; + --md-default-fg-color--lighter: hsla(0, 0%, 100%, 0.6); + --md-default-bg-color: hsla(0, 0%, 100%, 0.8); + --md-code-bg-color: hsla(0, 0%, 100%, 0.6); + --md-code-bg-color--lighter: hsla(0, 0%, 100%, 0.6); + --md-default-fg-color: white; +} + +[data-md-color-scheme="default"] .md-search__inner { + --md-default-fg-color--light: gray; + --md-default-fg-color--lighter: black; + --md-default-bg-color: hsla(0, 0%, 100%, 0.9); +} + +[data-md-color-scheme="default"] .md-search__inner .md-search__input { + color: var(--md-default-fg-color--light); +} + [data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after { - position: absolute; - top: .3rem; - right: .3rem; - display: block; - padding: .1rem .4rem; - color: var(--md-default-fg-color--lighter); - font-weight: bold; - font-size: .8rem; - border: .05rem solid var(--md-default-fg-color--lighter); - border-radius: .1rem; - content: "/"; - } + position: absolute; + top: 0.3rem; + right: 0.3rem; + display: block; + padding: 0.1rem 0.4rem; + color: var(--md-default-fg-color--lighter); + font-weight: bold; + font-size: 0.8rem; + border: 0.05rem solid var(--md-default-fg-color--lighter); + border-radius: 0.1rem; + content: "/"; +} [data-md-color-scheme="default"][data-md-color-primary="black"] { - [data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after { - color: var(--md-default-bg-color--lighter); - border-color: var(--md-default-bg-color--lighter); - } + [data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after { + color: var(--md-default-bg-color--lighter); + border-color: var(--md-default-bg-color--lighter); + } } -#glimeRoot * { - font-family: var(--md-text-font) !important; +#carbonads { + margin-top: 10px; +} + +#carbon-responsive { + --carbon-padding: 1em; + --carbon-max-char: 20ch; + --carbon-bg-primary: var(--md-default-bg-color) !important; + --carbon-bg-secondary: var(--md-default-fg-color--lightest) !important; + --carbon-text-color: var(--md-typeset-color) !important; +} + +[data-md-color-scheme="default"] .carbon-text { + color: var(--md-code-fg-color) !important; + --carbon-text-color: #313131 !important; +} + +.md-typeset__table { + width: 100%; +} + +.md-typeset table:not([class]) { + display: table; +} + +/* less than 1440px wide */ +@media (max-width: 1440px) { + .md-footer-meta__inner { + justify-content: center; + } +} + +/* less than 740px wide */ +@media (max-width: 740px) { + .md-footer-meta__inner { + justify-content: left; + flex-direction: column; + } + .md-social { + padding-top: 0; + } +} + +.md-header__button.md-logo { + padding: 0; + margin: 0; +} + +.md-header__button.md-logo img, +.md-header__button.md-logo svg { + height: 2rem; +} + +.md-header__topic .md-ellipsis { + display: none; +} + +body { + background-color: transparent !important; + background-image: url("https://raw.githubusercontent.com/gethomepage/homepage/main/docs/assets/blossom_valley.jpg"); + background-size: cover; + background-attachment: fixed; + background-position: center; + color: rgba(255, 255, 255, 0.8); +} + +.md-typeset h1 { + color: #fff; +} + +body[data-md-color-scheme="default"] { + color: rgba(255, 255, 255, 1); +} + +.blur-overlay { + z-index: -1; + position: fixed; + width: 100%; + height: 100%; + background: hsl(0deg 0% 0% / 10%); + backdrop-filter: blur(128px); + -webkit-backdrop-filter: blur(128px); +} + +[data-md-color-scheme="default"] .blur-overlay { + background: hsla(0, 0%, 0%, 0); +} + +.md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link, +.md-nav--secondary .md-nav__title { + background: none; + box-shadow: none; +} + +[data-md-color-scheme="slate"] .md-main, +[data-md-color-scheme="slate"] .md-tabs, +[data-md-color-scheme="slate"] .md-footer { + background-color: hsla(0, 0%, 0%, 0.3); +} + +[data-md-color-scheme="default"] .md-main, +[data-md-color-scheme="default"] .md-tabs, +[data-md-color-scheme="default"] .md-footer { + background-color: hsla(0, 0%, 100%, 0.1); +} + +[data-md-color-scheme="slate"] .md-header { + background-color: hsla(0, 0%, 0%, 0.3); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); +} + +[data-md-color-scheme="default"] .md-header { + background-color: hsla(0, 0%, 100%, 0.1); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); +} + +.md-header:has(.md-search-result__item), +.md-header:has(.md-search__input.focus-visible) { + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; +} + +.md-footer-meta { + background-color: transparent; +} + +[data-md-color-scheme="slate"][data-md-color-primary="black"], +[data-md-color-scheme="default"][data-md-color-primary="black"] { + --md-typeset-a-color: #ffffff; +} + +.md-content__inner a { + text-decoration: underline; + font-weight: bolder; +} + +[data-md-color-scheme="default"] .highlight .p, +[data-md-color-scheme="default"] .highlight .o, +[data-md-color-scheme="default"] .highlight .ow, +[data-md-color-scheme="default"] .highlight .c, +[data-md-color-scheme="default"] .highlight .c1, +[data-md-color-scheme="default"] .highlight .ch, +[data-md-color-scheme="default"] .highlight .cm, +[data-md-color-scheme="default"] .highlight .cs, +[data-md-color-scheme="default"] .highlight .sd { + color: #36464eaa; +} + +[data-md-color-scheme="default"] .md-annotation__index:after { + background-color: #36464ecc; +} + +/* I know this is a farce, but I want it to look nice. */ +.css-9if7bc { + background-color: hsla(0, 0%, 0%, 0.3); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); +} + +@media screen and (max-width: 76.234375em) { + .md-nav--primary, + .md-nav--primary .md-nav { + background-color: hsla(0, 0%, 0%, 0.8); + } +} + +@media screen and (max-width: 76.234375em) { + .md-nav--primary .md-nav__title ~ .md-nav__list { + background-color: hsla(0, 0%, 0%, 0.8); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + } +} + +@media screen and (max-width: 76.234375em) { + .md-nav--primary .md-nav__title { + background-color: hsla(0, 0%, 0%, 0.8); + backdrop-filter: blur(16px); + } +} + +.md-search__scrollwrap { + background-color: hsla(0, 0%, 0%, 0.8); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); +} + +.md-search-result .md-typeset h1 { + color: #fff; +} + +[data-md-color-scheme="default"] .highlight span.filename, +[data-md-color-scheme="default"] .linenodiv a { + color: #36464e; + font-weight: light; +} + +.linenodiv a { + text-decoration: none; +} + +.md-typeset .admonition, +.md-typeset details { + background-color: transparent; +} + +.md-typeset img, +.md-typeset svg, +.md-typeset video { + box-shadow: 0 0 1rem 0.25rem hsla(0, 0%, 0%, 0.1); +} + +.highlight { + box-shadow: 0 0 1rem 0.25rem hsla(0, 0%, 0%, 0.1); +} + +.md-typeset .admonition.tip, +.md-typeset details.tip { + box-shadow: 0 0 1rem 0.25rem hsl(171.83deg 100% 37.45% / 20%); +} + +.md-typeset .admonition.note, +.md-typeset details.note { + box-shadow: 0 0 1rem 0.25rem hsl(214.29deg 100% 37.45% / 20%); +} + +.md-typeset .admonition.warning, +.md-typeset details.warning { + box-shadow: 0 0 1rem 0.25rem hsl(40.91deg 100% 37.45% / 20%); +} + +.md-typeset .admonition.danger, +.md-typeset details.danger { + box-shadow: 0 0 1rem 0.25rem hsl(0deg 100% 37.45% / 20%); +} + +.md-tabs__link { + transform: translateZ(0); } diff --git a/docs/more/troubleshooting.md b/docs/troubleshooting/index.md similarity index 80% rename from docs/more/troubleshooting.md rename to docs/troubleshooting/index.md index a718f927..82a7381c 100644 --- a/docs/more/troubleshooting.md +++ b/docs/troubleshooting/index.md @@ -1,15 +1,11 @@ --- title: Troubleshooting description: Basic Troubleshooting - +icon: material/message-question hide: - navigation --- -## Introducing the Homepage AI Bot - -Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now equipped with a pretty helpful AI-powered bot. The bot has full knowledge of our docs, GitHub issues and discussions and great at answering specific questions about setting up your Homepage. To use the bot, just hit the 'Ask AI' button on any page in our docs or check out the [#ai-support channel on Discord](https://discord.com/channels/1019316731635834932/1177885603552038993)! - ## General Troubleshooting Tips - For API errors, clicking the "API Error Information" button in the widget will usually show some helpful information as to whether the issue is reaching the service host, an authentication issue, etc. @@ -21,7 +17,7 @@ Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now eq All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try: -1. Ensure that you follow the rule mentioned on https://gethomepage.dev/latest/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error. +1. Ensure that you follow the rule mentioned on https://gethomepage.dev/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error. 2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.: diff --git a/docs/widgets/authoring/api.md b/docs/widgets/authoring/api.md new file mode 100644 index 00000000..54927da8 --- /dev/null +++ b/docs/widgets/authoring/api.md @@ -0,0 +1,50 @@ +--- +title: API Guide +description: Get comfortable with making API calls from inside your widget. +--- + +Homepage provides the `useWidgetAPI` hook to help you fetch data from an API. This hook insures that the data is fetched using a proxy, and is critical for security. + +Here is an example of how the `useWidgetAPI` hook looks: + +```js title="Fetch data from the stats endpoint" +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { data, error } = useWidgetAPI(widget, "stats"); +} +``` + +## `useWidgetAPI` + +`useWidgetAPI` takes three possible arguments: + +- `widget`: The widget metadata object. +- `endpoint`: The name of the endpoint to fetch data from. +- `params`: An optional object containing query parameters to pass to the API. + +### `widget` + +The `widget` argument is the metadata object for the widget. It contains information about the API endpoint, proxy handler, and mappings. This object is used by the `useWidgetAPI` hook to fetch data from the API. This is generally passed in as a prop from the parent component. + +### `endpoint` + +The `endpoint` argument is the name of the endpoint to fetch data from. This is [defined in the widget metadata object](metadata.md#endpoint). The `useWidgetAPI` hook uses this argument to determine which endpoint to fetch data from. + +If no endpoint is provided, the `useWidgetAPI` hook will call the API endpoint defined in the widget metadata object directly. + +### `params` + +The `params` argument is an optional object containing query parameters to pass to the API. This is useful for filtering data or passing additional information to the API. This object is passed directly to the API endpoint as query parameters. + +Here is an example of how to use the `params` argument: + +```js title="Fetch data from the stats endpoint with query parameters" +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { data, error } = useWidgetAPI(widget, "stats", { start: "2021-01-01", end: "2021-12-31" }); +} +``` + +The `params` must be [whitelisted in the widget metadata object](metadata.md#params). This is done to prevent arbitrary query parameters from being passed to the API. diff --git a/docs/widgets/authoring/component.md b/docs/widgets/authoring/component.md new file mode 100644 index 00000000..1e20cbbf --- /dev/null +++ b/docs/widgets/authoring/component.md @@ -0,0 +1,102 @@ +--- +title: Component Guide +description: Learn more about the widget component in Homepage, and how to build your widget UI. +--- + +Homepage widgets are built using React components. These components are responsible for fetching data from the API and rendering the widget UI. Homepage provides a set of hooks and utilities to help you build your widget component. + +## A Basic Widget Component + +Here is an example of a basic widget component: + +```js +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + const { widget } = service; + const { data, error } = useWidgetAPI(widget, "info"); + + if (error) { + return ; + } + + if (!data) { + return ( + + + + + + ); + } + + return ( + + + + + + ); +} +``` + +### Breakdown + +We'll cover two sections of the widget component: hooks and components. + +#### Hooks + +**`useTranslation`** + +This hook is used to translate text and numerical content in widgets. Homepage provides a set of helpers to help you localize your widgets. You can learn more about translations in the [Translations Guide](translations.md). + +**`useWidgetAPI`** + +This hook is used to fetch data from the API. We cover this hook in more detail in the [API Guide](api.md). + +#### Components + +Homepage provides a set of components to help you build your widget UI. These components are designed to provide a consistent layout, and all widgets are expected to use these components. + +![Component Sections](../../assets/sections.webp) + +**``** + +This component is a wrapper for the widget. It provides a consistent layout for all widgets. + +```js + +``` + +`service` is a prop that is passed to the widget component. It contains information about the service that the widget is displaying. + +If there is an error fetching data from the API, the `error` prop can be passed to the `Container` component. + +```js + +``` + +**``** + +This component is used to display a key-value pair. It takes a label and value as props. + +```js + +``` + +The `label` prop is used to look up the translation key in the translation files. The `value` prop is used to display the value of the block. To learn more about translations, please refer to the [Translations Guide](translations.md). + +If there is no data available, the `Block` component can be used to display a placeholder layout. + +```js + + + + + +``` diff --git a/docs/widgets/authoring/getting-started.md b/docs/widgets/authoring/getting-started.md new file mode 100644 index 00000000..4b9126ea --- /dev/null +++ b/docs/widgets/authoring/getting-started.md @@ -0,0 +1,64 @@ +--- +title: Getting Started +description: Get started developing for Homepage. +--- + +We'll cover getting homepage up and running on your local machine for development, as well as some guidelines for developing new features and widgets. + +## Development + +First, clone the homepage repository. + +For installing NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!): + +```bash +pnpm install +``` + +Start the development server: + +```bash +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) to start. + +This is a [Next.js](https://nextjs.org/) application, see their documentation for more information. + +## Code Linting + +Once dependencies have been installed you can lint your code with + +```bash +pnpm lint +``` + +## Code formatting with pre-commit hooks + +To ensure a consistent style and formatting across the project source, the project utilizes Git [`pre-commit`](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) hooks to perform some formatting and linting before a commit is allowed. + +Once installed, hooks will run when you commit. If the formatting isn't quite right, the commit will be rejected and you'll need to look at the output and fix the issue. Most hooks will automatically format failing files, so all you need to do is `git add` those files again and retry your commit. + +See the [pre-commit documentation](https://pre-commit.com/#install) to get started. + +## Preferring self-hosted open-source software + +In general, homepage is meant to be a dashboard for 'self-hosted' services and we believe it is a small way we can help showcase this kind of software. While exceptions are made, mostly when there is no viable +self-hosted / open-source alternative, we ask that any widgets, etc. are developed primarily for a self-hosted tool. + +## New Feature Guidelines + +- New features should usually be linked to an existing feature request. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users. +- If you have ideas for a larger feature you may want to open a discussion first. + +## Service Widget Guidelines + +To ensure cohesiveness of various widgets, the following should be used as a guide for developing new widgets: + +- Please only submit widgets that target a feature request discussion with at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users. +- Note that we reserve the right to decline widgets for projects that are very young (eg < ~1y) or those with a small reach (eg low GitHub stars). Again, this is in an effort to keep overall widget maintenance under control. +- Widgets should be only one row of blocks +- Widgets should be no more than 4 blocks wide and generally conform to the styling / design choices of other widgets +- Minimize the number of API calls +- Avoid the use of custom proxy unless absolutely necessary +- Widgets should be 'read-only', as in they should not make write changes using the relevant tool's API. Homepage widgets are designed to surface information, not to be a (usually worse) replacement for the tool itself. diff --git a/docs/widgets/authoring/index.md b/docs/widgets/authoring/index.md new file mode 100644 index 00000000..297629b4 --- /dev/null +++ b/docs/widgets/authoring/index.md @@ -0,0 +1,33 @@ +--- +title: Guides & Tutorials +description: Learn how to create and customize widgets in Homepage. Explore translations, widget components, widget metadata, proxy handlers, and making API calls. +icon: fontawesome/solid/graduation-cap +--- + +Widgets are a core component of Homepage. They are used to display information about your system, services, and environment. + +## Overview + +If you are new to Homepage widgets, and are looking to create a new widget, please follow along with the guide here: [Widget Tutorial](tutorial.md). + +### Translations + +All text and numerical content in widgets should be translated and localized. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage). + +To learn more about translations, please refer to the guide here: [Translations Guide](translations.md). + +### Widget Component + +The widget component is the core of the widget. It is responsible for [fetching data from the API](api.md) and rendering the widget UI. Homepage provides a set of hooks and utilities to help you build your widget component. + +To learn more about widget components, please refer to the guide here: [Component Guide](component.md). + +### Widget Metadata + +Widget metadata defines the configuration of the widget. It defines the API endpoint to fetch data from, the proxy handler to use, and any data mappings. + +To learn more about widget metadata, endpoint and data mapping, please refer to the guide here: [Metadata Guide](metadata.md). + +To learn more about proxy handlers, please refer to the guide here: [Proxies Guide](proxies.md). + +To learn more about making API calls from inside your widget, please refer to the guide here: [API Guide](api.md). diff --git a/docs/widgets/authoring/metadata.md b/docs/widgets/authoring/metadata.md new file mode 100644 index 00000000..63e464e1 --- /dev/null +++ b/docs/widgets/authoring/metadata.md @@ -0,0 +1,310 @@ +--- +title: Metadata Guide +description: Explore all the metadata properties that can be used to configure a widget in Homepage. +--- + +Here, we will go over how to create and configure Homepage widget metadata. Metadata is a JS object that contains information about the widget, such as the API endpoint, proxy handler, and mappings. This metadata is used by Homepage to fetch data from the API and pass it to the widget. + +## Widgets Configuration + +Here are some examples of how to configure a widget's metadata object. + +=== "Basic Example" + + ```js + import genericProxyHandler from "utils/proxy/handlers/generic"; + + const widgetExample = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + stats: { endpoint: "stats" } + }, + }; + ``` + +=== "Advanced Example" + + ```js + import credentialedProxyHandler from "utils/proxy/handlers/credentialed"; + import { asJson, jsonArrayFilter } from "utils/proxy/api-helpers"; + + const widgetExample = { + api: "{url}/api/{endpoint}", + proxyHandler: credentialedProxyHandler, + + mappings: { + stats: { + endpoint: "stats", + validate: ["total", "average"], + params: ["start", "end"], + }, + notices: { + endpoint: "notices", + map: (data) => { + total: asJson(data).length; + }, + }, + warnings: { + endpoint: "notices", + map: (data) => { + total: jsonArrayFilter(data, (alert) => alert.type === "warning").length; + }, + }, + }, + }; + ``` + +A widget's metadata is quite powerful and can be configured in many different ways. + +## Configuration Properties + +### `api` + +The `api` property is a string that represents the URL of the API endpoint that the widget will use to fetch data. The URL can contain placeholders that will be replaced with actual values at runtime. For example, the `{url}` placeholder will be replaced with the URL of the configured widget, and the `{endpoint}` placeholder will be replaced with the value of the `endpoint` property in the `mappings` object. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", +}; +``` + +### `proxyHandler` + +The `proxyHandler` property is a function that will be used to make the API request. Homepage includes some built-in proxy handlers that can be used out of the box: + +Here is an example of the generic proxy handler that makes unauthenticated requests to the specified API endpoint. + +=== "widget.js" + + ```js + const widgetExample = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + }; + ``` + +=== "services.yaml" + + ```yaml + - Services: + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 + ``` + +If you are looking to learn more about proxy handlers, please refer to the guide here: [Proxies Guide](proxies.md). + +### `mappings` + +The `mappings` property is an object that contains information about the API endpoint, such as the endpoint name, validation rules, and parameter names. The `mappings` object can contain multiple endpoints, each with its own configuration. + +!!! note "Security Note" + + The `mappings` or `allowedEndpoints` property is required for the widget to fetch data from more than a static URL. Homepage uses a whitelist approach to ensure that widgets only access allowed endpoints. + +```js +import { asJson } from "utils/proxy/api-helpers"; + +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats?start=...&end=...` + stats: { + endpoint: "stats", + validate: ["total", "average"], + params: ["start", "end"], + }, + // `/api/notices` + notices: { + endpoint: "notices", + map: (data) => { + total: asJson(data).length; + }, + }, + }, +}; +``` + +#### `endpoint` + +The `endpoint` property is a string that represents the name of the API endpoint that the widget will use to fetch data. This value will be used to replace the `{endpoint}` placeholder in the `api` property. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats` + stats: { + endpoint: "stats", + }, + }, +}; +``` + +#### `validate` + +The `validate` property is an array of strings that represent the keys that should be validated in the API response. If the response does not contain all of the specified keys, the widget will not render. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats` + stats: { + endpoint: "stats", + validate: ["total", "average"], + }, + }, +}; +``` + +This configuration will ensure that the API response contains the `total` and `average` keys before the widget is rendered. + +#### `params` + +The `params` property is an array of strings that represent the keys that should be passed as parameters to the API endpoint. These keys will be replaced with the actual values at runtime. + +=== "widget.js" + + ```js + const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats?start=...&end=...` + stats: { + endpoint: "stats", + params: ["start", "end"], + }, + }, + }; + ``` + +=== "component.jsx" + + ```js + const { data: statsData, error: statsError } = useWidgetAPI(widget, "stats", { + start: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000), + end: new Date(), + }); + ``` + +This configuration will pass the `start` and `end` keys as parameters to the API endpoint. The values are passed as an object to the `useWidgetAPI` hook. + +#### `map` + +The `map` property is a function that will be used to transform the API response before it is passed to the widget. This function is passed the raw API response and should return the transformed data. + +```js +import { asJson } from "utils/proxy/api-helpers"; + +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/notices` + notices: { + endpoint: "notices", + map: (data) => { + total: asJson(data).length; + }, + }, + // `/api/notices` + warnings: { + endpoint: "notices", + map: (data) => { + total: asJson(data).filter((alert) => alert.type === "warning").length; + }, + }, + }, +}; +``` + +#### `method` + +The `method` property is a string that represents the HTTP method that should be used to make the API request. The default value is `GET`. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats` + stats: { + endpoint: "stats", + method: "POST", + }, + }, +}; +``` + +#### `headers` + +The `headers` property is an object that contains additional headers that should be included in the API request. If your endpoint requires specific headers, you can include them here. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/stats` + stats: { + endpoint: "stats", + method: "POST", + headers: { + "Content-Type": "application/json", + }, + }, + }, +}; +``` + +#### `body` + +The `body` property is an object that contains the data that should be sent in the request body. This property is only used when the `method` property is set to `POST` or `PUT`. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + mappings: { + // `/api/graphql` + stats: { + endpoint: "graphql", + method: "POST", + body: { + query: ` + query { + stats { + total + average + } + } + `, + }, + headers: { + "Content-Type": "application/json", + }, + }, + }, +}; +``` + +### `allowedEndpoints` + +The `allowedEndpoints` property is a RegExp that represents the allowed endpoints that the widget can use. If the widget tries to access an endpoint that is not allowed, the request will be blocked. + +`allowedEndpoints` can be used when endpoint validation is simple and can be done using a regular expression, and more control is not required. + +!!! note "Security Note" + + The `mappings` or `allowedEndpoints` property is required for the widget to fetch data from more than a static URL. Homepage uses a whitelist approach to ensure that widgets only access allowed endpoints. + +```js +const widgetExample = { + api: "{url}/api/{endpoint}", + allowedEndpoints: /^stats|notices$/, +}; +``` + +This configuration will only allow the widget to access the `stats` and `notices` endpoints. diff --git a/docs/widgets/authoring/proxies.md b/docs/widgets/authoring/proxies.md new file mode 100644 index 00000000..15cdb670 --- /dev/null +++ b/docs/widgets/authoring/proxies.md @@ -0,0 +1,203 @@ +--- +title: Proxies Guide +description: Learn about proxy handlers in Homepage, and how to securely fetch data from an API. +--- + +Homepage includes a set of built-in proxy handlers that can be used to fetch data from an API. We will go over how to use these proxy handlers and briefly cover how to create your own. + +## Available Proxy Handlers + +Homepage comes with a few built-in proxy handlers that can be used to fetch data from an API. These handlers are located in the `utils/proxy/handlers` directory. + +### `genericProxyHandler` + +A proxy handler that makes generally unauthenticated requests to the specified API endpoint. + +```js +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widgetExample = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, +}; +``` + +You can also pass API keys from the widget configuration to the proxy handler, for authenticated requests. + +=== "widget.js" + + ```js + import genericProxyHandler from "utils/proxy/handlers/generic"; + + const widgetExample = { + api: "{url}/api/{endpoint}?key={key}", + proxyHandler: genericProxyHandler, + }; + ``` + +=== "services.yaml" + + ```yaml + # Widget Configuration + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://example.com + key: your-api-key + ``` + +### `credentialedProxyHandler` + +A proxy handler that makes authenticated by setting request headers. Credentials are pulled from the widgets configuration. + +By default the key is passed as an `X-API-Key` header. If you need to pass the key as something else, either add a case to the credentialedProxyHandler or create a new proxy handler. + +=== "widget.js" + + ```js + import credentialedProxyHandler from "utils/proxy/handlers/credentialed"; + + const widgetExample = { + api: "{url}/api/{endpoint}?key={key}", + proxyHandler: credentialedProxyHandler, + }; + ``` + +=== "services.yaml" + + ```yaml + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 + key: your-api-key + ``` + +### `jsonrpcProxyHandler` + +A proxy handler that makes authenticated JSON-RPC requests to the specified API endpoint, either using username + password or an API token. +The endpoint is the method to call and queryParams are used as the parameters. + +=== "component.js" + + ```js + import Container from "components/services/widget/container"; + import useWidgetAPI from "utils/proxy/use-widget-api"; + + export default function Component({ service }) { + const { widget } = service; + + const { data, error } = useWidgetAPI(widget, 'trigger', { "triggerids": "14062", "output": "extend", "selectFunctions": "extend" }); + } + ``` + +=== "widget.js" + + ```js + import jsonrpcProxyHandler from "utils/proxy/handlers/jsonrpc"; + + const widgetExample = { + api: "{url}/api/jsonrpc", + proxyHandler: jsonrpcProxyHandler, + + mappings: { + total: { endpoint: "total" }, + average: { endpoint: "average" }, + trigger: { endpoint: "trigger.get" }, + }, + }; + ``` + +=== "services.yaml" + + ```yaml + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 + username: your-username + password: your-password + ``` + + ```yaml + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 + key: your-api-token + ``` + +### `synologyProxyHandler` + +A proxy handler that makes authenticated requests to the specified Synology API endpoint. This is used exclusively for Synology DSM services. + +=== "widget.js" + + ```js + import synologyProxyHandler from "utils/proxy/handlers/synology"; + + const widgetExample = { + api: "{url}/webapi/{cgiPath}?api={apiName}&version={maxVersion}&method={apiMethod}", + proxyHandler: synologyProxyHandler, + + mappings: { + system_storage: { + apiName: "SYNO.Core.System", + apiMethod: 'info&type="storage"', + endpoint: "system_storage", + } + }, + }; + ``` + +=== "services.yaml" + + ```yaml + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 + username: your-username + password: your-password + ``` + +## Creating a Custom Proxy Handler + +You can create your own proxy handler to fetch data from an API. A proxy handler is a function that takes a configuration object and returns a function that makes the API request. + +The proxy handler function takes three arguments: + +- `req`: The request object. +- `res`: The response object. +- `map`: A function that maps the API response to the widget data. + +The proxy handler function should return a promise that resolves to the API response. + +Here is an example of a simple proxy handler that fetches data from an API and passes it to the widget: + +```js +import createLogger from "utils/logger"; +import { httpProxy } from "utils/proxy/http"; + +const logger = createLogger("customProxyHandler"); + +export default async function customProxyHandler(req, res, map) { + const { url } = req.query; + + const [status, contentType, data] = await httpProxy(url); + + return res.status(status).send(data); +} +``` + +Proxy handlers are a complex topic and require a good understanding of JavaScript and the Homepage codebase. If you are new to Homepage, we recommend using the built-in proxy handlers. diff --git a/docs/widgets/authoring/translations.md b/docs/widgets/authoring/translations.md new file mode 100644 index 00000000..77ad0703 --- /dev/null +++ b/docs/widgets/authoring/translations.md @@ -0,0 +1,88 @@ +--- +title: Translations Guide +description: Tips and tricks for translating and localizing Homepage widgets. +--- + +All text and numerical content in widgets should be translated and localized. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage). + +## Translations + +Homepage uses the [next-i18next](https://github.com/i18next/next-i18next) library to handle translations. This library provides a set of hooks and utilities to help you localize your widgets, and Homepage has extended this library to support additional features. + +=== "component.jsx" + + ```js + import { useTranslation } from "next-i18next"; + + import Container from "components/services/widget/container"; + import Block from "components/services/widget/block"; + + export default function Component() { + const { t } = useTranslation(); + + return ( + + + + + + ); + } + ``` + +## Set up translation strings + +Homepage uses translated and localized strings for **all text and numerical content** in widgets. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage). To add the English translations for your widget, follow these steps: + +Open the `public/locales/en/common.js` file. + +Add a new object for your widget to the bottom of the list, like this: + +```json +"yourwidget": { + "key1": "Value 1", + "key2": "Value 2", + "key3": "Value 3" +} +``` + +!!! note + + Even if you natively speak another language, you should only add English translations. You can then add translations in your native language via [Crowdin](https://crowdin.com/project/gethomepage), once your widget is merged. + +## Common Translations + +Homepage provides a set of common translations that you can use in your widgets. These translations are used to format numerical content, dates, and other common elements. + +### Numbers + +| Key | Translation | Description | +| --------------------- | --------------- | -------------------------------- | +| `common.bytes` | `1,000 B` | Format a number in bytes. | +| `common.bits` | `1,000 bit` | Format a number in bits. | +| `common.bbytes` | `1 KiB` | Format a number in binary bytes. | +| `common.bbits` | `1 Kibit` | Format a number in binary bits. | +| `common.byterate` | `1,000 B/s` | Format a byte rate. | +| `common.bibyterate` | `1 KiB/s` | Format a binary byte rate. | +| `common.bitrate` | `1,000 bit/s` | Format a bit rate. | +| `common.bibitrate` | `1 Kibit/s` | Format a binary bit rate. | +| `common.percent` | `50%` | Format a percentage. | +| `common.number` | `1,000` | Format a number. | +| `common.ms` | `1,000 ms` | Format a number in milliseconds. | +| `common.date` | `2024-01-01` | Format a date. | +| `common.relativeDate` | `1 day ago` | Format a relative date. | +| `common.duration` | `1 day, 1 hour` | Format an duration. | + +### Text + +| Key | Translation | Description | +| ------------------ | ----------- | ------------------ | +| `resources.cpu` | `CPU` | CPU usage. | +| `resources.mem` | `MEM` | Memory usage. | +| `resources.total` | `Total` | Total resource. | +| `resources.free` | `Free` | Free resource. | +| `resources.used` | `Used` | Used resource. | +| `resources.load` | `Load` | Load value. | +| `resources.temp` | `TEMP` | Temperature value. | +| `resources.max` | `Max` | Maximum value. | +| `resources.uptime` | `UP` | Uptime. | diff --git a/docs/widgets/authoring/tutorial.md b/docs/widgets/authoring/tutorial.md new file mode 100644 index 00000000..d9fef90b --- /dev/null +++ b/docs/widgets/authoring/tutorial.md @@ -0,0 +1,273 @@ +--- +title: Widget Tutorial +description: Follow along with this guide to learn how to create a custom widget for Homepage. We'll cover the basic structure of a widget, how to use translations, and how to fetch data from an API. +--- + +In this guide, we'll walk through the process of creating a custom widget for Homepage. We'll cover the basic structure of a widget, how to use translations, and how to fetch data from an API. By the end of this guide, you'll have a solid understanding of how to build your own custom widget. + +**Prerequisites:** + +- Basic knowledge of React and JavaScript +- Familiarity with the Homepage platform +- Understanding of JSON and API interactions + +Throughout this guide, we'll use `yourwidget` as a placeholder for the unique name of your custom widget. Replace `yourwidget` with the actual name of your widget. It should contain only lowercase letters and no spaces. + +This guide makes use of a fake API, which would return a JSON response as such, when called with the `v1/info` endpoint: + +```json +{ "key1": 123, "key2": 456, "key3": 789 } +``` + +## Set up the widget definition + +Create a new folder for your widget in the `src/widgets` directory. Name the folder `yourwidget`. + +Inside the `yourwidget` folder, create a new file named `widget.js`. This file will contain the metadata for your widget. + +Open the `widget.js` file and add the following code: + +```js title="src/widgets/yourwidget/widget.js" +import genericProxyHandler from "utils/proxy/handlers/generic"; // (1)! + +const widget = /* (2)! */ { + api: "{url}/{endpoint}" /* (3)! */, + proxyHandler: genericProxyHandler /* (1)! */, + + mappings: /* (4)! */ { + info: /* (5)! */ { + endpoint: "v1/info" /* (6)! */, + }, + }, +}; + +export default widget; +``` + +1. We import the `genericProxyHandler` from the `utils/proxy/handlers/generic` module. The `genericProxyHandler` is a generic handler that can be used to fetch data from an API. We then assign the `genericProxyHandler` to the `proxyHandler` property of the `widget` object. There are other handlers available that you can use depending on your requirements. You can also create custom handlers if needed. +2. We define a `widget` object that contains the metadata for the widget. +3. The API endpoint to fetch data from. You can use placeholders like `{url}` and `{endpoint}` to dynamically generate the API endpoint based on the widget configuration. +4. An object that contains mappings for different endpoints. Each mapping should have an `endpoint` property that specifies the endpoint to fetch data from. +5. A mapping named `info` that specifies the `v1/info` endpoint to fetch data from. This would be called from the component as such: `#!js useWidgetAPI(widget, "info");` +6. The `endpoint` property of the `info` mapping specifies the endpoint to fetch data from. There are other properties you can pass to the mapping, such as `method`, `headers`, and `body`. + +!!! warning "Important" + + All widgets that fetch data from dynamic endpoints should have either `mappings` or an `allowedEndpoints` property. + +## Including translation strings in your widget + +Refer to the [translations guide](translations.md) for more details. The Homepage community prides itself on being multilingual, and we strongly encourage you to add translations for your widgets. + +## Create the widget component + +Create a new file for your widgets component, named `component.jsx`, in the `src/widgets/yourwidget` directory. We'll build the contents of the `component.jsx` file step by step. + +First, we'll import the necessary dependencies: + +```js title="src/widgets/yourwidget/component.jsx" linenums="1" +import { useTranslation } from "next-i18next"; // (1)! + +import Container from "components/services/widget/container"; // (2)! +import Block from "components/services/widget/block"; // (3)! +import useWidgetAPI from "utils/proxy/use-widget-api"; // (4)! +``` + +1. `#!js useTranslation()` is a hook provided by `next-i18next` that allows us to access the translation strings +2. `#!jsx ` and `#!jsx ` are custom components that we'll use to structure our widget. +3. `#!jsx ` and `#!jsx ` are custom components that we'll use to structure our widget. +4. `#!js useWidgetAPI(widget, endpoint)` is a custom hook that we'll use to fetch data from an API. + +--- + +Next, we'll define a functional component named `Component` that takes a `service` prop. + +```js title="src/widgets/yourwidget/component.jsx" linenums="7" +export default function Component({ service }) {} +``` + +--- + +We grab the helper functions from the `useTranslation` hook. + +```js title="src/widgets/yourwidget/component.jsx" linenums="8" +const { t } = useTranslation(); +``` + +--- + +We destructure the `widget` object from the `service` prop. The `widget` object contains the metadata for the widget, such as the API endpoint to fetch data from. + +```js title="src/widgets/yourwidget/component.jsx" linenums="9" +const { widget } = service; +``` + +--- + +Now, the fun part! We use the `useWidgetAPI` hook to fetch data from an API. The `useWidgetAPI` hook takes two arguments: the `widget` object and the API endpoint to fetch data from. The `useWidgetAPI` hook returns an object with `data` and `error` properties. + +```js title="src/widgets/yourwidget/component.jsx" linenums="10" +const { data, error } = useWidgetAPI(widget, "info"); +``` + +!!! tip "API Tips" + + You'll see here how part of the API url is built using the `url` and `endpoint` properties from the widget definition. + + In this case, we're fetching data from the `info` endpoint. The `info` endpoint is defined in the `mappings` object. So the full API endpoint will be `"{url}/v1/info"`. + + The mapping and endpoint are often the same, but must be defined regardless. + +--- + +Next, we check if there's an error or no data. + +If there's an error, we return a `Container` and pass it the `service` and `error` as props. The `Container` component will handle displaying the error message. + +```js title="src/widgets/yourwidget/component.jsx" linenums="12" +if (error) { + return ; +} +``` + +--- + +If there's no data, we return a `Container` component with three `Block` components, each with a `label`. + +```js title="src/widgets/yourwidget/component.jsx" linenums="16" +if (!data) { + return ( + + + + + + ); +} +``` + +This will render the widget with placeholders for the data, i.e., a skeleton view. + +!!! tip "Translation Tips" + + The `label` prop in the `Block` component corresponds to the translation key we defined earlier in the `common.js` file. All text and numerical content should be translated. + +--- + +If there is data, we return a `Container` component with three `Block` components, each with a `label` and a `value`. + +Here we use the `t` function from the `useTranslation` hook to translate the data values. The `t` function takes the translation key and an object with variables to interpolate into the translation string. + +We're using the `common.number` translation key to format the data values as numbers. This allows for easy localization of numbers, such as using commas or periods as decimal separators. + +There are a large number of `common` numerical translation keys available, which you can learn more about in the [Translation Guide](translations.md). + +```js title="src/widgets/yourwidget/component.jsx" linenums="26" +return ( + + + + + +); +``` + +--- + +Here's the complete `component.jsx` file: + +```js title="src/widgets/yourwidget/component.jsx" linenums="1" +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + const { widget } = service; + const { data, error } = useWidgetAPI(widget, "info"); + + if (error) { + return ; + } + + if (!data) { + return ( + + + + + + ); + } + + return ( + + + + + + ); +} +``` + +## Add the widget to the Homepage + +To add your widget to the Homepage, you need to register it in the `src/widgets/widgets.js` file. + +Open the `src/widgets/widgets.js` file and import the `Component` from your widget's `component.jsx` file. Please keep the alphabetical order. + +```js +// ... +import yourwidget from "./yourwidget/widget"; +// ... +``` + +Add `yourwidget` to the `widgets` object. Please keep the alphabetical order. + +```js +const widgets = { + // ... + yourwidget: yourwidget, + // ... +}; +``` + +You also need to add the widget to the `components` object in the `src/widgets/components.js` file. + +Open the `src/widgets/components.js` file and import the `Component` from your widget's `component.jsx` file. + +Please keep the alphabetical order. + +```js +const components = { + // ... + yourwidget: dynamic(() => import("./yourwidget/component")), + // ... +}; +``` + +## Using the widget + +You can now use your custom widget in your Homepage. Open your `services.yaml` file and add a new service with the `yourwidget` widget. + +```yaml +- Services: + - Your Widget: + icon: yourwidget.svg + href: https://example.com/ + widget: + type: yourwidget + url: http://127.0.0.1:1337 +``` + +!!! tip "API Tips" + + You'll see here how part of the API url is built using the `url` and `endpoint` properties from the widget definition. + + We defined the api endpoint as `"{url}/{endpoint}"`. This is where the `url` is defined. So the full API endpoint will be `http://127.0.0.1:1337/{endpoint}`. + +--- + +That's it! You've successfully created a custom widget for Homepage. If you have any questions or need help, feel free to reach out to the Homepage community for assistance. Happy coding! diff --git a/docs/widgets/index.md b/docs/widgets/index.md index 69f95d02..8b81ee40 100644 --- a/docs/widgets/index.md +++ b/docs/widgets/index.md @@ -1,10 +1,13 @@ --- title: Widgets -description: Homepage info and status widgets. +description: Find information on how to configure specific widgets in Homepage. +icon: material/widgets --- Homepage has two types of widgets: info and service. Below we'll cover each type and how to configure them. +The left navigation of this site contains links to all available widgets. + ## Service Widgets Service widgets are used to display the status of a service, often a web service or API. Services (and their widgets) are defined in your `services.yaml` file. Here's an example: diff --git a/docs/widgets/info/glances.md b/docs/widgets/info/glances.md index e6fc2a61..52c5cf28 100644 --- a/docs/widgets/info/glances.md +++ b/docs/widgets/info/glances.md @@ -12,11 +12,13 @@ The Glances widget allows you to monitor the resources (CPU, memory, storage, te url: http://host.or.ip:port username: user # optional if auth enabled in Glances password: pass # optional if auth enabled in Glances + version: 4 # required only if running glances v4 or higher, defaults to 3 cpu: true # optional, enabled by default, disable by setting to false mem: true # optional, enabled by default, disable by setting to false cputemp: true # disabled by default uptime: true # disabled by default disk: / # disabled by default, use mount point of disk(s) in glances. Can also be a list (see below) + diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk expanded: true # show the expanded view label: MyMachine # optional ``` diff --git a/docs/widgets/info/index.md b/docs/widgets/info/index.md index 52edeaad..961d93a6 100644 --- a/docs/widgets/info/index.md +++ b/docs/widgets/info/index.md @@ -1,4 +1,21 @@ --- title: Info Widgets description: Homepage info widgets. +search: + exclude: true --- + +You can also find a list of all available info widgets in the sidebar navigation. + +- [Date & Time](datetime.md) +- [Glances](glances.md) +- [Greeting](greeting.md) +- [Kubernetes](kubernetes.md) +- [Logo](logo.md) +- [Longhorn](longhorn.md) +- [OpenMeteo](openmeteo.md) +- [OpenWeatherMap](openweathermap.md) +- [Resources](resources.md) +- [Search](search.md) +- [Stocks](stocks.md) +- [UniFi Controller](unifi_controller.md) diff --git a/docs/widgets/info/openmeteo.md b/docs/widgets/info/openmeteo.md index 4cc49e26..fb5bb171 100644 --- a/docs/widgets/info/openmeteo.md +++ b/docs/widgets/info/openmeteo.md @@ -13,6 +13,8 @@ No registration is required at all! See [https://open-meteo.com/en/docs](https:/ timezone: Europe/Kiev # optional units: metric # or imperial cache: 5 # Time in minutes to cache API responses, to stay within limits + format: # optional, Intl.NumberFormat options + maximumFractionDigits: 1 ``` You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS). diff --git a/docs/widgets/info/openweathermap.md b/docs/widgets/info/openweathermap.md index 04733f5d..320d5d85 100644 --- a/docs/widgets/info/openweathermap.md +++ b/docs/widgets/info/openweathermap.md @@ -14,6 +14,8 @@ The free tier "One Call API" is all that's required, you will need to [subscribe provider: openweathermap apiKey: youropenweathermapkey # required only if not using provider, this reveals api key in requests cache: 5 # Time in minutes to cache API responses, to stay within limits + format: # optional, Intl.NumberFormat options + maximumFractionDigits: 1 ``` You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS). diff --git a/docs/widgets/info/resources.md b/docs/widgets/info/resources.md index 35f2177b..19323dc3 100644 --- a/docs/widgets/info/resources.md +++ b/docs/widgets/info/resources.md @@ -9,6 +9,8 @@ The disk path is the path reported by `df` (Mounted On), or the mount point of t The cpu and memory resource information are the container's usage while [glances](glances.md) displays statistics for the host machine on which it is installed. +The resources widget primarily relies on a popular tool called [systeminformation](https://systeminformation.io). Thus, any limitiations of that software apply, for example, BRTFS RAID is not supported for the disk usage. In this case users may want to use the [glances widget](glances.md) instead. + _Note: unfortunately, the package used for getting CPU temp ([systeminformation](https://systeminformation.io)) is not compatible with some setups and will not report any value(s) for CPU temp._ **Any disk you wish to access must be mounted to your container as a volume.** @@ -19,9 +21,12 @@ _Note: unfortunately, the package used for getting CPU temp ([systeminformation] memory: true disk: /disk/mount/path cputemp: true + tempmin: 0 # optional, minimum cpu temp + tempmax: 100 # optional, maximum cpu temp uptime: true units: imperial # only used by cpu temp refresh: 3000 # optional, in ms + diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk ``` You can also pass a `label` option, which allows you to group resources under named sections, diff --git a/docs/widgets/info/search.md b/docs/widgets/info/search.md index a9851bb1..faae6c37 100644 --- a/docs/widgets/info/search.md +++ b/docs/widgets/info/search.md @@ -9,6 +9,7 @@ You can add a search bar to your top widget area that can search using Google, D - search: provider: google # google, duckduckgo, bing, baidu, brave or custom focus: true # Optional, will set focus to the search bar on page load + showSearchSuggestions: true # Optional, will show search suggestions. Defaults to false target: _blank # One of _self, _blank, _parent or _top ``` @@ -17,8 +18,10 @@ or for a custom search: ```yaml - search: provider: custom - url: https://lougle.com/?q= + url: https://www.ecosia.org/search?q= target: _blank + suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= # Optional + showSearchSuggestions: true # Optional ``` multiple providers is also supported via a dropdown (excluding custom): @@ -28,4 +31,25 @@ multiple providers is also supported via a dropdown (excluding custom): provider: [brave, google, duckduckgo] ``` +The response body for the URL provided with the `suggestionUrl` option should look like this: + +```json +[ + "home", + [ + "home depot", + "home depot near me", + "home equity loan", + "homeworkify", + "homedepot.com", + "homebase login", + "home depot credit card", + "home goods" + ] +] +``` + +The first entry of the array contains the search query, the second one is an array of the suggestions. +In the example above, the search query was **home**. + _Added in v0.1.6, updated in 0.6.0_ diff --git a/docs/widgets/info/stocks.md b/docs/widgets/info/stocks.md new file mode 100644 index 00000000..548bedb4 --- /dev/null +++ b/docs/widgets/info/stocks.md @@ -0,0 +1,48 @@ +--- +title: Stocks +description: Stocks Information Widget Configuration +--- + +_(Find the Stocks service widget [here](../services/stocks.md))_ + +The Stocks Information Widget allows you to include basic stock market data in +your Homepage header. The widget includes the current price of a stock, and the +change in price for the day. + +Finnhub.io is currently the only supported provider for the stocks widget. +You can sign up for a free api key at [finnhub.io](https://finnhub.io). +You are encouraged to read finnhub.io's +[terms of service/privacy policy](https://finnhub.io/terms-of-service) before +signing up. The documentation for the endpoint that is utilized can be viewed +[here](https://finnhub.io/docs/api/quote). + +You must set `finnhub` as a provider in your `settings.yaml` like below: + +```yaml +providers: + finnhub: yourfinnhubapikeyhere +``` + +Next, configure the stocks widget in your `widgets.yaml`: + +The information widget allows for up to 8 items in the watchlist. + +```yaml +- stocks: + provider: finnhub + color: true # optional, defaults to true + cache: 1 # optional, default caches results for 1 minute + watchlist: + - GME + - AMC + - NVDA + - AMD + - TSM + - MSFT + - AAPL + - BRK.A +``` + +The above configuration would result in something like this: + +![Example of Stocks Widget](../../assets/widget_stocks_demo.png) diff --git a/docs/widgets/info/unifi_controller.md b/docs/widgets/info/unifi_controller.md index 29188270..b77d8ed0 100644 --- a/docs/widgets/info/unifi_controller.md +++ b/docs/widgets/info/unifi_controller.md @@ -5,11 +5,17 @@ description: Unifi Controller Information Widget Configuration _(Find the Unifi Controller service widget [here](../services/unifi-controller.md))_ -You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use a local account that has at least read privileges. +You can display general connectivity status from your Unifi (Network) Controller. + +!!! + + When authenticating you will want to use a local account that has at least read privileges. An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller. -_Note: If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache._ +!!! hint + + If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache. unifi_infowidget diff --git a/docs/widgets/info/weather.md b/docs/widgets/info/weather.md index 6357f0c0..ab13b673 100644 --- a/docs/widgets/info/weather.md +++ b/docs/widgets/info/weather.md @@ -15,6 +15,8 @@ The free tier is all that's required, you will need to [register](https://www.we units: metric # or imperial apiKey: yourweatherapikey cache: 5 # Time in minutes to cache API responses, to stay within limits + format: # optional, Intl.NumberFormat options + maximumFractionDigits: 1 ``` You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS). diff --git a/docs/widgets/services/adguard-home.md b/docs/widgets/services/adguard-home.md index af922f77..a56d0dd9 100644 --- a/docs/widgets/services/adguard-home.md +++ b/docs/widgets/services/adguard-home.md @@ -3,6 +3,8 @@ title: Adguard Home description: Adguard Home Widget Configuration --- +Learn more about [Adguard Home](https://github.com/AdguardTeam/AdGuardHome). + The username and password are the same as used to login to the web interface. Allowed fields: `["queries", "blocked", "filtered", "latency"]`. diff --git a/docs/widgets/services/argocd.md b/docs/widgets/services/argocd.md new file mode 100644 index 00000000..6a81b8db --- /dev/null +++ b/docs/widgets/services/argocd.md @@ -0,0 +1,33 @@ +--- +title: ArgoCD +description: ArgoCD Widget Configuration +--- + +Learn more about [ArgoCD](https://argo-cd.readthedocs.io/en/stable/). + +Allowed fields (limited to a max of 4): `["apps", "synced", "outOfSync", "healthy", "progressing", "degraded", "suspended", "missing"]` + +```yaml +widget: + type: argocd + url: http://argocd.host.or.ip:port + key: argocdapikey +``` + +You can generate an API key either by creating a bearer token for an existing account, see [Authorization](https://argo-cd.readthedocs.io/en/latest/developer-guide/api-docs/#authorization) (not recommended) or create a new local user account with limited privileges and generate an authentication token for this account. To do this the steps are: + +- [Create a new local user](https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#create-new-user) and give it the `apiKey` capability +- Setup [RBAC configuration](https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/#rbac-configuration) for your the user and give it readonly access to your ArgoCD resources, e.g. by giving it the `role:readonly` role. +- In your ArgoCD project under _Settings / Accounts_ open the newly created account and in the _Tokens_ section click on _Generate New_ to generate an access token, optionally specifying an expiry date. + +If you installed ArgoCD via the official Helm chart, the account creation and rbac config can be achived by overriding these helm values: + +```yaml +configs: + cm: + accounts.readonly: apiKey + rbac: + policy.csv: "g, readonly, role:readonly" +``` + +This creates a new account called `readonly` and attaches the `role:readonly` role to it. diff --git a/docs/widgets/services/atsumeru.md b/docs/widgets/services/atsumeru.md index 77432216..ab110c63 100644 --- a/docs/widgets/services/atsumeru.md +++ b/docs/widgets/services/atsumeru.md @@ -3,6 +3,8 @@ title: Atsumeru description: Atsumeru Widget Configuration --- +Learn more about [Atsumeru](https://github.com/AtsumeruDev/Atsumeru). + Define same username and password that is used for login from web or supported apps Allowed fields: `["series", "archives", "chapters", "categories"]`. diff --git a/docs/widgets/services/audiobookshelf.md b/docs/widgets/services/audiobookshelf.md index 10beec24..96a4efce 100644 --- a/docs/widgets/services/audiobookshelf.md +++ b/docs/widgets/services/audiobookshelf.md @@ -3,6 +3,8 @@ title: Audiobookshelf description: Audiobookshelf Widget Configuration --- +Learn more about [Audiobookshelf](https://github.com/advplyr/audiobookshelf). + You can find your API token by logging into the Audiobookshelf web app as an admin, go to the config โ†’ users page, and click on your account. Allowed fields: `["podcasts", "podcastsDuration", "books", "booksDuration"]` diff --git a/docs/widgets/services/authentik.md b/docs/widgets/services/authentik.md index b3f8cdd6..f4dafd40 100644 --- a/docs/widgets/services/authentik.md +++ b/docs/widgets/services/authentik.md @@ -3,22 +3,23 @@ title: Authentik description: Authentik Widget Configuration --- +Learn more about [Authentik](https://github.com/goauthentik/authentik). + This widget reads the number of active users in the system, as well as logins for the last 24 hours. -You will need to generate an API token for an existing user. To do so follow these steps: +You will need to generate an API token for an existing user under `Admin Portal` > `Directory` > `Tokens & App passwords`. +Make sure to set Intent to "API Token". -1. Navigate to the Authentik Admin Portal -2. Expand Directory, the click Tokens & App passwords -3. Click the Create button -4. Fill out the dialog making sure to set Intent to API Token -5. Click the Create button on the dialog -6. Click the copy button on the far right of the newly created API Token +The account you made the API token for also needs the following **Assigned global permissions** in Authentik: + +- authentik Core -> Can view User (Model: User) +- authentik Events -> Can view Event (Model: Event) Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`. ```yaml widget: type: authentik - url: http://authentik.host.or.ip:22070 + url: http://authentik.host.or.ip:port key: api_token ``` diff --git a/docs/widgets/services/autobrr.md b/docs/widgets/services/autobrr.md index d41d7c32..4828f385 100644 --- a/docs/widgets/services/autobrr.md +++ b/docs/widgets/services/autobrr.md @@ -3,6 +3,8 @@ title: Autobrr description: Autobrr Widget Configuration --- +Learn more about [Autobrr](https://github.com/autobrr/autobrr). + Find your API key under `Settings > API Keys`. Allowed fields: `["approvedPushes", "rejectedPushes", "filters", "indexers"]`. diff --git a/docs/widgets/services/azuredevops.md b/docs/widgets/services/azuredevops.md index 86ad7418..78846115 100644 --- a/docs/widgets/services/azuredevops.md +++ b/docs/widgets/services/azuredevops.md @@ -3,12 +3,14 @@ title: Azure DevOps description: Azure DevOps Widget Configuration --- +Learn more about [Azure DevOps](https://azure.microsoft.com/en-us/products/devops). + This widget has 2 functions: -1. Pipelines: checks if the relevant pipeline is running or not, and if not, reports the last status.\ +1. Pipelines: checks if the relevant pipeline is running or not, and if not, reports the last status.
Allowed fields: `["result", "status"]`. -2. Pull Requests: returns the amount of open PRs, the amount of the PRs you have open, and how many PRs that you open are marked as 'Approved' by at least 1 person and not yet completed.\ +2. Pull Requests: returns the amount of open PRs, the amount of the PRs you have open, and how many PRs that you open are marked as 'Approved' by at least 1 person and not yet completed.
Allowed fields: `["totalPrs", "myPrs", "approved"]`. You will need to generate a personal access token for an existing user, see the [azure documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat) diff --git a/docs/widgets/services/bazarr.md b/docs/widgets/services/bazarr.md index ac1a95c8..86f75800 100644 --- a/docs/widgets/services/bazarr.md +++ b/docs/widgets/services/bazarr.md @@ -3,6 +3,8 @@ title: Bazarr description: Bazarr Widget Configuration --- +Learn more about [Bazarr](https://github.com/morpheus65535/bazarr). + Find your API key under `Settings > General`. Allowed fields: `["missingEpisodes", "missingMovies"]`. diff --git a/docs/widgets/services/beszel.md b/docs/widgets/services/beszel.md new file mode 100644 index 00000000..6a5cc269 --- /dev/null +++ b/docs/widgets/services/beszel.md @@ -0,0 +1,22 @@ +--- +title: Beszel +description: Beszel Widget Configuration +--- + +Learn more about [Beszel](https://github.com/henrygd/beszel) + +The widget has two modes, a single system with detailed info if `systemId` is provided, or an overview of all systems if `systemId` is not provided. + +The `systemID` in the `id` field on the collections page of Beszel. + +Allowed fields for 'overview' mode: `["systems", "up"]` +Allowed fields for a single system: `["name", "status", "updated", "cpu", "memory", "disk", "network"]` + +```yaml +widget: + type: beszel + url: http://beszel.host.or.ip + username: username # email + password: password + systemId: systemId # optional +``` diff --git a/docs/widgets/services/caddy.md b/docs/widgets/services/caddy.md index c85d1d9a..8c088f63 100644 --- a/docs/widgets/services/caddy.md +++ b/docs/widgets/services/caddy.md @@ -3,6 +3,8 @@ title: Caddy description: Caddy Widget Configuration --- +Learn more about [Caddy](https://github.com/caddyserver/caddy). + Allowed fields: `["upstreams", "requests", "requests_failed"]`. ```yaml diff --git a/docs/widgets/services/calibre-web.md b/docs/widgets/services/calibre-web.md index 454e3105..cbf99675 100644 --- a/docs/widgets/services/calibre-web.md +++ b/docs/widgets/services/calibre-web.md @@ -3,6 +3,8 @@ title: Calibre-web description: Calibre-web Widget Configuration --- +Learn more about [Calibre-web](https://github.com/janeczku/calibre-web). + **Note: widget requires calibre-web โ‰ฅ v0.6.21.** Allowed fields: `["books", "authors", "categories", "series"]`. diff --git a/docs/widgets/services/changedetectionio.md b/docs/widgets/services/changedetectionio.md index 060043fd..605f8648 100644 --- a/docs/widgets/services/changedetectionio.md +++ b/docs/widgets/services/changedetectionio.md @@ -3,8 +3,12 @@ title: Changedetection.io description: Changedetection.io Widget Configuration --- +Learn more about [Changedetection.io](https://github.com/dgtlmoon/changedetection.io). + Find your API key under `Settings > API`. +Allowed fields: `["diffsDetected", "totalObserved"]`. + ```yaml widget: type: changedetectionio diff --git a/docs/widgets/services/channelsdvrserver.md b/docs/widgets/services/channelsdvrserver.md index 59edaac5..9dcafa58 100644 --- a/docs/widgets/services/channelsdvrserver.md +++ b/docs/widgets/services/channelsdvrserver.md @@ -3,8 +3,10 @@ title: Channels DVR Server description: Channels DVR Server Widget Configuration --- +Learn more about [Channels DVR Server](https://getchannels.com/dvr-server/). + ```yaml widget: type: channelsdvrserver - url: http://192.168.1.55:8089 + url: http://server.host.or.ip:port ``` diff --git a/docs/widgets/services/cloudflared.md b/docs/widgets/services/cloudflared.md index 663d0d6e..385fd59c 100644 --- a/docs/widgets/services/cloudflared.md +++ b/docs/widgets/services/cloudflared.md @@ -3,6 +3,8 @@ title: Cloudflare Tunnels description: Cloudflare Tunnels Widget Configuration --- +Learn more about [Cloudflare Tunnels](https://www.cloudflare.com/products/tunnel/). + _As of v0.6.10 this widget no longer accepts a Cloudflare global API key (or account email) due to security concerns. Instead, you should setup an API token which only requires the permissions `Account.Cloudflare Tunnel:Read`._ Allowed fields: `["status", "origin_ip"]`. diff --git a/docs/widgets/services/coin-market-cap.md b/docs/widgets/services/coin-market-cap.md index df865047..d57c512c 100644 --- a/docs/widgets/services/coin-market-cap.md +++ b/docs/widgets/services/coin-market-cap.md @@ -3,6 +3,8 @@ title: Coin Market Cap description: Coin Market Cap Widget Configuration --- +Learn more about [Coin Market Cap](https://coinmarketcap.com/api). + Get your API key from your [CoinMarketCap Pro Dashboard](https://pro.coinmarketcap.com/account). Allowed fields: no configurable fields for this widget. diff --git a/docs/widgets/services/crowdsec.md b/docs/widgets/services/crowdsec.md new file mode 100644 index 00000000..da15a478 --- /dev/null +++ b/docs/widgets/services/crowdsec.md @@ -0,0 +1,19 @@ +--- +title: Crowdsec +description: Crowdsec Widget Configuration +--- + +Learn more about [Crowdsec](https://crowdsec.net). + +See the [crowdsec docs](https://docs.crowdsec.net/docs/local_api/intro/#machines) for information about registering a machine, +in most instances you can use the default credentials (`/etc/crowdsec/local_api_credentials.yaml`). + +Allowed fields: `["alerts", "bans"]`. + +```yaml +widget: + type: crowdsec + url: http://crowdsechostorip:port + username: localhost # machine_id in crowdsec + password: password +``` diff --git a/docs/widgets/services/customapi.md b/docs/widgets/services/customapi.md index d392f0a9..c392d942 100644 --- a/docs/widgets/services/customapi.md +++ b/docs/widgets/services/customapi.md @@ -16,6 +16,8 @@ widget: password: password # auth - optional method: GET # optional, e.g. POST headers: # optional, must be object, see below + requestBody: # optional, can be string or object, see below + display: # optional, default to block, see below mappings: - field: key # needs to be YAML string or object label: Field 1 @@ -43,12 +45,29 @@ widget: locale: nl # optional style: short # optional - defaults to "long". Allowed values: `["long", "short", "narrow"]`. numeric: auto # optional - defaults to "always". Allowed values `["always", "auto"]`. + - field: key + label: Field 6 + format: text + additionalField: # optional + field: + hourly: + time: other key + color: theme # optional - defaults to "". Allowed values: `["theme", "adaptive", "black", "white"]`. + format: date # optional + - field: key + label: Number of things in array + format: size + # This (no field) will take the root of the API response, e.g. when APIs return an array: + - label: Number of items + format: size ``` -Supported formats for the values are `text`, `number`, `float`, `percent`, `bytes`, `bitrate`, `date` and `relativeDate`. +Supported formats for the values are `text`, `number`, `float`, `percent`, `bytes`, `bitrate`, `size`, `date` and `relativeDate`. The `dateStyle` and `timeStyle` options of the `date` format are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) and the `style` and `numeric` options of `relativeDate` are passed to [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat). +The `size` format will return the length of the array or string, or the number of keys in an object. This is then formatted as `number`. + ## Example For the following JSON object from the API: @@ -93,7 +112,7 @@ mappings: ## Data Transformation -You can manipulate data with the following tools `remap`, `scale` and `suffix`, for example: +You can manipulate data with the following tools `remap`, `scale`, `prefix` and `suffix`, for example: ```yaml - field: key4 @@ -110,7 +129,42 @@ You can manipulate data with the following tools `remap`, `scale` and `suffix`, label: Power format: float scale: 0.001 # can be number or string e.g. 1/16 - suffix: kW + suffix: "kW" +- field: key6 + label: Price + format: float + prefix: "$" +``` + +## List View + +You can change the default block view to a list view by setting the `display` option to `list`. + +The list view can optionally display an additional field next to the primary field. + +`additionalField`: Similar to `field`, but only used in list view. Displays additional information for the mapping object on the right. + +`field`: Defined the same way as other custom api widget fields. + +`color`: Allowed options: `"theme", "adaptive", "black", "white"`. The option `adaptive` will apply a color using the value of the `additionalField`, green for positive numbers, red for negative numbers. + +```yaml +- field: key + label: Field + format: text + remap: + - value: 0 + to: None + - value: 1 + to: Connected + - any: true # will map all other values + to: Unknown + additionalField: + field: + hourly: + time: key + color: theme + format: date ``` ## Custom Headers @@ -121,3 +175,16 @@ Pass custom headers using the `headers` option, for example: headers: X-API-Token: token ``` + +## Custom Request Body + +Pass custom request body using the `requestBody` option in either a string or object format. Objects will automatically be converted to a JSON string. + +```yaml +requestBody: + foo: bar +# or +requestBody: "{\"foo\":\"bar\"}" +``` + +Both formats result in `{"foo":"bar"}` being sent as the request body. Don't forget to set your `Content-Type` headers! diff --git a/docs/widgets/services/deluge.md b/docs/widgets/services/deluge.md index 9408ea2a..817ae831 100644 --- a/docs/widgets/services/deluge.md +++ b/docs/widgets/services/deluge.md @@ -3,6 +3,8 @@ title: Deluge description: Deluge Widget Configuration --- +Learn more about [Deluge](https://deluge-torrent.org/). + Uses the same password used to login to the webui, see [the deluge FAQ](https://dev.deluge-torrent.org/wiki/Faq#Whatisthedefaultpassword). Allowed fields: `["leech", "download", "seed", "upload"]`. diff --git a/docs/widgets/services/develancacheui.md b/docs/widgets/services/develancacheui.md new file mode 100644 index 00000000..d385fe78 --- /dev/null +++ b/docs/widgets/services/develancacheui.md @@ -0,0 +1,14 @@ +--- +title: DeveLanCacheUI +description: DeveLanCacheUI Widget Configuration +--- + +Learn more about [DeveLanCacheUI](https://github.com/devedse/DeveLanCacheUI_Backend). + +```yaml +widget: + type: develancacheui + url: http://your.develancacheui_backend.host:port +``` + +The url should point to the DeveLanCacheUI Backend (API) diff --git a/docs/widgets/services/diskstation.md b/docs/widgets/services/diskstation.md index 29936d30..55e28355 100644 --- a/docs/widgets/services/diskstation.md +++ b/docs/widgets/services/diskstation.md @@ -3,28 +3,35 @@ title: Synology Disk Station description: Synology Disk Station Widget Configuration --- +Learn more about [Synology Disk Station](https://www.synology.com/en-global/dsm). + Note: the widget is not compatible with 2FA. An optional 'volume' parameter can be supplied to specify which volume's free space to display when more than one volume exists. The value of the parameter must be in form of `volume_N`, e.g. to display free space for volume2, `volume_2` should be set as 'volume' value. If omitted, first returned volume's free space will be shown (not guaranteed to be volume1). Allowed fields: `["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]`. -To access these system metrics you need to connect to the DiskStation with an account that is a member of the default `Administrators` group. That is because these metrics are requested from the API's `SYNO.Core.System` part that is only available to admin users. In order to keep the security impact as small as possible we can set the account in DSM up to limit the user's permissions inside the Synology system. In DSM 7.x, for instance, follow these steps: +To access these system metrics you need to connect to the DiskStation (`DSM`) with an account that is a member of the default `Administrators` group. That is because these metrics are requested from the API's `SYNO.Core.System` part that is only available to admin users. In order to keep the security impact as small as possible we can set the account in DSM up to limit the user's permissions inside the Synology system. In DSM 7.x, for instance, follow these steps: 1. Create a new user, i.e. `remote_stats`. 2. Set up a strong password for the new user 3. Under the `User Groups` tab of the user config dialogue check the box for `Administrators`. 4. On the `Permissions` tab check the top box for `No Access`, effectively prohibiting the user from accessing anything in the shared folders. 5. Under `Applications` check the box next to `Deny` in the header to explicitly prohibit login to all applications. -6. Now _only_ allow login to the `Download Station` application, either by +6. Now _only_ allow login to the `DSM` application, either by - unchecking `Deny` in the respective row, or (if inheriting permission doesn't work because of other group settings) - checking `Allow` for this app, or - checking `By IP` for this app to limit the source of login attempts to one or more IP addresses/subnets. -7. When the `Preview` column shows `Allow` in the `Download Station` row, click `Save`. +7. When the `Preview` column shows `Allow` in the `DSM` row, click `Save`. Now configure the widget with the correct login information and test it. -If you encounter issues during testing, make sure to uncheck the option for automatic blocking due to invalid logins under `Control Panel > Security > Protection`. If desired, this setting can be reactivated once the login is established working. +If you encounter issues during testing: + +1. Make sure to uncheck the option for automatic blocking due to invalid logins under `Control Panel > Security > Protection`. + - If desired, this setting can be reactivated once the login is established working. +2. Login to your Synology DSM with the newly created account and accept terms and conditions. +3. Reattempt ```yaml widget: diff --git a/docs/widgets/services/downloadstation.md b/docs/widgets/services/downloadstation.md index 22bb8da9..5a6d3b2f 100644 --- a/docs/widgets/services/downloadstation.md +++ b/docs/widgets/services/downloadstation.md @@ -3,6 +3,8 @@ title: Synology Download Station description: Synology Download Station Widget Configuration --- +Learn more about [Synology Download Station](https://www.synology.com/en-us/dsm/packages/DownloadStation). + Note: the widget is not compatible with 2FA. Allowed fields: `["leech", "download", "seed", "upload"]`. diff --git a/docs/widgets/services/emby.md b/docs/widgets/services/emby.md index fb922d76..e658d73b 100644 --- a/docs/widgets/services/emby.md +++ b/docs/widgets/services/emby.md @@ -3,6 +3,8 @@ title: Emby description: Emby Widget Configuration --- +Learn more about [Emby](https://github.com/MediaBrowser/Emby). + You can create an API key from inside Emby at `Settings > Advanced > Api Keys`. As of v0.6.11 the widget supports fields `["movies", "series", "episodes", "songs"]`. These blocks are disabled by default but can be enabled with the `enableBlocks` option, and the "Now Playing" feature (enabled by default) can be disabled with the `enableNowPlaying` option. @@ -14,4 +16,7 @@ widget: key: apikeyapikeyapikeyapikeyapikey enableBlocks: true # optional, defaults to false enableNowPlaying: true # optional, defaults to true + enableUser: true # optional, defaults to false + showEpisodeNumber: true # optional, defaults to false + expandOneStreamToTwoRows: false # optional, defaults to true ``` diff --git a/docs/widgets/services/esphome.md b/docs/widgets/services/esphome.md new file mode 100644 index 00000000..07e511e3 --- /dev/null +++ b/docs/widgets/services/esphome.md @@ -0,0 +1,20 @@ +--- +title: ESPHome +description: ESPHome Widget Configuration +--- + +Learn more about [ESPHome](https://esphome.io/). + +Show the number of ESPHome devices based on their state. + +Allowed fields: `["total", "online", "offline", "offline_alt", "unknown"]` (maximum of 4). + +By default ESPHome will only mark devices as `offline` if their address cannot be pinged. If it has an invalid config or its name cannot be resolved (by DNS) its status will be marked as `unknown`. +To group both `offline` and `unknown` devices together, users should use the `offline_alt` field instead. This sums all devices that are _not_ online together. + +```yaml +widget: + type: esphome + url: http://esphome.host.or.ip:port + key: myesphomecookie # only if auth enabled, get the value from a request from the frontend e.g. `authenticated=myesphomecookie` +``` diff --git a/docs/widgets/services/evcc.md b/docs/widgets/services/evcc.md index a3b95ba7..108b6eb4 100644 --- a/docs/widgets/services/evcc.md +++ b/docs/widgets/services/evcc.md @@ -3,6 +3,8 @@ title: EVCC description: EVCC Widget Configuration --- +Learn more about [EVSS](https://github.com/evcc-io/evcc). + Allowed fields: `["pv_power", "grid_power", "home_power", "charge_power]`. ```yaml diff --git a/docs/widgets/services/fileflows.md b/docs/widgets/services/fileflows.md index 2679cbd7..e05ca527 100644 --- a/docs/widgets/services/fileflows.md +++ b/docs/widgets/services/fileflows.md @@ -3,6 +3,8 @@ title: Fileflows description: Fileflows Widget Configuration --- +Learn more about [FileFlows](https://github.com/revenz/FileFlows). + Allowed fields: `["queue", "processing", "processed", "time"]`. ```yaml diff --git a/docs/widgets/services/flood.md b/docs/widgets/services/flood.md index 8585fedb..3aaeb49c 100644 --- a/docs/widgets/services/flood.md +++ b/docs/widgets/services/flood.md @@ -3,6 +3,8 @@ title: Flood description: Flood Widget Configuration --- +Learn more about [Flood](https://github.com/jesec/flood). + Allowed fields: `["leech", "download", "seed", "upload"]`. ```yaml diff --git a/docs/widgets/services/freshrss.md b/docs/widgets/services/freshrss.md index d9e8834f..bc09e6a9 100644 --- a/docs/widgets/services/freshrss.md +++ b/docs/widgets/services/freshrss.md @@ -3,6 +3,8 @@ title: FreshRSS description: FreshRSS Widget Configuration --- +Learn more about [FreshRSS](https://github.com/FreshRSS/FreshRSS). + Please refer to [Enable the API in FreshRSS](https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#enable-the-api-in-freshrss) for the "API password" to be entered in the password field. Allowed fields: `["subscriptions", "unread"]`. diff --git a/docs/widgets/services/frigate.md b/docs/widgets/services/frigate.md new file mode 100644 index 00000000..411c3cc7 --- /dev/null +++ b/docs/widgets/services/frigate.md @@ -0,0 +1,17 @@ +--- +title: Frigate +description: Frigate Widget Configuration +--- + +Learn more about [Frigate](https://frigate.video/). + +Allowed fields: `["cameras", "uptime", "version"]`. + +A recent event listing is disabled by default, but can be enabled with the `enableRecentEvents` option. + +```yaml +widget: + type: frigate + url: http://frigate.host.or.ip:port + enableRecentEvents: true # Optional, defaults to false +``` diff --git a/docs/widgets/services/gamedig.md b/docs/widgets/services/gamedig.md index d287f69a..6e7eb4d5 100644 --- a/docs/widgets/services/gamedig.md +++ b/docs/widgets/services/gamedig.md @@ -3,6 +3,8 @@ title: GameDig description: GameDig Widget Configuration --- +Learn more about [GameDig](https://github.com/gamedig/node-gamedig). + Uses the [GameDig](https://www.npmjs.com/package/gamedig) library to get game server information for any supported server type. Allowed fields (limited to a max of 4): `["status", "name", "map", "currentPlayers", "players", "maxPlayers", "bots", "ping"]`. diff --git a/docs/widgets/services/gatus.md b/docs/widgets/services/gatus.md new file mode 100644 index 00000000..3918b9f3 --- /dev/null +++ b/docs/widgets/services/gatus.md @@ -0,0 +1,12 @@ +--- +title: Gatus +description: Gatus Widget Configuration +--- + +Allowed fields: `["up", "down", "uptime"]`. + +```yaml +widget: + type: gatus + url: http://gatus.host.or.ip:port +``` diff --git a/docs/widgets/services/ghostfolio.md b/docs/widgets/services/ghostfolio.md index 554e6843..42e03bb5 100644 --- a/docs/widgets/services/ghostfolio.md +++ b/docs/widgets/services/ghostfolio.md @@ -3,6 +3,8 @@ title: Ghostfolio description: Ghostfolio Widget Configuration --- +Learn more about [Ghostfolio](https://github.com/ghostfolio/ghostfolio). + Authentication requires manually obtaining a Bearer token which can be obtained by make a POST request to the API e.g. ``` diff --git a/docs/widgets/services/gitea.md b/docs/widgets/services/gitea.md new file mode 100644 index 00000000..140c4ee7 --- /dev/null +++ b/docs/widgets/services/gitea.md @@ -0,0 +1,17 @@ +--- +title: Gitea +description: Gitea Widget Configuration +--- + +Learn more about [Gitea](https://gitea.com). + +API token requires `notifications`, `repository` and `issue` permissions. See the [gitea documentation](https://docs.gitea.com/development/api-usage#generating-and-listing-api-tokens) for details on generating tokens. + +Allowed fields: `["notifications", "issues", "pulls"]`. + +```yaml +widget: + type: gitea + url: http://gitea.host.or.ip:port + key: giteaapitoken +``` diff --git a/docs/widgets/services/gitlab.md b/docs/widgets/services/gitlab.md new file mode 100644 index 00000000..a92434d8 --- /dev/null +++ b/docs/widgets/services/gitlab.md @@ -0,0 +1,20 @@ +--- +title: Gitlab +description: Gitlab Widget Configuration +--- + +Learn more about [Gitlab](https://gitlab.com). + +API requires a personal access token with either `read_api` or `api` permission. See the [gitlab documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) for details on generating one. + +Your Gitlab user ID can be found on [your profile page](https://support.circleci.com/hc/en-us/articles/20761157174043-How-to-find-your-GitLab-User-ID). + +Allowed fields: `["events", "issues", "merges", "projects"]`. + +```yaml +widget: + type: gitlab + url: http://gitlab.host.or.ip:port + key: personal-access-token + user_id: 123456 +``` diff --git a/docs/widgets/services/glances.md b/docs/widgets/services/glances.md index abd756a9..562cf57a 100644 --- a/docs/widgets/services/glances.md +++ b/docs/widgets/services/glances.md @@ -3,6 +3,8 @@ title: Glances description: Glances Widget Configuration --- +Learn more about [Glances](https://github.com/nicolargo/glances). + glances _(Find the Glances information widget [here](../info/glances.md))_ @@ -15,7 +17,11 @@ widget: url: http://glances.host.or.ip:port username: user # optional if auth enabled in Glances password: pass # optional if auth enabled in Glances + version: 4 # required only if running glances v4 or higher, defaults to 3 metric: cpu + diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk + refreshInterval: 5000 # optional - in milliseconds, defaults to 1000 or more, depending on the metric + pointsLimit: 15 # optional, defaults to 15 ``` _Please note, this widget does not need an `href`, `icon` or `description` on its parent service. To achieve the same effect as the examples above, see as an example:_ diff --git a/docs/widgets/services/gluetun.md b/docs/widgets/services/gluetun.md index 362be0c3..44775b15 100644 --- a/docs/widgets/services/gluetun.md +++ b/docs/widgets/services/gluetun.md @@ -3,14 +3,19 @@ title: Gluetun description: Gluetun Widget Configuration --- +Learn more about [Gluetun](https://github.com/qdm12/gluetun). + !!! note Requires [HTTP control server options](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md) to be enabled. By default this runs on port `8000`. Allowed fields: `["public_ip", "region", "country"]`. +To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication). + ```yaml widget: type: gluetun url: http://gluetun.host.or.ip:port + key: gluetunkey # Not required if /v1/publicip/ip endpoint is configured with `auth = none` ``` diff --git a/docs/widgets/services/gotify.md b/docs/widgets/services/gotify.md index 871eefaa..785b55a4 100644 --- a/docs/widgets/services/gotify.md +++ b/docs/widgets/services/gotify.md @@ -3,6 +3,8 @@ title: Gotify description: Gotify Widget Configuration --- +Learn more about [Gotify](https://github.com/gotify/server). + Get a Gotify client token from an existing client or create a new one on your Gotify admin page. Allowed fields: `["apps", "clients", "messages"]`. diff --git a/docs/widgets/services/grafana.md b/docs/widgets/services/grafana.md index bfdebb2c..272cc3ba 100644 --- a/docs/widgets/services/grafana.md +++ b/docs/widgets/services/grafana.md @@ -3,6 +3,8 @@ title: Grafana description: Grafana Widget Configuration --- +Learn more about [Grafana](https://github.com/grafana/grafana). + Allowed fields: `["dashboards", "datasources", "totalalerts", "alertstriggered"]`. ```yaml diff --git a/docs/widgets/services/hdhomerun.md b/docs/widgets/services/hdhomerun.md index c862200e..261ab046 100644 --- a/docs/widgets/services/hdhomerun.md +++ b/docs/widgets/services/hdhomerun.md @@ -3,10 +3,16 @@ title: HDHomerun description: HDHomerun Widget Configuration --- -Allowed fields: `["channels", "hd"]`. +Learn more about [HDHomerun](https://www.silicondust.com/support/downloads/). + +Allowed fields: `["channels", "hd", "tunerCount", "channelNumber", "channelNetwork", "signalStrength", "signalQuality", "symbolQuality", "networkRate", "clientIP" ]`. + +If more than 4 fields are provided, only the first 4 are displayed. ```yaml widget: type: hdhomerun url: http://hdhomerun.host.or.ip + tuner: 0 # optional - defaults to 0, used for tuner-specific fields + fields: ["channels", "hd"] # optional - default fields shown ``` diff --git a/docs/widgets/services/headscale.md b/docs/widgets/services/headscale.md new file mode 100644 index 00000000..c6da54f5 --- /dev/null +++ b/docs/widgets/services/headscale.md @@ -0,0 +1,19 @@ +--- +title: Headscale +description: Headscale Widget Configuration +--- + +Learn more about [Headscale](https://headscale.net/). + +You will need to generate an API access token from the [command line](https://headscale.net/ref/remote-cli/#create-an-api-key) using `headscale apikeys create` command. + +To find your node ID, you can use `headscale nodes list` command. + +Allowed fields: `["name", "address", "last_seen", "status"]`. + +```yaml +widget: + type: headscale + nodeId: nodeid + key: headscaleapiaccesstoken +``` diff --git a/docs/widgets/services/healthchecks.md b/docs/widgets/services/healthchecks.md index b438e153..136d9fe6 100644 --- a/docs/widgets/services/healthchecks.md +++ b/docs/widgets/services/healthchecks.md @@ -3,6 +3,8 @@ title: Health checks description: Health checks Widget Configuration --- +Learn more about [Health Checks](https://github.com/healthchecks/healthchecks). + Specify a single check by including the `uuid` field or show the total 'up' and 'down' for all checks by leaving off the `uuid` field. diff --git a/docs/widgets/services/homeassistant.md b/docs/widgets/services/homeassistant.md index 8d8b04e9..fc98ed88 100644 --- a/docs/widgets/services/homeassistant.md +++ b/docs/widgets/services/homeassistant.md @@ -3,6 +3,8 @@ title: Home Assistant description: Home Assistant Widget Configuration --- +Learn more about [Home Assistant](https://www.home-assistant.io/). + You will need to generate a long-lived access token for an existing Home Assistant user in its profile. Allowed fields: `["people_home", "lights_on", "switches_on"]`. @@ -16,7 +18,7 @@ The `custom` property will have no effect as long as the `fields` property is de - state labels and values can be user defined and may reference entity attributes in curly brackets - if no state label is defined it will default to `"{attributes.friendly_name}"` - if no state value is defined it will default to `"{state} {attributes.unit_of_measurement}"` -- `template` will query the specified template, see (Home Assistant Templating)[https://www.home-assistant.io/docs/configuration/templating] +- `template` will query the specified template, see [Home Assistant Templating](https://www.home-assistant.io/docs/configuration/templating) - if no template label is defined it will be empty ```yaml diff --git a/docs/widgets/services/homebox.md b/docs/widgets/services/homebox.md new file mode 100644 index 00000000..af9ebad5 --- /dev/null +++ b/docs/widgets/services/homebox.md @@ -0,0 +1,23 @@ +--- +title: Homebox +description: Homebox Widget Configuration +--- + +Learn more about [Homebox](https://github.com/hay-kot/homebox). + +Uses the same username and password used to login from the web. + +The `totalValue` field will attempt to format using the currency you have configured in Homebox. + +Allowed fields: `["items", "totalWithWarranty", "locations", "labels", "users", "totalValue"]`. + +If more than 4 fields are provided, only the first 4 are displayed. + +```yaml +widget: + type: homebox + url: http://homebox.host.or.ip:port + username: username + password: password + fields: ["items", "locations", "totalValue"] # optional - default fields shown +``` diff --git a/docs/widgets/services/homebridge.md b/docs/widgets/services/homebridge.md index d71ca93b..1fb64132 100644 --- a/docs/widgets/services/homebridge.md +++ b/docs/widgets/services/homebridge.md @@ -3,6 +3,8 @@ title: Homebridge description: Homebridge --- +Learn more about [Homebridge](https://github.com/homebridge/homebridge). + The Homebridge API is actually provided by the Config UI X plugin that has been included with Homebridge for a while, still it is required to be installed for this widget to work. Allowed fields: `["updates", "child_bridges"]`. diff --git a/docs/widgets/services/immich.md b/docs/widgets/services/immich.md index b6d286c4..4da6e187 100644 --- a/docs/widgets/services/immich.md +++ b/docs/widgets/services/immich.md @@ -3,6 +3,13 @@ title: Immich description: Immich Widget Configuration --- +Learn more about [Immich](https://github.com/immich-app/immich). + +| Immich Version | Homepage Widget Version | +| -------------- | ----------------------- | +| < v1.118 | 1 (default) | +| >= v1.118 | 2 | + Find your API key under `Account Settings > API Keys`. Allowed fields: `["users" ,"photos", "videos", "storage"]`. @@ -14,4 +21,5 @@ widget: type: immich url: http://immich.host.or.ip key: adminapikeyadminapikeyadminapikey + version: 2 # optional, default is 1 ``` diff --git a/docs/widgets/services/index.md b/docs/widgets/services/index.md index b8a41d76..894a31f6 100644 --- a/docs/widgets/services/index.md +++ b/docs/widgets/services/index.md @@ -1,4 +1,141 @@ --- title: Service Widgets description: Homepage service widgets. +search: + exclude: true --- + +You can also find a list of all available service widgets in the sidebar navigation. + +- [Adguard Home](adguard-home.md) +- [ArgoCD](argocd.md) +- [Atsumeru](atsumeru.md) +- [Audiobookshelf](audiobookshelf.md) +- [Authentik](authentik.md) +- [Autobrr](autobrr.md) +- [Azure DevOps](azuredevops.md) +- [Bazarr](bazarr.md) +- [Beszel](beszel.md) +- [Caddy](caddy.md) +- [Calendar](calendar.md) +- [Calibre-Web](calibre-web.md) +- [ChangeDetection.io](changedetectionio.md) +- [Channels DVR Server](channelsdvrserver.md) +- [Cloudflared](cloudflared.md) +- [Coin Market Cap](coin-market-cap.md) +- [CrowdSec](crowdsec.md) +- [Custom API](customapi.md) +- [Deluge](deluge.md) +- [DeveLanCacheUI](develancacheui.md) +- [DiskStation](diskstation.md) +- [DownloadStation](downloadstation.md) +- [Emby](emby.md) +- [ESPHome](esphome.md) +- [EVCC](evcc.md) +- [Fileflows](fileflows.md) +- [Flood](flood.md) +- [FreshRSS](freshrss.md) +- [Frigate](frigate.md) +- [Fritz!Box](fritzbox.md) +- [GameDig](gamedig.md) +- [Gatus](gatus.md) +- [Ghostfolio](ghostfolio.md) +- [Gitea](gitea.md) +- [Gitlab](gitlab.md) +- [Glances](glances.md) +- [Gluetun](gluetun.md) +- [Gotify](gotify.md) +- [Grafana](grafana.md) +- [HDHomeRun](hdhomerun.md) +- [Headscale](headscale.md) +- [Healthchecks](healthchecks.md) +- [Home Assistant](homeassistant.md) +- [HomeBox](homebox.md) +- [Homebridge](homebridge.md) +- [iFrame](iframe.md) +- [Immich](immich.md) +- [Jackett](jackett.md) +- [JDownloader](jdownloader.md) +- [Jellyfin](jellyfin.md) +- [Jellyseerr](jellyseerr.md) +- [Kavita](kavita.md) +- [Komga](komga.md) +- [Kopia](kopia.md) +- [Lidarr](lidarr.md) +- [Linkwarden](linkwarden.md) +- [Lubelogger](lubelogger.md) +- [Mastodon](mastodon.md) +- [Mailcow](mailcow.md) +- [Mealie](mealie.md) +- [Medusa](medusa.md) +- [Mikrotik](mikrotik.md) +- [Minecraft](minecraft.md) +- [Miniflux](miniflux.md) +- [MJpeg](mjpeg.md) +- [Moonraker](moonraker.md) +- [Mylar](mylar.md) +- [MySpeed](myspeed.md) +- [Navidrome](navidrome.md) +- [NetAlertX](netalertx.md) +- [Netdata](netdata.md) +- [Nextcloud](nextcloud.md) +- [NextDNS](nextdns.md) +- [NGINX Proxy Manager](nginx-proxy-manager.md) +- [NZBGet](nzbget.md) +- [OctoPrint](octoprint.md) +- [Omada](omada.md) +- [Ombi](ombi.md) +- [OpenDTU](opendtu.md) +- [OpenMediaVault](openmediavault.md) +- [OpenWRT](openwrt.md) +- [OPNsense](opnsense.md) +- [Overseerr](overseerr.md) +- [PaperlessNGX](paperlessngx.md) +- [Peanut](peanut.md) +- [pfSense](pfsense.md) +- [PhotoPrism](photoprism.md) +- [Pi-hole](pihole.md) +- [PlantIt](plantit.md) +- [Plex & Tautulli](plex-tautulli.md) +- [Plex](plex.md) +- [Portainer](portainer.md) +- [Prometheus](prometheus.md) +- [Prometheus Metric](prometheusmetric.md) +- [Prowlarr](prowlarr.md) +- [Proxmox](proxmox.md) +- [Proxmox Backup Server](proxmoxbackupserver.md) +- [Pterodactyl](pterodactyl.md) +- [PyLoad](pyload.md) +- [qBittorrent](qbittorrent.md) +- [QNAP](qnap.md) +- [Radarr](radarr.md) +- [Readarr](readarr.md) +- [ROMM](romm.md) +- [ruTorrent](rutorrent.md) +- [SABnzbd](sabnzbd.md) +- [Scrutiny](scrutiny.md) +- [Sonarr](sonarr.md) +- [Speedtest Tracker](speedtest-tracker.md) +- [Stash](stash.md) +- [Stocks](stocks.md) +- [SwagDashboard](swagdashboard.md) +- [Syncthing Relay Server](syncthing-relay-server.md) +- [Tailscale](tailscale.md) +- [Tandoor](tandoor.md) +- [Technitium DNS](technitium.md) +- [TDarr](tdarr.md) +- [Traefik](traefik.md) +- [Transmission](transmission.md) +- [TrueNAS](truenas.md) +- [TubeArchivist](tubearchivist.md) +- [UniFi Controller](unifi-controller.md) +- [Unmanic](unmanic.md) +- [Uptime Kuma](uptime-kuma.md) +- [UptimeRobot](uptimerobot.md) +- [UrBackup](urbackup.md) +- [Vikunja](vikunja.md) +- [Watchtower](watchtower.md) +- [WGEasy](wgeasy.md) +- [WhatsUpDocker](whatsupdocker.md) +- [xTeVe](xteve.md) +- [Zabbix](zabbix.md) diff --git a/docs/widgets/services/jackett.md b/docs/widgets/services/jackett.md index 91c58b28..e102743b 100644 --- a/docs/widgets/services/jackett.md +++ b/docs/widgets/services/jackett.md @@ -3,7 +3,9 @@ title: Jackett description: Jackett Widget Configuration --- -Jackett must not have any authentication for the widget to work. +Learn more about [Jackett](https://github.com/Jackett/Jackett). + +If Jackett has an admin password set, you must set the `password` field for the widget to work. Allowed fields: `["configured", "errored"]`. @@ -11,4 +13,5 @@ Allowed fields: `["configured", "errored"]`. widget: type: jackett url: http://jackett.host.or.ip + password: jackettadminpassword # optional ``` diff --git a/docs/widgets/services/jdownloader.md b/docs/widgets/services/jdownloader.md index 31469fb9..0b193fc3 100644 --- a/docs/widgets/services/jdownloader.md +++ b/docs/widgets/services/jdownloader.md @@ -3,6 +3,8 @@ title: JDownloader description: NextPVR Widget Configuration --- +Learn more about [JDownloader](https://jdownloader.org/). + Basic widget to show number of items in download queue, along with the queue size and current download speed. Allowed fields: `["downloadCount", "downloadTotalBytes","downloadBytesRemaining", "downloadSpeed"]`. diff --git a/docs/widgets/services/jellyfin.md b/docs/widgets/services/jellyfin.md index cc961789..b6724a15 100644 --- a/docs/widgets/services/jellyfin.md +++ b/docs/widgets/services/jellyfin.md @@ -3,6 +3,8 @@ title: Jellyfin description: Jellyfin Widget Configuration --- +Learn more about [Jellyfin](https://github.com/jellyfin/jellyfin). + You can create an API key from inside Jellyfin at `Settings > Advanced > Api Keys`. As of v0.6.11 the widget supports fields `["movies", "series", "episodes", "songs"]`. These blocks are disabled by default but can be enabled with the `enableBlocks` option, and the "Now Playing" feature (enabled by default) can be disabled with the `enableNowPlaying` option. @@ -14,4 +16,7 @@ widget: key: apikeyapikeyapikeyapikeyapikey enableBlocks: true # optional, defaults to false enableNowPlaying: true # optional, defaults to true + enableUser: true # optional, defaults to false + showEpisodeNumber: true # optional, defaults to false + expandOneStreamToTwoRows: false # optional, defaults to true ``` diff --git a/docs/widgets/services/jellyseerr.md b/docs/widgets/services/jellyseerr.md index f6e071d8..ad33ca52 100644 --- a/docs/widgets/services/jellyseerr.md +++ b/docs/widgets/services/jellyseerr.md @@ -3,6 +3,8 @@ title: Jellyseerr description: Jellyseerr Widget Configuration --- +Learn more about [Jellyseerr](https://github.com/Fallenbagel/jellyseerr). + Find your API key under `Settings > General > API Key`. Allowed fields: `["pending", "approved", "available"]`. diff --git a/docs/widgets/services/kavita.md b/docs/widgets/services/kavita.md index 59bc91d4..12d40164 100644 --- a/docs/widgets/services/kavita.md +++ b/docs/widgets/services/kavita.md @@ -3,7 +3,9 @@ title: Kavita description: Kavita Widget Configuration --- -Uses the same username and password used to login from the web. +Learn more about [Kavita](https://github.com/Kareadita/Kavita). + +Uses the same admin role username and password used to login from the web. Allowed fields: `["seriesCount", "totalFiles"]`. diff --git a/docs/widgets/services/komga.md b/docs/widgets/services/komga.md index a05f67d9..c9edaeb2 100644 --- a/docs/widgets/services/komga.md +++ b/docs/widgets/services/komga.md @@ -3,6 +3,8 @@ title: Komga description: Komga Widget Configuration --- +Learn more about [Komga](https://github.com/gotson/komga). + Uses the same username and password used to login from the web. Allowed fields: `["libraries", "series", "books"]`. diff --git a/docs/widgets/services/kopia.md b/docs/widgets/services/kopia.md index 00f1ff70..bb324b26 100644 --- a/docs/widgets/services/kopia.md +++ b/docs/widgets/services/kopia.md @@ -3,6 +3,8 @@ title: Kopia description: Kopia Widget Configuration --- +Learn more about [Kopia](https://github.com/kopia/kopia). + Allowed fields: `["status", "size", "lastrun", "nextrun"]`. You may optionally pass values for `snapshotHost` and / or `snapshotPath` to select a specific backup source for the widget. diff --git a/docs/widgets/services/lidarr.md b/docs/widgets/services/lidarr.md index b6c1e34b..3a84152a 100644 --- a/docs/widgets/services/lidarr.md +++ b/docs/widgets/services/lidarr.md @@ -3,6 +3,8 @@ title: Lidarr description: Lidarr Widget Configuration --- +Learn more about [Lidarr](https://github.com/Lidarr/Lidarr). + Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "artists"]`. diff --git a/docs/widgets/services/linkwarden.md b/docs/widgets/services/linkwarden.md new file mode 100644 index 00000000..bef196a9 --- /dev/null +++ b/docs/widgets/services/linkwarden.md @@ -0,0 +1,15 @@ +--- +title: Linkwarden +description: Linkwarden Widget Configuration +--- + +Learn more about [Linkwarden](https://linkwarden.app/). + +Allowed fields: `["links", "collections", "tags"]`. + +```yaml +widget: + type: linkwarden + url: http://linkwarden.host.or.ip + key: myApiKeyHere # On your Linkwarden install, go to Settings > Access Tokens. Generate a token. +``` diff --git a/docs/widgets/services/lubelogger.md b/docs/widgets/services/lubelogger.md new file mode 100644 index 00000000..cf2b6439 --- /dev/null +++ b/docs/widgets/services/lubelogger.md @@ -0,0 +1,20 @@ +--- +title: LubeLogger +description: LubeLogger Widget Configuration +--- + +Learn more about [LubeLogger](https://github.com/hargata/lubelog) (v1.3.7 or higher is required). + +The widget comes in two 'flavors', one shows data for all vehicles or for just a specific vehicle with the `vehicleID` parameter. + +Allowed fields: `["vehicles", "serviceRecords", "reminders"]`. +For the single-vehicle version: `["vehicle", "serviceRecords", "reminders", "nextReminder"]`. + +```yaml +widget: + type: lubelogger + url: https://lubelogger.host.or.ip + username: lubeloggerusername + password: lubeloggerpassword + vehicleID: 1 # optional, changes to single-vehicle version +``` diff --git a/docs/widgets/services/mailcow.md b/docs/widgets/services/mailcow.md new file mode 100644 index 00000000..3cb2ac18 --- /dev/null +++ b/docs/widgets/services/mailcow.md @@ -0,0 +1,15 @@ +--- +title: Mailcow +description: Mailcow Widget Configuration +--- + +Learn more about [Mailcow](https://github.com/mailcow/mailcow-dockerized). + +Allowed fields: `["domains", "mailboxes", "mails", "storage"]`. + +```yaml +widget: + type: mailcow + url: https://mailcow.host.or.ip + key: mailcowapikey +``` diff --git a/docs/widgets/services/mastodon.md b/docs/widgets/services/mastodon.md index 5a0ed703..891115da 100644 --- a/docs/widgets/services/mastodon.md +++ b/docs/widgets/services/mastodon.md @@ -3,6 +3,8 @@ title: Mastodon description: Mastodon Widget Configuration --- +Learn more about [Mastodon](https://github.com/mastodon/mastodon). + Use the base URL of the Mastodon instance you'd like to pull stats for. Does not require authentication as the stats are part of the public API endpoints. Allowed fields: `["user_count", "status_count", "domain_count"]`. diff --git a/docs/widgets/services/mealie.md b/docs/widgets/services/mealie.md index cb7b957f..7fb33503 100644 --- a/docs/widgets/services/mealie.md +++ b/docs/widgets/services/mealie.md @@ -3,6 +3,8 @@ title: Mealie description: Mealie Widget Configuration --- +Learn more about [Mealie](https://github.com/mealie-recipes/mealie). + Generate a user API key under `Profile > Manage Your API Tokens > Generate`. Allowed fields: `["recipes", "users", "categories", "tags"]`. @@ -12,4 +14,5 @@ widget: type: mealie url: http://mealie-frontend.host.or.ip key: mealieapitoken + version: 2 # only required if version > 1, defaults to 1 ``` diff --git a/docs/widgets/services/medusa.md b/docs/widgets/services/medusa.md index d9b37fed..82ec2b53 100644 --- a/docs/widgets/services/medusa.md +++ b/docs/widgets/services/medusa.md @@ -3,6 +3,8 @@ title: Medusa description: Medusa Widget Configuration --- +Learn more about [Medusa](https://github.com/pymedusa/Medusa). + Allowed fields: `["wanted", "queued", "series"]`. ```yaml diff --git a/docs/widgets/services/miniflux.md b/docs/widgets/services/miniflux.md index 0b1dfc87..3f2e29e0 100644 --- a/docs/widgets/services/miniflux.md +++ b/docs/widgets/services/miniflux.md @@ -3,6 +3,8 @@ title: Miniflux description: Miniflux Widget Configuration --- +Learn more about [Miniflux](https://github.com/miniflux/v2). + Api key is found under Settings > API keys Allowed fields: `["unread", "read"]`. diff --git a/docs/widgets/services/mjpeg.md b/docs/widgets/services/mjpeg.md index e0e912d0..b0784ff0 100644 --- a/docs/widgets/services/mjpeg.md +++ b/docs/widgets/services/mjpeg.md @@ -3,7 +3,7 @@ title: MJPEG description: MJPEG Stream Widget Configuration --- -![camera-preview](https://github.com/gethomepage/homepage-docs/assets/82196/dc375ae3-0670-489f-8db6-83ff1f423d12) +![camera-preview](https://github.com/gethomepage/homepage/assets/4887959/dbc388d7-04a6-482c-8f36-f9534689b062) Pass the stream URL from a service like [ยตStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer). diff --git a/docs/widgets/services/moonraker.md b/docs/widgets/services/moonraker.md index e3374e60..2ee1a4e2 100644 --- a/docs/widgets/services/moonraker.md +++ b/docs/widgets/services/moonraker.md @@ -3,6 +3,8 @@ title: Moonraker (Klipper) description: Moonraker (Klipper) Widget Configuration --- +Learn more about [Moonraker](https://github.com/Arksine/moonraker). + Allowed fields: `["printer_state", "print_status", "print_progress", "layers"]`. ```yaml @@ -10,3 +12,12 @@ widget: type: moonraker url: http://moonraker.host.or.ip:port ``` + +If your moonraker instance has an active authorization and your homepage ip isn't whitelisted you need to add your api key ([Authorization Documentation](https://moonraker.readthedocs.io/en/latest/web_api/#authorization)). + +```yaml +widget: + type: moonraker + url: http://moonraker.host.or.ip:port + key: api_keymoonraker +``` diff --git a/docs/widgets/services/mylar.md b/docs/widgets/services/mylar.md index 9ec1397f..f15e7b9b 100644 --- a/docs/widgets/services/mylar.md +++ b/docs/widgets/services/mylar.md @@ -3,6 +3,8 @@ title: Mylar3 description: Mylar3 Widget Configuration --- +Learn more about [Mylar3](https://github.com/mylar3/mylar3). + API must be enabled in Mylar3 settings. Allowed fields: `["series", "issues", "wanted"]`. diff --git a/docs/widgets/services/myspeed.md b/docs/widgets/services/myspeed.md new file mode 100644 index 00000000..1790c9c1 --- /dev/null +++ b/docs/widgets/services/myspeed.md @@ -0,0 +1,15 @@ +--- +title: MySpeed +description: MySpeed Widget Configuration +--- + +Learn more about [MySpeed](https://myspeed.dev/). + +Allowed fields: `["ping", "download", "upload"]`. + +```yaml +widget: + type: myspeed + url: http://myspeed.host.or.ip:port + password: password # only required if password is set +``` diff --git a/docs/widgets/services/navidrome.md b/docs/widgets/services/navidrome.md index bb57f635..9fd43a0f 100644 --- a/docs/widgets/services/navidrome.md +++ b/docs/widgets/services/navidrome.md @@ -3,6 +3,8 @@ title: Navidrome description: Navidrome Widget Configuration --- +Learn more about [Navidrome](https://github.com/navidrome/navidrome). + For detailed information about how to generate the token see http://www.subsonic.org/pages/api.jsp. Allowed fields: no configurable fields for this widget. diff --git a/docs/widgets/services/netalertx.md b/docs/widgets/services/netalertx.md new file mode 100644 index 00000000..1f618182 --- /dev/null +++ b/docs/widgets/services/netalertx.md @@ -0,0 +1,19 @@ +--- +title: NetAlertX +description: NetAlertX (formerly PiAlert) Widget Configuration +--- + +Learn more about [NetAlertX](https://github.com/jokob-sk/NetAlertX). + +_Note that the project was renamed from PiAlert to NetAlertX._ + +Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`. + +If you have enabled a password on your NetAlertX instance, you will need to provide the `SYNC_api_token` as the `key` in your config. + +```yaml +widget: + type: netalertx + url: http://ip:port + key: netalertxsyncapitoken # optional, only if password is enabled +``` diff --git a/docs/widgets/services/netdata.md b/docs/widgets/services/netdata.md index 70acf490..32b4d677 100644 --- a/docs/widgets/services/netdata.md +++ b/docs/widgets/services/netdata.md @@ -3,10 +3,12 @@ title: Netdata description: Netdata Widget Configuration --- +Learn more about [Netdata](https://github.com/netdata/netdata). + Allowed fields: `["warnings", "criticals"]`. ```yaml widget: - type: Netdata + type: netdata url: http://netdata.host.or.ip ``` diff --git a/docs/widgets/services/nextcloud.md b/docs/widgets/services/nextcloud.md index 1e9d53f9..199098b6 100644 --- a/docs/widgets/services/nextcloud.md +++ b/docs/widgets/services/nextcloud.md @@ -3,6 +3,8 @@ title: Nextcloud description: Nextcloud Widget Configuration --- +Learn more about [Nextcloud](https://github.com/nextcloud). + Use username & password, or the `NC-Token` key. Information about the token can be found under **Settings** > **System**. If both are provided, NC-Token will be used. Allowed fields: `["cpuload", "memoryusage", "freespace", "activeusers", "numfiles", "numshares"]`. diff --git a/docs/widgets/services/nextdns.md b/docs/widgets/services/nextdns.md index b646c11d..4fb5a88b 100644 --- a/docs/widgets/services/nextdns.md +++ b/docs/widgets/services/nextdns.md @@ -3,6 +3,8 @@ title: NextDNS description: NextDNS Widget Configuration --- +Learn more about [NextDNS](https://nextdns.io/). + Api key is found under Account > API, profile ID is found under Setup > Endpoints > ID ```yaml diff --git a/docs/widgets/services/nginx-proxy-manager.md b/docs/widgets/services/nginx-proxy-manager.md index dc201627..3b80f8f3 100644 --- a/docs/widgets/services/nginx-proxy-manager.md +++ b/docs/widgets/services/nginx-proxy-manager.md @@ -3,6 +3,8 @@ title: Nginx Proxy Manager description: Nginx Proxy Manager Widget Configuration --- +Learn more about [Nginx Proxy Manager](https://nginxproxymanager.com/). + Login with the same admin username and password used to access the web UI. Allowed fields: `["enabled", "disabled", "total"]`. diff --git a/docs/widgets/services/nzbget.md b/docs/widgets/services/nzbget.md index f069910a..2d7758c9 100644 --- a/docs/widgets/services/nzbget.md +++ b/docs/widgets/services/nzbget.md @@ -3,6 +3,8 @@ title: NZBget description: NZBget Widget Configuration --- +Learn more about [NZBget](https://github.com/nzbget/nzbget). + This widget uses the same authentication method as your browser when logging in (HTTP Basic Auth), and is often referred to as the ControlUsername and ControlPassword inside of Nzbget documentation. Allowed fields: `["rate", "remaining", "downloaded"]`. diff --git a/docs/widgets/services/octoprint.md b/docs/widgets/services/octoprint.md index 7688e13f..c6ddeb07 100644 --- a/docs/widgets/services/octoprint.md +++ b/docs/widgets/services/octoprint.md @@ -3,6 +3,8 @@ title: OctoPrint description: OctoPrintWidget Configuration --- +Learn more about [OctoPrint](https://octoprint.org/). + Allowed fields: `["printer_state", "temp_tool", "temp_bed", "job_completion"]`. ```yaml diff --git a/docs/widgets/services/ombi.md b/docs/widgets/services/ombi.md index de2708d0..ab290244 100644 --- a/docs/widgets/services/ombi.md +++ b/docs/widgets/services/ombi.md @@ -3,6 +3,8 @@ title: Ombi description: Ombi Widget Configuration --- +Learn more about [Ombi](https://github.com/Ombi-app/Ombi). + Find your API key under `Settings > Configuration > General`. Allowed fields: `["pending", "approved", "available"]`. diff --git a/docs/widgets/services/opendtu.md b/docs/widgets/services/opendtu.md index 6a6111cc..9a68a8c3 100644 --- a/docs/widgets/services/opendtu.md +++ b/docs/widgets/services/opendtu.md @@ -3,6 +3,8 @@ title: OpenDTU description: OpenDTU Widget --- +Learn more about [OpenDTU](https://github.com/tbnobody/OpenDTU). + Allowed fields: `["yieldDay", "relativePower", "absolutePower", "limit"]`. ```yaml diff --git a/docs/widgets/services/openmediavault.md b/docs/widgets/services/openmediavault.md index 43ff2dea..a8a26e1f 100644 --- a/docs/widgets/services/openmediavault.md +++ b/docs/widgets/services/openmediavault.md @@ -3,6 +3,8 @@ title: OpenMediaVault description: OpenMediaVault Widget Configuration --- +Learn more about [OpenMediaVault](https://www.openmediavault.org/). + Provides useful information from your OpenMediaVault ```yaml diff --git a/docs/widgets/services/openwrt.md b/docs/widgets/services/openwrt.md new file mode 100644 index 00000000..3759d2b0 --- /dev/null +++ b/docs/widgets/services/openwrt.md @@ -0,0 +1,60 @@ +--- +title: OpenWRT +description: OpenWRT widget configuration +--- + +Learn more about [OpenWRT](https://openwrt.org/). + +Provides information from OpenWRT + +```yaml +widget: + type: openwrt + url: http://host.or.ip + username: homepage + password: pass + interfaceName: eth0 # optional +``` + +## Interface + +Setting `interfaceName` (e.g. eth0) will display information for that particular device, otherwise the widget will display general system info. + +## Authorization + +In order for homepage to access the OpenWRT RPC endpoints you will need to [create an ACL](https://openwrt.org/docs/techref/ubus#acls) and [new user](https://openwrt.org/docs/techref/ubus#authentication) in OpenWRT. + +Create an ACL named `homepage.json` in `/usr/share/rpcd/acl.d/`, the following permissions will suffice: + +```json +{ + "homepage": { + "description": "Homepage widget", + "read": { + "ubus": { + "network.interface.wan": ["status"], + "network.interface.lan": ["status"], + "network.device": ["status"], + "system": ["info"] + } + } + } +} +``` + +Create a `crypt(5)` password hash using the following command in the OpenWRT shell: + +```sh +uhttpd -m "" +``` + +Then add a user that will use the ACL and hashed password in `/etc/config/rpcd`: + +``` +config login + option username 'homepage' + option password '' + list read homepage +``` + +This username and password will be used in Homepage's services.yaml to grant access. diff --git a/docs/widgets/services/opnsense.md b/docs/widgets/services/opnsense.md index 5838cee6..eb6c7c1c 100644 --- a/docs/widgets/services/opnsense.md +++ b/docs/widgets/services/opnsense.md @@ -3,10 +3,12 @@ title: OPNSense description: OPNSense Widget Configuration --- +Learn more about [OPNSense](https://opnsense.org/). + The API key & secret can be generated via the webui by creating a new user at _System/Access/Users_. Ensure "Generate a scrambled password to prevent local database logins for this user" is checked and then edit the effective privileges selecting **only**: - Diagnostics: System Activity -- Status: Traffic Graph +- Status: Traffic Graph / Reporting: Traffic (OPNSENSE 24.7.x) Finally, create a new API key which will download an `apikey.txt` file with your key and secret in it. Use the values as the username and password fields, respectively, in your homepage config. @@ -18,4 +20,5 @@ widget: url: http://opnsense.host.or.ip username: key password: secret + wan: opt1 # optional, defaults to wan ``` diff --git a/docs/widgets/services/overseerr.md b/docs/widgets/services/overseerr.md index 9c2055b3..4d3d6bb1 100644 --- a/docs/widgets/services/overseerr.md +++ b/docs/widgets/services/overseerr.md @@ -3,6 +3,8 @@ title: Overseerr description: Overseerr Widget Configuration --- +Learn more about [Overseerr](https://github.com/sct/overseerr). + Find your API key under `Settings > General`. Allowed fields: `["pending", "approved", "available", "processing"]`. diff --git a/docs/widgets/services/paperlessngx.md b/docs/widgets/services/paperlessngx.md index be5f3af4..b0b12de3 100644 --- a/docs/widgets/services/paperlessngx.md +++ b/docs/widgets/services/paperlessngx.md @@ -3,6 +3,8 @@ title: Paperless-ngx description: Paperless-ngx Widget Configuration --- +Learn more about [Paperless-ngx](https://github.com/paperless-ngx/paperless-ngx). + Use username & password, or the token key. Information about the token can be found in the [Paperless-ngx API documentation](https://docs.paperless-ngx.com/api/#authorization). If both are provided, the token will be used. Allowed fields: `["total", "inbox"]`. diff --git a/docs/widgets/services/peanut.md b/docs/widgets/services/peanut.md index fa6cf6b3..eca349b9 100644 --- a/docs/widgets/services/peanut.md +++ b/docs/widgets/services/peanut.md @@ -3,11 +3,13 @@ title: PeaNUT description: PeaNUT Widget Configuration --- +Learn more about [PeaNUT](https://github.com/Brandawg93/PeaNUT). + This widget adds support for [Network UPS Tools](https://networkupstools.org/) via a third party tool, [PeaNUT](https://github.com/Brandawg93/PeaNUT). The default ups name is `ups`. To configure more than one ups, you must create multiple peanut services. -Allowed fields: `["battery_charge", "ups_load", "ups_status"]` +Allowed fields: `["battery_charge", "ups_load", "ups_status"]`. !!! note diff --git a/docs/widgets/services/pfsense.md b/docs/widgets/services/pfsense.md index 3c35c3be..ad5b40ee 100644 --- a/docs/widgets/services/pfsense.md +++ b/docs/widgets/services/pfsense.md @@ -3,23 +3,39 @@ title: pfSense description: pfSense Widget Configuration --- +Learn more about [pfSense](https://github.com/pfsense/pfsense). + This widget requires the installation of the [pfsense-api](https://github.com/jaredhendrickson13/pfsense-api) which is a 3rd party package for pfSense routers. Once pfSense API is installed, you can set the API to be read-only in System > API > Settings. -Currently the only supported authentication mode is 'Local Database'. +There are two currently supported authentication modes: 'Local Database' and 'API Key' (v2) / 'API Token' (v1). For 'Local Database', use `username` and `password` with the credentials of an admin user. The specifics of using the API key / token depend on the version of the pfSense API, see the config examples below. Do not use both headers and username / password. -WAN interface to monitor can be defined by updating the `wan` param. +The interface to monitor is defined by updating the `wan` parameter. It should be referenced as it is shown under Interfaces > Assignments in pfSense. Load is returned instead of cpu utilization. This is a limitation in the pfSense API due to the complexity of this calculation. This may become available in future versions. Allowed fields: `["load", "memory", "temp", "wanStatus", "wanIP", "disk"]` (maximum of 4) +For version 2: + ```yaml widget: type: pfsense url: http://pfsense.host.or.ip:port - username: user - password: pass + username: user # optional, or API key + password: pass # optional, or API key + headers: # optional, or username/password + X-API-Key: key wan: igb0 + version: 2 # optional, defaults to 1 for api v1 + fields: ["load", "memory", "temp", "wanStatus"] # optional +``` + +For version 1: + +```yaml +headers: # optional, or username/password + Authorization: client_id client_token # obtained from pfSense API +version: 1 ``` diff --git a/docs/widgets/services/photoprism.md b/docs/widgets/services/photoprism.md index 46bf112b..afb39606 100644 --- a/docs/widgets/services/photoprism.md +++ b/docs/widgets/services/photoprism.md @@ -3,12 +3,17 @@ title: PhotoPrism description: PhotoPrism Widget Configuration --- +Learn more about [PhotoPrism](https://github.com/photoprism/photoprism). + +Authentication is possible via [app passwords](https://docs.photoprism.app/user-guide/settings/account/#apps-and-devices) or username/password. + Allowed fields: `["albums", "photos", "videos", "people"]`. ```yaml widget: type: photoprism url: http://photoprism.host.or.ip:port - username: admin - password: password + username: admin # required only if using username/password + password: password # required only if using username/password + key: # required only if using app passwords ``` diff --git a/docs/widgets/services/pialert.md b/docs/widgets/services/pialert.md deleted file mode 100644 index 6c154322..00000000 --- a/docs/widgets/services/pialert.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: PiAlert -description: PiAlert Widget Configuration ---- - -Widget for [PiAlert](https://github.com/jokob-sk/Pi.Alert). - -Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`. - -```yaml -widget: - type: pialert - url: http://ip:port -``` diff --git a/docs/widgets/services/pihole.md b/docs/widgets/services/pihole.md index f0855932..d77b2dfc 100644 --- a/docs/widgets/services/pihole.md +++ b/docs/widgets/services/pihole.md @@ -3,15 +3,16 @@ title: PiHole description: PiHole Widget Configuration --- -As of v2022.12 [PiHole requires the use of an API key](https://pi-hole.net/blog/2022/11/17/upcoming-changes-authentication-for-more-api-endpoints-required/#page-content) if an admin password is set. Older versions do not require any authentication even if the admin uses a password. +Learn more about [PiHole](https://github.com/pi-hole/pi-hole). Allowed fields: `["queries", "blocked", "blocked_percent", "gravity"]`. +Note: by default the "blocked" and "blocked_percent" fields are merged e.g. "1,234 (15%)" but explicitly including the "blocked_percent" field will change them to display separately. + ```yaml widget: type: pihole url: http://pi.hole.or.ip - key: yourpiholeapikey # optional + version: 6 # required if running v6 or higher, defaults to 5 + key: yourpiholeapikey # optional, in v6 can be your password or app password ``` - -_Added in v0.1.0, updated in v0.6.18_ diff --git a/docs/widgets/services/plantit.md b/docs/widgets/services/plantit.md new file mode 100644 index 00000000..f11b942b --- /dev/null +++ b/docs/widgets/services/plantit.md @@ -0,0 +1,17 @@ +--- +title: Plant-it +description: Plant-it Widget Configuration +--- + +Learn more about [Plantit](https://github.com/MDeLuise/plant-it). + +API key can be created from the REST API. + +Allowed fields: `["events", "plants", "photos", "species"]`. + +```yaml +widget: + type: plantit + url: http://plant-it.host.or.ip:port # api port + key: plantit-api-key +``` diff --git a/docs/widgets/services/plex-tautulli.md b/docs/widgets/services/plex-tautulli.md index d6138b6b..9cacdf05 100644 --- a/docs/widgets/services/plex-tautulli.md +++ b/docs/widgets/services/plex-tautulli.md @@ -3,6 +3,8 @@ title: Tautulli (Plex) description: Tautulli Widget Configuration --- +Learn more about [Tautulli](https://github.com/Tautulli/Tautulli). + Provides detailed information about currently active streams. You can find the API key from inside Tautulli at `Settings > Web Interface > API`. Allowed fields: no configurable fields for this widget. @@ -12,4 +14,7 @@ widget: type: tautulli url: http://tautulli.host.or.ip key: apikeyapikeyapikeyapikeyapikey + enableUser: true # optional, defaults to false + showEpisodeNumber: true # optional, defaults to false + expandOneStreamToTwoRows: false # optional, defaults to true ``` diff --git a/docs/widgets/services/plex.md b/docs/widgets/services/plex.md index 996d20b9..193158b3 100644 --- a/docs/widgets/services/plex.md +++ b/docs/widgets/services/plex.md @@ -3,6 +3,8 @@ title: Plex description: Plex Widget Configuration --- +Learn more about [Plex](https://www.plex.tv/). + The core Plex API is somewhat limited but basic info regarding library sizes and the number of active streams is supported. For more detailed info regarding active streams see the [Plex Tautulli widget](plex-tautulli.md). Allowed fields: `["streams", "albums", "movies", "tv"]`. diff --git a/docs/widgets/services/portainer.md b/docs/widgets/services/portainer.md index 55e854b0..f18d4eec 100644 --- a/docs/widgets/services/portainer.md +++ b/docs/widgets/services/portainer.md @@ -3,6 +3,8 @@ title: Portainer description: Portainer Widget Configuration --- +Learn more about [Portainer](https://github.com/portainer/portainer). + You'll need to make sure you have the correct environment set for the integration to work properly. From the Environments section inside of Portainer, click the one you'd like to connect to and observe the ID at the end of the URL (should be), something like `#!/endpoints/1`, here `1` is the value to set as the `env` value. In order to generate an API key, please follow the steps outlined here https://docs.portainer.io/api/access. Allowed fields: `["running", "stopped", "total"]`. diff --git a/docs/widgets/services/prometheus.md b/docs/widgets/services/prometheus.md index 2b15d861..beb04b5e 100644 --- a/docs/widgets/services/prometheus.md +++ b/docs/widgets/services/prometheus.md @@ -3,7 +3,9 @@ title: Prometheus description: Prometheus Widget Configuration --- -Allowed fields: `["targets_up", "targets_down", "targets_total"]` +Learn more about [Prometheus](https://github.com/prometheus/prometheus). + +Allowed fields: `["targets_up", "targets_down", "targets_total"]`. ```yaml widget: diff --git a/docs/widgets/services/prometheusmetric.md b/docs/widgets/services/prometheusmetric.md new file mode 100644 index 00000000..19397aa7 --- /dev/null +++ b/docs/widgets/services/prometheusmetric.md @@ -0,0 +1,67 @@ +--- +title: Prometheus Metric +description: Prometheus Metric Widget Configuration +--- + +Learn more about [Querying Prometheus](https://prometheus.io/docs/prometheus/latest/querying/basics/). + +This widget can show metrics for your service defined by PromQL queries which are requested from a running Prometheus instance. + +Quries can be defined in the `metrics` array of the widget along with a label to be used to present the metric value. You can optionally specify a global `refreshInterval` in milliseconds and/or define the `refreshInterval` per metric. Inside the optional `format` object of a metric various formatting styles and transformations can be applied (see below). + +```yaml +widget: + type: prometheusmetric + url: https://prometheus.host.or.ip + refreshInterval: 10000 # optional - in milliseconds, defaults to 10s + metrics: + - label: Metric 1 + query: alertmanager_alerts{state="active"} + - label: Metric 2 + query: apiserver_storage_size_bytes{node="mynode"} + format: + type: bytes + - label: Metric 3 + query: avg(prometheus_notifications_latency_seconds) + format: + type: number + suffix: s + options: + maximumFractionDigits: 4 + - label: Metric 4 + query: time() + refreshInterval: 1000 # will override global refreshInterval + format: + type: date + scale: 1000 + options: + timeStyle: medium +``` + +## Formatting + +Supported values for `format.type` are `text`, `number`, `percent`, `bytes`, `bits`, `bbytes`, `bbits`, `byterate`, `bibyterate`, `bitrate`, `bibitrate`, `date`, `duration`, `relativeDate`, and `text` which is the default. + +The `dateStyle` and `timeStyle` options of the `date` format are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) and the `style` and `numeric` options of `relativeDate` are passed to [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat). For the `number` format, options of [Intl.NumberFormat](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat) can be used, e.g. `maximumFractionDigits` or `minimumFractionDigits`. + +### Data Transformation + +You can manipulate your metric value with the following tools: `scale`, `prefix` and `suffix`, for example: + +```yaml +- query: my_custom_metric{} + label: Metric 1 + format: + type: number + scale: 1000 # multiplies value by a number or fraction string e.g. 1/16 +- query: my_custom_metric{} + label: Metric 2 + format: + type: number + prefix: "$" # prefixes value with given string +- query: my_custom_metric{} + label: Metric 3 + format: + type: number + suffix: "โ‚ฌ" # suffixes value with given string +``` diff --git a/docs/widgets/services/prowlarr.md b/docs/widgets/services/prowlarr.md index 0b22b33b..cf6a800b 100644 --- a/docs/widgets/services/prowlarr.md +++ b/docs/widgets/services/prowlarr.md @@ -3,6 +3,8 @@ title: Prowlarr description: Prowlarr Widget Configuration --- +Learn more about [Prowlarr](https://github.com/Prowlarr/Prowlarr). + Find your API key under `Settings > General`. Allowed fields: `["numberOfGrabs", "numberOfQueries", "numberOfFailGrabs", "numberOfFailQueries"]`. diff --git a/docs/widgets/services/proxmox.md b/docs/widgets/services/proxmox.md index 3a42e445..080dc17c 100644 --- a/docs/widgets/services/proxmox.md +++ b/docs/widgets/services/proxmox.md @@ -3,26 +3,28 @@ title: Proxmox description: Proxmox Widget Configuration --- +Learn more about [Proxmox](https://www.proxmox.com/en/). + This widget shows the running and total counts of both QEMU VMs and LX Containers in the Proxmox cluster. It also shows the CPU and memory usage of the first node in the cluster. You will need to generate an API Token for new or an existing user. Here is an example of how to do this for a new user. -1. Navigate to the Proxmox portal, click on Datacenter -2. Expand Permissions, click on Groups -3. Click the Create button -4. Name the group something informative, like api-ro-users -5. Click on the Permissions "folder" -6. Click Add -> Group Permission - - Path: / - - Group: group from bullet 4 above - - Role: PVEAuditor - - Propagate: Checked -7. Expand Permissions, click on Users -8. Click the Add button - - User name: something informative like `api` - - Realm: Linux PAM standard authentication - - Group: group from bullet 4 above -9. Expand Permissions, click on API Tokens +1. Navigate to the Proxmox portal, click on Datacenter +2. Expand Permissions, click on Groups +3. Click the Create button +4. Name the group something informative, like api-ro-users +5. Click on the Permissions "folder" +6. Click Add -> Group Permission + - Path: / + - Group: group from bullet 4 above + - Role: PVEAuditor + - Propagate: Checked +7. Expand Permissions, click on Users +8. Click the Add button + - User name: something informative like `api` + - Realm: Linux PAM standard authentication + - Group: group from bullet 4 above +9. Expand Permissions, click on API Tokens 10. Click the Add button - User: user from bullet 8 above - Token ID: something informative like the application or purpose like `homepage` diff --git a/docs/widgets/services/proxmoxbackupserver.md b/docs/widgets/services/proxmoxbackupserver.md index 912e7440..041a872f 100644 --- a/docs/widgets/services/proxmoxbackupserver.md +++ b/docs/widgets/services/proxmoxbackupserver.md @@ -3,6 +3,8 @@ title: Proxmox Backup Server description: Proxmox Backup Server Widget Configuration --- +Learn more about [Proxmox Backup Server](https://www.proxmox.com/en/proxmox-backup-server/overview). + Allowed fields: `["datastore_usage", "failed_tasks_24h", "cpu_usage", "memory_usage"]`. ```yaml diff --git a/docs/widgets/services/pterodactyl.md b/docs/widgets/services/pterodactyl.md index 90084253..abf5899b 100644 --- a/docs/widgets/services/pterodactyl.md +++ b/docs/widgets/services/pterodactyl.md @@ -3,7 +3,9 @@ title: Pterodactyl description: Pterodactyl Widget Configuration --- -Allowed fields: `["nodes", "servers"]` +Learn more about [Pterodactyl](https://github.com/pterodactyl). + +Allowed fields: `["nodes", "servers"]`. ```yaml widget: diff --git a/docs/widgets/services/pyload.md b/docs/widgets/services/pyload.md index b35c639a..3a37d083 100644 --- a/docs/widgets/services/pyload.md +++ b/docs/widgets/services/pyload.md @@ -3,6 +3,8 @@ title: Pyload description: Pyload Widget Configuration --- +Learn more about [Pyload](https://github.com/pyload/pyload). + Allowed fields: `["speed", "active", "queue", "total"]`. ```yaml diff --git a/docs/widgets/services/qbittorrent.md b/docs/widgets/services/qbittorrent.md index 28b9ee5f..d60785e7 100644 --- a/docs/widgets/services/qbittorrent.md +++ b/docs/widgets/services/qbittorrent.md @@ -3,6 +3,8 @@ title: qBittorrent description: qBittorrent Widget Configuration --- +Learn more about [qBittorrent](https://github.com/qbittorrent/qBittorrent). + Uses the same username and password used to login from the web. Allowed fields: `["leech", "download", "seed", "upload"]`. diff --git a/docs/widgets/services/qnap.md b/docs/widgets/services/qnap.md index 6cb950f9..9ae06b62 100644 --- a/docs/widgets/services/qnap.md +++ b/docs/widgets/services/qnap.md @@ -3,6 +3,8 @@ title: QNAP description: QNAP Widget Configuration --- +Learn more about [QNAP](https://www.qnap.com). + Allowed fields: `["cpuUsage", "memUsage", "systemTempC", "poolUsage", "volumeUsage"]`. ```yaml diff --git a/docs/widgets/services/radarr.md b/docs/widgets/services/radarr.md index 7782c2ae..d3931a14 100644 --- a/docs/widgets/services/radarr.md +++ b/docs/widgets/services/radarr.md @@ -3,6 +3,8 @@ title: Radarr description: Radarr Widget Configuration --- +Learn more about [Radarr](https://github.com/Radarr/Radarr). + Find your API key under `Settings > General`. Allowed fields: `["wanted", "missing", "queued", "movies"]`. diff --git a/docs/widgets/services/readarr.md b/docs/widgets/services/readarr.md index c8c314d1..0d045ee5 100644 --- a/docs/widgets/services/readarr.md +++ b/docs/widgets/services/readarr.md @@ -3,6 +3,8 @@ title: Readarr description: Readarr Widget Configuration --- +Learn more about [Readarr](https://github.com/Readarr/Readarr). + Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "books"]`. diff --git a/docs/widgets/services/romm.md b/docs/widgets/services/romm.md index 6e0f20ec..6bde1377 100644 --- a/docs/widgets/services/romm.md +++ b/docs/widgets/services/romm.md @@ -3,12 +3,14 @@ title: Romm description: Romm Widget Configuration --- -Allowed fields: `["platforms", "totalRoms"]`. +Allowed fields: `["platforms", "totalRoms", "saves", "states", "screenshots", "totalfilesize"]`. +If more than (4) fields are provided, only the first (4) will be used. ```yaml widget: - type: Romm + type: romm url: http://romm.host.or.ip username: username # optional password: password # optional + fields: ["platforms", "totalRoms", "saves", "states"] # optional - default fields shown ``` diff --git a/docs/widgets/services/rutorrent.md b/docs/widgets/services/rutorrent.md index 33b54293..76b194a8 100644 --- a/docs/widgets/services/rutorrent.md +++ b/docs/widgets/services/rutorrent.md @@ -3,6 +3,8 @@ title: ruTorrent description: ruTorrent Widget Configuration --- +Learn more about [ruTorrent](https://github.com/Novik/ruTorrent). + This requires the `httprpc` plugin to be installed and enabled, and is part of the default ruTorrent plugins. If you have not explicitly removed or disable this plugin, it should be available. Allowed fields: `["active", "upload", "download"]`. diff --git a/docs/widgets/services/sabnzbd.md b/docs/widgets/services/sabnzbd.md index d78ee22e..90392a53 100644 --- a/docs/widgets/services/sabnzbd.md +++ b/docs/widgets/services/sabnzbd.md @@ -3,6 +3,8 @@ title: SABnzbd description: SABnzbd Widget Configuration --- +Learn more about [SABnzbd](https://github.com/sabnzbd/sabnzbd). + Find your API key under `Config > General`. Allowed fields: `["rate", "queue", "timeleft"]`. diff --git a/docs/widgets/services/scrutiny.md b/docs/widgets/services/scrutiny.md index bcdfd2dd..98f62a4e 100644 --- a/docs/widgets/services/scrutiny.md +++ b/docs/widgets/services/scrutiny.md @@ -3,6 +3,8 @@ title: Scrutiny description: Scrutiny Widget Configuration --- +Learn more about [Scrutiny](https://github.com/AnalogJ/scrutiny). + Allowed fields: `["passed", "failed", "unknown"]`. ```yaml diff --git a/docs/widgets/services/sonarr.md b/docs/widgets/services/sonarr.md index 0f4102bf..8f5a992a 100644 --- a/docs/widgets/services/sonarr.md +++ b/docs/widgets/services/sonarr.md @@ -3,6 +3,8 @@ title: Sonarr description: Sonarr Widget Configuration --- +Learn more about [Sonarr](https://github.com/Sonarr/Sonarr). + Find your API key under `Settings > General`. Allowed fields: `["wanted", "queued", "series"]`. diff --git a/docs/widgets/services/speedtest-tracker.md b/docs/widgets/services/speedtest-tracker.md index 35eeabc5..99b5b993 100644 --- a/docs/widgets/services/speedtest-tracker.md +++ b/docs/widgets/services/speedtest-tracker.md @@ -3,6 +3,9 @@ title: Speedtest Tracker description: Speedtest Tracker Widget Configuration --- +Learn more about [Speedtest Tracker](https://github.com/alexjustesen/speedtest-tracker). or +[Speedtest Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker) + No extra configuration is required. This widget is compatible with both [alexjustesen/speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker) and [henrywhitaker3/Speedtest-Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker). @@ -13,4 +16,5 @@ Allowed fields: `["download", "upload", "ping"]`. widget: type: speedtest url: http://speedtest.host.or.ip + bitratePrecision: 3 # optional, default is 0 ``` diff --git a/docs/widgets/services/spoolman.md b/docs/widgets/services/spoolman.md new file mode 100644 index 00000000..5baa9268 --- /dev/null +++ b/docs/widgets/services/spoolman.md @@ -0,0 +1,15 @@ +--- +title: Spoolman +description: Spoolman Widget Configuration +--- + +Learn more about [Spoolman](https://github.com/Donkie/Spoolman). + +4 spools are displayed by default. If more than 4 spools are configured in spoolman you can use the spoolIds configuration option to control which are displayed. + +```yaml +widget: + type: spoolman + url: http://spoolman.host.or.ip + spoolIds: [1, 2, 3, 4] # optional +``` diff --git a/docs/widgets/services/stash.md b/docs/widgets/services/stash.md new file mode 100644 index 00000000..b2d3e0ef --- /dev/null +++ b/docs/widgets/services/stash.md @@ -0,0 +1,20 @@ +--- +title: Stash +description: Stash Widget Configuration +--- + +Learn more about [Stash](https://github.com/stashapp/stash). + +Find your API key from inside Stash at `Settings > Security > API Key`. Note that the API key is only required if your Stash instance has login credentials. + +Allowed fields: `["scenes", "scenesPlayed", "playCount", "playDuration", "sceneSize", "sceneDuration", "images", "imageSize", "galleries", "performers", "studios", "movies", "tags", "oCount"]`. + +If more than 4 fields are provided, only the first 4 are displayed. + +```yaml +widget: + type: stash + url: http://stash.host.or.ip + key: stashapikey + fields: ["scenes", "images"] # optional - default fields shown +``` diff --git a/docs/widgets/services/stocks.md b/docs/widgets/services/stocks.md new file mode 100644 index 00000000..5d64c9ac --- /dev/null +++ b/docs/widgets/services/stocks.md @@ -0,0 +1,50 @@ +--- +title: Stocks +description: Stocks Service Widget Configuration +--- + +_(Find the Stocks information widget [here](../info/stocks.md))_ + +The widget includes: + +- US stock market status +- Current price of provided stock symbol +- Change in price of stock symbol for the day. + +Finnhub.io is currently the only supported provider for the stocks widget. +You can sign up for a free api key at [finnhub.io](https://finnhub.io). +You are encouraged to read finnhub.io's +[terms of service/privacy policy](https://finnhub.io/terms-of-service) before +signing up. + +Allowed fields: no configurable fields for this widget. + +You must set `finnhub` as a provider in your `settings.yaml`: + +```yaml +providers: + finnhub: yourfinnhubapikeyhere +``` + +Next, configure the stocks widget in your `services.yaml`: + +The service widget allows for up to 28 items in the watchlist. You may get rate +limited if using the information and service widgets together. + +```yaml +widget: + type: stocks + provider: finnhub + showUSMarketStatus: true # optional, defaults to true + watchlist: + - GME + - AMC + - NVDA + - TSM + - BRK.A + - TSLA + - AAPL + - MSFT + - AMZN + - BRK.B +``` diff --git a/docs/widgets/services/suwayomi.md b/docs/widgets/services/suwayomi.md new file mode 100644 index 00000000..21672598 --- /dev/null +++ b/docs/widgets/services/suwayomi.md @@ -0,0 +1,20 @@ +--- +title: Suwayomi +description: Suwayomi Widget Configuration +--- + +Learn more about [Suwayomi](https://github.com/Suwayomi/Suwayomi-Server). + +Allowed fields: ["download", "nondownload", "read", "unread", "downloadedread", "downloadedunread", "nondownloadedread", "nondownloadedunread"] + +The widget defaults to the first four above. If more than four fields are provided, only the first 4 are displayed. +Category IDs can be obtained from the url when navigating to it, `?tab={categoryID}`. + +```yaml +widget: + type: suwayomi + url: http://suwayomi.host.or.ip + username: username #optional + password: password #optional + category: 0 #optional, defaults to all categories +``` diff --git a/docs/widgets/services/swagdashboard.md b/docs/widgets/services/swagdashboard.md new file mode 100644 index 00000000..2b6c9792 --- /dev/null +++ b/docs/widgets/services/swagdashboard.md @@ -0,0 +1,14 @@ +--- +title: SWAG Dashboard +description: SWAG Dashboard Widget Configuration +--- + +Learn more about [SWAG Dashboard](https://github.com/linuxserver/docker-mods/tree/swag-dashboard). + +Allowed fields: `["proxied", "auth", "outdated", "banned"]`. + +```yaml +widget: + type: swagdashboard + url: http://swagdashboard.host.or.ip:adminport # default port is 81 +``` diff --git a/docs/widgets/services/syncthing-relay-server.md b/docs/widgets/services/syncthing-relay-server.md index 89017cd1..704bb219 100644 --- a/docs/widgets/services/syncthing-relay-server.md +++ b/docs/widgets/services/syncthing-relay-server.md @@ -3,6 +3,8 @@ title: Syncthing Relay Server description: Syncthing Relay Server Widget Configuration --- +Learn more about [Syncthing Relay Server](https://github.com/syncthing/syncthing). + Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/gethomepage/homepage/pull/230#issuecomment-1253053472) for more information on configuration. Allowed fields: `["numActiveSessions", "numConnections", "bytesProxied"]`. diff --git a/docs/widgets/services/tailscale.md b/docs/widgets/services/tailscale.md index 8f3f0d56..e4f3ec2e 100644 --- a/docs/widgets/services/tailscale.md +++ b/docs/widgets/services/tailscale.md @@ -3,6 +3,8 @@ title: Tailscale description: Tailscale Widget Configuration --- +Learn more about [Tailscale](https://github.com/tailscale/tailscale). + You will need to generate an API access token from the [keys page](https://login.tailscale.com/admin/settings/keys) on the Tailscale dashboard. To find your device ID, go to the [machine overview page](https://login.tailscale.com/admin/machines) and select your machine. In the "Machine Details" section, copy your `ID`. It will end with `CNTRL`. diff --git a/docs/widgets/services/tandoor.md b/docs/widgets/services/tandoor.md new file mode 100644 index 00000000..134bc8fd --- /dev/null +++ b/docs/widgets/services/tandoor.md @@ -0,0 +1,15 @@ +--- +title: Tandoor +description: Tandoor Widget Configuration +--- + +Generate a user API key under `Settings > API > Generate`. For the token's scope, use `read`. + +Allowed fields: `["users", "recipes", "keywords"]`. + +```yaml +widget: + type: tandoor + url: http://tandoor-frontend.host.or.ip + key: tandoor-api-token +``` diff --git a/docs/widgets/services/tdarr.md b/docs/widgets/services/tdarr.md index e54c1abb..cbf13a62 100644 --- a/docs/widgets/services/tdarr.md +++ b/docs/widgets/services/tdarr.md @@ -3,10 +3,13 @@ title: Tdarr description: Tdarr Widget Configuration --- +Learn more about [Tdarr](https://github.com/HaveAGitGat/Tdarr). + Allowed fields: `["queue", "processed", "errored", "saved"]`. ```yaml widget: type: tdarr url: http://tdarr.host.or.ip + key: tdarrapikey # optional ``` diff --git a/docs/widgets/services/technitium.md b/docs/widgets/services/technitium.md new file mode 100644 index 00000000..70f5e48f --- /dev/null +++ b/docs/widgets/services/technitium.md @@ -0,0 +1,26 @@ +--- +title: Technitium DNS Server +description: Technitium DNS Server Widget Configuration +--- + +Learn more about [Technitium DNS Server](https://technitium.com/dns/). + +Allowed fields (up to 4): `["totalQueries","totalNoError","totalServerFailure","totalNxDomain","totalRefused","totalAuthoritative","totalRecursive","totalCached","totalBlocked","totalDropped","totalClients"]`. + +Defaults to: `["totalQueries", "totalAuthoritative", "totalCached", "totalServerFailure"]` + +```yaml +widget: + type: technitium + url: + key: biglongapitoken + range: LastDay # optional, defaults to LastHour +``` + +#### API Key + +This can be generated via the Technitium DNS Dashboard, and should be generated from a special API specific user. + +#### Range + +`range` value determines how far back of statistics to pull data for. The value comes directly from Technitium API documentation found [here](https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md#dashboard-api-calls), defined as `"type"`. The value can be one of: `LastHour`, `LastDay`, `LastWeek`, `LastMonth`, `LastYear`. diff --git a/docs/widgets/services/traefik.md b/docs/widgets/services/traefik.md index a1c3e5b1..e1d95a45 100644 --- a/docs/widgets/services/traefik.md +++ b/docs/widgets/services/traefik.md @@ -3,6 +3,8 @@ title: Traefik description: Traefik Widget Configuration --- +Learn more about [Traefik](https://github.com/traefik/traefik). + No extra configuration is required. If your traefik install requires authentication, include the username and password used to login to the web interface. diff --git a/docs/widgets/services/transmission.md b/docs/widgets/services/transmission.md index ad09b57e..32ba4493 100644 --- a/docs/widgets/services/transmission.md +++ b/docs/widgets/services/transmission.md @@ -3,6 +3,8 @@ title: Transmission description: Transmission Widget Configuration --- +Learn more about [Transmission](https://github.com/transmission/transmission). + Uses the same username and password used to login from the web. Allowed fields: `["leech", "download", "seed", "upload"]`. diff --git a/docs/widgets/services/truenas.md b/docs/widgets/services/truenas.md index 8dc58d08..97bba3be 100644 --- a/docs/widgets/services/truenas.md +++ b/docs/widgets/services/truenas.md @@ -3,10 +3,16 @@ title: TrueNas description: TrueNas Scale Widget Configuration --- +Learn more about [TrueNas](https://www.truenas.com/). + Allowed fields: `["load", "uptime", "alerts"]`. To create an API Key, follow [the official TrueNAS documentation](https://www.truenas.com/docs/scale/scaletutorials/toptoolbar/managingapikeys/). +A detailed pool listing is disabled by default, but can be enabled with the `enablePools` option. + +To use the `enablePools` option with TrueNAS Core, the `nasType` parameter is required. + ```yaml widget: type: truenas @@ -14,4 +20,6 @@ widget: username: user # not required if using api key password: pass # not required if using api key key: yourtruenasapikey # not required if using username / password + enablePools: true # optional, defaults to false + nasType: scale # defaults to scale, must be set to 'core' if using enablePools with TrueNAS Core ``` diff --git a/docs/widgets/services/tubearchivist.md b/docs/widgets/services/tubearchivist.md index f1628c8c..3b66a3cb 100644 --- a/docs/widgets/services/tubearchivist.md +++ b/docs/widgets/services/tubearchivist.md @@ -3,7 +3,9 @@ title: Tube Archivist description: Tube Archivist Widget Configuration --- -Requires API key. +Learn more about [Tube Archivist](https://github.com/tubearchivist/tubearchivist). + +You must be running at least version 0.4.4 Allowed fields: `["downloads", "videos", "channels", "playlists"]`. @@ -11,5 +13,5 @@ Allowed fields: `["downloads", "videos", "channels", "playlists"]`. widget: type: tubearchivist url: http://tubearchivist.host.or.ip - key: apikeyapikeyapikeyapikeyapikey + key: tubearchivistapikey ``` diff --git a/docs/widgets/services/unifi-controller.md b/docs/widgets/services/unifi-controller.md index 62c72aa6..d137c2a9 100644 --- a/docs/widgets/services/unifi-controller.md +++ b/docs/widgets/services/unifi-controller.md @@ -3,13 +3,23 @@ title: Unifi Controller description: Unifi Controller Widget Configuration --- +Learn more about [Unifi Controller](https://ui.com/). + _(Find the Unifi Controller information widget [here](../info/unifi_controller.md))_ -You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use an account that has at least read privileges. +You can display general connectivity status from your Unifi (Network) Controller. + +!!! + + When authenticating you will want to use a local account that has at least read privileges. An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller. -Allowed fields: `["uptime", "wan", "lan_users", "wlan_users"]`. +Allowed fields: `["uptime", "wan", "lan", "lan_users", "lan_devices", "wlan", "wlan_users", "wlan_devices"]` (maximum of four). Fields unsupported by the unifi device will not be shown. + +!!! hint + + If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache. ```yaml widget: diff --git a/docs/widgets/services/unmanic.md b/docs/widgets/services/unmanic.md index a52da87a..45298642 100644 --- a/docs/widgets/services/unmanic.md +++ b/docs/widgets/services/unmanic.md @@ -3,6 +3,8 @@ title: Unmanic description: Unmanic Widget Configuration --- +Learn more about [Unmanic](https://github.com/Unmanic/unmanic). + Allowed fields: `["active_workers", "total_workers", "records_total"]`. ```yaml diff --git a/docs/widgets/services/uptime-kuma.md b/docs/widgets/services/uptime-kuma.md index 6aa806f1..399a0eee 100644 --- a/docs/widgets/services/uptime-kuma.md +++ b/docs/widgets/services/uptime-kuma.md @@ -3,7 +3,9 @@ title: Uptime Kuma description: Uptime Kuma Widget Configuration --- -As Uptime Kuma does not yet have a full API the widget uses data from a single "status page". As such you will need a status page setup with a group of monitored sites, which is where you get the slug (without the `/status/` portion). +Learn more about [Uptime Kuma](https://github.com/louislam/uptime-kuma). + +As Uptime Kuma does not yet have a full API the widget uses data from a single "status page". As such you will need a status page setup with a group of monitored sites, which is where you get the slug (the url without the `/status/` portion). E.g. if your status page is URL http://uptimekuma.host/status/statuspageslug, insert `slug: statuspageslug`. Allowed fields: `["up", "down", "uptime", "incident"]`. diff --git a/docs/widgets/services/uptimerobot.md b/docs/widgets/services/uptimerobot.md index 5554bb73..77e6bdaa 100644 --- a/docs/widgets/services/uptimerobot.md +++ b/docs/widgets/services/uptimerobot.md @@ -3,6 +3,8 @@ title: UptimeRobot description: UptimeRobot Widget Configuration --- +Learn more about [UptimeRobot](https://uptimerobot.com/). + To generate an API key, select `My Settings`, and either `Monitor-Specific API Key` or `Read-Only API Key`. A `Monitor-Specific API Key` will provide the following detailed information diff --git a/docs/widgets/services/urbackup.md b/docs/widgets/services/urbackup.md index 1af189d2..39c40e71 100644 --- a/docs/widgets/services/urbackup.md +++ b/docs/widgets/services/urbackup.md @@ -3,6 +3,8 @@ title: UrBackup description: UrBackup Widget Configuration --- +Learn more about [UrBackup](https://github.com/uroni/urbackup_backend). + The UrBackup widget retrieves the total number of clients that currently have no errors, have errors, or haven't backed up recently. Clients are considered "Errored" or "Out of Date" if either the file or image backups for that client have errors/are out of date, unless the client does not support image backups. The default number of days that can elapse before a client is marked Out of Date is 3, but this value can be customized by setting the `maxDays` value in the config. diff --git a/docs/widgets/services/vikunja.md b/docs/widgets/services/vikunja.md new file mode 100644 index 00000000..94b99055 --- /dev/null +++ b/docs/widgets/services/vikunja.md @@ -0,0 +1,18 @@ +--- +title: Vikunja +description: Vikunja Widget Configuration +--- + +Learn more about [Vikunja](https://vikunja.io). + +Allowed fields: `["projects", "tasks7d", "tasksOverdue", "tasksInProgress"]`. + +A list of the next 5 tasks ordered by due date is disabled by default, but can be enabled with the `enableTaskList` option. + +```yaml +widget: + type: vikunja + url: http[s]://vikunja.host.or.ip[:port] + key: vikunjaapikey + enableTaskList: true # optional, defaults to false +``` diff --git a/docs/widgets/services/watchtower.md b/docs/widgets/services/watchtower.md index 47b937d2..a3cefce8 100644 --- a/docs/widgets/services/watchtower.md +++ b/docs/widgets/services/watchtower.md @@ -3,7 +3,9 @@ title: Watchtower description: Watchtower Widget Configuration --- -To use this widget, Watchtower needs to be configured to to [enable metrics](https://containrrr.dev/watchtower/metrics/). +Learn more about [Watchtower](https://github.com/containrrr/watchtower). + +To use this widget, Watchtower needs to be configured to [enable metrics](https://containrrr.dev/watchtower/metrics/). Allowed fields: `["containers_scanned", "containers_updated", "containers_failed"]`. diff --git a/docs/widgets/services/wgeasy.md b/docs/widgets/services/wgeasy.md new file mode 100644 index 00000000..c5442081 --- /dev/null +++ b/docs/widgets/services/wgeasy.md @@ -0,0 +1,20 @@ +--- +title: Wg-Easy +description: Wg-Easy Widget Configuration +--- + +Learn more about [Wg-Easy](https://github.com/wg-easy/wg-easy). + +Allowed fields: `["connected", "enabled", "disabled", "total"]`. + +Note: by default `["connected", "enabled", "total"]` are displayed. + +To detect if a device is connected the time since the last handshake is queried. `threshold` is the time to wait in minutes since the last handshake to consider a device connected. Default is 2 minutes. + +```yaml +widget: + type: wgeasy + url: http://wg.easy.or.ip + password: yourwgeasypassword + threshold: 2 # optional +``` diff --git a/docs/widgets/services/whatsupdocker.md b/docs/widgets/services/whatsupdocker.md index c9427de5..74eb2c97 100644 --- a/docs/widgets/services/whatsupdocker.md +++ b/docs/widgets/services/whatsupdocker.md @@ -1,9 +1,9 @@ --- -title: Whats Up Docker -description: WhatsUpDocker Widget Configuration +title: What's Up Docker +description: What's Up Docker Widget Configuration --- -Currently requires unauthenticated whatsupdocker instance. +Learn more about [What's Up Docker](https://github.com/fmartinou/whats-up-docker). Allowed fields: `["monitoring", "updates"]`. @@ -11,4 +11,6 @@ Allowed fields: `["monitoring", "updates"]`. widget: type: whatsupdocker url: http://whatsupdocker:port + username: username # optional + password: password # optional ``` diff --git a/docs/widgets/services/xteve.md b/docs/widgets/services/xteve.md index fbb4f313..76dd73f8 100644 --- a/docs/widgets/services/xteve.md +++ b/docs/widgets/services/xteve.md @@ -3,6 +3,8 @@ title: Xteve description: Xteve Widget Configuration --- +Learn more about [Xteve](https://github.com/xteve-project/xTeVe). + Allowed fields: `["streams_all", "streams_active", "streams_xepg"]`. ```yaml diff --git a/docs/widgets/services/zabbix.md b/docs/widgets/services/zabbix.md new file mode 100644 index 00000000..975f4926 --- /dev/null +++ b/docs/widgets/services/zabbix.md @@ -0,0 +1,21 @@ +--- +title: Zabbix +description: Zabbix Widget Configuration +--- + +Learn more about [Zabbix](https://github.com/zabbix/zabbix). The widget supports (at least) Zabbix server version 7.0. + +--- + +Allowed fields: `["unclassified", "information", "warning", "average", "high", "disaster"]`. + +Only 4 fields can be shown at a time, with the default being: `["warning", "average", "high", "disaster"]`. + +```yaml +widget: + type: zabbix + url: http://zabbix.host.or.ip/zabbix + key: your-api-key +``` + +See the [Zabbix documentation](https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/users/api_tokens) for details on generating API tokens. diff --git a/mkdocs.yml b/mkdocs.yml index a9beba06..a19d3b83 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: homepage +site_name: Homepage # Project information site_url: https://gethomepage.dev/ @@ -10,204 +10,246 @@ edit_uri: https://github.com/gethomepage/homepage/tree/main/docs/ nav: - "Home": - - index.md + - index.md - "Installation": - - installation/index.md - - installation/docker.md - - installation/k8s.md - - installation/unraid.md - - installation/source.md + - installation/index.md + - installation/docker.md + - installation/k8s.md + - installation/unraid.md + - installation/source.md - "Configuration": - - configs/index.md - - configs/settings.md - - configs/bookmarks.md - - configs/services.md - - configs/service-widgets.md - - configs/kubernetes.md - - configs/docker.md - - configs/custom-css-js.md + - configs/index.md + - configs/settings.md + - configs/bookmarks.md + - configs/services.md + - configs/service-widgets.md + - configs/kubernetes.md + - configs/docker.md + - configs/custom-css-js.md - "Widgets": - - widgets/index.md - - "Service Widgets": - - widgets/services/index.md - - widgets/services/adguard-home.md - - widgets/services/atsumeru.md - - widgets/services/audiobookshelf.md - - widgets/services/authentik.md - - widgets/services/autobrr.md - - widgets/services/azuredevops.md - - widgets/services/bazarr.md - - widgets/services/caddy.md - - widgets/services/calendar.md - - widgets/services/calibre-web.md - - widgets/services/changedetectionio.md - - widgets/services/channelsdvrserver.md - - widgets/services/cloudflared.md - - widgets/services/coin-market-cap.md - - widgets/services/customapi.md - - widgets/services/deluge.md - - widgets/services/diskstation.md - - widgets/services/downloadstation.md - - widgets/services/emby.md - - widgets/services/evcc.md - - widgets/services/fileflows.md - - widgets/services/flood.md - - widgets/services/freshrss.md - - widgets/services/fritzbox.md - - widgets/services/gamedig.md - - widgets/services/ghostfolio.md - - widgets/services/glances.md - - widgets/services/gluetun.md - - widgets/services/gotify.md - - widgets/services/grafana.md - - widgets/services/hdhomerun.md - - widgets/services/healthchecks.md - - widgets/services/homeassistant.md - - widgets/services/homebridge.md - - widgets/services/iframe.md - - widgets/services/immich.md - - widgets/services/jackett.md - - widgets/services/jdownloader.md - - widgets/services/jellyfin.md - - widgets/services/jellyseerr.md - - widgets/services/kavita.md - - widgets/services/komga.md - - widgets/services/kopia.md - - widgets/services/lidarr.md - - widgets/services/mastodon.md - - widgets/services/mealie.md - - widgets/services/medusa.md - - widgets/services/mikrotik.md - - widgets/services/minecraft.md - - widgets/services/miniflux.md - - widgets/services/mjpeg.md - - widgets/services/moonraker.md - - widgets/services/mylar.md - - widgets/services/navidrome.md - - widgets/services/netdata.md - - widgets/services/nextcloud.md - - widgets/services/nextdns.md - - widgets/services/nginx-proxy-manager.md - - widgets/services/nzbget.md - - widgets/services/octoprint.md - - widgets/services/omada.md - - widgets/services/ombi.md - - widgets/services/opendtu.md - - widgets/services/openmediavault.md - - widgets/services/opnsense.md - - widgets/services/overseerr.md - - widgets/services/paperlessngx.md - - widgets/services/peanut.md - - widgets/services/pfsense.md - - widgets/services/photoprism.md - - widgets/services/pialert.md - - widgets/services/pihole.md - - widgets/services/plex-tautulli.md - - widgets/services/plex.md - - widgets/services/portainer.md - - widgets/services/prometheus.md - - widgets/services/prowlarr.md - - widgets/services/proxmox.md - - widgets/services/proxmoxbackupserver.md - - widgets/services/pterodactyl.md - - widgets/services/pyload.md - - widgets/services/qbittorrent.md - - widgets/services/qnap.md - - widgets/services/radarr.md - - widgets/services/readarr.md - - widgets/services/romm.md - - widgets/services/rutorrent.md - - widgets/services/sabnzbd.md - - widgets/services/scrutiny.md - - widgets/services/sonarr.md - - widgets/services/speedtest-tracker.md - - widgets/services/syncthing-relay-server.md - - widgets/services/tailscale.md - - widgets/services/tdarr.md - - widgets/services/traefik.md - - widgets/services/transmission.md - - widgets/services/truenas.md - - widgets/services/tubearchivist.md - - widgets/services/unifi-controller.md - - widgets/services/unmanic.md - - widgets/services/uptime-kuma.md - - widgets/services/uptimerobot.md - - widgets/services/urbackup.md - - widgets/services/watchtower.md - - widgets/services/whatsupdocker.md - - widgets/services/xteve.md - - "Information Widgets": - - widgets/info/index.md - - widgets/info/datetime.md - - widgets/info/glances.md - - widgets/info/greeting.md - - widgets/info/kubernetes.md - - widgets/info/logo.md - - widgets/info/longhorn.md - - widgets/info/openmeteo.md - - widgets/info/openweathermap.md - - widgets/info/resources.md - - widgets/info/search.md - - widgets/info/unifi_controller.md - - widgets/info/weather.md - - more/troubleshooting.md + - widgets/index.md + - "Service Widgets": + - widgets/services/index.md + - widgets/services/adguard-home.md + - widgets/services/argocd.md + - widgets/services/atsumeru.md + - widgets/services/audiobookshelf.md + - widgets/services/authentik.md + - widgets/services/autobrr.md + - widgets/services/azuredevops.md + - widgets/services/bazarr.md + - widgets/services/beszel.md + - widgets/services/caddy.md + - widgets/services/calendar.md + - widgets/services/calibre-web.md + - widgets/services/changedetectionio.md + - widgets/services/channelsdvrserver.md + - widgets/services/cloudflared.md + - widgets/services/coin-market-cap.md + - widgets/services/crowdsec.md + - widgets/services/customapi.md + - widgets/services/deluge.md + - widgets/services/develancacheui.md + - widgets/services/diskstation.md + - widgets/services/downloadstation.md + - widgets/services/emby.md + - widgets/services/esphome.md + - widgets/services/evcc.md + - widgets/services/fileflows.md + - widgets/services/flood.md + - widgets/services/freshrss.md + - widgets/services/frigate.md + - widgets/services/fritzbox.md + - widgets/services/gamedig.md + - widgets/services/gatus.md + - widgets/services/ghostfolio.md + - widgets/services/gitea.md + - widgets/services/gitlab.md + - widgets/services/glances.md + - widgets/services/gluetun.md + - widgets/services/gotify.md + - widgets/services/grafana.md + - widgets/services/hdhomerun.md + - widgets/services/headscale.md + - widgets/services/healthchecks.md + - widgets/services/homeassistant.md + - widgets/services/homebox.md + - widgets/services/homebridge.md + - widgets/services/iframe.md + - widgets/services/immich.md + - widgets/services/jackett.md + - widgets/services/jdownloader.md + - widgets/services/jellyfin.md + - widgets/services/jellyseerr.md + - widgets/services/kavita.md + - widgets/services/komga.md + - widgets/services/kopia.md + - widgets/services/lidarr.md + - widgets/services/linkwarden.md + - widgets/services/lubelogger.md + - widgets/services/mastodon.md + - widgets/services/mailcow.md + - widgets/services/mealie.md + - widgets/services/medusa.md + - widgets/services/mikrotik.md + - widgets/services/minecraft.md + - widgets/services/miniflux.md + - widgets/services/mjpeg.md + - widgets/services/moonraker.md + - widgets/services/mylar.md + - widgets/services/myspeed.md + - widgets/services/navidrome.md + - widgets/services/netdata.md + - widgets/services/netalertx.md + - widgets/services/nextcloud.md + - widgets/services/nextdns.md + - widgets/services/nginx-proxy-manager.md + - widgets/services/nzbget.md + - widgets/services/octoprint.md + - widgets/services/omada.md + - widgets/services/ombi.md + - widgets/services/opendtu.md + - widgets/services/openmediavault.md + - widgets/services/opnsense.md + - widgets/services/openwrt.md + - widgets/services/overseerr.md + - widgets/services/paperlessngx.md + - widgets/services/peanut.md + - widgets/services/pfsense.md + - widgets/services/photoprism.md + - widgets/services/pihole.md + - widgets/services/plantit.md + - widgets/services/plex-tautulli.md + - widgets/services/plex.md + - widgets/services/portainer.md + - widgets/services/prometheus.md + - widgets/services/prometheusmetric.md + - widgets/services/prowlarr.md + - widgets/services/proxmox.md + - widgets/services/proxmoxbackupserver.md + - widgets/services/pterodactyl.md + - widgets/services/pyload.md + - widgets/services/qbittorrent.md + - widgets/services/qnap.md + - widgets/services/radarr.md + - widgets/services/readarr.md + - widgets/services/romm.md + - widgets/services/rutorrent.md + - widgets/services/sabnzbd.md + - widgets/services/scrutiny.md + - widgets/services/sonarr.md + - widgets/services/speedtest-tracker.md + - widgets/services/spoolman.md + - widgets/services/stash.md + - widgets/services/stocks.md + - widgets/services/swagdashboard.md + - widgets/services/syncthing-relay-server.md + - widgets/services/tailscale.md + - widgets/services/tandoor.md + - widgets/services/technitium.md + - widgets/services/tdarr.md + - widgets/services/traefik.md + - widgets/services/transmission.md + - widgets/services/truenas.md + - widgets/services/tubearchivist.md + - widgets/services/unifi-controller.md + - widgets/services/unmanic.md + - widgets/services/uptime-kuma.md + - widgets/services/uptimerobot.md + - widgets/services/urbackup.md + - widgets/services/vikunja.md + - widgets/services/watchtower.md + - widgets/services/wgeasy.md + - widgets/services/whatsupdocker.md + - widgets/services/xteve.md + - widgets/services/zabbix.md + - "Information Widgets": + - widgets/info/index.md + - widgets/info/datetime.md + - widgets/info/glances.md + - widgets/info/greeting.md + - widgets/info/kubernetes.md + - widgets/info/logo.md + - widgets/info/longhorn.md + - widgets/info/openmeteo.md + - widgets/info/openweathermap.md + - widgets/info/resources.md + - widgets/info/search.md + - widgets/info/stocks.md + - widgets/info/unifi_controller.md + - widgets/info/weather.md + - "Learn": + - widgets/authoring/index.md + - "Getting Started": widgets/authoring/getting-started.md + - "Tutorials": + - widgets/authoring/tutorial.md + - "Guides": + - widgets/authoring/component.md + - widgets/authoring/metadata.md + - widgets/authoring/proxies.md + - widgets/authoring/api.md + - widgets/authoring/translations.md + - "Troubleshooting": + - troubleshooting/index.md - "More": - - more/index.md - - more/development.md - - more/translations.md - - more/homepage-move.md + - more/index.md + - more/translations.md + - more/coverage.md + - more/sponsors.md + - more/homepage-move.md theme: name: material + custom_dir: docs/overrides language: en palette: - - media: "(prefers-color-scheme)" - toggle: - icon: material/brightness-auto - name: Switch to light mode - - media: "(prefers-color-scheme: light)" - scheme: default - primary: black - accent: black - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - primary: black - accent: blue - toggle: - icon: material/brightness-4 - name: Switch to system preference - logo: assets/light_squircle@2x.png + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: black + accent: black + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: black + accent: blue + toggle: + icon: material/brightness-4 + name: Switch to system preference + logo: assets/banner_light@2x.webp + favicon: assets/favicon.ico features: - - navigation.instant - - content.action.edit - - search.suggest - - search.share - - content.code.copy - - content.code.select - - navigation.tracking - - navigation.tabs - - navigation.sections - - navigation.indexes + - navigation.instant + - content.action.edit + - search.suggest + - search.share + - content.code.copy + - content.code.select + - navigation.tracking + - navigation.tabs + - navigation.sections + - navigation.indexes + - content.code.annotate extra_css: - "stylesheets/extra.css" -extra_javascript: - - "scripts/extra.js" extra: - version: - provider: mike social: - icon: fontawesome/brands/discord link: https://discord.gg/k4ruYNrudu - - icon: fontawesome/regular/message - link: https://github.com/gethomepage/homepage/discussions - icon: fontawesome/brands/github link: https://github.com/gethomepage/homepage + - icon: simple/opencollective + link: https://opencollective.com/homepage + - icon: simple/patreon + link: https://www.patreon.com/gethomepage markdown_extensions: - pymdownx.highlight: @@ -220,6 +262,8 @@ markdown_extensions: - pymdownx.inlinehilite - pymdownx.snippets - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true - pymdownx.critic - pymdownx.caret - pymdownx.keys @@ -234,12 +278,21 @@ plugins: - group: enabled: !ENV MKINSIDERS plugins: - - optimize - typeset - - social + - social: + cards_layout: default + cards_layout_options: + background_image: docs/assets/blossom_valley_blur.jpg + background_color: "rgba(13, 29, 41, 128)" + color: "#ffffff" + logo: docs/assets/light_squircle@2x.webp - tags - search: pipeline: - stemmer - stopWordFilter - trimmer + - redirects: + redirect_maps: + "more/troubleshooting.md": "troubleshooting/index.md" + "more/development.md": "widgets/authoring/getting-started.md" diff --git a/next-i18next.config.js b/next-i18next.config.js index 96483cc3..a1b5c7b3 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -84,12 +84,12 @@ function prettyBytes(number, options) { return `${prefix + numberString} ${unit}`; } -function uptime(uptimeInSeconds, i18next) { - const mo = Math.floor(uptimeInSeconds / (3600 * 24 * 31)); - const d = Math.floor((uptimeInSeconds % (3600 * 24 * 31)) / (3600 * 24)); - const h = Math.floor((uptimeInSeconds % (3600 * 24)) / 3600); - const m = Math.floor((uptimeInSeconds % 3600) / 60); - const s = Math.floor(uptimeInSeconds % 60); +function duration(durationInSeconds, i18next) { + const mo = Math.floor(durationInSeconds / (3600 * 24 * 31)); + const d = Math.floor((durationInSeconds % (3600 * 24 * 31)) / (3600 * 24)); + const h = Math.floor((durationInSeconds % (3600 * 24)) / 3600); + const m = Math.floor((durationInSeconds % 3600) / 60); + const s = Math.floor(durationInSeconds % 60); const moDisplay = mo > 0 ? mo + i18next.t("common.months") : ""; const dDisplay = d > 0 ? d + i18next.t("common.days") : ""; @@ -156,7 +156,7 @@ module.exports = { i18next.services.formatter.add("relativeDate", (value, lng, options) => relativeDate(new Date(value), new Intl.RelativeTimeFormat(lng, { ...options })), ); - i18next.services.formatter.add("uptime", (value, lng) => uptime(value, i18next)); + i18next.services.formatter.add("duration", (value, lng) => duration(value, i18next)); }, type: "3rdParty", }, diff --git a/package-lock.json b/package-lock.json index 988f206b..14b7d054 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,73 +1,87 @@ { - "name": "startpage", - "version": "0.1.0", + "name": "homepage", + "version": "0.9.6", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "startpage", - "version": "0.1.0", + "name": "homepage", + "version": "0.9.6", "dependencies": { - "@headlessui/react": "^1.7.2", + "@headlessui/react": "^1.7.18", "@kubernetes/client-node": "^0.17.1", "cal-parser": "^1.0.2", - "classnames": "^2.3.2", - "compare-versions": "^5.0.1", - "dockerode": "^3.3.4", - "follow-redirects": "^1.15.2", - "gamedig": "^4.3.0", - "i18next": "^21.9.2", + "classnames": "^2.5.1", + "compare-versions": "^6.1.0", + "dockerode": "^4.0.2", + "follow-redirects": "^1.15.9", + "gamedig": "^5.1.2", + "i18next": "^21.10.0", "js-yaml": "^4.1.0", - "json-rpc-2.0": "^1.4.1", - "luxon": "^3.4.3", + "json-rpc-2.0": "^1.7.0", + "luxon": "^3.5.0", "memory-cache": "^0.2.0", "minecraft-ping-js": "^1.0.2", - "next": "^12.3.1", - "next-i18next": "^12.0.1", + "next": "^12.3.4", + "next-i18next": "^12.1.0", "ping": "^0.4.4", - "pretty-bytes": "^6.0.0", - "raw-body": "^2.5.1", - "react": "^18.2.0", + "pretty-bytes": "^6.1.1", + "raw-body": "^3.0.0", + "react": "^18.3.1", "react-dom": "^18.2.0", "react-i18next": "^11.18.6", - "react-icons": "^4.4.0", - "recharts": "^2.7.2", + "react-icons": "^4.12.0", + "recharts": "^2.12.6", "rrule": "^2.8.1", "swr": "^1.3.0", - "systeminformation": "^5.17.12", - "tough-cookie": "^4.1.2", - "urbackup-server-api": "^0.8.9", - "winston": "^3.8.2", + "systeminformation": "^5.23.2", + "tough-cookie": "^4.1.3", + "urbackup-server-api": "^0.52.1", + "winston": "^3.11.0", "xml-js": "^1.6.11" }, "devDependencies": { - "@tailwindcss/forms": "^0.5.3", - "autoprefixer": "^10.4.12", - "eslint": "^8.24.0", + "@tailwindcss/forms": "^0.5.8", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", - "eslint-config-next": "^12.3.1", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.31.8", - "eslint-plugin-react-hooks": "^4.6.0", - "postcss": "^8.4.16", - "prettier": "^3.0.3", - "tailwind-scrollbar": "^2.0.1", - "tailwindcss": "^3.1.8", - "typescript": "^4.8.3" + "eslint-config-next": "^14.2.3", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.8.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.1", + "eslint-plugin-react-hooks": "^4.6.2", + "postcss": "^8.4.47", + "prettier": "^3.2.5", + "tailwind-scrollbar": "^3.0.5", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3" }, "optionalDependencies": { "osx-temperature-sensor": "^1.0.8" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" @@ -76,12 +90,14 @@ "node_modules/@balena/dockerignore": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", - "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==" + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", + "license": "Apache-2.0" }, "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==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", "engines": { "node": ">=0.1.90" } @@ -90,6 +106,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "license": "MIT", "dependencies": { "colorspace": "1.1.x", "enabled": "2.0.x", @@ -101,6 +118,7 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -112,23 +130,25 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -144,19 +164,21 @@ } }, "node_modules/@eslint/js": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", - "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@headlessui/react": { - "version": "1.7.13", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz", - "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==", + "version": "1.7.19", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz", + "integrity": "sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==", + "license": "MIT", "dependencies": { + "@tanstack/react-virtual": "^3.0.0-beta.60", "client-only": "^0.0.1" }, "engines": { @@ -168,13 +190,14 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -186,6 +209,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -195,15 +219,117 @@ } }, "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==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@kubernetes/client-node": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.17.1.tgz", "integrity": "sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ==", + "license": "Apache-2.0", "dependencies": { "byline": "^5.0.0", "execa": "5.0.0", @@ -227,15 +353,17 @@ "node_modules/@next/env": { "version": "12.3.4", "resolved": "https://registry.npmjs.org/@next/env/-/env-12.3.4.tgz", - "integrity": "sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==" + "integrity": "sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==", + "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "12.3.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz", - "integrity": "sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==", + "version": "14.2.8", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.8.tgz", + "integrity": "sha512-ue5vcq9Fjk3asACRDrzYjcGMEN7pMMDQ5zUD+FenkqvlPCVUD1x7PxBNOLfPYDZOrk/Vnl4GHmjj2mZDqPW8TQ==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "7.1.7" + "glob": "10.3.10" } }, "node_modules/@next/swc-android-arm-eabi": { @@ -245,6 +373,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -260,6 +389,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -275,6 +405,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -290,6 +421,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -305,6 +437,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -320,6 +453,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -335,6 +469,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -350,6 +485,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -365,6 +501,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -380,6 +517,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -395,6 +533,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -410,6 +549,7 @@ "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -425,6 +565,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -438,6 +579,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -451,6 +593,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -460,6 +603,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -468,16 +612,59 @@ "node": ">= 8" } }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.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==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, "node_modules/@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==", - "dev": true + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -489,19 +676,22 @@ "version": "0.4.11", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@swc/helpers/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "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==", + "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.1" }, @@ -510,136 +700,238 @@ } }, "node_modules/@tailwindcss/forms": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", - "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz", + "integrity": "sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==", "dev": true, + "license": "MIT", "dependencies": { "mini-svg-data-uri": "^1.2.3" }, "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.10.7.tgz", + "integrity": "sha512-yeP+M0G8D+15ZFPivpuQ5hoM4Fa/PzERBx8P8EGcfEsXX3JOb9G9UUrqc47ZXAxvK+YqzM9T5qlJUYUFOwCZJw==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.10.7" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.10.7.tgz", + "integrity": "sha512-ND5dfsU0n9F4gROzwNNDJmg6y8n9pI8YWxtgbfJ5UcNn7Hx+MxEXtXcQ189tS7sh8pmCObgz2qSiyRKTZxT4dg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@types/d3-array": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.5.tgz", - "integrity": "sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", + "license": "MIT" }, "node_modules/@types/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" }, "node_modules/@types/d3-ease": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz", - "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" }, "node_modules/@types/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", "dependencies": { "@types/d3-color": "*" } }, "node_modules/@types/d3-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz", - "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==", + "license": "MIT" }, "node_modules/@types/d3-scale": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", - "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "license": "MIT", "dependencies": { "@types/d3-time": "*" } }, "node_modules/@types/d3-shape": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.1.tgz", - "integrity": "sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "license": "MIT", "dependencies": { "@types/d3-path": "*" } }, "node_modules/@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==", + "license": "MIT" }, "node_modules/@types/d3-timer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz", - "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "license": "MIT", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" } }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "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==", + "license": "MIT" + }, + "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, + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.0.31", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.31.tgz", - "integrity": "sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==", + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/triple-beam": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", - "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" }, - "node_modules/@typescript-eslint/parser": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", - "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz", + "integrity": "sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", - "debug": "^4.3.4" + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/type-utils": "7.2.0", + "@typescript-eslint/utils": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.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": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", + "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -648,29 +940,59 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", - "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", + "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0" + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", - "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", + "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/utils": "7.2.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", + "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -678,21 +1000,23 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", - "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", + "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -704,14 +1028,77 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", + "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -720,27 +1107,36 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", - "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", + "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "7.2.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -753,6 +1149,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -761,6 +1158,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -777,6 +1175,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -786,6 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -799,13 +1199,15 @@ "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==" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" }, "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, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -818,45 +1220,54 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } }, "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==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -871,19 +1282,63 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -894,14 +1349,15 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -912,22 +1368,50 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "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==", + "license": "MIT", "dependencies": { "safer-buffer": "~2.1.0" } @@ -936,43 +1420,49 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" }, "node_modules/async-mutex": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.3.2.tgz", - "integrity": "sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.4.0" } }, "node_modules/async-mutex/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -982,14 +1472,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -1003,10 +1498,14 @@ } }, "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==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -1018,42 +1517,48 @@ "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==", + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "license": "MIT" }, "node_modules/axe-core": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", - "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", "dev": true, + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "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==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "readable-stream": "~1.0.2" } @@ -1061,12 +1566,14 @@ "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==" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -1077,7 +1584,8 @@ "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==" + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", @@ -1096,29 +1604,36 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "license": "BSD-3-Clause", "dependencies": { "tweetnacl": "^0.14.3" } }, "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==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -1128,33 +1643,36 @@ "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==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "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==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1164,13 +1682,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -1197,15 +1720,16 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "node_modules/buildcheck": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", - "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true, "engines": { "node": ">=10.0.0" @@ -1215,6 +1739,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1223,6 +1748,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1231,16 +1757,18 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", "engines": { "node": ">=14.16" } }, "node_modules/cacheable-request": { - "version": "10.2.13", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz", - "integrity": "sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==", + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", "dependencies": { - "@types/http-cache-semantics": "^4.0.1", + "@types/http-cache-semantics": "^4.0.2", "get-stream": "^6.0.1", "http-cache-semantics": "^4.1.1", "keyv": "^4.5.3", @@ -1256,19 +1784,27 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/cal-parser/-/cal-parser-1.0.2.tgz", "integrity": "sha512-wlQwcF0fl4eLclyGdncF9rcNNq0ipRYZGagG6h3LVgRXvCWE1fdMUaCLXwfC9YWoz9jKKbjQAq7TpO2Y3yrvmA==", + "license": "MIT", "dependencies": { "ical-date-parser": "^4.0.0", "rrule": "^2.6.8" } }, "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.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1279,6 +1815,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1288,14 +1825,15 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001472", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001472.tgz", - "integrity": "sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==", + "version": "1.0.30001657", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001657.tgz", + "integrity": "sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==", "funding": [ { "type": "opencollective", @@ -1309,18 +1847,21 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "license": "Apache-2.0" }, "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, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1336,6 +1877,7 @@ "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", @@ -1356,6 +1898,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", @@ -1369,16 +1912,11 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1391,6 +1929,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -1400,6 +1941,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1411,24 +1953,37 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" @@ -1439,6 +1994,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1449,12 +2005,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -1464,6 +2022,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -1471,12 +2030,14 @@ "node_modules/color/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==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/colorspace": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "license": "MIT", "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" @@ -1486,6 +2047,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -1494,35 +2056,39 @@ } }, "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/compare-versions": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", - "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/core-js": { - "version": "3.29.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz", - "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -1531,17 +2097,18 @@ "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==" + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "license": "MIT" }, "node_modules/cpu-features": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", - "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", "hasInstallScript": true, "optional": true, "dependencies": { - "buildcheck": "0.0.3", - "nan": "^2.15.0" + "buildcheck": "~0.0.6", + "nan": "^2.19.0" }, "engines": { "node": ">=10.0.0" @@ -1551,6 +2118,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1564,6 +2132,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -1575,15 +2144,11 @@ "url": "https://github.com/sponsors/fb55" } }, - "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==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -1596,6 +2161,7 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -1604,14 +2170,16 @@ } }, "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/d3-array": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", "dependencies": { "internmap": "1 - 2" }, @@ -1623,6 +2191,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -1631,6 +2200,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12" } @@ -1639,6 +2209,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -1647,6 +2218,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", "dependencies": { "d3-color": "1 - 3" }, @@ -1658,6 +2230,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", "engines": { "node": ">=12" } @@ -1666,6 +2239,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", @@ -1681,6 +2255,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", "dependencies": { "d3-path": "^3.1.0" }, @@ -1692,6 +2267,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", "dependencies": { "d3-array": "2 - 3" }, @@ -1703,6 +2279,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", "dependencies": { "d3-time": "1 - 3" }, @@ -1714,6 +2291,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -1722,12 +2300,14 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" }, @@ -1735,10 +2315,65 @@ "node": ">=0.10" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1754,12 +2389,14 @@ "node_modules/decimal.js-light": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -1774,6 +2411,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -1782,16 +2420,18 @@ } }, "node_modules/deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", + "is-array-buffer": "^3.0.2", "is-date-object": "^1.0.5", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", @@ -1799,11 +2439,14 @@ "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", "side-channel": "^1.0.4", "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1813,22 +2456,44 @@ "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 + "dev": true, + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -1843,6 +2508,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -1851,6 +2517,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1859,13 +2526,15 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "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, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -1877,29 +2546,32 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/docker-modem": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", - "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.3.tgz", + "integrity": "sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==", + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.11.0" + "ssh2": "^1.15.0" }, "engines": { "node": ">= 8.0" } }, "node_modules/dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.2.tgz", + "integrity": "sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==", + "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", + "docker-modem": "^5.0.3", "tar-fs": "~2.0.1" }, "engines": { @@ -1911,6 +2583,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -1919,17 +2592,20 @@ } }, "node_modules/dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.1.2" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, "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==", + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -1948,12 +2624,14 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -1968,6 +2646,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -1977,44 +2656,71 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "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==", + "license": "MIT", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "node_modules/electron-to-chromium": { - "version": "1.4.342", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.342.tgz", - "integrity": "sha512-dTei3VResi5bINDENswBxhL+N0Mw5YnfWyTqO75KGsVldurEkhC9+CelJVAse8jycWyP8pv3VSj4BSyP8wTWJA==", - "dev": true + "version": "1.5.15", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.15.tgz", + "integrity": "sha512-Z4rIDoImwEJW+YYKnPul4DzqsWVqYetYVN3XqDmRpgV0mjz0hYTaeeh+8/9CL1bk3AHYmF4freW/NTiVoXA2gA==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/enabled": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -2023,45 +2729,58 @@ } }, "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.13", "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.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -2070,11 +2789,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -2090,27 +2833,68 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -2118,6 +2902,7 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -2131,10 +2916,11 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2144,6 +2930,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2152,27 +2939,28 @@ } }, "node_modules/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.37.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "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-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2180,22 +2968,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -2213,6 +2998,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, + "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", @@ -2234,6 +3020,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, + "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -2249,20 +3036,22 @@ } }, "node_modules/eslint-config-next": { - "version": "12.3.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.3.4.tgz", - "integrity": "sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==", + "version": "14.2.8", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.8.tgz", + "integrity": "sha512-gRqxHkSuCrQro6xqXnmXphcq8rdiw7FI+nLXpWmIlp/AfUzHCgXNQE7mOK+oco+SRaJbhqCg/68uRln1qjkF+Q==", "dev": true, + "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "12.3.4", - "@rushstack/eslint-patch": "^1.1.3", - "@typescript-eslint/parser": "^5.21.0", + "@next/eslint-plugin-next": "14.2.8", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^2.7.1", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "^4.5.0" + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0", @@ -2275,10 +3064,11 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -2287,14 +3077,15 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -2302,54 +3093,51 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-import-resolver-typescript": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", - "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", "dev": true, + "license": "ISC", "dependencies": { - "debug": "^4.3.4", - "glob": "^7.2.0", - "is-glob": "^4.0.3", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" }, "engines": { - "node": ">=4" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" }, "peerDependencies": { "eslint": "*", - "eslint-plugin-import": "*" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } } }, "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, "dependencies": { "debug": "^3.2.7" @@ -2368,37 +3156,42 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { @@ -2406,6 +3199,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -2415,6 +3209,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2423,90 +3218,105 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", "dev": true, + "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" }, "engines": { - "node": ">=12.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" }, "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, "eslint-config-prettier": { "optional": true } } }, "node_modules/eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", + "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2519,6 +3329,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2527,12 +3338,13 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -2544,23 +3356,28 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "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, + "license": "BSD-2-Clause", "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-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "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, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2569,14 +3386,15 @@ } }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2586,10 +3404,11 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2602,6 +3421,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2614,6 +3434,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2623,6 +3444,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -2631,17 +3453,20 @@ "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" + "deprecated": "Use promise-toolbox/fromEvent instead", + "license": "MIT" }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/execa": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -2663,7 +3488,8 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" }, "node_modules/extsprintf": { "version": "1.3.0", @@ -2671,32 +3497,37 @@ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" - ] + ], + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-equals": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2713,6 +3544,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2723,19 +3555,22 @@ "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==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "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 + "dev": true, + "license": "MIT" }, "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.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2743,13 +3578,15 @@ "node_modules/fecha": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" }, "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, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2758,10 +3595,11 @@ } }, "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==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2774,6 +3612,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2786,12 +3625,14 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -2799,20 +3640,22 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" }, "node_modules/fn.name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -2833,14 +3676,46 @@ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "license": "Apache-2.0", "engines": { "node": "*" } @@ -2849,6 +3724,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -2862,32 +3738,36 @@ "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==", + "license": "MIT", "engines": { "node": ">= 14.17" } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" }, "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==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -2899,6 +3779,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -2909,14 +3790,16 @@ "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==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2926,20 +3809,25 @@ } }, "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==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "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==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -2953,41 +3841,32 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "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": "5.1.3", + "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-5.1.3.tgz", + "integrity": "sha512-ECksJC4idM3a+P+a+j9/XHcPOsP4DUrwowK38QucDQ4x5T7mQDWErY2n8NE4kV4HKjCq16ifNMAEt+/nyCKWog==", + "license": "MIT", "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" + "cheerio": "1.0.0-rc.12", + "gbxremote": "0.2.1", + "got": "13.0.0", + "iconv-lite": "0.6.3", + "long": "5.2.3", + "minimist": "1.2.8", + "punycode": "2.3.1", + "seek-bzip": "2.0.0", + "varint": "6.0.0" }, "bin": { "gamedig": "bin/gamedig.js" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/gamedig/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": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=16.20.0" } }, "node_modules/gbxremote": { @@ -3006,14 +3885,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3023,6 +3908,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3031,13 +3917,15 @@ } }, "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -3046,28 +3934,46 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3078,6 +3984,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -3085,11 +3992,38 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -3101,12 +4035,14 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -3120,6 +4056,7 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3140,6 +4077,7 @@ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -3148,9 +4086,10 @@ } }, "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/got/-/got-13.0.0.tgz", + "integrity": "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", @@ -3165,22 +4104,31 @@ "responselike": "^3.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "license": "ISC", "engines": { "node": ">=4" } @@ -3190,6 +4138,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "deprecated": "this library is no longer supported", + "license": "MIT", "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -3198,22 +4147,12 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "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", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3223,27 +4162,30 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "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.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "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==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3256,6 +4198,7 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3264,12 +4207,13 @@ } }, "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -3278,10 +4222,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -3290,6 +4247,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "license": "MIT", "dependencies": { "void-elements": "3.1.0" } @@ -3305,6 +4263,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -3315,12 +4274,14 @@ "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==" + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -3336,6 +4297,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -3347,9 +4309,10 @@ } }, "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==", + "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.2.0" @@ -3362,6 +4325,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -3384,6 +4348,7 @@ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" } ], + "license": "MIT", "dependencies": { "@babel/runtime": "^7.17.2" } @@ -3391,19 +4356,22 @@ "node_modules/i18next-fs-backend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-1.2.0.tgz", - "integrity": "sha512-pUx3AcgXCbur0jpFA7U67Z2RJflAcIi698Y8VL+phdOqUchahxriV3Cs+M6UkPNQSS/zPEzWLfdJ8EgjB7HVxg==" + "integrity": "sha512-pUx3AcgXCbur0jpFA7U67Z2RJflAcIi698Y8VL+phdOqUchahxriV3Cs+M6UkPNQSS/zPEzWLfdJ8EgjB7HVxg==", + "license": "MIT" }, "node_modules/ical-date-parser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/ical-date-parser/-/ical-date-parser-4.0.0.tgz", - "integrity": "sha512-XRCK/FU1akC2ZaJOdKIeZI6BLLgzWUuE0pegSrrkEva89GOan5mNkLVqCU4EMhCJ9nkG5TLWdMXrVX1fNAkFzw==" + "integrity": "sha512-XRCK/FU1akC2ZaJOdKIeZI6BLLgzWUuE0pegSrrkEva89GOan5mNkLVqCU4EMhCJ9nkG5TLWdMXrVX1fNAkFzw==", + "license": "MIT" }, "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==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -3426,13 +4394,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "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.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -3442,6 +4412,7 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3458,6 +4429,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3466,6 +4438,8 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3474,16 +4448,18 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "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.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -3494,6 +4470,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", "engines": { "node": ">=12" } @@ -3502,6 +4479,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -3511,6 +4489,7 @@ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -3523,14 +4502,17 @@ } }, "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==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3539,13 +4521,31 @@ "node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -3558,6 +4558,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3570,6 +4571,7 @@ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -3581,11 +4583,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-bun-module": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", + "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3594,11 +4620,31 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3609,6 +4655,7 @@ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -3624,15 +4671,56 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3641,19 +4729,24 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", + "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==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3666,6 +4759,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -3675,6 +4769,7 @@ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -3690,6 +4785,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3699,6 +4795,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -3711,21 +4808,29 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "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==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3735,6 +4840,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -3747,6 +4853,7 @@ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -3762,6 +4869,7 @@ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -3773,16 +4881,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -3794,13 +4899,18 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3810,6 +4920,7 @@ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -3818,13 +4929,17 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3834,17 +4949,20 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/isomorphic-ws": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", "peerDependencies": { "ws": "*" } @@ -3852,45 +4970,73 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "license": "MIT" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } }, "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } }, "node_modules/jose": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.13.1.tgz", - "integrity": "sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==", + "version": "4.15.9", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", + "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "license": "MIT", "optional": true, "funding": { "url": "https://github.com/sponsors/panva" } }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "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==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3901,44 +5047,52 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "license": "MIT" }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" }, "node_modules/json-rpc-2.0": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.5.1.tgz", - "integrity": "sha512-ZY/vYl/uUgKN3tNrZMq7w+CGLcoUT+8AzDO/HJZVa+K4XcwgfgES1QDa5y7ieAeh4NgRo3hLexMxgdaiEiK9aA==" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", + "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==", + "license": "MIT" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC" }, "node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -3950,6 +5104,7 @@ "version": "0.19.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==", + "license": "MIT", "engines": { "node": ">=6.0" } @@ -3958,6 +5113,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "license": "MIT", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -3969,22 +5125,26 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -3992,21 +5152,27 @@ "node_modules/kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" }, "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, + "license": "MIT", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/levn": { @@ -4014,6 +5180,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -4027,6 +5194,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -4035,13 +5203,15 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -4055,36 +5225,44 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/logform": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz", - "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", + "license": "MIT", "dependencies": { - "@colors/colors": "1.5.0", + "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, "node_modules/long": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -4096,6 +5274,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -4107,7 +5286,8 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "license": "ISC", + "optional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -4116,9 +5296,10 @@ } }, "node_modules/luxon": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", - "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", + "license": "MIT", "engines": { "node": ">=12" } @@ -4126,29 +5307,33 @@ "node_modules/memory-cache": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" + "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==", + "license": "BSD-2-Clause" }, "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==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -4159,6 +5344,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4167,6 +5353,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -4178,6 +5365,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -4186,6 +5374,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -4197,6 +5386,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minecraft-ping-js/-/minecraft-ping-js-1.0.2.tgz", "integrity": "sha512-h9QYG2n+fBKgp520tXBwR354XRzR/w5wXe8CJCmxKm6jbLpAoLODM8Nj5+ssuIVQF8rtxkAnjwv7PH+7ehFzQQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", "dependencies": { "node-int64": "^0.4.0", "varint": "^6.0.0" @@ -4207,6 +5398,7 @@ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", "dev": true, + "license": "MIT", "bin": { "mini-svg-data-uri": "cli.js" } @@ -4215,6 +5407,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4226,22 +5419,26 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -4254,6 +5451,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -4265,6 +5463,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -4275,18 +5474,21 @@ "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -4294,21 +5496,23 @@ } }, "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", + "license": "MIT", "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", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -4320,12 +5524,14 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/next": { "version": "12.3.4", "resolved": "https://registry.npmjs.org/next/-/next-12.3.4.tgz", "integrity": "sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==", + "license": "MIT", "dependencies": { "@next/env": "12.3.4", "@swc/helpers": "0.4.11", @@ -4392,6 +5598,7 @@ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" } ], + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.9", "@types/hoist-non-react-statics": "^3.3.1", @@ -4423,6 +5630,7 @@ "url": "https://tidelift.com/funding/github/npm/postcss" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -4433,9 +5641,10 @@ } }, "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4454,19 +5663,22 @@ "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==" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4476,14 +5688,16 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -4495,6 +5709,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -4506,6 +5721,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -4517,6 +5733,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "license": "Apache-2.0", "engines": { "node": "*" } @@ -4525,6 +5742,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4533,28 +5751,34 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "license": "MIT", "optional": true, "engines": { "node": ">= 6" } }, "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.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -4568,18 +5792,20 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "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==", "dev": true, + "license": "MIT", "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" }, @@ -4591,28 +5817,31 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4621,28 +5850,31 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4652,9 +5884,10 @@ } }, "node_modules/oidc-token-hash": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", - "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", + "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==", + "license": "MIT", "optional": true, "engines": { "node": "^10.13.0 || >=12.0.0" @@ -4664,6 +5897,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -4672,6 +5906,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", "dependencies": { "fn.name": "1.x.x" } @@ -4680,6 +5915,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -4691,32 +5927,34 @@ } }, "node_modules/openid-client": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.0.tgz", - "integrity": "sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==", + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.5.tgz", + "integrity": "sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==", + "license": "MIT", "optional": true, "dependencies": { - "jose": "^4.10.0", + "jose": "^4.15.5", "lru-cache": "^6.0.0", - "object-hash": "^2.0.1", - "oidc-token-hash": "^5.0.1" + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" }, "funding": { "url": "https://github.com/sponsors/panva" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -4727,6 +5965,7 @@ "resolved": "https://registry.npmjs.org/osx-temperature-sensor/-/osx-temperature-sensor-1.0.8.tgz", "integrity": "sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4739,6 +5978,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", "engines": { "node": ">=12.20" } @@ -4748,6 +5988,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -4763,6 +6004,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -4778,6 +6020,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -4789,6 +6032,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -4800,6 +6044,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "license": "MIT", "dependencies": { "domhandler": "^5.0.2", "parse5": "^7.0.0" @@ -4813,6 +6058,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4821,6 +6067,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4829,6 +6076,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4836,13 +6084,39 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4850,18 +6124,21 @@ "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==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4874,6 +6151,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4882,23 +6160,35 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/ping/-/ping-0.4.4.tgz", "integrity": "sha512-56ZMC0j7SCsMMLdOoUg12VZCfj/+ZO+yfOSjaNCRrmZZr6GLbN2X/Ui56T15dI8NhiHckaw5X2pvyfAomanwqQ==", + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "funding": [ { @@ -4908,29 +6198,34 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "postcss": "^8.0.0" @@ -4941,6 +6236,7 @@ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -4956,20 +6252,27 @@ } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 14" }, "peerDependencies": { "postcss": ">=8.0.9", @@ -4984,30 +6287,51 @@ } } }, - "node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -5020,22 +6344,25 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -5051,6 +6378,7 @@ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, + "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -5059,9 +6387,10 @@ } }, "node_modules/pretty-bytes": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.0.tgz", - "integrity": "sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "license": "MIT", "engines": { "node": "^14.13.1 || >=16.0.0" }, @@ -5072,12 +6401,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -5087,21 +6418,24 @@ "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "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==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5110,6 +6444,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } @@ -5117,7 +6452,8 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -5137,12 +6473,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5151,13 +6489,14 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.4.24", + "iconv-lite": "0.6.3", "unpipe": "1.0.0" }, "engines": { @@ -5165,9 +6504,10 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -5176,21 +6516,23 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-i18next": { "version": "11.18.6", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.14.5", "html-parse-stringify": "^3.0.1" @@ -5212,6 +6554,7 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "license": "MIT", "peerDependencies": { "react": "*" } @@ -5219,52 +6562,38 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-resize-detector": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.1.0.tgz", - "integrity": "sha512-S7szxlaIuiy5UqLhLL1KY3aoyGHbZzsTpYal9eYMwCyKqoqoVLCmIgAgNyIM1FhnP2KyBygASJxdhejrzjMb+w==", - "dependencies": { - "lodash": "^4.17.21" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" - } + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/react-smooth": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.3.tgz", - "integrity": "sha512-yl4y3XiMorss7ayF5QnBiSprig0+qFHui8uh7Hgg46QX5O+aRMRKlfGGNGLHno35JkQSvSYY8eCWkBfHfrSHfg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", + "license": "MIT", "dependencies": { - "fast-equals": "^5.0.0", - "react-transition-group": "2.9.0" + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "prop-types": "^15.6.0", - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { - "dom-helpers": "^3.4.0", + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" + "prop-types": "^15.6.2" }, "peerDependencies": { - "react": ">=15.0.0", - "react-dom": ">=15.0.0" + "react": ">=16.6.0", + "react-dom": ">=16.6.0" } }, "node_modules/read-cache": { @@ -5272,6 +6601,7 @@ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -5280,6 +6610,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5294,6 +6625,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -5302,25 +6634,24 @@ } }, "node_modules/recharts": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.7.2.tgz", - "integrity": "sha512-HMKRBkGoOXHW+7JcRa6+MukPSifNtJlqbc+JreGVNA407VLE/vOP+8n3YYjprDVVIF9E2ZgwWnL3D7K/LUFzBg==", + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.7.tgz", + "integrity": "sha512-hlLJMhPQfv4/3NBSAyq3gzGg4h2v69RJh6KU7b3pXYNNAELs9kEoXOjbkxdXpALqKBoVmVptGfLpxdaVYqjmXQ==", + "license": "MIT", "dependencies": { - "classnames": "^2.2.5", + "clsx": "^2.0.0", "eventemitter3": "^4.0.1", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "react-is": "^16.10.2", - "react-resize-detector": "^8.0.4", - "react-smooth": "^2.0.2", + "react-smooth": "^4.0.0", "recharts-scale": "^0.4.4", - "reduce-css-calc": "^2.1.8", + "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { - "prop-types": "^15.6.0", "react": "^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" } @@ -5329,6 +6660,7 @@ "version": "0.4.5", "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "license": "MIT", "dependencies": { "decimal.js-light": "^2.4.1" } @@ -5344,34 +6676,45 @@ "node": ">= 0.10" } }, - "node_modules/reduce-css-calc": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", - "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "license": "MIT", "dependencies": { - "css-unit-converter": "^1.1.1", - "postcss-value-parser": "^3.3.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -5385,6 +6728,7 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -5415,6 +6759,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -5426,14 +6771,16 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5447,21 +6794,34 @@ "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", "dependencies": { "lowercase-keys": "^3.0.0" }, @@ -5477,20 +6837,25 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rfc4648": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz", - "integrity": "sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.3.tgz", + "integrity": "sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==", + "license": "MIT" }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -5501,18 +6866,42 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "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" + } + }, "node_modules/rrule": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/rrule/-/rrule-2.8.1.tgz", "integrity": "sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==", + "license": "BSD-3-Clause", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/rrule/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -5533,10 +6922,30 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5554,26 +6963,32 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "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.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", "engines": { "node": ">=10" } @@ -5581,17 +6996,20 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } @@ -5600,6 +7018,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-2.0.0.tgz", "integrity": "sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==", + "license": "MIT", "dependencies": { "commander": "^6.0.0" }, @@ -5608,32 +7027,61 @@ "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": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -5645,6 +7093,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5653,6 +7102,7 @@ "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -5665,15 +7115,41 @@ "node": ">=4" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "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" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5682,12 +7158,14 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" } @@ -5697,14 +7175,15 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } @@ -5712,29 +7191,31 @@ "node_modules/split-ca": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", + "license": "ISC" }, "node_modules/ssh2": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", - "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", + "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", "hasInstallScript": true, "dependencies": { - "asn1": "^0.2.4", + "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "engines": { "node": ">=10.16.0" }, "optionalDependencies": { - "cpu-features": "~0.0.4", - "nan": "^2.16.0" + "cpu-features": "~0.0.9", + "nan": "^2.18.0" } }, "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "license": "MIT", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -5759,6 +7240,7 @@ "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", "engines": { "node": "*" } @@ -5767,6 +7249,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -5776,6 +7259,7 @@ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -5784,9 +7268,10 @@ } }, "node_modules/stream-buffers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", - "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.3.tgz", + "integrity": "sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==", + "license": "Unlicense", "engines": { "node": ">= 0.10.0" } @@ -5795,6 +7280,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -5803,6 +7289,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", "integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.1.0" @@ -5811,12 +7298,14 @@ "node_modules/string-to-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/string-to-stream/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==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5830,44 +7319,148 @@ "node_modules/string-to-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/string-to-stream/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==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "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/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5877,28 +7470,33 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5909,6 +7507,21 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5921,6 +7534,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -5929,6 +7543,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5938,6 +7553,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5949,6 +7565,7 @@ "version": "5.0.7", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.7.tgz", "integrity": "sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==", + "license": "MIT", "engines": { "node": ">= 12.0.0" }, @@ -5965,13 +7582,15 @@ } }, "node_modules/sucrase": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz", - "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, + "license": "MIT", "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -5982,27 +7601,17 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, "node_modules/supports-color": { @@ -6010,6 +7619,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6021,6 +7631,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6032,14 +7643,40 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz", "integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==", + "license": "MIT", "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" + }, "node_modules/systeminformation": { - "version": "5.17.12", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.17.12.tgz", - "integrity": "sha512-I3pfMW2vue53u+X08BNxaJieaHkRoMMKjWetY9lbYJeWFaeWPO6P4FkNc4XOCX8F9vbQ0HqQ25RJoz3U/B7liw==", + "version": "5.23.5", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.23.5.tgz", + "integrity": "sha512-PEpJwhRYxZgBCAlWZhWIgfMTjXLqfcaZ1pJsJn9snWNfBW/Z1YQg1mbIUSWrEV3ErAHF7l/OoVLQeaZDlPzkpA==", + "license": "MIT", "os": [ "darwin", "linux", @@ -6062,10 +7699,11 @@ } }, "node_modules/tailwind-scrollbar": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-2.1.0.tgz", - "integrity": "sha512-zpvY5mDs0130YzYjZKBiDaw32rygxk5RyJ4KmeHjGnwkvbjm/PszON1m4Bbt2DkMRIXlXsfNevykAESgURN4KA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz", + "integrity": "sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.13.0" }, @@ -6074,45 +7712,40 @@ } }, "node_modules/tailwindcss": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.0.tgz", - "integrity": "sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==", + "version": "3.4.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", + "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", "dev": true, "dependencies": { + "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", - "color-name": "^1.1.4", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.2.12", + "fast-glob": "^3.3.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.17.2", - "lilconfig": "^2.0.6", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1", - "sucrase": "^3.29.0" + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=14.0.0" } }, "node_modules/tailwindcss/node_modules/object-hash": { @@ -6120,18 +7753,30 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -6144,6 +7789,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -6154,12 +7800,14 @@ "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" }, "node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -6171,22 +7819,34 @@ "node": ">=6" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "license": "MIT" }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -6196,6 +7856,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -6203,21 +7864,26 @@ "node": ">=0.8" } }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/tmp-promise": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "license": "MIT", "dependencies": { "tmp": "^0.2.0" } @@ -6227,6 +7893,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -6238,14 +7905,16 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -6259,24 +7928,44 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" }, "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-api-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -6287,27 +7976,14 @@ "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "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==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -6318,13 +7994,15 @@ "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "license": "Unlicense" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -6337,6 +8015,7 @@ "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, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6344,31 +8023,94 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -6376,6 +8118,7 @@ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -6387,14 +8130,16 @@ } }, "node_modules/underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -6403,14 +8148,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -6420,32 +8166,38 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" } }, "node_modules/urbackup-server-api": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/urbackup-server-api/-/urbackup-server-api-0.8.9.tgz", - "integrity": "sha512-Igu6A0xSZeMsiN6PWT7zG4aD+iJR5fXT/j5+xwAvnD/vCNfvVrettIsXv6MftxOajvTmtlgaYu8KDoH1EJQ6DQ==", + "version": "0.52.1", + "resolved": "https://registry.npmjs.org/urbackup-server-api/-/urbackup-server-api-0.52.1.tgz", + "integrity": "sha512-gAxF9MdXxnceqUr/1Uj2LuGZQb/bvZ3Ply9zH/UTSWGkwKL5C0qMPrBvKRyTHbPMG/NBuHF6BzavkF7GNvOLew==", "dependencies": { - "async-mutex": "^0.3.1", - "node-fetch": "^2.6.1" + "async-mutex": "^0.5.0", + "node-fetch": "^2.7.0" } }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -6454,6 +8206,7 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -6463,6 +8216,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -6470,13 +8224,15 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } @@ -6484,7 +8240,8 @@ "node_modules/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "license": "MIT" }, "node_modules/verror": { "version": "1.10.0", @@ -6493,6 +8250,7 @@ "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -6500,9 +8258,10 @@ } }, "node_modules/victory-vendor": { - "version": "36.6.11", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", - "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "license": "MIT AND ISC", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -6524,6 +8283,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6531,12 +8291,14 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -6546,6 +8308,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -6561,6 +8324,7 @@ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -6572,33 +8336,64 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6608,57 +8403,163 @@ } }, "node_modules/winston": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", - "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.14.2.tgz", + "integrity": "sha512-CO8cdpBB2yqzEf8v895L+GNKYJiEq8eKlHU38af3snQBQ+sdAIUepjMSguOIJC7ICbzm0ZI+Af2If4vIJrtmOg==", + "license": "MIT", "dependencies": { - "@colors/colors": "1.5.0", + "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.6.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" + "winston-transport": "^4.7.0" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz", + "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==", + "license": "MIT", "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", + "logform": "^2.6.1", + "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" }, "engines": { - "node": ">= 6.4.0" + "node": ">= 12.0.0" } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "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/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-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==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -6679,6 +8580,7 @@ "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -6690,6 +8592,7 @@ "version": "8.2.2", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", "integrity": "sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw==", + "license": "MIT", "engines": { "node": ">=4.0" } @@ -6698,6 +8601,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", "integrity": "sha512-jQf5gbrP6wvzN71fgkcPPkF4bF/Wyovd7Xdff8d6/ihxYmgETQYSuTc+Hl+tsh/jmgPLro/Aro48LMFlIyEKKQ==", + "license": "MIT", "dependencies": { "sax": "1.2.x", "xmlbuilder": "8.2.x" @@ -6707,18 +8611,29 @@ "npm": ">=1.0.0" } }, + "node_modules/xmlrpc/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yocto-queue": { @@ -6726,6 +8641,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 13f07778..8be8d362 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "startpage", - "version": "0.1.0", + "name": "homepage", + "version": "0.9.6", "private": true, "scripts": { "dev": "next dev", @@ -10,55 +10,55 @@ "telemetry": "next telemetry disable" }, "dependencies": { - "@headlessui/react": "^1.7.2", + "@headlessui/react": "^1.7.18", "@kubernetes/client-node": "^0.17.1", "cal-parser": "^1.0.2", - "classnames": "^2.3.2", - "compare-versions": "^5.0.1", - "dockerode": "^3.3.4", - "follow-redirects": "^1.15.2", - "gamedig": "^4.3.0", - "i18next": "^21.9.2", + "classnames": "^2.5.1", + "compare-versions": "^6.1.0", + "dockerode": "^4.0.2", + "follow-redirects": "^1.15.9", + "gamedig": "^5.1.2", + "i18next": "^21.10.0", "js-yaml": "^4.1.0", - "json-rpc-2.0": "^1.4.1", - "luxon": "^3.4.3", + "json-rpc-2.0": "^1.7.0", + "luxon": "^3.5.0", "memory-cache": "^0.2.0", "minecraft-ping-js": "^1.0.2", - "next": "^12.3.1", - "next-i18next": "^12.0.1", + "next": "^12.3.4", + "next-i18next": "^12.1.0", "ping": "^0.4.4", - "pretty-bytes": "^6.0.0", - "raw-body": "^2.5.1", - "react": "^18.2.0", + "pretty-bytes": "^6.1.1", + "raw-body": "^3.0.0", + "react": "^18.3.1", "react-dom": "^18.2.0", "react-i18next": "^11.18.6", "react-icons": "^4.12.0", - "recharts": "^2.7.2", + "recharts": "^2.12.6", "rrule": "^2.8.1", "swr": "^1.3.0", - "systeminformation": "^5.17.12", - "tough-cookie": "^4.1.2", - "urbackup-server-api": "^0.8.9", - "winston": "^3.8.2", + "systeminformation": "^5.23.2", + "tough-cookie": "^4.1.3", + "urbackup-server-api": "^0.52.1", + "winston": "^3.11.0", "xml-js": "^1.6.11" }, "devDependencies": { - "@tailwindcss/forms": "^0.5.3", - "autoprefixer": "^10.4.12", - "eslint": "^8.24.0", + "@tailwindcss/forms": "^0.5.8", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.1", "eslint-config-airbnb": "^19.0.4", - "eslint-config-next": "^12.3.1", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.31.8", - "eslint-plugin-react-hooks": "^4.6.0", - "postcss": "^8.4.16", - "prettier": "^3.0.3", - "tailwind-scrollbar": "^2.0.1", - "tailwindcss": "^3.1.8", - "typescript": "^4.8.3" + "eslint-config-next": "^14.2.3", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.8.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.1", + "eslint-plugin-react-hooks": "^4.6.2", + "postcss": "^8.4.47", + "prettier": "^3.2.5", + "tailwind-scrollbar": "^3.0.5", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3" }, "optionalDependencies": { "osx-temperature-sensor": "^1.0.8" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ade18318..d73d36c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,1476 +1,1042 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@headlessui/react': - specifier: ^1.7.2 - version: 1.7.13(react-dom@18.2.0)(react@18.2.0) - '@kubernetes/client-node': - specifier: ^0.17.1 - version: 0.17.1 - cal-parser: - specifier: ^1.0.2 - version: 1.0.2 - classnames: - specifier: ^2.3.2 - version: 2.3.2 - compare-versions: - specifier: ^5.0.1 - version: 5.0.3 - dockerode: - specifier: ^3.3.4 - version: 3.3.5 - follow-redirects: - specifier: ^1.15.2 - version: 1.15.2 - gamedig: - specifier: ^4.3.0 - version: 4.3.0 - i18next: - specifier: ^21.9.2 - version: 21.10.0 - js-yaml: - specifier: ^4.1.0 - version: 4.1.0 - json-rpc-2.0: - specifier: ^1.4.1 - version: 1.5.1 - luxon: - specifier: ^3.4.3 - version: 3.4.3 - memory-cache: - specifier: ^0.2.0 - version: 0.2.0 - minecraft-ping-js: - specifier: ^1.0.2 - version: 1.0.2 - next: - specifier: ^12.3.1 - version: 12.3.4(react-dom@18.2.0)(react@18.2.0) - next-i18next: - specifier: ^12.0.1 - version: 12.1.0(next@12.3.4)(react-dom@18.2.0)(react@18.2.0) - ping: - specifier: ^0.4.4 - version: 0.4.4 - pretty-bytes: - specifier: ^6.0.0 - version: 6.1.0 - raw-body: - specifier: ^2.5.1 - version: 2.5.2 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-i18next: - specifier: ^11.18.6 - version: 11.18.6(i18next@21.10.0)(react-dom@18.2.0)(react@18.2.0) - react-icons: - specifier: ^4.12.0 - version: 4.12.0(react@18.2.0) - recharts: - specifier: ^2.7.2 - version: 2.7.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) - rrule: - specifier: ^2.8.1 - version: 2.8.1 - swr: - specifier: ^1.3.0 - version: 1.3.0(react@18.2.0) - systeminformation: - specifier: ^5.17.12 - version: 5.17.12 - tough-cookie: - specifier: ^4.1.2 - version: 4.1.2 - urbackup-server-api: - specifier: ^0.8.9 - version: 0.8.9 - winston: - specifier: ^3.8.2 - version: 3.8.2 - xml-js: - specifier: ^1.6.11 - version: 1.6.11 +importers: -optionalDependencies: - osx-temperature-sensor: - specifier: ^1.0.8 - version: 1.0.8 - -devDependencies: - '@tailwindcss/forms': - specifier: ^0.5.3 - version: 0.5.3(tailwindcss@3.3.0) - autoprefixer: - specifier: ^10.4.12 - version: 10.4.14(postcss@8.4.21) - eslint: - specifier: ^8.24.0 - version: 8.37.0 - eslint-config-airbnb: - specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@8.37.0) - eslint-config-next: - specifier: ^12.3.1 - version: 12.3.4(eslint@8.37.0)(typescript@4.9.5) - eslint-config-prettier: - specifier: ^9.0.0 - version: 9.0.0(eslint@8.37.0) - eslint-plugin-import: - specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - eslint-plugin-jsx-a11y: - specifier: ^6.6.1 - version: 6.7.1(eslint@8.37.0) - eslint-plugin-prettier: - specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@9.0.0)(eslint@8.37.0)(prettier@3.0.3) - eslint-plugin-react: - specifier: ^7.31.8 - version: 7.32.2(eslint@8.37.0) - eslint-plugin-react-hooks: - specifier: ^4.6.0 - version: 4.6.0(eslint@8.37.0) - postcss: - specifier: ^8.4.16 - version: 8.4.21 - prettier: - specifier: ^3.0.3 - version: 3.0.3 - tailwind-scrollbar: - specifier: ^2.0.1 - version: 2.1.0(tailwindcss@3.3.0) - tailwindcss: - specifier: ^3.1.8 - version: 3.3.0(postcss@8.4.21) - typescript: - specifier: ^4.8.3 - version: 4.9.5 + .: + dependencies: + '@headlessui/react': + specifier: ^1.7.18 + version: 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@kubernetes/client-node': + specifier: ^0.17.1 + version: 0.17.1 + cal-parser: + specifier: ^1.0.2 + version: 1.0.2 + classnames: + specifier: ^2.5.1 + version: 2.5.1 + compare-versions: + specifier: ^6.1.0 + version: 6.1.1 + dockerode: + specifier: ^4.0.2 + version: 4.0.2 + follow-redirects: + specifier: ^1.15.9 + version: 1.15.9 + gamedig: + specifier: ^5.1.2 + version: 5.1.3 + i18next: + specifier: ^21.10.0 + version: 21.10.0 + js-yaml: + specifier: ^4.1.0 + version: 4.1.0 + json-rpc-2.0: + specifier: ^1.7.0 + version: 1.7.0 + luxon: + specifier: ^3.5.0 + version: 3.5.0 + memory-cache: + specifier: ^0.2.0 + version: 0.2.0 + minecraft-ping-js: + specifier: ^1.0.2 + version: 1.0.2 + next: + specifier: ^12.3.4 + version: 12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-i18next: + specifier: ^12.1.0 + version: 12.1.0(next@12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + ping: + specifier: ^0.4.4 + version: 0.4.4 + pretty-bytes: + specifier: ^6.1.1 + version: 6.1.1 + raw-body: + specifier: ^3.0.0 + version: 3.0.0 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + react-i18next: + specifier: ^11.18.6 + version: 11.18.6(i18next@21.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-icons: + specifier: ^4.12.0 + version: 4.12.0(react@18.3.1) + recharts: + specifier: ^2.12.6 + version: 2.12.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rrule: + specifier: ^2.8.1 + version: 2.8.1 + swr: + specifier: ^1.3.0 + version: 1.3.0(react@18.3.1) + systeminformation: + specifier: ^5.23.2 + version: 5.23.5 + tough-cookie: + specifier: ^4.1.3 + version: 4.1.4 + urbackup-server-api: + specifier: ^0.52.1 + version: 0.52.1 + winston: + specifier: ^3.11.0 + version: 3.14.2 + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + optionalDependencies: + osx-temperature-sensor: + specifier: ^1.0.8 + version: 1.0.8 + devDependencies: + '@tailwindcss/forms': + specifier: ^0.5.8 + version: 0.5.9(tailwindcss@3.4.14) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) + eslint: + specifier: ^8.57.1 + version: 8.57.1 + eslint-config-airbnb: + specifier: ^19.0.4 + version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1) + eslint-config-next: + specifier: ^14.2.3 + version: 14.2.8(eslint@8.57.1)(typescript@5.6.3) + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.1) + eslint-plugin-import: + specifier: ^2.31.0 + version: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jsx-a11y: + specifier: ^6.8.0 + version: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: + specifier: ^5.2.1 + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-react: + specifier: ^7.37.1 + version: 7.37.1(eslint@8.57.1) + eslint-plugin-react-hooks: + specifier: ^4.6.2 + version: 4.6.2(eslint@8.57.1) + postcss: + specifier: ^8.4.47 + version: 8.4.47 + prettier: + specifier: ^3.2.5 + version: 3.3.3 + tailwind-scrollbar: + specifier: ^3.0.5 + version: 3.1.0(tailwindcss@3.4.14) + tailwindcss: + specifier: ^3.4.14 + version: 3.4.14 + typescript: + specifier: ^5.6.3 + version: 5.6.3 packages: - /@babel/runtime@7.21.0: - resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - /@balena/dockerignore@1.0.2: + '@balena/dockerignore@1.0.2': resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} - dev: false - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + '@colors/colors@1.6.0': + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} - dev: false - /@dabh/diagnostics@2.0.3: + '@dabh/diagnostics@2.0.3': resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} - dependencies: - colorspace: 1.1.4 - enabled: 2.0.0 - kuler: 2.0.0 - dev: false - /@eslint-community/eslint-utils@4.4.0(eslint@8.37.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.37.0 - eslint-visitor-keys: 3.4.0 - dev: true - /@eslint-community/regexpp@4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@2.0.2: - resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.5.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.37.0: - resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@headlessui/react@1.7.13(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==} + '@headlessui/react@1.7.19': + resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - dependencies: - client-only: 0.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + deprecated: Use @eslint/config-array instead - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead - /@kubernetes/client-node@0.17.1: + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@kubernetes/client-node@0.17.1': resolution: {integrity: sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ==} - dependencies: - byline: 5.0.0 - execa: 5.0.0 - isomorphic-ws: 4.0.1(ws@7.5.9) - js-yaml: 4.1.0 - jsonpath-plus: 0.19.0 - request: 2.88.2 - rfc4648: 1.5.2 - shelljs: 0.8.5 - stream-buffers: 3.0.2 - tar: 6.1.13 - tmp-promise: 3.0.3 - tslib: 1.14.1 - underscore: 1.13.6 - ws: 7.5.9 - optionalDependencies: - openid-client: 5.6.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - /@next/env@12.3.4: + '@next/env@12.3.4': resolution: {integrity: sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==} - dev: false - /@next/eslint-plugin-next@12.3.4: - resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==} - dependencies: - glob: 7.1.7 - dev: true + '@next/eslint-plugin-next@14.2.8': + resolution: {integrity: sha512-ue5vcq9Fjk3asACRDrzYjcGMEN7pMMDQ5zUD+FenkqvlPCVUD1x7PxBNOLfPYDZOrk/Vnl4GHmjj2mZDqPW8TQ==} - /@next/swc-android-arm-eabi@12.3.4: + '@next/swc-android-arm-eabi@12.3.4': resolution: {integrity: sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==} engines: {node: '>= 10'} cpu: [arm] os: [android] - requiresBuild: true - dev: false - optional: true - /@next/swc-android-arm64@12.3.4: + '@next/swc-android-arm64@12.3.4': resolution: {integrity: sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64@12.3.4: + '@next/swc-darwin-arm64@12.3.4': resolution: {integrity: sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64@12.3.4: + '@next/swc-darwin-x64@12.3.4': resolution: {integrity: sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-freebsd-x64@12.3.4: + '@next/swc-freebsd-x64@12.3.4': resolution: {integrity: sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm-gnueabihf@12.3.4: + '@next/swc-linux-arm-gnueabihf@12.3.4': resolution: {integrity: sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu@12.3.4: + '@next/swc-linux-arm64-gnu@12.3.4': resolution: {integrity: sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl@12.3.4: + '@next/swc-linux-arm64-musl@12.3.4': resolution: {integrity: sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu@12.3.4: + '@next/swc-linux-x64-gnu@12.3.4': resolution: {integrity: sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl@12.3.4: + '@next/swc-linux-x64-musl@12.3.4': resolution: {integrity: sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc@12.3.4: + '@next/swc-win32-arm64-msvc@12.3.4': resolution: {integrity: sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-ia32-msvc@12.3.4: + '@next/swc-win32-ia32-msvc@12.3.4': resolution: {integrity: sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@12.3.4: + '@next/swc-win32-x64-msvc@12.3.4': resolution: {integrity: sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: false - optional: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - /@rushstack/eslint-patch@1.2.0: - resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} - dev: true + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} - /@sindresorhus/is@5.4.1: - resolution: {integrity: sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@rushstack/eslint-patch@1.10.4': + resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - dev: false - /@swc/helpers@0.4.11: + '@swc/helpers@0.4.11': resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==} - dependencies: - tslib: 2.5.0 - dev: false - /@szmarczak/http-timer@5.0.1: + '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - dependencies: - defer-to-connect: 2.0.1 - dev: false - /@tailwindcss/forms@0.5.3(tailwindcss@3.3.0): - resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==} + '@tailwindcss/forms@0.5.9': + resolution: {integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==} peerDependencies: - tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' - dependencies: - mini-svg-data-uri: 1.4.4 - tailwindcss: 3.3.0(postcss@8.4.21) - dev: true + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20' - /@types/d3-array@3.0.5: - resolution: {integrity: sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A==} - dev: false + '@tanstack/react-virtual@3.10.7': + resolution: {integrity: sha512-yeP+M0G8D+15ZFPivpuQ5hoM4Fa/PzERBx8P8EGcfEsXX3JOb9G9UUrqc47ZXAxvK+YqzM9T5qlJUYUFOwCZJw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - /@types/d3-color@3.1.0: - resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} - dev: false + '@tanstack/virtual-core@3.10.7': + resolution: {integrity: sha512-ND5dfsU0n9F4gROzwNNDJmg6y8n9pI8YWxtgbfJ5UcNn7Hx+MxEXtXcQ189tS7sh8pmCObgz2qSiyRKTZxT4dg==} - /@types/d3-ease@3.0.0: - resolution: {integrity: sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==} - dev: false + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - /@types/d3-interpolate@3.0.1: - resolution: {integrity: sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==} - dependencies: - '@types/d3-color': 3.1.0 - dev: false + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - /@types/d3-path@3.0.0: - resolution: {integrity: sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==} - dev: false + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - /@types/d3-scale@4.0.3: - resolution: {integrity: sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==} - dependencies: - '@types/d3-time': 3.0.0 - dev: false + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - /@types/d3-shape@3.1.1: - resolution: {integrity: sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A==} - dependencies: - '@types/d3-path': 3.0.0 - dev: false + '@types/d3-path@3.1.0': + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} - /@types/d3-time@3.0.0: - resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} - dev: false + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} - /@types/d3-timer@3.0.0: - resolution: {integrity: sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==} - dev: false + '@types/d3-shape@3.1.6': + resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} - /@types/hoist-non-react-statics@3.3.1: - resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} - dependencies: - '@types/react': 18.0.31 - hoist-non-react-statics: 3.3.2 - dev: false + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - dev: false + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - /@types/json5@0.0.29: + '@types/hoist-non-react-statics@3.3.5': + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - dev: false + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - /@types/react@18.0.31: - resolution: {integrity: sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==} - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.1 - dev: false + '@types/react@18.3.5': + resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} - /@types/scheduler@0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - dev: false + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - /@types/triple-beam@1.3.2: - resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} - dev: false + '@types/triple-beam@1.3.5': + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - /@typescript-eslint/parser@5.57.0(eslint@8.37.0)(typescript@4.9.5): - resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@7.2.0': + resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.57.0 - '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/typescript-estree': 5.57.0(typescript@4.9.5) - debug: 4.3.4 - eslint: 8.37.0 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.57.0: - resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/visitor-keys': 5.57.0 - dev: true + '@typescript-eslint/parser@7.2.0': + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - /@typescript-eslint/types@5.57.0: - resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@typescript-eslint/scope-manager@7.2.0': + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/typescript-estree@5.57.0(typescript@4.9.5): - resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/type-utils@7.2.0': + resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@7.2.0': + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/typescript-estree@7.2.0': + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/visitor-keys': 5.57.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/visitor-keys@5.57.0: - resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.57.0 - eslint-visitor-keys: 3.4.0 - dev: true + '@typescript-eslint/utils@7.2.0': + resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 - /acorn-jsx@5.3.2(acorn@8.8.2): + '@typescript-eslint/visitor-keys@7.2.0': + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.8.2 - dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} - dev: true + hasBin: true - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-styles@4.3.0: + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /any-promise@1.3.0: + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /arg@5.0.2: + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-query@5.1.3: + aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - dependencies: - deep-equal: 2.2.0 - dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.0 - is-string: 1.0.7 - dev: true - /array-union@2.1.0: + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - dev: true - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - dev: true - /array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.0 - dev: true + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} - /asn1@0.2.6: + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - dependencies: - safer-buffer: 2.1.2 - dev: false - /assert-plus@1.0.0: + assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} - dev: false - /ast-types-flow@0.0.7: - resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} - dev: true + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - /async-mutex@0.3.2: - resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} - dependencies: - tslib: 2.5.0 - dev: false + async-mutex@0.5.0: + resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: false + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - /asynckit@0.4.0: + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - /autoprefixer@10.4.14(postcss@8.4.21): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001472 - fraction.js: 4.2.0 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.21 - postcss-value-parser: 4.2.0 - dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - dev: true - /aws-sign2@0.7.0: + aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: false - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - dev: false + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - /axe-core@4.6.3: - resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} + axe-core@4.10.0: + resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} engines: {node: '>=4'} - dev: true - /axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - dependencies: - deep-equal: 2.2.0 - dev: true + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /barse@0.4.3: + barse@0.4.3: resolution: {integrity: sha512-UEpvriJqAn8zuVinYICuKoPttZy3XxXEoqX/V2uYAL4zzJRuNzCK3+20nAu3YUIa2U7G53kf90wfBIp9/A+Odw==} - dependencies: - readable-stream: 1.0.34 - dev: false - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - /bcrypt-pbkdf@1.0.2: + bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - dependencies: - tweetnacl: 0.14.5 - dev: false - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: true - /bl@4.1.0: + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /boolbase@1.0.0: + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: false - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - dependencies: - caniuse-lite: 1.0.30001472 - electron-to-chromium: 1.4.343 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) - dev: true + hasBin: true - /buffer@5.7.1: + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /buildcheck@0.0.6: + buildcheck@0.0.6: resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==} engines: {node: '>=10.0.0'} - dev: false - optional: true - /byline@5.0.0: + byline@5.0.0: resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} engines: {node: '>=0.10.0'} - dev: false - /bytes@3.1.2: + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: false - /cacheable-lookup@7.0.0: + cacheable-lookup@7.0.0: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} engines: {node: '>=14.16'} - dev: false - /cacheable-request@10.2.12: - resolution: {integrity: sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==} + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - dependencies: - '@types/http-cache-semantics': 4.0.1 - get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 - mimic-response: 4.0.0 - normalize-url: 8.0.0 - responselike: 3.0.0 - dev: false - /cal-parser@1.0.2: + cal-parser@1.0.2: resolution: {integrity: sha512-wlQwcF0fl4eLclyGdncF9rcNNq0ipRYZGagG6h3LVgRXvCWE1fdMUaCLXwfC9YWoz9jKKbjQAq7TpO2Y3yrvmA==} - dependencies: - ical-date-parser: 4.0.0 - rrule: 2.8.1 - dev: false - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - dev: true + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} - /callsites@3.1.0: + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true - /camelcase-css@2.0.1: + camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - dev: true - /caniuse-lite@1.0.30001472: - resolution: {integrity: sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==} + caniuse-lite@1.0.30001657: + resolution: {integrity: sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==} - /caseless@0.12.0: + caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: false - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /cheerio-select@2.1.0: + cheerio-select@2.1.0: resolution: {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.3 - domutils: 3.1.0 - dev: false - /cheerio@1.0.0-rc.12: + cheerio@1.0.0-rc.12: resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} engines: {node: '>= 6'} - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.1.0 - htmlparser2: 8.0.2 - parse5: 7.1.2 - parse5-htmlparser2-tree-adapter: 7.0.0 - dev: false - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /chownr@1.1.4: + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: false - /chownr@2.0.0: + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: false - /classnames@2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} - dev: false + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - /client-only@0.0.1: + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false - /color-convert@1.9.3: + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: false - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string@1.9.1: + color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false - /color@3.2.1: + color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - dev: false - /colorspace@1.1.4: + colorspace@1.1.4: resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} - dependencies: - color: 3.2.1 - text-hex: 1.0.0 - dev: false - /combined-stream@1.0.8: + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - /commander@4.1.1: + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true - /commander@6.2.1: + commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} - dev: false - /compare-versions@5.0.3: - resolution: {integrity: sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==} - dev: false + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /confusing-browser-globals@1.0.11: + confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - dev: true - /core-js@3.29.1: - resolution: {integrity: sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==} - requiresBuild: true - dev: false + core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} - /core-util-is@1.0.2: + core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: false - /cpu-features@0.0.9: - resolution: {integrity: sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cpu-features@0.0.10: + resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} engines: {node: '>=10.0.0'} - requiresBuild: true - dependencies: - buildcheck: 0.0.6 - nan: 2.18.0 - dev: false - optional: true - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - /css-select@5.1.0: + css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 - dev: false - /css-unit-converter@1.1.2: - resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} - dev: false - - /css-what@6.1.0: + css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - dev: false - /cssesc@3.0.0: + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} - dev: true + hasBin: true - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - dev: false + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /d3-array@3.2.4: + d3-array@3.2.4: resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} engines: {node: '>=12'} - dependencies: - internmap: 2.0.3 - dev: false - /d3-color@3.1.0: + d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} - dev: false - /d3-ease@3.0.1: + d3-ease@3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} - dev: false - /d3-format@3.1.0: + d3-format@3.1.0: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} - dev: false - /d3-interpolate@3.0.1: + d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - dev: false - /d3-path@3.1.0: + d3-path@3.1.0: resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} engines: {node: '>=12'} - dev: false - /d3-scale@4.0.2: + d3-scale@4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - dev: false - /d3-shape@3.2.0: + d3-shape@3.2.0: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} - dependencies: - d3-path: 3.1.0 - dev: false - /d3-time-format@4.1.0: + d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} - dependencies: - d3-time: 3.1.0 - dev: false - /d3-time@3.1.0: + d3-time@3.1.0: resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - /d3-timer@3.0.1: + d3-timer@3.0.1: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} - dev: false - /damerau-levenshtein@1.0.8: + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: true - /dashdash@1.14.1: + dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - dev: false - /debug@3.2.7: + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.3 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - /decimal.js-light@2.5.1: + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - dev: false - /decompress-response@6.0.0: + decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - dependencies: - mimic-response: 3.1.0 - dev: false - /deep-equal@2.2.0: - resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} - dependencies: - call-bind: 1.0.2 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.0 - is-arguments: 1.1.1 - is-array-buffer: 3.0.2 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.9 - dev: true + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} - /deep-is@0.1.4: + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /defer-to-connect@2.0.1: + defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - dev: false - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - /delayed-stream@1.0.0: + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: false - /depd@2.0.0: + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: false - /didyoumean@1.2.2: + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: true - /dir-glob@3.0.1: + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /dlv@1.1.3: + dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true - /docker-modem@3.0.8: - resolution: {integrity: sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==} + docker-modem@5.0.3: + resolution: {integrity: sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==} engines: {node: '>= 8.0'} - dependencies: - debug: 4.3.4 - readable-stream: 3.6.2 - split-ca: 1.0.1 - ssh2: 1.11.0 - transitivePeerDependencies: - - supports-color - dev: false - /dockerode@3.3.5: - resolution: {integrity: sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==} + dockerode@4.0.2: + resolution: {integrity: sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==} engines: {node: '>= 8.0'} - dependencies: - '@balena/dockerignore': 1.0.2 - docker-modem: 3.0.8 - tar-fs: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /doctrine@2.1.0: + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dom-helpers@3.4.0: - resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} - dependencies: - '@babel/runtime': 7.21.0 - dev: false + dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - /dom-serializer@2.0.0: + dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - dev: false - /domelementtype@2.3.0: + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: false - /domhandler@5.0.3: + domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: false - /domutils@3.1.0: + domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: false - /ecc-jsbn@0.1.2: + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - dev: false - /electron-to-chromium@1.4.343: - resolution: {integrity: sha512-22C6pOljO+QQ/yeBZJkxewjsGwSKCXymng7dF8lir3m8iJGi6guoLVkK8jghCf3o0/tARFASAgLP8OzR9SKRCA==} - dev: true + electron-to-chromium@1.5.15: + resolution: {integrity: sha512-Z4rIDoImwEJW+YYKnPul4DzqsWVqYetYVN3XqDmRpgV0mjz0hYTaeeh+8/9CL1bk3AHYmF4freW/NTiVoXA2gA==} - /emoji-regex@9.2.2: + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - /enabled@2.0.0: + enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - dev: false - /end-of-stream@1.4.4: + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - /entities@4.5.0: + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: false - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - 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.5 - get-intrinsic: 1.2.0 - 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.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - dev: true - /es-get-iterator@1.1.3: + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} - /es-to-primitive@1.2.1: + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - dev: true - /escape-string-regexp@4.0.0: + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true - /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.27.5)(eslint@8.37.0): + eslint-config-airbnb-base@15.0.0: resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.2 - dependencies: - confusing-browser-globals: 1.0.11 - eslint: 8.37.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - object.assign: 4.1.4 - object.entries: 1.1.6 - semver: 6.3.0 - dev: true - /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@8.37.0): + eslint-config-airbnb@19.0.4: resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1479,81 +1045,40 @@ packages: eslint-plugin-jsx-a11y: ^6.5.1 eslint-plugin-react: ^7.28.0 eslint-plugin-react-hooks: ^4.3.0 - dependencies: - eslint: 8.37.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.27.5)(eslint@8.37.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.37.0) - eslint-plugin-react: 7.32.2(eslint@8.37.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.37.0) - object.assign: 4.1.4 - object.entries: 1.1.6 - dev: true - /eslint-config-next@12.3.4(eslint@8.37.0)(typescript@4.9.5): - resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==} + eslint-config-next@14.2.8: + resolution: {integrity: sha512-gRqxHkSuCrQro6xqXnmXphcq8rdiw7FI+nLXpWmIlp/AfUzHCgXNQE7mOK+oco+SRaJbhqCg/68uRln1qjkF+Q==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' peerDependenciesMeta: typescript: optional: true - dependencies: - '@next/eslint-plugin-next': 12.3.4 - '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) - eslint: 8.37.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.27.5)(eslint@8.37.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.37.0) - eslint-plugin-react: 7.32.2(eslint@8.37.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.37.0) - typescript: 4.9.5 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-config-prettier@9.0.0(eslint@8.37.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - dependencies: - eslint: 8.37.0 - dev: true - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} - dependencies: - debug: 3.2.7 - is-core-module: 2.11.0 - resolve: 1.22.1 - transitivePeerDependencies: - - supports-color - dev: true + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - /eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.27.5)(eslint@8.37.0): - resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} - engines: {node: '>=4'} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - eslint: 8.37.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - glob: 7.2.3 - is-glob: 4.0.3 - resolve: 1.22.1 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - supports-color - dev: true + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true - /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0): - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -1572,1249 +1097,787 @@ packages: optional: true eslint-import-resolver-webpack: optional: true - dependencies: - '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) - debug: 3.2.7 - eslint: 8.37.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.27.5)(eslint@8.37.0) - transitivePeerDependencies: - - supports-color - dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + eslint-module-utils@2.9.0: + resolution: {integrity: sha512-McVbYmwA3NEKwRQY5g4aWMdcZE5xZxV8i8l7CqJSrameuGSQJtSWaL/LxTEzSKKaCcOhlpDR8XEfYXWPrdo/ZQ==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' peerDependenciesMeta: '@typescript-eslint/parser': optional: true - dependencies: - '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.37.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@2.7.1)(eslint@8.37.0) - has: 1.0.3 - is-core-module: 2.11.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.1 - semver: 6.3.0 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.37.0): - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.0: + resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.21.0 - aria-query: 5.1.3 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 - axe-core: 4.6.3 - axobject-query: 3.1.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 8.37.0 - has: 1.0.3 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.5 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - semver: 6.3.0 - dev: true + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.0.0)(eslint@8.37.0)(prettier@3.0.3): - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=7.28.0' + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' eslint-config-prettier: '*' - prettier: '>=2.0.0' + prettier: '>=3.0.0' peerDependenciesMeta: + '@types/eslint': + optional: true eslint-config-prettier: optional: true - dependencies: - eslint: 8.37.0 - eslint-config-prettier: 9.0.0(eslint@8.37.0) - prettier: 3.0.3 - prettier-linter-helpers: 1.0.0 - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.37.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.37.0 - dev: true - /eslint-plugin-react@7.32.2(eslint@8.37.0): - resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + eslint-plugin-react@7.37.1: + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 - doctrine: 2.1.0 - eslint: 8.37.0 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 - prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 - dev: true + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - /eslint-scope@7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /eslint@8.37.0: - resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.37.0) - '@eslint-community/regexpp': 4.5.0 - '@eslint/eslintrc': 2.0.2 - '@eslint/js': 8.37.0 - '@humanwhocodes/config-array': 0.11.8 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-visitor-keys: 3.4.0 - espree: 9.5.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-sdsl: 4.4.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.1.2 - natural-compare: 1.4.0 - optionator: 0.9.1 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true - /espree@9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.0 - dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: + estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true - /esutils@2.0.3: + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true - /event-to-promise@0.7.0: + event-to-promise@0.7.0: resolution: {integrity: sha512-VOBBfyaADfe378ZzG0tgkzmsvzUyeU5arehrFzNRt5yaASUDshgctTwSrPI17ocAwR3+YftsxRClHF+GBKFByQ==} deprecated: Use promise-toolbox/fromEvent instead - dev: false - /eventemitter3@4.0.7: + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: false - /execa@5.0.0: + execa@5.0.0: resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: false - /extend@3.0.2: + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - /extsprintf@1.3.0: + extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} - dev: false - /fast-deep-equal@3.1.3: + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - /fast-equals@5.0.1: + fast-equals@5.0.1: resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} engines: {node: '>=6.0.0'} - dev: false - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fast-levenshtein@2.0.6: + fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - /fecha@4.2.3: + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - dev: false - /file-entry-cache@6.0.1: + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /find-up@5.0.0: + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /fn.name@1.1.0: + fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - dev: false - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true - dev: false - /for-each@0.3.3: + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - /forever-agent@0.6.1: + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: false - /form-data-encoder@2.1.4: + form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - dev: false - /form-data@2.3.3: + form-data@2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: true + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - /fs-constants@1.0.0: + fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: false - /fs-minipass@2.1.0: + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - /fs.realpath@1.0.0: + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: + functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - /gamedig@4.3.0: - resolution: {integrity: sha512-73wQM/mYLh0giljtg9OmF7QySxTGUj52+MxGklm2cveakOuB2zk0cvQl7vIFYcv6uI3HwenjOZKZ5507c/ZyzA==} - engines: {node: '>=14.0.0'} + gamedig@5.1.3: + resolution: {integrity: sha512-ECksJC4idM3a+P+a+j9/XHcPOsP4DUrwowK38QucDQ4x5T7mQDWErY2n8NE4kV4HKjCq16ifNMAEt+/nyCKWog==} + engines: {node: '>=16.20.0'} hasBin: true - dependencies: - cheerio: 1.0.0-rc.12 - gbxremote: 0.2.1 - got: 12.6.1 - iconv-lite: 0.6.3 - long: 5.2.3 - minimist: 1.2.8 - punycode: 2.3.0 - seek-bzip: 2.0.0 - varint: 6.0.0 - dev: false - /gbxremote@0.2.1: + gbxremote@0.2.1: resolution: {integrity: sha512-SMehu6Y6ndq2Qgp9VxAb8Np3f+UUD+RWoW2SAMaxzGS96rWXyr4T1GGkecO0HHtxeH1m7pEh4FJWB8a/6aM2XQ==} engines: {node: '>=0.10'} - dependencies: - any-promise: 1.3.0 - barse: 0.4.3 - event-to-promise: 0.7.0 - string-to-stream: 1.1.1 - xmlrpc: 1.3.2 - dev: false - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: true + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} - /get-stream@6.0.1: + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: false - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - dev: true - /getpass@0.1.7: + get-tsconfig@4.8.0: + resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} + + getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - dependencies: - assert-plus: 1.0.0 - dev: false - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true - /glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true - /glob@7.2.3: + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + deprecated: Glob versions prior to v9 are no longer supported - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.0 - dev: true - /globby@11.1.0: + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /gopd@1.0.1: + gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.0 - dev: true - /got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - dependencies: - '@sindresorhus/is': 5.4.1 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.12 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.0 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - dev: false + got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /har-schema@2.0.0: + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + har-schema@2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} - dev: false - /har-validator@5.1.5: + har-validator@5.1.5: resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} engines: {node: '>=6'} - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - dev: false + deprecated: this library is no longer supported - /has-bigints@1.0.2: + has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.0 - dev: true + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} - dev: true - /has-symbols@1.0.3: + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} - /hoist-non-react-statics@3.3.2: + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - dependencies: - react-is: 16.13.1 - dev: false - /html-parse-stringify@3.0.1: + html-parse-stringify@3.0.1: resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} - dependencies: - void-elements: 3.1.0 - dev: false - /htmlparser2@8.0.2: + htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - dev: false - /http-cache-semantics@4.1.1: + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: false - /http-errors@2.0.0: + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - /http-signature@1.2.0: + http-signature@1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.17.0 - dev: false - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: false - /human-signals@2.1.0: + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: false - /i18next-fs-backend@1.2.0: + i18next-fs-backend@1.2.0: resolution: {integrity: sha512-pUx3AcgXCbur0jpFA7U67Z2RJflAcIi698Y8VL+phdOqUchahxriV3Cs+M6UkPNQSS/zPEzWLfdJ8EgjB7HVxg==} - dev: false - /i18next@21.10.0: + i18next@21.10.0: resolution: {integrity: sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==} - dependencies: - '@babel/runtime': 7.21.0 - dev: false - /ical-date-parser@4.0.0: + ical-date-parser@4.0.0: resolution: {integrity: sha512-XRCK/FU1akC2ZaJOdKIeZI6BLLgzWUuE0pegSrrkEva89GOan5mNkLVqCU4EMhCJ9nkG5TLWdMXrVX1fNAkFzw==} - dev: false - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - - /iconv-lite@0.6.3: + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - /ieee754@1.2.1: + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - dev: true - /import-fresh@3.3.0: + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true - /inflight@1.0.6: + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - /inherits@2.0.4: + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - /internmap@2.0.3: + internmap@2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - dev: false - /interpret@1.4.0: + interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} - dev: false - /is-arguments@1.1.1: + is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 - dev: true + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} - /is-arrayish@0.3.2: + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - /is-bigint@1.0.4: + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-boolean-object@1.1.2: + is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-callable@1.2.7: + is-bun-module@1.1.0: + resolution: {integrity: sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==} + + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - dev: true - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} - /is-date-object@1.0.5: + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-glob@4.0.3: + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: true - - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} - dev: true - /is-number-object@1.0.7: + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /is-path-inside@3.0.3: + is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true - /is-regex@1.1.4: + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 - dev: true + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} - /is-stream@2.0.1: + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: false - /is-string@1.0.7: + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-symbol@1.0.4: + is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - /is-typedarray@1.0.0: + is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: false - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: true + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} - /is-weakref@1.0.2: + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - dev: true + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} - /isarray@0.0.1: + isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: false - /isarray@1.0.0: + isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: false - /isarray@2.0.5: + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - /isexe@2.0.0: + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isomorphic-ws@4.0.1(ws@7.5.9): + isomorphic-ws@4.0.1: resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' - dependencies: - ws: 7.5.9 - dev: false - /isstream@0.1.2: + isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: false - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} - dev: true + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - /jose@4.15.4: - resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==} - dev: false - optional: true + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} - /js-sdsl@4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} - dev: true + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - /js-tokens@4.0.0: + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + jose@4.15.9: + resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} + + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml@4.1.0: + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - dependencies: - argparse: 2.0.1 + hasBin: true - /jsbn@0.1.1: + jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: false - /json-buffer@3.0.1: + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: false - /json-rpc-2.0@1.5.1: - resolution: {integrity: sha512-ZY/vYl/uUgKN3tNrZMq7w+CGLcoUT+8AzDO/HJZVa+K4XcwgfgES1QDa5y7ieAeh4NgRo3hLexMxgdaiEiK9aA==} - dev: false + json-rpc-2.0@1.7.0: + resolution: {integrity: sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==} - /json-schema-traverse@0.4.1: + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - /json-schema@0.4.0: + json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: false - /json-stable-stringify-without-jsonify@1.0.1: + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - /json-stringify-safe@5.0.1: + json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: false - /json5@1.0.2: + json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - dependencies: - minimist: 1.2.8 - dev: true + hasBin: true - /jsonpath-plus@0.19.0: + jsonpath-plus@0.19.0: resolution: {integrity: sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==} engines: {node: '>=6.0'} - dev: false - /jsprim@1.4.2: + jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: false - /jsx-ast-utils@3.3.3: - resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - dependencies: - array-includes: 3.1.6 - object.assign: 4.1.4 - dev: true - /keyv@4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} - dependencies: - json-buffer: 3.0.1 - dev: false + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - /kuler@2.0.0: + kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - dev: false - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - /language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} - dependencies: - language-subtag-registry: 0.3.22 - dev: true + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} - /levn@0.4.1: + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - /lilconfig@2.1.0: + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - dev: true - /lines-and-columns@1.2.4: + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /locate-path@6.0.0: + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - /lodash.merge@4.6.2: + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - /lodash@4.17.21: + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false - /logform@2.5.1: - resolution: {integrity: sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==} - dependencies: - '@colors/colors': 1.5.0 - '@types/triple-beam': 1.3.2 - fecha: 4.2.3 - ms: 2.1.3 - safe-stable-stringify: 2.4.3 - triple-beam: 1.3.0 - dev: false + logform@2.6.1: + resolution: {integrity: sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==} + engines: {node: '>= 12.0.0'} - /long@5.2.3: + long@5.2.3: resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - dev: false - /loose-envify@1.4.0: + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - dependencies: - js-tokens: 4.0.0 + hasBin: true - /lowercase-keys@3.0.0: + lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /lru-cache@6.0.0: + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - /luxon@3.4.3: - resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + luxon@3.5.0: + resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} engines: {node: '>=12'} - dev: false - /memory-cache@0.2.0: + memory-cache@0.2.0: resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} - dev: false - /merge-stream@2.0.0: + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: false - /merge2@1.4.1: + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: false - /mime-types@2.1.35: + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - /mimic-fn@2.1.0: + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: false - /mimic-response@3.1.0: + mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - dev: false - /mimic-response@4.0.0: + mimic-response@4.0.0: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /minecraft-ping-js@1.0.2: + minecraft-ping-js@1.0.2: resolution: {integrity: sha512-h9QYG2n+fBKgp520tXBwR354XRzR/w5wXe8CJCmxKm6jbLpAoLODM8Nj5+ssuIVQF8rtxkAnjwv7PH+7ehFzQQ==} - dependencies: - node-int64: 0.4.0 - varint: 6.0.0 - dev: false + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - /mini-svg-data-uri@1.4.4: + mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - dev: true + hasBin: true - /minimatch@3.1.2: + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - /minimist@1.2.8: + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /minipass@3.3.6: + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: false - /minipass@4.2.5: - resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: false - /minizlib@2.1.2: + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - /mkdirp-classic@0.5.3: + mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: false - /mkdirp@1.0.4: + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} - dev: false + hasBin: true - /ms@2.1.2: + ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms@2.1.3: + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /mz@2.7.0: + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - /nan@2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} - requiresBuild: true - dev: false - optional: true + nan@2.20.0: + resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - /natural-compare@1.4.0: + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - /next-i18next@12.1.0(next@12.3.4)(react-dom@18.2.0)(react@18.2.0): + next-i18next@12.1.0: resolution: {integrity: sha512-rhos/PVULmZPdC0jpec2MDBQMXdGZ3+Mbh/tZfrDtjgnVN3ucdq7k8BlwsJNww6FnqC8AC31n6dSYuqVzYsGsw==} engines: {node: '>=12'} peerDependencies: next: '>= 10.0.0' react: '>= 16.8.0' - dependencies: - '@babel/runtime': 7.21.0 - '@types/hoist-non-react-statics': 3.3.1 - core-js: 3.29.1 - hoist-non-react-statics: 3.3.2 - i18next: 21.10.0 - i18next-fs-backend: 1.2.0 - next: 12.3.4(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-i18next: 11.18.6(i18next@21.10.0)(react-dom@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - react-dom - - react-native - dev: false - /next@12.3.4(react-dom@18.2.0)(react@18.2.0): + next@12.3.4: resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==} engines: {node: '>=12.22.0'} hasBin: true @@ -2831,15 +1894,2825 @@ packages: optional: true sass: optional: true + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@2.2.0: + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + oidc-token-hash@5.0.3: + resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} + engines: {node: ^10.13.0 || >=12.0.0} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + one-time@1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + openid-client@5.6.5: + resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + osx-temperature-sensor@1.0.8: + resolution: {integrity: sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==} + engines: {node: '>=4.0.0'} + os: [darwin] + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + ping@0.4.4: + resolution: {integrity: sha512-56ZMC0j7SCsMMLdOoUg12VZCfj/+ZO+yfOSjaNCRrmZZr6GLbN2X/Ui56T15dI8NhiHckaw5X2pvyfAomanwqQ==} + engines: {node: '>=4.0.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + raw-body@3.0.0: + resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} + engines: {node: '>= 0.8'} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-i18next@11.18.6: + resolution: {integrity: sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==} + peerDependencies: + i18next: '>= 19.0.0' + react: '>= 16.8.0' + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-icons@4.12.0: + resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-smooth@4.0.1: + resolution: {integrity: sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + react-transition-group@4.4.5: + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readable-stream@1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recharts-scale@0.4.5: + resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} + + recharts@2.12.7: + resolution: {integrity: sha512-hlLJMhPQfv4/3NBSAyq3gzGg4h2v69RJh6KU7b3pXYNNAELs9kEoXOjbkxdXpALqKBoVmVptGfLpxdaVYqjmXQ==} + engines: {node: '>=14'} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfc4648@1.5.3: + resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rrule@2.8.1: + resolution: {integrity: sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + seek-bzip@2.0.0: + resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + split-ca@1.0.1: + resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} + + ssh2@1.15.0: + resolution: {integrity: sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==} + engines: {node: '>=10.16.0'} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + stack-trace@0.0.10: + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + + stream-buffers@3.0.3: + resolution: {integrity: sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==} + engines: {node: '>= 0.10.0'} + + string-to-stream@1.1.1: + resolution: {integrity: sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.includes@2.0.0: + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + styled-jsx@5.0.7: + resolution: {integrity: sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + swr@1.3.0: + resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + + synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} + engines: {node: ^14.18.0 || >=16.0.0} + + systeminformation@5.23.5: + resolution: {integrity: sha512-PEpJwhRYxZgBCAlWZhWIgfMTjXLqfcaZ1pJsJn9snWNfBW/Z1YQg1mbIUSWrEV3ErAHF7l/OoVLQeaZDlPzkpA==} + engines: {node: '>=8.0.0'} + os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] + hasBin: true + + tailwind-scrollbar@3.1.0: + resolution: {integrity: sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==} + engines: {node: '>=12.13.0'} + peerDependencies: + tailwindcss: 3.x + + tailwindcss@3.4.14: + resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-fs@2.0.1: + resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + text-hex@1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + triple-beam@1.4.1: + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + underscore@1.13.7: + resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + urbackup-server-api@0.52.1: + resolution: {integrity: sha512-gAxF9MdXxnceqUr/1Uj2LuGZQb/bvZ3Ply9zH/UTSWGkwKL5C0qMPrBvKRyTHbPMG/NBuHF6BzavkF7GNvOLew==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + victory-vendor@36.9.2: + resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + + void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + winston-transport@4.7.1: + resolution: {integrity: sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==} + engines: {node: '>= 12.0.0'} + + winston@3.14.2: + resolution: {integrity: sha512-CO8cdpBB2yqzEf8v895L+GNKYJiEq8eKlHU38af3snQBQ+sdAIUepjMSguOIJC7ICbzm0ZI+Af2If4vIJrtmOg==} + engines: {node: '>= 12.0.0'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + xmlbuilder@8.2.2: + resolution: {integrity: sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw==} + engines: {node: '>=4.0'} + + xmlrpc@1.3.2: + resolution: {integrity: sha512-jQf5gbrP6wvzN71fgkcPPkF4bF/Wyovd7Xdff8d6/ihxYmgETQYSuTc+Hl+tsh/jmgPLro/Aro48LMFlIyEKKQ==} + engines: {node: '>=0.8', npm: '>=1.0.0'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@babel/runtime@7.25.6': + dependencies: + regenerator-runtime: 0.14.1 + + '@balena/dockerignore@1.0.2': {} + + '@colors/colors@1.6.0': {} + + '@dabh/diagnostics@2.0.3': + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.11.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.6 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/react-virtual': 3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + client-only: 0.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@kubernetes/client-node@0.17.1': + dependencies: + byline: 5.0.0 + execa: 5.0.0 + isomorphic-ws: 4.0.1(ws@7.5.10) + js-yaml: 4.1.0 + jsonpath-plus: 0.19.0 + request: 2.88.2 + rfc4648: 1.5.3 + shelljs: 0.8.5 + stream-buffers: 3.0.3 + tar: 6.2.1 + tmp-promise: 3.0.3 + tslib: 1.14.1 + underscore: 1.13.7 + ws: 7.5.10 + optionalDependencies: + openid-client: 5.6.5 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@next/env@12.3.4': {} + + '@next/eslint-plugin-next@14.2.8': + dependencies: + glob: 10.3.10 + + '@next/swc-android-arm-eabi@12.3.4': + optional: true + + '@next/swc-android-arm64@12.3.4': + optional: true + + '@next/swc-darwin-arm64@12.3.4': + optional: true + + '@next/swc-darwin-x64@12.3.4': + optional: true + + '@next/swc-freebsd-x64@12.3.4': + optional: true + + '@next/swc-linux-arm-gnueabihf@12.3.4': + optional: true + + '@next/swc-linux-arm64-gnu@12.3.4': + optional: true + + '@next/swc-linux-arm64-musl@12.3.4': + optional: true + + '@next/swc-linux-x64-gnu@12.3.4': + optional: true + + '@next/swc-linux-x64-musl@12.3.4': + optional: true + + '@next/swc-win32-arm64-msvc@12.3.4': + optional: true + + '@next/swc-win32-ia32-msvc@12.3.4': + optional: true + + '@next/swc-win32-x64-msvc@12.3.4': + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@nolyfill/is-core-module@1.0.39': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@rtsao/scc@1.1.0': {} + + '@rushstack/eslint-patch@1.10.4': {} + + '@sindresorhus/is@5.6.0': {} + + '@swc/helpers@0.4.11': + dependencies: + tslib: 2.7.0 + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.14)': + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.14 + + '@tanstack/react-virtual@3.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/virtual-core': 3.10.7 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@tanstack/virtual-core@3.10.7': {} + + '@types/d3-array@3.2.1': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.0': {} + + '@types/d3-scale@4.0.8': + dependencies: + '@types/d3-time': 3.0.3 + + '@types/d3-shape@3.1.6': + dependencies: + '@types/d3-path': 3.1.0 + + '@types/d3-time@3.0.3': {} + + '@types/d3-timer@3.0.2': {} + + '@types/hoist-non-react-statics@3.3.5': + dependencies: + '@types/react': 18.3.5 + hoist-non-react-statics: 3.3.2 + + '@types/http-cache-semantics@4.0.4': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/prop-types@15.7.12': {} + + '@types/react@18.3.5': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/semver@7.5.8': {} + + '@types/triple-beam@1.3.5': {} + + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.6 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.6 + eslint: 8.57.1 + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.2.0': + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + + '@typescript-eslint/type-utils@7.2.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.3) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.6 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.2.0': {} + + '@typescript-eslint/typescript-estree@7.2.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.2.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.3) + eslint: 8.57.1 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.2.0': + dependencies: + '@typescript-eslint/types': 7.2.0 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + aria-query@5.1.3: + dependencies: + deep-equal: 2.2.3 + + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@1.0.0: {} + + ast-types-flow@0.0.8: {} + + async-mutex@0.5.0: + dependencies: + tslib: 2.7.0 + + async@3.2.6: {} + + asynckit@0.4.0: {} + + autoprefixer@10.4.20(postcss@8.4.47): + dependencies: + browserslist: 4.23.3 + caniuse-lite: 1.0.30001657 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + aws-sign2@0.7.0: {} + + aws4@1.13.2: {} + + axe-core@4.10.0: {} + + axobject-query@4.1.0: {} + + balanced-match@1.0.2: {} + + barse@0.4.3: + dependencies: + readable-stream: 1.0.34 + + base64-js@1.5.1: {} + + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + binary-extensions@2.3.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + boolbase@1.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001657 + electron-to-chromium: 1.5.15 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buildcheck@0.0.6: + optional: true + + byline@5.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 + + cal-parser@1.0.2: + dependencies: + ical-date-parser: 4.0.0 + rrule: 2.8.1 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + caniuse-lite@1.0.30001657: {} + + caseless@0.12.0: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + cheerio-select@2.1.0: + 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.1.0 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@1.1.4: {} + + chownr@2.0.0: {} + + classnames@2.5.1: {} + + client-only@0.0.1: {} + + clsx@2.1.1: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@3.2.1: + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + + colorspace@1.1.4: + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@4.1.1: {} + + commander@6.2.1: {} + + compare-versions@6.1.1: {} + + concat-map@0.0.1: {} + + confusing-browser-globals@1.0.11: {} + + core-js@3.38.1: {} + + core-util-is@1.0.2: {} + + core-util-is@1.0.3: {} + + cpu-features@0.0.10: + dependencies: + buildcheck: 0.0.6 + nan: 2.20.0 + optional: true + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-color@3.1.0: {} + + d3-ease@3.0.1: {} + + d3-format@3.1.0: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@3.1.0: {} + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + damerau-levenshtein@1.0.8: {} + + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.6: + dependencies: + ms: 2.1.2 + + decimal.js-light@2.5.1: {} + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-equal@2.2.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.4 + is-arguments: 1.1.1 + is-array-buffer: 3.0.4 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + + deep-is@0.1.4: {} + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + + didyoumean@1.2.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + docker-modem@5.0.3: + dependencies: + debug: 4.3.6 + readable-stream: 3.6.2 + split-ca: 1.0.1 + ssh2: 1.15.0 + transitivePeerDependencies: + - supports-color + + dockerode@4.0.2: + dependencies: + '@balena/dockerignore': 1.0.2 + docker-modem: 5.0.3 + tar-fs: 2.0.1 + transitivePeerDependencies: + - supports-color + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-helpers@5.2.1: + dependencies: + '@babel/runtime': 7.25.6 + csstype: 3.1.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + eastasianwidth@0.2.0: {} + + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + + electron-to-chromium@1.5.15: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + enabled@2.0.0: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@4.5.0: {} + + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + + es-iterator-helpers@1.0.19: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.2 + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1): + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 8.57.1 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + object.assign: 4.1.5 + object.entries: 1.1.8 + semver: 6.3.1 + + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.37.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + object.assign: 4.1.5 + object.entries: 1.1.8 + + eslint-config-next@14.2.8(eslint@8.57.1)(typescript@5.6.3): + dependencies: + '@next/eslint-plugin-next': 14.2.8 + '@rushstack/eslint-patch': 1.10.4 + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.37.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + + eslint-config-prettier@9.1.0(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.15.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.3.6 + enhanced-resolve: 5.17.1 + eslint: 8.57.1 + eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + fast-glob: 3.3.2 + get-tsconfig: 4.8.0 + is-bun-module: 1.1.0 + is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.15.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + string.prototype.trimend: 1.0.8 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): + dependencies: + aria-query: 5.1.3 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.10.0 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.57.1 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 + + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): + dependencies: + eslint: 8.57.1 + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.1 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.1) + + eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + + eslint-plugin-react@7.37.1(eslint@8.57.1): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.1 + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.6 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@9.6.1: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + event-to-promise@0.7.0: {} + + eventemitter3@4.0.7: {} + + execa@5.0.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + extend@3.0.2: {} + + extsprintf@1.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-equals@5.0.1: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fecha@4.2.3: {} + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.1: {} + + fn.name@1.1.0: {} + + follow-redirects@1.15.9: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + forever-agent@0.6.1: {} + + form-data-encoder@2.1.4: {} + + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + fraction.js@4.3.7: {} + + fs-constants@1.0.0: {} + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + gamedig@5.1.3: + dependencies: + cheerio: 1.0.0-rc.12 + gbxremote: 0.2.1 + got: 13.0.0 + iconv-lite: 0.6.3 + long: 5.2.3 + minimist: 1.2.8 + punycode: 2.3.1 + seek-bzip: 2.0.0 + varint: 6.0.0 + + gbxremote@0.2.1: + dependencies: + any-promise: 1.3.0 + barse: 0.4.3 + event-to-promise: 0.7.0 + string-to-stream: 1.1.1 + xmlrpc: 1.3.2 + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-stream@6.0.1: {} + + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + get-tsconfig@4.8.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.3.10: + dependencies: + foreground-child: 3.3.0 + jackspeak: 2.3.6 + minimatch: 9.0.5 + minipass: 7.1.2 + path-scurry: 1.11.1 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + got@13.0.0: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + har-schema@2.0.0: {} + + har-validator@5.1.5: + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + + has-bigints@1.0.2: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + html-parse-stringify@3.0.1: + dependencies: + void-elements: 3.1.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + http-cache-semantics@4.1.1: {} + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-signature@1.2.0: + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-signals@2.1.0: {} + + i18next-fs-backend@1.2.0: {} + + i18next@21.10.0: + dependencies: + '@babel/runtime': 7.25.6 + + ical-date-parser@4.0.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + internmap@2.0.3: {} + + interpret@1.4.0: {} + + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-arrayish@0.3.2: {} + + is-async-function@2.0.0: + dependencies: + has-tostringtag: 1.0.2 + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-bun-module@1.1.0: + dependencies: + semver: 7.6.3 + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + + is-stream@2.0.1: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-typedarray@1.0.0: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isomorphic-ws@4.0.1(ws@7.5.10): + dependencies: + ws: 7.5.10 + + isstream@0.1.2: {} + + iterator.prototype@1.1.2: + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.6: {} + + jose@4.15.9: + optional: true + + js-tokens@4.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsbn@0.1.1: {} + + json-buffer@3.0.1: {} + + json-rpc-2.0@1.7.0: {} + + json-schema-traverse@0.4.1: {} + + json-schema@0.4.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + jsonpath-plus@0.19.0: {} + + jsprim@1.4.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kuler@2.0.0: {} + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@2.1.0: {} + + lilconfig@3.1.2: {} + + lines-and-columns@1.2.4: {} + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + logform@2.6.1: + dependencies: + '@colors/colors': 1.6.0 + '@types/triple-beam': 1.3.5 + fecha: 4.2.3 + ms: 2.1.3 + safe-stable-stringify: 2.5.0 + triple-beam: 1.4.1 + + long@5.2.3: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lowercase-keys@3.0.0: {} + + lru-cache@10.4.3: {} + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + optional: true + + luxon@3.5.0: {} + + memory-cache@0.2.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + minecraft-ping-js@1.0.2: + dependencies: + node-int64: 0.4.0 + varint: 6.0.0 + + mini-svg-data-uri@1.4.4: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp-classic@0.5.3: {} + + mkdirp@1.0.4: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nan@2.20.0: + optional: true + + nanoid@3.3.7: {} + + natural-compare@1.4.0: {} + + next-i18next@12.1.0(next@12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.25.6 + '@types/hoist-non-react-statics': 3.3.5 + core-js: 3.38.1 + hoist-non-react-statics: 3.3.2 + i18next: 21.10.0 + i18next-fs-backend: 1.2.0 + next: 12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-i18next: 11.18.6(i18next@21.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - react-dom + - react-native + + next@12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 12.3.4 '@swc/helpers': 0.4.11 - caniuse-lite: 1.0.30001472 + caniuse-lite: 1.0.30001657 postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.0.7(react@18.2.0) - use-sync-external-store: 1.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.0.7(react@18.3.1) + use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: '@next/swc-android-arm-eabi': 12.3.4 '@next/swc-android-arm64': 12.3.4 @@ -2857,632 +4730,370 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - dev: false - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: false + node-int64@0.4.0: {} - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true + node-releases@2.0.18: {} - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-range@0.1.2: {} - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - dev: false + normalize-url@8.0.1: {} - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: false - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - dev: false - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: false + oauth-sign@0.9.0: {} - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-hash@2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} - requiresBuild: true - dev: false + object-hash@2.2.0: optional: true - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: true + object-hash@3.0.0: {} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true + object-inspect@1.13.2: {} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-is@1.1.6: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} - engines: {node: '>= 0.4'} + object.entries@1.1.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + object.groupby@1.0.3: dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} + object.values@1.2.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /oidc-token-hash@5.0.3: - resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} - engines: {node: ^10.13.0 || >=12.0.0} - dev: false + oidc-token-hash@5.0.3: optional: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + one-time@1.0.0: dependencies: fn.name: 1.1.0 - dev: false - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: false - /openid-client@5.6.2: - resolution: {integrity: sha512-TIVimoK/fAvpiISLcoGZyNJx2TOfd5AE6TXn58FFj6Y8qbU/jqky54Aws7sYKuCph1bLPWSRUa1r/Rd6K21bhg==} - requiresBuild: true + openid-client@5.6.5: dependencies: - jose: 4.15.4 + jose: 4.15.9 lru-cache: 6.0.0 object-hash: 2.2.0 oidc-token-hash: 5.0.3 - dev: false optional: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 - dev: true + word-wrap: 1.2.5 - /osx-temperature-sensor@1.0.8: - resolution: {integrity: sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==} - engines: {node: '>=4.0.0'} - os: [darwin] - requiresBuild: true - dev: false + osx-temperature-sensor@1.0.8: optional: true - /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - dev: false + p-cancelable@3.0.0: {} - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + package-json-from-dist@1.0.0: {} + + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 parse5: 7.1.2 - dev: false - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.1.2: dependencies: entities: 4.5.0 - dev: false - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: false - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - - /ping@0.4.4: - resolution: {integrity: sha512-56ZMC0j7SCsMMLdOoUg12VZCfj/+ZO+yfOSjaNCRrmZZr6GLbN2X/Ui56T15dI8NhiHckaw5X2pvyfAomanwqQ==} - engines: {node: '>=4.0.0'} - dev: false - - /pirates@4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} - engines: {node: '>= 6'} - dev: true - - /postcss-import@14.1.0(postcss@8.4.21): - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.0.0 + path-scurry@1.11.1: dependencies: - postcss: 8.4.21 + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + performance-now@2.1.0: {} + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + ping@0.4.4: {} + + pirates@4.0.6: {} + + possible-typed-array-names@1.0.0: {} + + postcss-import@15.1.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.1 - dev: true + resolve: 1.22.8 - /postcss-js@4.0.1(postcss@8.4.21): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 + postcss-js@4.0.1(postcss@8.4.47): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.21 - dev: true + postcss: 8.4.47 - /postcss-load-config@3.1.4(postcss@8.4.21): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true + postcss-load-config@4.0.2(postcss@8.4.47): dependencies: - lilconfig: 2.1.0 - postcss: 8.4.21 - yaml: 1.10.2 - dev: true + lilconfig: 3.1.2 + yaml: 2.5.1 + optionalDependencies: + postcss: 8.4.47 - /postcss-nested@6.0.0(postcss@8.4.21): - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + postcss-nested@6.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 - dev: true + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} - engines: {node: '>=4'} + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true - /postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - dev: false + postcss-value-parser@4.2.0: {} - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true - - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.14: dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.0 - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.47: dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: - fast-diff: 1.2.0 - dev: true + fast-diff: 1.3.0 - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.3.3: {} - /pretty-bytes@6.1.0: - resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: false + pretty-bytes@6.1.1: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: false + process-nextick-args@2.0.1: {} - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false + psl@1.9.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: false + qs@6.5.3: {} - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false + querystringify@2.2.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + quick-lru@5.1.1: {} - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + raw-body@3.0.0: dependencies: bytes: 3.1.2 http-errors: 2.0.0 - iconv-lite: 0.4.24 + iconv-lite: 0.6.3 unpipe: 1.0.0 - dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - dev: false + react: 18.3.1 + scheduler: 0.23.2 - /react-i18next@11.18.6(i18next@21.10.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==} - peerDependencies: - i18next: '>= 19.0.0' - react: '>= 16.8.0' - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react-i18next@11.18.6(i18next@21.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.25.6 html-parse-stringify: 3.0.1 i18next: 21.10.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + react: 18.3.1 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) - /react-icons@4.12.0(react@18.2.0): - resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==} - peerDependencies: - react: '*' + react-icons@4.12.0(react@18.3.1): dependencies: - react: 18.2.0 - dev: false + react: 18.3.1 - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@16.13.1: {} - /react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - dev: false - - /react-resize-detector@8.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-S7szxlaIuiy5UqLhLL1KY3aoyGHbZzsTpYal9eYMwCyKqoqoVLCmIgAgNyIM1FhnP2KyBygASJxdhejrzjMb+w==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 - dependencies: - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /react-smooth@2.0.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yl4y3XiMorss7ayF5QnBiSprig0+qFHui8uh7Hgg46QX5O+aRMRKlfGGNGLHno35JkQSvSYY8eCWkBfHfrSHfg==} - peerDependencies: - prop-types: ^15.6.0 - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-smooth@4.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: fast-equals: 5.0.1 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-transition-group: 2.9.0(react-dom@18.2.0)(react@18.2.0) - dev: false + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - /react-transition-group@2.9.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} - peerDependencies: - react: '>=15.0.0' - react-dom: '>=15.0.0' + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - dom-helpers: 3.4.0 + '@babel/runtime': 7.25.6 + dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-lifecycles-compat: 3.0.4 - dev: false + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + react@18.3.1: dependencies: loose-envify: 1.4.0 - dev: false - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cache@1.0.0: dependencies: pify: 2.3.0 - dev: true - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + readable-stream@1.0.34: dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 0.0.1 string_decoder: 0.10.31 - dev: false - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 2.0.1 safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: false - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: true - /recharts-scale@0.4.5: - resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} + recharts-scale@0.4.5: dependencies: decimal.js-light: 2.5.1 - dev: false - /recharts@2.7.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HMKRBkGoOXHW+7JcRa6+MukPSifNtJlqbc+JreGVNA407VLE/vOP+8n3YYjprDVVIF9E2ZgwWnL3D7K/LUFzBg==} - engines: {node: '>=12'} - peerDependencies: - prop-types: ^15.6.0 - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + recharts@2.12.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - classnames: 2.3.2 + clsx: 2.1.1 eventemitter3: 4.0.7 lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-is: 16.13.1 - react-resize-detector: 8.1.0(react-dom@18.2.0)(react@18.2.0) - react-smooth: 2.0.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + react-smooth: 4.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) recharts-scale: 0.4.5 - reduce-css-calc: 2.1.8 - victory-vendor: 36.6.11 - dev: false + tiny-invariant: 1.3.3 + victory-vendor: 36.9.2 - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + rechoir@0.6.2: dependencies: - resolve: 1.22.1 - dev: false + resolve: 1.22.8 - /reduce-css-calc@2.1.8: - resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} + reflect.getprototypeof@1.0.6: dependencies: - css-unit-converter: 1.1.2 - postcss-value-parser: 3.3.1 - dev: false + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regenerator-runtime@0.14.1: {} - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} + request@2.88.2: dependencies: aws-sign2: 0.7.0 - aws4: 1.12.0 + aws4: 1.13.2 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -3501,191 +5112,146 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 - dev: false - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false + requires-port@1.0.0: {} - /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: false + resolve-alpn@1.2.1: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.8: dependencies: - is-core-module: 2.11.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + resolve@2.0.0-next.5: dependencies: - is-core-module: 2.11.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} + responselike@3.0.0: dependencies: lowercase-keys: 3.0.0 - dev: false - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rfc4648@1.5.2: - resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==} - dev: false + rfc4648@1.5.3: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + rimraf@3.0.2: dependencies: glob: 7.2.3 - /rrule@2.8.1: - resolution: {integrity: sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==} + rrule@2.8.1: dependencies: - tslib: 2.5.0 - dev: false + tslib: 2.7.0 - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: false - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-array-concat@1.1.2: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.5.0: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false + safer-buffer@2.1.2: {} - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - dev: false + sax@1.2.4: {} - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + sax@1.4.1: {} + + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 - dev: false - /seek-bzip@2.0.0: - resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} - hasBin: true + seek-bzip@2.0.0: dependencies: commander: 6.2.1 - dev: false - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - dev: true + semver@6.3.1: {} - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} + semver@7.6.3: {} + + set-function-length@1.2.2: dependencies: - lru-cache: 6.0.0 - dev: true + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} + shelljs@0.8.5: dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: false - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 - dev: true + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false + signal-exit@3.0.7: {} - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - dev: false - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /split-ca@1.0.1: - resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} - dev: false + source-map-js@1.2.1: {} - /ssh2@1.11.0: - resolution: {integrity: sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==} - engines: {node: '>=10.16.0'} - requiresBuild: true + split-ca@1.0.1: {} + + ssh2@1.15.0: dependencies: asn1: 0.2.6 bcrypt-pbkdf: 1.0.2 optionalDependencies: - cpu-features: 0.0.9 - nan: 2.18.0 - dev: false + cpu-features: 0.0.10 + nan: 2.20.0 - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} + sshpk@1.18.0: dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -3696,471 +5262,355 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 - dev: false - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: false + stack-trace@0.0.10: {} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false + statuses@2.0.1: {} - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + stop-iteration-iterator@1.0.0: dependencies: - internal-slot: 1.0.5 - dev: true + internal-slot: 1.0.7 - /stream-buffers@3.0.2: - resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} - engines: {node: '>= 0.10.0'} - dev: false + stream-buffers@3.0.3: {} - /string-to-stream@1.1.1: - resolution: {integrity: sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==} + string-to-stream@1.1.1: dependencies: inherits: 2.0.4 readable-stream: 2.3.8 - dev: false - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + string-width@4.2.3: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.0 + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.includes@2.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.4.3 - side-channel: 1.0.4 - dev: true + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} - engines: {node: '>= 0.4'} + string.prototype.repeat@1.0.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + define-properties: 1.2.1 + es-abstract: 1.23.3 - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: false + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@0.10.31: {} + + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: false - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: false - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /styled-jsx@5.0.7(react@18.2.0): - resolution: {integrity: sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true + strip-ansi@7.1.0: dependencies: - react: 18.2.0 - dev: false + ansi-regex: 6.0.1 - /sucrase@3.31.0: - resolution: {integrity: sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==} - engines: {node: '>=8'} + strip-bom@3.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + styled-jsx@5.0.7(react@18.3.1): dependencies: + react: 18.3.1 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 7.1.6 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.5 + pirates: 4.0.6 ts-interface-checker: 0.1.13 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /swr@1.3.0(react@18.2.0): - resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 + swr@1.3.0(react@18.3.1): dependencies: - react: 18.2.0 - dev: false + react: 18.3.1 - /systeminformation@5.17.12: - resolution: {integrity: sha512-I3pfMW2vue53u+X08BNxaJieaHkRoMMKjWetY9lbYJeWFaeWPO6P4FkNc4XOCX8F9vbQ0HqQ25RJoz3U/B7liw==} - engines: {node: '>=8.0.0'} - os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] - dev: false - - /tailwind-scrollbar@2.1.0(tailwindcss@3.3.0): - resolution: {integrity: sha512-zpvY5mDs0130YzYjZKBiDaw32rygxk5RyJ4KmeHjGnwkvbjm/PszON1m4Bbt2DkMRIXlXsfNevykAESgURN4KA==} - engines: {node: '>=12.13.0'} - peerDependencies: - tailwindcss: 3.x + synckit@0.9.1: dependencies: - tailwindcss: 3.3.0(postcss@8.4.21) - dev: true + '@pkgr/core': 0.1.1 + tslib: 2.7.0 - /tailwindcss@3.3.0(postcss@8.4.21): - resolution: {integrity: sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==} - engines: {node: '>=12.13.0'} - hasBin: true - peerDependencies: - postcss: ^8.0.9 + systeminformation@5.23.5: {} + + tailwind-scrollbar@3.1.0(tailwindcss@3.4.14): dependencies: + tailwindcss: 3.4.14 + + tailwindcss@3.4.14: + dependencies: + '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 - color-name: 1.1.4 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.12 + fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.18.2 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.21 - postcss-import: 14.1.0(postcss@8.4.21) - postcss-js: 4.0.1(postcss@8.4.21) - postcss-load-config: 3.1.4(postcss@8.4.21) - postcss-nested: 6.0.0(postcss@8.4.21) - postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 - resolve: 1.22.1 - sucrase: 3.31.0 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node - dev: true - /tar-fs@2.0.1: - resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + tapable@2.2.1: {} + + tar-fs@2.0.1: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.0 tar-stream: 2.2.0 - dev: false - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tar-stream@2.2.0: dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - dev: false - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} - engines: {node: '>=10'} + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.2.5 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: false - /text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - dev: false + text-hex@1.0.0: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 - dev: true - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thenify@3.3.1: dependencies: any-promise: 1.3.0 - dev: true - /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + tiny-invariant@1.3.3: {} + + tmp-promise@3.0.3: dependencies: - tmp: 0.2.1 - dev: false + tmp: 0.2.3 - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: false + tmp@0.2.3: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false + toidentifier@1.0.1: {} - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} + tough-cookie@2.5.0: dependencies: psl: 1.9.0 - punycode: 2.3.0 - dev: false + punycode: 2.3.1 - /tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} - engines: {node: '>=6'} + tough-cookie@4.1.4: dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - dev: false - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false + tr46@0.0.3: {} - /triple-beam@1.3.0: - resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} - dev: false + triple-beam@1.4.1: {} - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true + ts-api-utils@1.3.0(typescript@5.6.3): + dependencies: + typescript: 5.6.3 - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + ts-interface-checker@0.1.13: {} + + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@1.14.1: {} - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: false + tslib@2.7.0: {} - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - dev: true - - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - dev: false - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: false + tweetnacl@0.14.5: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-buffer@1.0.2: dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.10 - dev: true + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - dev: true - - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + typed-array-byte-offset@1.0.2: dependencies: - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typescript@5.6.3: {} + + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: false + underscore@1.13.7: {} - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: false + universalify@0.2.0: {} - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false + unpipe@1.0.0: {} - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 - /urbackup-server-api@0.8.9: - resolution: {integrity: sha512-Igu6A0xSZeMsiN6PWT7zG4aD+iJR5fXT/j5+xwAvnD/vCNfvVrettIsXv6MftxOajvTmtlgaYu8KDoH1EJQ6DQ==} + urbackup-server-api@0.52.1: dependencies: - async-mutex: 0.3.2 - node-fetch: 2.6.12 + async-mutex: 0.5.0 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - dev: false - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: - punycode: 2.3.0 + punycode: 2.3.1 - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: false - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-sync-external-store@1.2.0(react@18.3.1): dependencies: - react: 18.2.0 - dev: false + react: 18.3.1 - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - dev: false + uuid@3.4.0: {} - /varint@6.0.0: - resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} - dev: false + varint@6.0.0: {} - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verror@1.10.0: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: false - /victory-vendor@36.6.11: - resolution: {integrity: sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==} + victory-vendor@36.9.2: dependencies: - '@types/d3-array': 3.0.5 - '@types/d3-ease': 3.0.0 - '@types/d3-interpolate': 3.0.1 - '@types/d3-scale': 4.0.3 - '@types/d3-shape': 3.1.1 - '@types/d3-time': 3.0.0 - '@types/d3-timer': 3.0.0 + '@types/d3-array': 3.2.1 + '@types/d3-ease': 3.0.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-scale': 4.0.8 + '@types/d3-shape': 3.1.6 + '@types/d3-time': 3.0.3 + '@types/d3-timer': 3.0.2 d3-array: 3.2.4 d3-ease: 3.0.1 d3-interpolate: 3.0.1 @@ -4168,136 +5618,109 @@ packages: d3-shape: 3.2.0 d3-time: 3.1.0 d3-timer: 3.0.1 - dev: false - /void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} - dev: false + void-elements@3.1.0: {} - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false + webidl-conversions@3.0.1: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-builtin-type@1.1.4: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - dev: true + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} + which-collection@1.0.2: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - dev: true + has-tostringtag: 1.0.2 - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + which@2.0.2: dependencies: isexe: 2.0.0 - /winston-transport@4.5.0: - resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==} - engines: {node: '>= 6.4.0'} + winston-transport@4.7.1: dependencies: - logform: 2.5.1 + logform: 2.6.1 readable-stream: 3.6.2 - triple-beam: 1.3.0 - dev: false + triple-beam: 1.4.1 - /winston@3.8.2: - resolution: {integrity: sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==} - engines: {node: '>= 12.0.0'} + winston@3.14.2: dependencies: - '@colors/colors': 1.5.0 + '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.3 - async: 3.2.4 + async: 3.2.6 is-stream: 2.0.1 - logform: 2.5.1 + logform: 2.6.1 one-time: 1.0.0 readable-stream: 3.6.2 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 stack-trace: 0.0.10 - triple-beam: 1.3.0 - winston-transport: 4.5.0 - dev: false + triple-beam: 1.4.1 + winston-transport: 4.7.1 - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + wrap-ansi@7.0.0: dependencies: - sax: 1.2.4 - dev: false + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 - /xmlbuilder@8.2.2: - resolution: {integrity: sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw==} - engines: {node: '>=4.0'} - dev: false + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 - /xmlrpc@1.3.2: - resolution: {integrity: sha512-jQf5gbrP6wvzN71fgkcPPkF4bF/Wyovd7Xdff8d6/ihxYmgETQYSuTc+Hl+tsh/jmgPLro/Aro48LMFlIyEKKQ==} - engines: {node: '>=0.8', npm: '>=1.0.0'} + wrappy@1.0.2: {} + + ws@7.5.10: {} + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + xmlbuilder@8.2.2: {} + + xmlrpc@1.3.2: dependencies: sax: 1.2.4 xmlbuilder: 8.2.2 - dev: false - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@4.0.0: {} - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true + yaml@2.5.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} diff --git a/public/locales/af/common.json b/public/locales/af/common.json index 102f24c4..5f5f1883 100644 --- a/public/locales/af/common.json +++ b/public/locales/af/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "ma", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Liedjies" }, + "esphome": { + "offline": "Vanlyn", + "offline_alt": "Vanlyn", + "online": "Aanlyn", + "total": "Totaal", + "unknown": "Onbekend" + }, "evcc": { "pv_power": "Produksie", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Seier", "seed": "Vul" }, + "develancacheui": { + "cachehitbytes": "Kas Tref Grepe", + "cachemissbytes": "Kas Mis Grepe" + }, "downloadstation": { "download": "Aflaai", "upload": "Laai Op", @@ -270,7 +281,7 @@ "approved": "Goedgekeur", "available": "Beskikbaar" }, - "pialert": { + "netalertx": { "total": "Totaal", "connected": "Gekoppel", "new_devices": "Nuwe Toestelle", @@ -298,6 +309,16 @@ "stopped": "Gestop", "total": "Totaal" }, + "suwayomi": { + "download": "Afgelaai", + "nondownload": "Nie-Afgelaai", + "read": "Gelees", + "unread": "Ongelees", + "downloadedread": "Afgelaai & Gelees", + "downloadedunread": "Afgelaai en Ongelees", + "nondownloadedread": "Nie-Afgelaai & Gelees", + "nondownloadedunread": "Nie-Afgelaai & Ongelees" + }, "tailscale": { "address": "Adres", "expires": "Verval", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Terug" }, + "technitium": { + "totalQueries": "Navraรซ", + "totalNoError": "Sukses", + "totalServerFailure": "Mislukkings", + "totalNxDomain": "NX-domeine", + "totalRefused": "Geweier", + "totalAuthoritative": "Gesaghebbend", + "totalRecursive": "Rekursief", + "totalCached": "Gekas", + "totalBlocked": "Geblok", + "totalDropped": "Geval", + "totalClients": "Kliรซnte" + }, "tdarr": { "queue": "Tou", "processed": "Verwerk", @@ -419,7 +453,8 @@ "search": "Soek", "custom": "Pasgemaak", "visit": "Besoek", - "url": "URL" + "url": "URL", + "searchsuggestion": "Voorstelling" }, "wmo": { "0-day": "Sonnig", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanale", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Kanaal", + "channelNetwork": "Netwerk", + "signalStrength": "Sterkte", + "signalQuality": "Kwaliteit", + "symbolQuality": "Kwaliteit", + "networkRate": "Bistempo", + "clientIP": "Kliรซnt" }, "scrutiny": { "passed": "Geslaag", @@ -694,6 +737,11 @@ "targets_down": "Teikens Af", "targets_total": "Totale Teikens" }, + "gatus": { + "up": "Werwe Op", + "down": "Werwe Af", + "uptime": "Optyd" + }, "ghostfolio": { "gross_percent_today": "Vandag", "gross_percent_1y": "Een jaar", @@ -775,6 +823,14 @@ "passed": "Geslaag", "failed": "Misluk" }, + "openwrt": { + "uptime": "Optyd", + "cpuLoad": "SVE-lading gemiddelde (5m)", + "up": "Op", + "down": "Af", + "bytesTx": "Oorgedra", + "bytesRx": "Ontvang" + }, "uptimerobot": { "status": "Status", "uptime": "Optyd", @@ -797,11 +853,159 @@ "noEventsFound": "Geen gebeure gevind nie" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platform", + "totalRoms": "Spelle", + "saves": "Beware", + "states": "Toestande", + "screenshots": "Skermskote", + "totalfilesize": "Totale Grootte" + }, + "mailcow": { + "domains": "Domeine", + "mailboxes": "Posbusse", + "mails": "E-posse", + "storage": "Bergplek" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Waarskuwings", + "criticals": "Kritici" + }, + "plantit": { + "events": "Gebeure", + "plants": "Plante", + "photos": "Foto's", + "species": "Spesies" + }, + "gitea": { + "notifications": "Kennisgewings", + "issues": "Kwessies", + "pulls": "Trek Versoeke" + }, + "stash": { + "scenes": "Tonele", + "scenesPlayed": "Tonele Gekyk", + "playCount": "Totale Toneelstukke", + "playDuration": "Tyd Gekyk", + "sceneSize": "Toneel Grootte", + "sceneDuration": "Tonele Duur", + "images": "Beelde", + "imageSize": "Beeldgrootte", + "galleries": "Galerye", + "performers": "Kunstenaars", + "studios": "Ateljees", + "movies": "Flieks", + "tags": "Merkers", + "oCount": "O Tel" + }, + "tandoor": { + "users": "Gebruikers", + "recipes": "Resepte", + "keywords": "Sleutelwoorde" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "Met Waarborg", + "locations": "Plekke", + "labels": "Etikette", + "users": "Gebruikers", + "totalValue": "Totale Waarde" + }, + "crowdsec": { + "alerts": "Waarskuwings", + "bans": "Verbanne" + }, + "wgeasy": { + "connected": "Gekoppel", + "enabled": "Geaktiveer", + "disabled": "Onaktief", + "total": "Totaal" + }, + "swagdashboard": { + "proxied": "Gevolmagtig", + "auth": "Met Aut", + "outdated": "Verouderd", + "banned": "Verban" + }, + "myspeed": { + "ping": "Pieng", + "download": "Aflaai", + "upload": "Laai Op" + }, + "stocks": { + "stocks": "Aandele", + "loading": "Laai", + "open": "Oop - VS Mark", + "closed": "Toe - VS Mark", + "invalidConfiguration": "Ongeldige opstelling" + }, + "frigate": { + "cameras": "Kameras", + "uptime": "Optyd", + "version": "Weergawe" + }, + "linkwarden": { + "links": "Skakels", + "collections": "Versamelings", + "tags": "Merkers" + }, + "zabbix": { + "unclassified": "Nie geklassifiseer nie", + "information": "Informasie", + "warning": "Waarskuwing", + "average": "Gemiddeld", + "high": "Hoog", + "disaster": "Ramp" + }, + "lubelogger": { + "vehicle": "Voertuig", + "vehicles": "Voertuie", + "serviceRecords": "Diensrekords", + "reminders": "Herinneringe", + "nextReminder": "Volgende Herinnering", + "none": "Geen" + }, + "vikunja": { + "projects": "Aktiewe Projekte", + "tasks7d": "Take Hierdie week", + "tasksOverdue": "Agterstallige Take", + "tasksInProgress": "Take Aan Die Gang" + }, + "headscale": { + "name": "Naam", + "address": "Adres", + "last_seen": "Laaste Gesien", + "status": "Status", + "online": "Aanlyn", + "offline": "Vanlyn" + }, + "beszel": { + "name": "Naam", + "systems": "Stelsels", + "up": "Op", + "status": "Status", + "updated": "Opgedateer", + "cpu": "SVE", + "memory": "GEH", + "disk": "Skyf", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Gesond", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Vermis", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Laai" + }, + "gitlab": { + "groups": "Groups", + "issues": "Kwessies", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index d81b4a95..558de975 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "ุด", "days": "ูŠ", "hours": "ุณ", @@ -107,6 +107,13 @@ "episodes": "ุญู„ู‚ุงุช", "songs": "ุฃุบุงู†ูŠ" }, + "esphome": { + "offline": "ุบูŠุฑ ู…ุชุตู„", + "offline_alt": "ุบูŠุฑ ู…ุชุตู„", + "online": "ู…ูุชู‘ุตู„", + "total": "ุงู„ู…ุฌู…ูˆุน", + "unknown": "ู…ุฌู‡ูˆู„" + }, "evcc": { "pv_power": "ุฅู†ุชุงุฌ", "battery_soc": "ุงู„ุจุทุงุฑูŠุฉ", @@ -219,6 +226,10 @@ "leech": "ุงู„ู‚ุฑู†ุงุก", "seed": "ุงู„ุจุฐูˆุฑ" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "ุงู„ุชู†ุฒูŠู„", "upload": "ุงู„ุชุญู…ูŠู„", @@ -270,11 +281,11 @@ "approved": "ู…ุตุฏู‚", "available": "ู…ุชุงุญ" }, - "pialert": { + "netalertx": { "total": "ุงู„ู…ุฌู…ูˆุน", "connected": "ู…ุชุตู„", "new_devices": "ุฃุฌู‡ุฒุฉ ุฌุฏูŠุฏุฉ", - "down_alerts": "ุชู†ุจูŠู‡ุงุช ุชุนุทู„ ุงู„ุฎูˆุงุฏู…" + "down_alerts": "ุชู†ุจูŠู‡ุงุช ุชุนุทู„" }, "pihole": { "queries": "ุงู„ุงุณุชุนู„ุงู…ุงุช", @@ -298,6 +309,16 @@ "stopped": "ู…ุชูˆู‚ู", "total": "ุงู„ู…ุฌู…ูˆุน" }, + "suwayomi": { + "download": "ู…ูู†ุฒู„", + "nondownload": "Non-Downloaded", + "read": "ู‚ุฑุงุกุฉ", + "unread": "ุบูŠุฑ ู…ู‚ุฑูˆุกุฉ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ุนู†ูˆุงู†", "expires": "ุชู†ุชู‡ูŠ", @@ -312,6 +333,19 @@ "seconds": "{{number}}ุซ", "ago": "ู…ู†ุฐ {{value}}" }, + "technitium": { + "totalQueries": "ุงู„ุงุณุชุนู„ุงู…ุงุช", + "totalNoError": "ุชู… ุจู†ุฌุงุญ", + "totalServerFailure": "ูุดู„", + "totalNxDomain": "ู…ุฌุงู„ุงุช NX", + "totalRefused": "ู…ุฑููˆุถ", + "totalAuthoritative": "ู…ูˆุซูˆู‚ุฉ", + "totalRecursive": "ุนูˆุฏูŠ", + "totalCached": "ู…ุฎุจุฃ", + "totalBlocked": "ู…ุญุธูˆุฑ", + "totalDropped": "ุฃุณู‚ุทุช", + "totalClients": "ุงู„ุนู…ู„ุงุก" + }, "tdarr": { "queue": "ุฅู†ุชุธุงุฑ", "processed": "ู…ุนุงู„ุฌุฉ", @@ -419,7 +453,8 @@ "search": "ุงู„ุจุญุซ", "custom": "ู…ูุฎุตู‘ุต", "visit": "ุฒูŠุงุฑุฉ", - "url": "ุงู„ุฑุงุจุท" + "url": "ุงู„ุฑุงุจุท", + "searchsuggestion": "ุงู„ุฅู‚ุชุฑุงุญุงุช" }, "wmo": { "0-day": "ู…ุดู…ุณ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "ุงู„ู‚ู†ูˆุงุช", - "hd": "ุฌูˆุฏุฉ HD" + "hd": "ุฌูˆุฏุฉ HD", + "tunerCount": "ุงู„ุชูˆู†ุฒ", + "channelNumber": "ุงู„ู‚ู†ุงุฉ", + "channelNetwork": "ุงู„ุดุจูƒุฉ", + "signalStrength": "ุงู„ู‚ูˆุฉ", + "signalQuality": "ุงู„ุฌูˆุฏุฉ", + "symbolQuality": "ุงู„ุฌูˆุฏุฉ", + "networkRate": "ู…ุนุฏู„ ุงู„ุจุช", + "clientIP": "ุงู„ุนู…ูŠู„" }, "scrutiny": { "passed": "ุฅุฌุชุงุฒ", @@ -694,6 +737,11 @@ "targets_down": "ุงู„ุฃู‡ุฏุงู ู„ุง ุชุนู…ู„", "targets_total": "ุงู„ุฃู‡ุฏุงู ุงู„ุฅุฌู…ุงู„ูŠุฉ" }, + "gatus": { + "up": "ุงู„ู…ูˆุงู‚ุน ุชุนู…ู„", + "down": "ู…ูˆุงู‚ุน ู„ุง ุชุนู…ู„", + "uptime": "ู…ุฏุฉ ุงู„ุชุดุบูŠู„" + }, "ghostfolio": { "gross_percent_today": "ุงู„ูŠูˆู…", "gross_percent_1y": "ุณู†ุฉ", @@ -775,6 +823,14 @@ "passed": "ุฅุฌุชุงุฒ", "failed": "ูุดู„" }, + "openwrt": { + "uptime": "ู…ุฏุฉ ุงู„ุชุดุบูŠู„", + "cpuLoad": "ู…ุชูˆุณุท ุญู…ูˆู„ุฉ ุงู„ู…ุนุงู„ุฌ (5ุฏู‚)", + "up": "ูŠุนู…ู„", + "down": "ู„ุง ูŠุนู…ู„", + "bytesTx": "ู…ุฑุณู„ุฉ", + "bytesRx": "ุชู… ุงู„ุฅุณุชู„ุงู…" + }, "uptimerobot": { "status": "ุงู„ุญุงู„ุฉ", "uptime": "ู…ุฏุฉ ุงู„ุชุดุบูŠู„", @@ -797,11 +853,159 @@ "noEventsFound": "ู„ู… ูŠุชู… ุงู„ุนุซูˆุฑ ุนู„ู‰ ุฃุญุฏุงุซ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ุงู„ู…ูู†ุตุงุช", + "totalRoms": "ุฃู„ุนุงุจ", + "saves": "ู†ูู‚ูŽุท ุญูุธ", + "states": "ุญุงู„ุงุช", + "screenshots": "ู„ู‚ุทุงุช ุดุงุดุฉ", + "totalfilesize": "ุงู„ุญุฌู… ุงู„ูƒู„ูŠ" + }, + "mailcow": { + "domains": "ู…ุฌุงู„ุงุช", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "ุงู„ุชุฎุฒูŠู†" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "ุชุญุฐูŠุฑุงุช", + "criticals": "ุญุฑุฌ" + }, + "plantit": { + "events": "ุฃุญุฏุงุซ", + "plants": "ู†ุจุงุชุงุช", + "photos": "ุงู„ุตูˆุฑ", + "species": "ุงู„ุฃู†ูˆุงุน" + }, + "gitea": { + "notifications": "ุงู„ุฅุดุนุงุฑุงุช", + "issues": "ุงู„ู…ูุดูƒูู„ุงุช", + "pulls": "ุทู„ุจุงุช ุงู„ุณุญุจ" + }, + "stash": { + "scenes": "ุงู„ู…ุดุงู‡ุฏ", + "scenesPlayed": "ู…ุดุงู‡ุฏ ุดุบู„ุช", + "playCount": "ุฅุฌู…ุงู„ูŠ ุงู„ู…ุดุบู„ุงุช", + "playDuration": "ูˆู‚ุช ุงู„ู…ุดุงู‡ุฏุฉ", + "sceneSize": "ุญุฌู… ุงู„ู…ุดุงู‡ุฏ", + "sceneDuration": "ู…ุฏุฉ ุงู„ู…ุดู‡ุฏ", + "images": "ุตูˆุฑ", + "imageSize": "ุญุฌู… ุงู„ุตูˆุฑ", + "galleries": "ุงู„ู…ุนุงุฑุถ", + "performers": "ู…ู…ุซู„ูŠู†", + "studios": "ุงุณุชูˆุฏูŠูˆู‡ุงุช", + "movies": "ุฃูู„ุงู…", + "tags": "ุงู„ุชุตู†ูŠูุงุช", + "oCount": "ุนุฏุฏ O" + }, + "tandoor": { + "users": "ุงู„ู…ุณุชุฎุฏู…ูˆู†", + "recipes": "ูˆุตูุงุช", + "keywords": "ูƒู„ู…ุงุช ู…ูุชุงุญ" + }, + "homebox": { + "items": "ุนู†ุงุตุฑ", + "totalWithWarranty": "ุจุงู„ุถู…ุงู†", + "locations": "Locations", + "labels": "Labels", + "users": "ุงู„ู…ุณุชุฎุฏู…ูˆู†", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "ุชู†ุจูŠู‡ุงุช", + "bans": "Bans" + }, + "wgeasy": { + "connected": "ู…ุชุตู„", + "enabled": "ู…ูุนู„", + "disabled": "ู…ุนุทู„", + "total": "ุงู„ู…ุฌู…ูˆุน" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "ุจูŠู†ุบ", + "download": "ุงู„ุชู†ุฒูŠู„", + "upload": "ุงู„ุชุญู…ูŠู„" + }, + "stocks": { + "stocks": "Stocks", + "loading": "ุชุญู…ูŠู„", + "open": "ู…ูุชูˆุญุฉ - ุงู„ุณูˆู‚ ุงู„ุฃู…ุฑูŠูƒูŠุฉ", + "closed": "ู…ุบู„ู‚ุฉ - ุงู„ุณูˆู‚ ุงู„ุฃู…ุฑูŠูƒูŠุฉ", + "invalidConfiguration": "ุฅุนุฏุงุฏุงุช ุบูŠุฑ ุตุญูŠุญุฉ" + }, + "frigate": { + "cameras": "ูƒุงู…ูŠุฑุงุช", + "uptime": "ู…ุฏุฉ ุงู„ุชุดุบูŠู„", + "version": "ุงู„ุฅุตุฏุงุฑ" + }, + "linkwarden": { + "links": "ุฑูˆุงุจุท", + "collections": "ู…ุฌู…ูˆุนุงุช", + "tags": "ุงู„ุชุตู†ูŠูุงุช" + }, + "zabbix": { + "unclassified": "ุบูŠุฑ ู…ุตู†ูุฉ", + "information": "ู…ุนู„ูˆู…ุงุช", + "warning": "ุชุญุฐูŠุฑุงุช", + "average": "ู…ุชูˆุณุท", + "high": "ุนุงู„ูŠ", + "disaster": "ูƒุงุฑุซุฉ" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ุงู„ุงุณู…", + "address": "ุนู†ูˆุงู†", + "last_seen": "ุขุฎุฑ ุธู‡ูˆุฑ", + "status": "ุงู„ุญุงู„ุฉ", + "online": "ู…ูุชู‘ุตู„", + "offline": "ุบูŠุฑ ู…ุชุตู„" + }, + "beszel": { + "name": "ุงู„ุงุณู…", + "systems": "Systems", + "up": "ูŠุนู…ู„", + "status": "ุงู„ุญุงู„ุฉ", + "updated": "ู…ุญุฏุซ", + "cpu": "ุงู„ู…ุนุงู„ุฌ", + "memory": "ุงู„ุฐุงูƒุฑุฉ", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ุณู„ูŠู…", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ู…ูู‚ูˆุฏ", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "ุชุญู…ูŠู„" + }, + "gitlab": { + "groups": "Groups", + "issues": "ุงู„ู…ูุดูƒูู„ุงุช", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 2bf20ccc..15c38b14 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -13,10 +13,10 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", - "hours": "h", + "hours": "ั‡", "minutes": "m", "seconds": "s" }, @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "ะ˜ะทะบะปัŽั‡ะตะฝ", + "offline_alt": "ะ˜ะทะบะปัŽั‡ะตะฝ", + "online": "Online", + "total": "ะžะฑั‰ะพ", + "unknown": "ะะตะธะทะฒ." + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -133,7 +140,7 @@ "connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "ะกะฒัŠั€ะทะฐะฝะพ", + "connectionStatusConnected": "Connected", "uptime": "Uptime", "maxDown": "Max. Down", "maxUp": "Max. Up", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,10 +281,10 @@ "approved": "ะžะดะพะฑั€ะตะฝ", "available": "ะะฐะปะธั‡ะตะฝ" }, - "pialert": { + "netalertx": { "total": "ะžะฑั‰ะพ", - "connected": "ะกะฒัŠั€ะทะฐะฝะพ", - "new_devices": "ะะพะฒะธ ัƒัั‚ั€ะพะนัั‚ะฒะฐ", + "connected": "Connected", + "new_devices": "New Devices", "down_alerts": "Down Alerts" }, "pihole": { @@ -298,6 +309,16 @@ "stopped": "ะกะฟั€ัะฝ", "total": "ะžะฑั‰ะพ" }, + "suwayomi": { + "download": "ะ˜ะทั‚ะตะณะปะตะฝะธ", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}ัะตะบ", "ago": "ะฟั€ะตะดะธ {{value}}" }, + "technitium": { + "totalQueries": "ะ—ะฐัะฒะบะธ", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "ะ‘ะปะพะบะธั€ะฐะฝะธ", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "ะžะฟะฐัˆะบะฐ", "processed": "Processed", @@ -405,7 +439,7 @@ "free": "ะกะฒะพะฑะพะดะฝะธ", "used": "ะ—ะฐะตั‚ะธ", "days": "d", - "hours": "h", + "hours": "ั‡", "crit": "Crit", "read": "Read", "write": "Write", @@ -419,7 +453,8 @@ "search": "ะขัŠั€ัะตะฝะต", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "ะกะปัŠะฝั‡ะตะฒะพ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "ะšะฐะฝะฐะปะธ", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "ะกั‚ะฐั‚ัƒั", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "ะคะธะปะผะธ", + "tags": "ะขะฐะณะพะฒะต", + "oCount": "O Count" + }, + "tandoor": { + "users": "ะŸะพั‚ั€ะตะฑะธั‚ะตะปะธ", + "recipes": "ะ ะตั†ะตะฟั‚ะธ", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "ะŸะพั‚ั€ะตะฑะธั‚ะตะปะธ", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "ะŸั€ะตะดัƒะฟั€ะตะถะดะตะฝะธั", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "ะะบั‚ะธะฒะธั€ะฐะฝะพ", + "disabled": "ะ”ะตะฐะบั‚ะธะฒะธั€ะฐะฝะพ", + "total": "ะžะฑั‰ะพ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ะขะฐะณะพะฒะต" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "ะ˜ะฝั„ะพั€ะผะฐั†ะธั", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "ะŸะพัะปะตะดะฝะพ ะฒะธะดัะฝ", + "status": "ะกั‚ะฐั‚ัƒั", + "online": "Online", + "offline": "ะ˜ะทะบะปัŽั‡ะตะฝ" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "ะกั‚ะฐั‚ัƒั", + "updated": "Updated", + "cpu": "ะŸั€ะพั†ะตัะพั€", + "memory": "ะŸะฐะผะตั‚", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ะ›ะธะฟัะฒะฐั‰ะธ", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 7c638792..9eb7e447 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mes", "days": "d", "hours": "h", "minutes": "m", @@ -36,7 +36,7 @@ "wait": "Si us plau, espereu" }, "search": { - "placeholder": "Cercarโ€ฆ" + "placeholder": "Cercaโ€ฆ" }, "resources": { "cpu": "CPU", @@ -46,8 +46,8 @@ "used": "Utilitzat", "load": "Cร rrega", "temp": "TEMP", - "max": "Max", - "uptime": "UP" + "max": "Mร x.", + "uptime": "ACTIU" }, "unifi": { "users": "Usuaris", @@ -61,116 +61,123 @@ "wlan_devices": "Dispositius WLAN", "lan_users": "Usuaris LAN", "wlan_users": "Usuaris WLAN", - "up": "UP", + "up": "ACTIU", "down": "INACTIU", "wait": "Si us plau, espereu", - "empty_data": "Subsystem status unknown" + "empty_data": "Estat del subsistema desconegut" }, "docker": { "rx": "Rebut", "tx": "Transmรจs", "mem": "MEM", "cpu": "CPU", - "running": "Running", + "running": "En execuciรณ", "offline": "Fora de lรญnia", "error": "Error", "unknown": "Desconegut", - "healthy": "Healthy", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", - "exited": "Exited", - "partial": "Partial" + "healthy": "Saludable", + "starting": "Iniciant", + "unhealthy": "No saludable", + "not_found": "No trobat", + "exited": "Tancat", + "partial": "Parcial" }, "ping": { "error": "Error", - "ping": "Ping", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "ping": "Latรจncia", + "down": "Inactiu", + "up": "Actiu", + "not_available": "No Disponible" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "Estat HTTP", "error": "Error", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "Resposta", + "down": "Inactiu", + "up": "Actiu", + "not_available": "No Disponible" }, "emby": { "playing": "Reproduint", "transcoding": "Transcodificant", "bitrate": "Taxa de bits", "no_active": "Sense reproduccions actives", - "movies": "Movies", - "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "movies": "Pelยทlรญcules", + "series": "Sรจries", + "episodes": "Episodis", + "songs": "Canรงons" + }, + "esphome": { + "offline": "Fora de lรญnia", + "offline_alt": "Fora de lรญnia", + "online": "En lรญnia", + "total": "Total", + "unknown": "Desconegut" }, "evcc": { - "pv_power": "Production", - "battery_soc": "Battery", - "grid_power": "Grid", - "home_power": "Consumption", - "charge_power": "Charger", + "pv_power": "Producciรณ", + "battery_soc": "Bateria", + "grid_power": "Xarxa", + "home_power": "Consum", + "charge_power": "Carregador", "watt_hour": "Wh" }, "flood": { "download": "Descarregar", "upload": "Pujada", - "leech": "Company", - "seed": "Llavor" + "leech": "Sangonera", + "seed": "Llavors" }, "freshrss": { - "subscriptions": "Subscriptions", - "unread": "Unread" + "subscriptions": "Subcripcions", + "unread": "Sense llegir" }, "fritzbox": { "connectionStatus": "Estat", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", + "connectionStatusUnconfigured": "Sense configurar", + "connectionStatusConnecting": "Connectant", + "connectionStatusAuthenticating": "Autenticant", + "connectionStatusPendingDisconnect": "Desconnexiรณ pendent", + "connectionStatusDisconnecting": "Desconnectant", + "connectionStatusDisconnected": "Desconnectat", + "connectionStatusConnected": "Connectat", "uptime": "Temps actiu", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "Mร x. Descร rrega", + "maxUp": "Mร x. Cร rrega", + "down": "Inactiu", + "up": "Actiu", + "received": "Rebuts", + "sent": "Enviats", + "externalIPAddress": "IP ext." }, "caddy": { "upstreams": "Upstreams", - "requests": "Current requests", - "requests_failed": "Failed requests" + "requests": "Peticions actuals", + "requests_failed": "Peticions fallides" }, "changedetectionio": { "totalObserved": "Total d'observats", "diffsDetected": "Diferรจncies detectades" }, "channelsdvrserver": { - "shows": "Shows", - "recordings": "Recordings", - "scheduled": "Scheduled", - "passes": "Passes" + "shows": "Sรจries", + "recordings": "Gravacions", + "scheduled": "Programat", + "passes": "Aprovat" }, "tautulli": { "playing": "Reproduint", "transcoding": "Transcodificant", "bitrate": "Taxa de bits", "no_active": "Sense reproduccions actives", - "plex_connection_error": "Check Plex Connection" + "plex_connection_error": "Comprova la connexiรณ de Plex" }, "omada": { - "connectedAp": "Connected APs", - "activeUser": "Active devices", - "alerts": "Alerts", - "connectedGateway": "Connected gateways", - "connectedSwitches": "Connected switches" + "connectedAp": "AP connectats", + "activeUser": "Dispositius actius", + "alerts": "Alertes", + "connectedGateway": "Pasarelยทles connectades", + "connectedSwitches": "Conmutadors connectats" }, "nzbget": { "rate": "Taxa", @@ -180,7 +187,7 @@ "plex": { "streams": "Transmissions actives", "albums": "ร€lbums", - "movies": "Movies", + "movies": "Pelยทlรญcules", "tv": "Sรจries" }, "sabnzbd": { @@ -196,54 +203,58 @@ "transmission": { "download": "Descarregar", "upload": "Pujada", - "leech": "Company", - "seed": "Llavor" + "leech": "Sangonera", + "seed": "Llavors" }, "qbittorrent": { "download": "Descarregar", "upload": "Pujada", - "leech": "Company", - "seed": "Llavor" + "leech": "Sangonera", + "seed": "Llavors" }, "qnap": { - "cpuUsage": "CPU Usage", - "memUsage": "MEM Usage", - "systemTempC": "System Temp", - "poolUsage": "Pool Usage", - "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "cpuUsage": "รšs de CPU", + "memUsage": "รšs de Memรฒria", + "systemTempC": "Temp. Sistema", + "poolUsage": "รšs de les Reserves", + "volumeUsage": "รšs dels Volums", + "invalid": "No vร lid" }, "deluge": { "download": "Descarregar", "upload": "Pujada", - "leech": "Company", - "seed": "Llavor" + "leech": "Sangonera", + "seed": "Llavors" + }, + "develancacheui": { + "cachehitbytes": "Bytes trobats a la memรฒria cau", + "cachemissbytes": "Bytes no trobats a la memรฒria cau" }, "downloadstation": { "download": "Descarregar", "upload": "Pujada", - "leech": "Company", - "seed": "Llavor" + "leech": "Sangonera", + "seed": "Llavors" }, "sonarr": { "wanted": "Volgut", "queued": "En cua", - "series": "Series", + "series": "Sรจries", "queue": "Cua", "unknown": "Desconegut" }, "radarr": { "wanted": "Volgut", - "missing": "Faltant", + "missing": "Falten", "queued": "En cua", - "movies": "Movies", + "movies": "Pelยทlรญcules", "queue": "Cua", "unknown": "Desconegut" }, "lidarr": { "wanted": "Volgut", "queued": "En cua", - "artists": "Artists" + "artists": "Artistes" }, "readarr": { "wanted": "Volgut", @@ -270,17 +281,17 @@ "approved": "Aprovat", "available": "Disponible" }, - "pialert": { + "netalertx": { "total": "Total", - "connected": "Connected", - "new_devices": "New Devices", - "down_alerts": "Down Alerts" + "connected": "Connectat", + "new_devices": "Nous dispositius", + "down_alerts": "Alertes de caigudes" }, "pihole": { "queries": "Consultes", "blocked": "Bloquejat", - "blocked_percent": "Blocked %", - "gravity": "Gravity" + "blocked_percent": "Bloquejat %", + "gravity": "Gravetat" }, "adguard": { "queries": "Consultes", @@ -291,37 +302,60 @@ "speedtest": { "upload": "Pujada", "download": "Descarregar", - "ping": "Ping" + "ping": "Latรจncia" }, "portainer": { - "running": "Running", + "running": "En execuciรณ", "stopped": "Aturat", "total": "Total" }, + "suwayomi": { + "download": "Descarregat", + "nondownload": "No descarregat", + "read": "Llegit", + "unread": "Sense llegir", + "downloadedread": "Descarregat i llegit", + "downloadedunread": "Descarregat i per llegir", + "nondownloadedread": "No descarregat i llegit", + "nondownloadedunread": "No descarregat i per llegir" + }, "tailscale": { - "address": "Address", - "expires": "Expires", - "never": "Never", - "last_seen": "Last Seen", - "now": "Now", - "years": "{{number}}y", - "weeks": "{{number}}w", + "address": "Adreรงa", + "expires": "Caduca", + "never": "Mai", + "last_seen": "Vist per darrer cop", + "now": "Ara", + "years": "{{number}}a", + "weeks": "{{number}}set", "days": "{{number}}d", "hours": "{{number}}h", "minutes": "{{number}}m", "seconds": "{{number}}s", - "ago": "{{value}} Ago" + "ago": "Fa {{value}}" + }, + "technitium": { + "totalQueries": "Consultes", + "totalNoError": "รˆxits", + "totalServerFailure": "Fallades", + "totalNxDomain": "Dominis NX", + "totalRefused": "Rebutjat", + "totalAuthoritative": "Autoritatiu", + "totalRecursive": "Recursiu", + "totalCached": "A la memรฒria cau", + "totalBlocked": "Bloquejat", + "totalDropped": "Abandonat", + "totalClients": "Clients" }, "tdarr": { "queue": "Cua", - "processed": "Processed", - "errored": "Errored", - "saved": "Saved" + "processed": "Processat", + "errored": "Error", + "saved": "Desat" }, "traefik": { "routers": "Encaminadors", "services": "Serveis", - "middleware": "Middleware" + "middleware": "Intermediari" }, "navidrome": { "nothing_streaming": "Sense reproduccions actives", @@ -353,7 +387,7 @@ }, "jackett": { "configured": "Configurat", - "errored": "Errored" + "errored": "Error" }, "strelaysrv": { "numActiveSessions": "Sessions", @@ -369,18 +403,18 @@ "medusa": { "wanted": "Volgut", "queued": "En cua", - "series": "Series" + "series": "Sรจries" }, "minecraft": { - "players": "Players", - "version": "Version", + "players": "Jugadors", + "version": "Versiรณ", "status": "Estat", - "up": "Online", + "up": "En lรญnia", "down": "Fora de lรญnia" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "Llegit", + "unread": "Sense llegir" }, "authentik": { "users": "Usuaris", @@ -399,27 +433,28 @@ "wait": "Si us plau, espereu", "temp": "TEMP", "_temp": "Temp", - "warn": "Warn", - "uptime": "UP", + "warn": "Avรญs", + "uptime": "ACTIU", "total": "Total", "free": "Lliure", "used": "Utilitzat", "days": "d", "hours": "h", - "crit": "Crit", - "read": "Read", - "write": "Write", + "crit": "Crรญtic", + "read": "Llegit", + "write": "Escriptura", "gpu": "GPU", "mem": "Mem", - "swap": "Swap" + "swap": "Intercanvi" }, "quicklaunch": { "bookmark": "Marcador", "service": "Servei", - "search": "Search", - "custom": "Custom", - "visit": "Visit", - "url": "URL" + "search": "Cerca", + "custom": "Personalitzat", + "visit": "Visita", + "url": "URL", + "searchsuggestion": "Suggeriment" }, "wmo": { "0-day": "Assolellat", @@ -484,21 +519,21 @@ "updates": "Actualitzacions", "update_available": "Actualitzaciรณ disponible", "up_to_date": "Actualitzat", - "child_bridges": "Child Bridges", + "child_bridges": "Ponts fills", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "Actiu", "pending": "Pendent", - "down": "Down" + "down": "Inactiu" }, "healthchecks": { - "new": "New", - "up": "Up", - "grace": "In Grace Period", - "down": "Down", - "paused": "Paused", + "new": "Nou", + "up": "Actiu", + "grace": "En Perรญode de grร cia", + "down": "Inactiu", + "paused": "En pausa", "status": "Estat", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "รšltim ping", + "never": "Sense pings" }, "watchtower": { "containers_scanned": "Escanejat", @@ -520,7 +555,7 @@ "truenas": { "load": "Cร rrega del sistema", "uptime": "Temps actiu", - "alerts": "Alerts" + "alerts": "Alertes" }, "pyload": { "speed": "Velocitat", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Canals", - "hd": "HD" + "hd": "HD", + "tunerCount": "Sintonitzadors", + "channelNumber": "Canal", + "channelNetwork": "Xarxa", + "signalStrength": "Intensitat", + "signalQuality": "Qualitat", + "symbolQuality": "Qualitat", + "networkRate": "Taxa de bits", + "clientIP": "Client" }, "scrutiny": { "passed": "Aprobat", @@ -547,94 +590,94 @@ "total": "Total" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", - "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "battery_charge": "Cร rrega de la bateria", + "ups_load": "Cร rrega del SAI", + "ups_status": "Estat del SAI", + "online": "En lรญnia", + "on_battery": "En Bateria", + "low_battery": "Bateria Baixa" }, "nextdns": { "wait": "Espereu si us plau", - "no_devices": "No Device Data Received" + "no_devices": "No s'han rebut dades del Dispositiu" }, "mikrotik": { - "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", + "cpuLoad": "Cร rrega de CPU", + "memoryUsed": "Memoria en รบs", "uptime": "Temps actiu", - "numberOfLeases": "Leases" + "numberOfLeases": "IPs assignades" }, "xteve": { - "streams_all": "All Streams", + "streams_all": "Tots els streams", "streams_active": "Transmissions actives", - "streams_xepg": "XEPG Channels" + "streams_xepg": "Canals XEPG" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Avui", + "absolutePower": "Potรจncia", + "relativePower": "Potรจncia %", + "limit": "Lรญmit" }, "opnsense": { - "cpu": "CPU Load", - "memory": "Active Memory", - "wanUpload": "WAN Upload", - "wanDownload": "WAN Download" + "cpu": "Cร rrega de CPU", + "memory": "Memรฒria activa", + "wanUpload": "Pujada WAN", + "wanDownload": "Baixada WAN" }, "moonraker": { - "printer_state": "Printer State", - "print_status": "Print Status", - "print_progress": "Progress", - "layers": "Layers" + "printer_state": "Estat de l'impressora", + "print_status": "Estat de l'impressiรณ", + "print_progress": "Progrรฉs", + "layers": "Capes" }, "octoprint": { "printer_state": "Estat", - "temp_tool": "Tool temp", - "temp_bed": "Bed temp", - "job_completion": "Completion" + "temp_tool": "Temperatura capรงal", + "temp_bed": "Temperatura llit", + "job_completion": "Finalitzaciรณ" }, "cloudflared": { - "origin_ip": "Origin IP", + "origin_ip": "IP Origen", "status": "Estat" }, "pfsense": { - "load": "Load Avg", - "memory": "Mem Usage", - "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", + "load": "Cร rrega mitjana", + "memory": "รšs Memรฒria", + "wanStatus": "Estat WAN", + "up": "Actiu", + "down": "Inactiu", "temp": "Temp", - "disk": "Disk Usage", - "wanIP": "WAN IP" + "disk": "รšs Disc", + "wanIP": "IP WAN" }, "proxmoxbackupserver": { "datastore_usage": "Datastore", - "failed_tasks_24h": "Failed Tasks 24h", + "failed_tasks_24h": "Tasques fallides (24h)", "cpu_usage": "CPU", - "memory_usage": "Memory" + "memory_usage": "Memรฒria" }, "immich": { "users": "Usuaris", - "photos": "Photos", + "photos": "Fotos", "videos": "Vรญdeos", - "storage": "Storage" + "storage": "Emmagatzematge" }, "uptimekuma": { - "up": "Sites Up", - "down": "Sites Down", + "up": "Actius", + "down": "Caiguts", "uptime": "Temps actiu", - "incident": "Incident", + "incident": "Incidรจncia", "m": "m" }, "atsumeru": { - "series": "Series", - "archives": "Archives", - "chapters": "Chapters", + "series": "Sรจries", + "archives": "Arxius", + "chapters": "Capรญtols", "categories": "Categories" }, "komga": { - "libraries": "Libraries", - "series": "Series", + "libraries": "Biblioteques", + "series": "Sรจries", "books": "Llibres" }, "diskstation": { @@ -643,72 +686,77 @@ "volumeAvailable": "Disponible" }, "mylar": { - "series": "Series", - "issues": "Issues", + "series": "Sรจries", + "issues": "Problemes", "wanted": "Volgut" }, "photoprism": { "albums": "ร€lbums", - "photos": "Photos", + "photos": "Fotos", "videos": "Vรญdeos", - "people": "People" + "people": "Gent" }, "fileflows": { "queue": "Cua", "processing": "Processant", - "processed": "Processed", - "time": "Time" + "processed": "Processat", + "time": "Temps" }, "grafana": { - "dashboards": "Dashboards", - "datasources": "Data Sources", - "totalalerts": "Total Alerts", - "alertstriggered": "Alerts Triggered" + "dashboards": "Taulells", + "datasources": "Orรญgens de dades", + "totalalerts": "Alertes Totals", + "alertstriggered": "Alertes disparades" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users", - "numfiles": "Files", - "numshares": "Shared Items" + "cpuload": "Cร rrega de CPU", + "memoryusage": "รšs Memรฒria", + "freespace": "Espai lliure", + "activeusers": "Usuaris actius", + "numfiles": "Fitxers", + "numshares": "Elements compartits" }, "kopia": { "status": "Estat", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", + "size": "Mida", + "lastrun": "Darrera execuciรณ", + "nextrun": "Segรผent execuciรณ", "failed": "Error" }, "unmanic": { - "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "active_workers": "Treballadors actius", + "total_workers": "Treballadors Totals", + "records_total": "Llargada de la Cua" }, "pterodactyl": { - "servers": "Servers", + "servers": "Servidors", "nodes": "Nodes" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "Objectius actius", + "targets_down": "Objectius caiguts", + "targets_total": "Objectius Totals" + }, + "gatus": { + "up": "Actius", + "down": "Caiguts", + "uptime": "Temps actiu" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "Avui", + "gross_percent_1y": "Un any", + "gross_percent_max": "Sempre" }, "audiobookshelf": { - "podcasts": "Podcasts", + "podcasts": "Pรฒdcasts", "books": "Llibres", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcastsDuration": "Durada", + "booksDuration": "Durada" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Gent a casa", + "lights_on": "Llums enceses", + "switches_on": "Endolls activats" }, "whatsupdocker": { "monitoring": "Supervisiรณ", @@ -716,92 +764,248 @@ }, "calibreweb": { "books": "Llibres", - "authors": "Authors", + "authors": "Autors", "categories": "Categories", - "series": "Series" + "series": "Sรจries" }, "jdownloader": { "downloadCount": "Cua", "downloadBytesRemaining": "Restant", - "downloadTotalBytes": "Size", + "downloadTotalBytes": "Mida", "downloadSpeed": "Velocitat" }, "kavita": { - "seriesCount": "Series", - "totalFiles": "Files" + "seriesCount": "Sรจries", + "totalFiles": "Fitxers" }, "azuredevops": { - "result": "Result", + "result": "Resultat", "status": "Estat", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", + "buildId": "Id de compilaciรณ", + "succeeded": "Amb รจxit", + "notStarted": "No Iniciat", "failed": "Error", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "canceled": "Cancelยทlat", + "inProgress": "En curs", + "totalPrs": "PRs Totals", + "myPrs": "Les meves PRs", "approved": "Aprovat" }, "gamedig": { "status": "Estat", - "online": "Online", + "online": "En lรญnia", "offline": "Fora de lรญnia", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", - "players": "Players", - "maxPlayers": "Max players", + "name": "Nom", + "map": "Mapa", + "currentPlayers": "Jugadors actuals", + "players": "Jugadors", + "maxPlayers": "Mร xim de jugadors", "bots": "Bots", - "ping": "Ping" + "ping": "Latรจncia" }, "urbackup": { "ok": "Ok", "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "noRecent": "Obsolet", + "totalUsed": "Emmagatzematge utilitzat" }, "mealie": { - "recipes": "Recipes", + "recipes": "Receptes", "users": "Usuaris", "categories": "Categories", - "tags": "Tags" + "tags": "Etiquetes" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Descarregant", "total": "Total", - "running": "Running", + "running": "En execuciรณ", "stopped": "Aturat", "passed": "Aprobat", "failed": "Error" }, + "openwrt": { + "uptime": "Temps actiu", + "cpuLoad": "Cร rrega mitjana de CPU (5min)", + "up": "Actiu", + "down": "Inactiu", + "bytesTx": "Enviat", + "bytesRx": "Rebuts" + }, "uptimerobot": { "status": "Estat", "uptime": "Temps actiu", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", - "sitesUp": "Sites Up", - "sitesDown": "Sites Down", - "paused": "Paused", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", + "lastDown": "Darrera Inactivitat", + "downDuration": "Duraciรณ d'Inactivitat", + "sitesUp": "Actius", + "sitesDown": "Caiguts", + "paused": "En pausa", + "notyetchecked": "Sense verificar", + "up": "Actiu", + "seemsdown": "Sembla caigut", + "down": "Inactiu", "unknown": "Desconegut" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "En cines", + "physicalRelease": "Estrena fรญsica", + "digitalRelease": "Estrena digital", + "noEventsToday": "Cap esdeveniment per avui!", + "noEventsFound": "No s'han trobat esdeveniments" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plataformes", + "totalRoms": "Jocs", + "saves": "Partides desades", + "states": "Estats", + "screenshots": "Captures de pantalla", + "totalfilesize": "Tamany total" + }, + "mailcow": { + "domains": "Dominis", + "mailboxes": "Bรบsties", + "mails": "Correus", + "storage": "Emmagatzematge" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Avisos", + "criticals": "Crรญtics" + }, + "plantit": { + "events": "Esdeveniments", + "plants": "Plantes", + "photos": "Fotos", + "species": "Espรจcies" + }, + "gitea": { + "notifications": "Notificacions", + "issues": "Problemes", + "pulls": "Solยทlicitud de Canvis" + }, + "stash": { + "scenes": "Escenes", + "scenesPlayed": "Escenes reproduรฏdes", + "playCount": "Total reproduccions", + "playDuration": "Temps visionat", + "sceneSize": "Tamany d'escenes", + "sceneDuration": "Duraciรณ Escenes", + "images": "Imatges", + "imageSize": "Tamany d'imatges", + "galleries": "Biblioteques", + "performers": "Intรจrprets", + "studios": "Estudis", + "movies": "Pelยทlรญcules", + "tags": "Etiquetes", + "oCount": "O Count" + }, + "tandoor": { + "users": "Usuaris", + "recipes": "Receptes", + "keywords": "Paraules claus" + }, + "homebox": { + "items": "Elements", + "totalWithWarranty": "Amb Garantia", + "locations": "Ubicacions", + "labels": "Etiquetes", + "users": "Usuaris", + "totalValue": "Valor total" + }, + "crowdsec": { + "alerts": "Alertes", + "bans": "Prohibicions" + }, + "wgeasy": { + "connected": "Connectat", + "enabled": "Activat", + "disabled": "Desactivat", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Intermediat", + "auth": "Amb autentificaciรณ", + "outdated": "Obsolet", + "banned": "Bloquejat" + }, + "myspeed": { + "ping": "Latรจncia", + "download": "Descarregar", + "upload": "Pujada" + }, + "stocks": { + "stocks": "Accions", + "loading": "Carregant", + "open": "Obert - Mercat EEUU", + "closed": "Tancat - Mercat EEUU", + "invalidConfiguration": "Configuraciรณ no vร lida" + }, + "frigate": { + "cameras": "Cร meres", + "uptime": "Temps actiu", + "version": "Versiรณ" + }, + "linkwarden": { + "links": "Enllaรงos", + "collections": "Colยทleccions", + "tags": "Etiquetes" + }, + "zabbix": { + "unclassified": "No classificat", + "information": "Informaciรณ", + "warning": "Avรญs", + "average": "Mitjana", + "high": "Alt", + "disaster": "Desastre" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Constร ncies de manteniment", + "reminders": "Recordatoris", + "nextReminder": "Proper recordatori", + "none": "Cap" + }, + "vikunja": { + "projects": "Projectes actius", + "tasks7d": "Tasques a completar aquesta setmana", + "tasksOverdue": "Tasques venรงudes", + "tasksInProgress": "Tasques en marxa" + }, + "headscale": { + "name": "Nom", + "address": "Adreรงa", + "last_seen": "Vist per darrer cop", + "status": "Estat", + "online": "En lรญnia", + "offline": "Fora de lรญnia" + }, + "beszel": { + "name": "Nom", + "systems": "Sistemes", + "up": "Actiu", + "status": "Estat", + "updated": "Actualitzat", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disc", + "network": "XARXA" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Saludable", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Falten", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Carregant" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemes", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 3e3e540b..983beafe 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mฤ›s.", "days": "d", "hours": "h", "minutes": "m", @@ -39,7 +39,7 @@ "placeholder": "Hledatโ€ฆ" }, "resources": { - "cpu": "Procesor", + "cpu": "CPU", "mem": "RAM", "total": "Celkem", "free": "Volnรฉ", @@ -70,7 +70,7 @@ "rx": "RX", "tx": "TX", "mem": "RAM", - "cpu": "Procesor", + "cpu": "CPU", "running": "Bฤ›ลพรญ", "offline": "Offline", "error": "Chyba", @@ -87,15 +87,15 @@ "ping": "Odezva", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "Nenรญ k dispozici" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "Stav HTTP", "error": "Chyba", - "response": "Response", + "response": "Odpovฤ›ฤ", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "Nenรญ k dispozici" }, "emby": { "playing": "Pล™ehrรกvรก", @@ -107,12 +107,19 @@ "episodes": "Epizody", "songs": "Skladby" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Celkem", + "unknown": "Neznรกmรฝ" + }, "evcc": { "pv_power": "Produkce", - "battery_soc": "Battery", - "grid_power": "Grid", - "home_power": "Consumption", - "charge_power": "Charger", + "battery_soc": "Baterie", + "grid_power": "Mล™รญลพka", + "home_power": "Spotล™eba", + "charge_power": "Nabรญjeฤka", "watt_hour": "Wh" }, "flood": { @@ -127,20 +134,20 @@ }, "fritzbox": { "connectionStatus": "Stav", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", + "connectionStatusUnconfigured": "Nenastaveno", + "connectionStatusConnecting": "Pล™ipojuji", + "connectionStatusAuthenticating": "Ovฤ›ล™ovรกnรญ", + "connectionStatusPendingDisconnect": "ฤŒekรก na odpojenรญ", + "connectionStatusDisconnecting": "Odpojovรกnรญ", + "connectionStatusDisconnected": "Odpojeno", + "connectionStatusConnected": "", "uptime": "Doba spuลกtฤ›nรญ", "maxDown": "Max. Down", "maxUp": "Max. Up", "down": "Down", "up": "Up", - "received": "Received", - "sent": "Sent", + "received": "Pล™ijatรฉ", + "sent": "Odeslanรฉ", "externalIPAddress": "Ext. IP" }, "caddy": { @@ -163,7 +170,7 @@ "transcoding": "Pล™ekรณdovรกvรกnรญ", "bitrate": "Pล™enosovรก rychlost", "no_active": "ลฝรกdnรฝ aktivnรญ stream", - "plex_connection_error": "Check Plex Connection" + "plex_connection_error": "Zkontrolujte pล™ipojenรญ Plexu" }, "omada": { "connectedAp": "Pล™ipojenรฉ APs", @@ -210,8 +217,8 @@ "memUsage": "Vyuลพitรญ pamฤ›ti", "systemTempC": "Teplota systรฉmu", "poolUsage": "Vyuลพitรญ fondu", - "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "volumeUsage": "Vyuลพitรญ svazku", + "invalid": "Neplatnรฉ" }, "deluge": { "download": "Stahovรกnรญ", @@ -219,6 +226,10 @@ "leech": "Leechovanรฉ", "seed": "Seedovanรฉ" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Stahovรกnรญ", "upload": "Nahrรกvรกnรญ", @@ -243,7 +254,7 @@ "lidarr": { "wanted": "Hledanรฉ", "queued": "Ve frontฤ›", - "artists": "Artists" + "artists": "Interpreti" }, "readarr": { "wanted": "Hledanรฉ", @@ -270,10 +281,10 @@ "approved": "Schvรกleno", "available": "Dostupnรฉ" }, - "pialert": { + "netalertx": { "total": "Celkem", - "connected": "Connected", - "new_devices": "New Devices", + "connected": "", + "new_devices": "", "down_alerts": "Down Alerts" }, "pihole": { @@ -298,6 +309,16 @@ "stopped": "Zastaveno", "total": "Celkem" }, + "suwayomi": { + "download": "Staลพeno", + "nondownload": "Non-Downloaded", + "read": "Pล™eฤteno", + "unread": "Nepล™eฤteno", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adresa", "expires": "Vyprลกรญ", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "Pล™ed {{value}}" }, + "technitium": { + "totalQueries": "Dotazy", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blokovรกno", + "totalDropped": "Dropped", + "totalClients": "Klienti" + }, "tdarr": { "queue": "Fronta", "processed": "Zpracovรกno", @@ -389,17 +423,17 @@ }, "proxmox": { "mem": "RAM", - "cpu": "Procesor", + "cpu": "CPU", "lxc": "LXC", "vms": "Virtuรกlnรญ Stroje" }, "glances": { - "cpu": "Procesor", + "cpu": "CPU", "load": "Zatรญลพenรญ", "wait": "Poฤkejte prosรญm", "temp": "TEPLOTA", "_temp": "Temp", - "warn": "Warn", + "warn": "Varovรกni", "uptime": "Bฤšลฝร", "total": "Celkem", "free": "Volnรฉ", @@ -419,7 +453,8 @@ "search": "Hledat", "custom": "Vlastnรญ", "visit": "Navลกtivte", - "url": "Odkaz" + "url": "Odkaz", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sluneฤno", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanรกly", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Pล™enosovรก rychlost", + "clientIP": "Client" }, "scrutiny": { "passed": "รšspฤ›ลกnรฉ", @@ -610,7 +653,7 @@ "proxmoxbackupserver": { "datastore_usage": "Datovรฉ รบloลพiลกtฤ›", "failed_tasks_24h": "Neรบspฤ›ลกnรฉ รบlohy 24h", - "cpu_usage": "Procesor", + "cpu_usage": "CPU", "memory_usage": "Pamฤ›ลฅ" }, "immich": { @@ -694,6 +737,11 @@ "targets_down": "Cรญle vypnutรฉ", "targets_total": "Cรญle celkem" }, + "gatus": { + "up": "Strรกnky Up", + "down": "Strรกnky Down", + "uptime": "Doba spuลกtฤ›nรญ" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "Jeden rok", @@ -775,6 +823,14 @@ "passed": "รšspฤ›ลกnรฉ", "failed": "Selhalo" }, + "openwrt": { + "uptime": "Doba spuลกtฤ›nรญ", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Pล™ijatรฉ" + }, "uptimerobot": { "status": "Stav", "uptime": "Doba spuลกtฤ›nรญ", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domรฉny", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "รšloลพiลกtฤ›" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Fotografie", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Problรฉmy", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Filmy", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Uลพivatelรฉ", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Uลพivatelรฉ", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Upozornฤ›nรญ", + "bans": "Bans" + }, + "wgeasy": { + "connected": "", + "enabled": "Povoleno", + "disabled": "Zakรกzรกno", + "total": "Celkem" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Odezva", + "download": "Stahovรกnรญ", + "upload": "Nahrรกvรกnรญ" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Doba spuลกtฤ›nรญ", + "version": "Verze" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informace", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Adresa", + "last_seen": "Naposledy vidฤ›no", + "status": "Stav", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Stav", + "updated": "Aktualizovรกno", + "cpu": "CPU", + "memory": "RAM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Zdravรฝ", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Chybฤ›jรญcรญ", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problรฉmy", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 1bcfdc7f..de447397 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -13,10 +13,10 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mnd", "days": "d", - "hours": "h", + "hours": "t", "minutes": "m", "seconds": "s" }, @@ -90,7 +90,7 @@ "not_available": "Ikke tilgรฆngelig" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP-status", "error": "Fejl", "response": "Response", "down": "Ned", @@ -107,6 +107,13 @@ "episodes": "Episoder", "songs": "Sange" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Ukendt" + }, "evcc": { "pv_power": "Produktion", "battery_soc": "Batteri", @@ -133,15 +140,15 @@ "connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Forbundet", + "connectionStatusConnected": "Connected", "uptime": "Oppetid", "maxDown": "Max. Down", "maxUp": "Max. Up", "down": "Ned", "up": "Op", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "received": "Modtaget", + "sent": "Sendt", + "externalIPAddress": "Ekstern IP" }, "caddy": { "upstreams": "Upstreams", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,11 +281,11 @@ "approved": "Godkendt", "available": "Tilgรฆngelig" }, - "pialert": { + "netalertx": { "total": "Total", - "connected": "Forbundet", - "new_devices": "Nye Enheder", - "down_alerts": "Nedadvarsler" + "connected": "Connected", + "new_devices": "New Devices", + "down_alerts": "Down Alerts" }, "pihole": { "queries": "Forespรธrgsler", @@ -298,6 +309,16 @@ "stopped": "Stoppede", "total": "Total" }, + "suwayomi": { + "download": "Hentet", + "nondownload": "Non-Downloaded", + "read": "Lรฆst", + "unread": "Ulรฆst", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adresse", "expires": "Udlรธber", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Siden" }, + "technitium": { + "totalQueries": "Forespรธrgsler", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blokerede", + "totalDropped": "Dropped", + "totalClients": "Klienter" + }, "tdarr": { "queue": "Kรธ", "processed": "Behandlet", @@ -405,7 +439,7 @@ "free": "Fri", "used": "Brugt", "days": "d", - "hours": "h", + "hours": "t", "crit": "Crit", "read": "Lรฆst", "write": "Skriv", @@ -419,7 +453,8 @@ "search": "Sรธg", "custom": "Brugerdefinerede", "visit": "Besรธg", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Solrig", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanaler", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Bestรฅet", @@ -547,12 +590,12 @@ "total": "Total" }, "peanut": { - "battery_charge": "Battery Charge", + "battery_charge": "Batteriniveau", "ups_load": "UPS Load", "ups_status": "UPS Status", "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Pรฅ batteri", + "low_battery": "Lavt batteriniveau" }, "nextdns": { "wait": "Vent venligst", @@ -694,6 +737,11 @@ "targets_down": "Mรฅl Nede", "targets_total": "Totale Mรฅl" }, + "gatus": { + "up": "Sider Oppe", + "down": "Sider Nede", + "uptime": "Oppetid" + }, "ghostfolio": { "gross_percent_today": "I dag", "gross_percent_1y": "Et ร…r", @@ -775,6 +823,14 @@ "passed": "Bestรฅet", "failed": "Fejlet" }, + "openwrt": { + "uptime": "Oppetid", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Op", + "down": "Ned", + "bytesTx": "Transmitted", + "bytesRx": "Modtaget" + }, "uptimerobot": { "status": "Status", "uptime": "Oppetid", @@ -797,11 +853,159 @@ "noEventsFound": "No events found" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platforme", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domรฆner", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Lager" }, "netdata": { - "warnings": "Warnings", + "warnings": "Advarsler", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Billeder", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Problemer", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Film", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Brugere", + "recipes": "Opskrifter", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Brugere", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Advarsler", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Aktiveret", + "disabled": "Deaktiveret", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Oppetid", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Navn", + "address": "Adresse", + "last_seen": "Sidst Set", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Navn", + "systems": "Systems", + "up": "Op", + "status": "Status", + "updated": "Opdateret", + "cpu": "CPU", + "memory": "RAM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Sund", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Mangler", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemer", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 4d2a5b17..647e7d8a 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "Mo.", "days": "d", "hours": "h", "minutes": "min", @@ -107,6 +107,13 @@ "episodes": "Episoden", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Gesamt", + "unknown": "Unbekannt" + }, "evcc": { "pv_power": "Erzeugung", "battery_soc": "Batterie", @@ -135,8 +142,8 @@ "connectionStatusDisconnected": "Getrennt", "connectionStatusConnected": "Verbunden", "uptime": "Betriebszeit", - "maxDown": "Max. Empfang", - "maxUp": "Max. Senden", + "maxDown": "Max. Down", + "maxUp": "Max. Up", "down": "Empfangen", "up": "Senden", "received": "Empfangen", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache-Trefferbytes", + "cachemissbytes": "Cache-Fehlbytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Genehmigt", "available": "Verfรผgbar" }, - "pialert": { + "netalertx": { "total": "Gesamt", "connected": "Verbunden", "new_devices": "Neue Gerรคte", @@ -294,10 +305,20 @@ "ping": "Ping" }, "portainer": { - "running": "Werden ausgefรผhrt", + "running": "Wird ausgefรผhrt", "stopped": "Gestoppt", "total": "Gesamt" }, + "suwayomi": { + "download": "Heruntergeladen", + "nondownload": "Nicht heruntergeladen", + "read": "Gelesen", + "unread": "Ungelesen", + "downloadedread": "Heruntergeladen & gelesen", + "downloadedunread": "Heruntergeladen & ungelesen", + "nondownloadedread": "Nicht heruntergeladen & gelesen", + "nondownloadedunread": "Nicht heruntergeladen & ungelesen" + }, "tailscale": { "address": "Adresse", "expires": "Lรคuft ab", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "Vor {{value}}" }, + "technitium": { + "totalQueries": "Anfragen", + "totalNoError": "Erfolgreich", + "totalServerFailure": "Fehler", + "totalNxDomain": "NX-Domรคnen", + "totalRefused": "Verweigert", + "totalAuthoritative": "Autoritativ", + "totalRecursive": "Rekursiv", + "totalCached": "Im Cache", + "totalBlocked": "Blockiert", + "totalDropped": "Verworfen", + "totalClients": "Benutzer" + }, "tdarr": { "queue": "Warteschlange", "processed": "Verarbeitet", @@ -379,13 +413,13 @@ "down": "Offline" }, "miniflux": { - "read": "Lesen", + "read": "Gelesen", "unread": "Ungelesen" }, "authentik": { "users": "Benutzer", "loginsLast24H": "Anmeldungen (24 h)", - "failedLoginsLast24H": "Fehlgeschlagene Anmeldungen (24 h)" + "failedLoginsLast24H": "Fehlversuche (24 h)" }, "proxmox": { "mem": "RAM", @@ -407,7 +441,7 @@ "days": "d", "hours": "h", "crit": "Krit", - "read": "Lesen", + "read": "Gelesen", "write": "Schreiben", "gpu": "GPU", "mem": "RAM", @@ -419,7 +453,8 @@ "search": "Suchen", "custom": "Benutzerdefiniert", "visit": "Besuchen", - "url": "URL" + "url": "URL", + "searchsuggestion": "Vorschlag" }, "wmo": { "0-day": "sonnig", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanรคle", - "hd": "HD" + "hd": "HD", + "tunerCount": "Empfรคnger", + "channelNumber": "Kanal", + "channelNetwork": "Netzwerk", + "signalStrength": "Stรคrke", + "signalQuality": "Qualitรคt", + "symbolQuality": "Qualitรคt", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Bestanden", @@ -694,6 +737,11 @@ "targets_down": "Ziele Down", "targets_total": "Alle Ziele" }, + "gatus": { + "up": "Seiten verfรผgbar", + "down": "Seiten nicht verfรผgbar", + "uptime": "Betriebszeit" + }, "ghostfolio": { "gross_percent_today": "Heute", "gross_percent_1y": "Ein Jahr", @@ -775,6 +823,14 @@ "passed": "Bestanden", "failed": "Fehlgeschlagen" }, + "openwrt": { + "uptime": "Betriebszeit", + "cpuLoad": "CPU-Last (5 min-Durchschnitt)", + "up": "Senden", + "down": "Empfangen", + "bytesTx": "รœbertragen", + "bytesRx": "Empfangen" + }, "uptimerobot": { "status": "Status", "uptime": "Betriebszeit", @@ -797,11 +853,159 @@ "noEventsFound": "Keine Termine gefunden" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plattformen", + "totalRoms": "Spiele", + "saves": "Spielstรคnde", + "states": "Speicherstรคnde", + "screenshots": "Bildschirmfotos", + "totalfilesize": "GesamtgrรถรŸe" + }, + "mailcow": { + "domains": "Domรคnen", + "mailboxes": "Postfรคcher", + "mails": "E-Mails", + "storage": "Speicher" }, "netdata": { "warnings": "Warnungen", "criticals": "Kritisch" + }, + "plantit": { + "events": "Ereignisse", + "plants": "Pflanzen", + "photos": "Fotos", + "species": "Spezies" + }, + "gitea": { + "notifications": "Benachrichtigungen", + "issues": "Probleme", + "pulls": "Pull-Requests" + }, + "stash": { + "scenes": "Szenen", + "scenesPlayed": "Gespielte Szenen", + "playCount": "Wiedergaben gesamt", + "playDuration": "Zeit angesehen", + "sceneSize": "SzenengrรถรŸe", + "sceneDuration": "Szenendauer", + "images": "Bilder", + "imageSize": "BildgrรถรŸe", + "galleries": "Galerien", + "performers": "Darsteller", + "studios": "Studios", + "movies": "Filme", + "tags": "Schlagwรถrter", + "oCount": "O-Anzahl" + }, + "tandoor": { + "users": "Benutzer", + "recipes": "Rezepte", + "keywords": "Schlagwรถrter" + }, + "homebox": { + "items": "Objekte", + "totalWithWarranty": "Mit Garantie", + "locations": "Orte", + "labels": "Labels", + "users": "Benutzer", + "totalValue": "Gesamtwert" + }, + "crowdsec": { + "alerts": "Warnungen", + "bans": "Banns" + }, + "wgeasy": { + "connected": "Verbunden", + "enabled": "Aktiviert", + "disabled": "Deaktiviert", + "total": "Gesamt" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "Mit Auth", + "outdated": "Veraltet", + "banned": "Gebannt" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Aktien", + "loading": "Wird geladen", + "open": "Offen - US-Markt", + "closed": "Geschlossen - US-Markt", + "invalidConfiguration": "Ungรผltige Konfiguration" + }, + "frigate": { + "cameras": "Kameras", + "uptime": "Betriebszeit", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Sammlungen", + "tags": "Schlagwรถrter" + }, + "zabbix": { + "unclassified": "Nicht klassifiziert", + "information": "Informationen", + "warning": "Warnung", + "average": "Durchschnitt", + "high": "Hoch", + "disaster": "Katastrophe" + }, + "lubelogger": { + "vehicle": "Fahrzeug", + "vehicles": "Fahrzeuge", + "serviceRecords": "Wartungseintrรคge", + "reminders": "Erinnerungen", + "nextReminder": "Nรคchste Erinnerung", + "none": "Keine" + }, + "vikunja": { + "projects": "Aktive Projekte", + "tasks7d": "Diese Woche fรคllige Aufgaben", + "tasksOverdue": "รœberfรคllige Aufgaben", + "tasksInProgress": "Aufgaben in Arbeit" + }, + "headscale": { + "name": "Name", + "address": "Adresse", + "last_seen": "Zuletzt gesehen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systeme", + "up": "Senden", + "status": "Status", + "updated": "Aktualisiert", + "cpu": "CPU", + "memory": "RAM", + "disk": "Festplatte", + "network": "NET" + }, + "argocd": { + "apps": "Anwendungen", + "synced": "Synchronisiert", + "outOfSync": "Nicht mehr synchronisiert", + "healthy": "Fehlerfrei", + "degraded": "Beeintrรคchtigt", + "progressing": "Fortschritt", + "missing": "Fehlend", + "suspended": "Unterbrochen" + }, + "spoolman": { + "loading": "Wird geladen" + }, + "gitlab": { + "groups": "Groups", + "issues": "Probleme", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/el/common.json b/public/locales/el/common.json index b318cfda..8ce8a7e0 100644 --- a/public/locales/el/common.json +++ b/public/locales/el/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -40,14 +40,14 @@ }, "resources": { "cpu": "ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚", - "mem": "MEM", + "mem": "ฮœฮฝฮฎฮผฮท", "total": "ฮฃฯฮฝฮฟฮปฮฟ", "free": "ฮ”ฯ‰ฯฮตฮฌฮฝ", "used": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ", "load": "ฮฆฯŒฯฯ„ฯ‰ฯƒฮท", - "temp": "ฮ˜ฮ•ฮกฮœฮŸฮšฮกฮ‘ฮฃฮชฮ‘", + "temp": "ฮ˜ฮตฯฮผฮฟฮบฯฮฑฯƒฮฏฮฑ", "max": "ฮœฮญฮณฮนฯƒฯ„ฮฟ", - "uptime": "ฮ ฮ‘ฮฮฉ" + "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚" }, "unifi": { "users": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", @@ -61,7 +61,7 @@ "wlan_devices": "WLAN ฮฃฯ…ฯƒฮบฮตฯ…ฮญฯ‚", "lan_users": "LAN ฮงฯฮฎฯƒฯ„ฮตฯ‚", "wlan_users": "WLAN ฮงฯฮฎฯƒฯ„ฮตฯ‚", - "up": "ฮ ฮ‘ฮฮฉ", + "up": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", "down": "ฮšฮ‘ฮคฮฉ", "wait": "ฮ ฮฑฯฮฑฮบฮฑฮปฯŽ ฯ€ฮตฯฮนฮผฮญฮฝฮตฯ„ฮต", "empty_data": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮท ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฯ…ฯ€ฮฟฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚" @@ -69,7 +69,7 @@ "docker": { "rx": "RX", "tx": "TX", - "mem": "MEM", + "mem": "ฮœฮฝฮฎฮผฮท", "cpu": "ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚", "running": "ฮคฯฮญฯ‡ฯ‰ฮฝ", "offline": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚", @@ -85,16 +85,16 @@ "ping": { "error": "ฮฃฯ†ฮฌฮปฮผฮฑ", "ping": "Ping", - "down": "Down", - "up": "Up", + "down": "Ping down", + "up": "Ping up", "not_available": "ฮœฮท ฮดฮนฮฑฮธฮญฯƒฮนฮผฮฟ" }, "siteMonitor": { "http_status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท HTTP", "error": "ฮฃฯ†ฮฌฮปฮผฮฑ", "response": "ฮ‘ฯ€ฯŒฮบฯฮนฯƒฮท", - "down": "Down", - "up": "Up", + "down": "Ping down", + "up": "Ping up", "not_available": "ฮœฮท ฮดฮนฮฑฮธฮญฯƒฮนฮผฮฟ" }, "emby": { @@ -107,6 +107,13 @@ "episodes": "ฮ•ฯ€ฮตฮนฯƒฯŒฮดฮนฮฑ", "songs": "ฮคฯฮฑฮณฮฟฯฮดฮนฮฑ" }, + "esphome": { + "offline": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚", + "offline_alt": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚", + "online": "ฮฃฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฮน", + "total": "ฮฃฯฮฝฮฟฮปฮฟ", + "unknown": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮฟ" + }, "evcc": { "pv_power": "ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ", "battery_soc": "ฮœฯ€ฮฑฯ„ฮฑฯฮฏฮฑ", @@ -129,19 +136,19 @@ "connectionStatus": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", "connectionStatusUnconfigured": "ฮœฮท ฮกฯ…ฮธฮผฮนฯƒฮผฮญฮฝฮฟ", "connectionStatusConnecting": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮฃฯฮฝฮดฮตฯƒฮทฯ‚", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", + "connectionStatusAuthenticating": "ฮคฮฑฯ…ฯ„ฮฟฯ€ฮฟฮฏฮทฯƒฮท", + "connectionStatusPendingDisconnect": "ฮ•ฮบฮบฯฮตฮผฮตฮฏ ฮ‘ฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท", + "connectionStatusDisconnecting": "ฮ‘ฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท", + "connectionStatusDisconnected": "ฮ‘ฯ€ฮฟฯƒฯ…ฮฝฮดฮญฮธฮทฮบฮต", + "connectionStatusConnected": "ฮฃฯ…ฮฝฮดฮญฮธฮทฮบฮต", "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "ฮœฮญฮณฮนฯƒฯ„ฮฟ Download", + "maxUp": "ฮœฮญฮณฮนฯƒฯ„ฮฟ Upload", + "down": "Ping down", + "up": "Ping up", + "received": "ฮ›ฮทฯ†ฮธฮญฮฝฯ„ฮฑ", + "sent": "ฮ‘ฯ€ฮตฯƒฯ„ฮฑฮปฮผฮญฮฝฮฑ", + "externalIPAddress": "ฮ•ฮพฯ‰ฯ„ฮตฯฮนฮบฮฎ IP" }, "caddy": { "upstreams": "Upstreams", @@ -210,7 +217,7 @@ "memUsage": "ฮงฯฮฎฯƒฮท ฮผฮฝฮฎฮผฮทฯ‚", "systemTempC": "ฮ˜ฮตฯฮผฮฟฮบฯฮฑฯƒฮฏฮฑ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚", "poolUsage": "ฮงฯฮฎฯƒฮท ฯ€ฮนฯƒฮฏฮฝฮฑฯ‚", - "volumeUsage": "Volume Usage", + "volumeUsage": "ฮงฯฮฎฯƒฮท ฮŒฮณฮบฮฟฯ…", "invalid": "ฮœฮท ฮญฮณฮบฯ…ฯฮฟ" }, "deluge": { @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "ฮ›ฮฎฮพฮท", "upload": "ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", @@ -266,15 +277,15 @@ }, "overseerr": { "pending": "ฮฃฮต ฮตฮบฮบฯฮตฮผฯŒฯ„ฮทฯ„ฮฑ", - "processing": "Processing", + "processing": "ฮฃฮต ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", "approved": "ฮ•ฮณฮบฯฮฏฮธฮทฮบฮต", "available": "ฮ”ฮนฮฑฮธฮญฯƒฮนฮผฮฟ" }, - "pialert": { + "netalertx": { "total": "ฮฃฯฮฝฮฟฮปฮฟ", - "connected": "Connected", - "new_devices": "New Devices", - "down_alerts": "Down Alerts" + "connected": "ฮฃฯ…ฮฝฮดฮญฮธฮทฮบฮต", + "new_devices": "ฮฮญฮตฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚", + "down_alerts": "ฮ•ฮนฮดฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚ offline" }, "pihole": { "queries": "Queries", @@ -298,30 +309,53 @@ "stopped": "ฮฃฯ„ฮฑฮผฮฑฯ„ฮทฮผฮญฮฝฮฟ", "total": "ฮฃฯฮฝฮฟฮปฮฟ" }, + "suwayomi": { + "download": "ฮšฮฑฯ„ฮตฮฒฮฑฯƒฮผฮญฮฝฮฟ", + "nondownload": "Non-Downloaded", + "read": "ฮ”ฮนฮฑฮฒฮฌฯƒฯ„ฮทฮบฮต", + "unread": "ฮœฮท ฮ”ฮนฮฑฮฒฮฑฯƒฮผฮญฮฝฮฟ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ฮ”ฮนฮตฯฮธฯ…ฮฝฯƒฮท", "expires": "ฮ›ฮฎฮณฮตฮน", "never": "ฮ ฮฟฯ„ฮญ", - "last_seen": "Last Seen", + "last_seen": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮฃฯฮฝฮดฮตฯƒฮท", "now": "ฮคฯŽฯฮฑ", - "years": "{{number}}y", - "weeks": "{{number}}w", - "days": "{{number}}d", - "hours": "{{number}}h", - "minutes": "{{number}}m", - "seconds": "{{number}}s", + "years": "{{number}}ฯ‡ฯฯŒฮฝฮนฮฑ", + "weeks": "{{number}}ฮตฮฒฮดฮฟฮผฮฌฮดฮตฯ‚", + "days": "{{number}}ฮผฮญฯฮตฯ‚", + "hours": "{{number}}ฯŽฯฮตฯ‚", + "minutes": "{{number}}ฮปฮตฯ€ฯ„ฮฌ", + "seconds": "{{number}}ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ", "ago": "{{value}} ฯ€ฯฮฏฮฝ" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "ฮ‘ฯ€ฮฟฮบฮปฮตฮนฯƒฮผฮญฮฝฮฟ", + "totalDropped": "Dropped", + "totalClients": "ฮ ฮตฮปฮฌฯ„ฮตฯ‚" + }, "tdarr": { "queue": "ฮŸฯ…ฯฮฌ", - "processed": "Processed", - "errored": "Errored", - "saved": "Saved" + "processed": "ฮฃฮต ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", + "errored": "ฮฃฯ†ฮฌฮปฮผฮฑฯ„ฮฑ", + "saved": "ฮ‘ฯ€ฮฟฮธฮทฮบฮตฯฯ„ฮทฮบฮต" }, "traefik": { - "routers": "Routers", - "services": "Services", - "middleware": "Middleware" + "routers": "ฮ”ฯฮฟฮผฮฟฮปฮฟฮณฮทฯ„ฮญฯ‚", + "services": "ฮฅฯ€ฮทฯฮตฯƒฮฏฮตฯ‚", + "middleware": "ฮ•ฮฝฮดฮนฮฌฮผฮตฯƒฮฟ ฮปฮฟฮณฮนฯƒฮผฮนฮบฯŒ" }, "navidrome": { "nothing_streaming": "ฮ”ฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮตฮฝฮตฯฮณฮญฯ‚ ฯฮฟฮญฯ‚", @@ -353,7 +387,7 @@ }, "jackett": { "configured": "ฮกฯ…ฮธฮผฮนฯƒฮผฮญฮฝฮฟ", - "errored": "Errored" + "errored": "ฮฃฯ†ฮฌฮปฮผฮฑฯ„ฮฑ" }, "strelaysrv": { "numActiveSessions": "ฮฃฯ…ฮฝฮตฮดฯฮฏฮตฯ‚", @@ -364,7 +398,7 @@ "mastodon": { "user_count": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", "status_count": "ฮ”ฮทฮผฮฟฯƒฮนฮตฯฯƒฮตฮนฯ‚", - "domain_count": "Domains" + "domain_count": "ฮคฮฟฮผฮตฮฏฯ‚" }, "medusa": { "wanted": "ฮ•ฯ€ฮนฮธฯ…ฮผฮฟฯฮฝฯ„ฮต", @@ -379,7 +413,7 @@ "down": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚" }, "miniflux": { - "read": "Read", + "read": "ฮ”ฮนฮฑฮฒฮฌฯƒฯ„ฮทฮบฮต", "unread": "ฮœฮท ฮ”ฮนฮฑฮฒฮฑฯƒฮผฮญฮฝฮฟ" }, "authentik": { @@ -388,7 +422,7 @@ "failedLoginsLast24H": "ฮ‘ฯ€ฮฟฯ„ฯ…ฯ‡ฮทฮผฮญฮฝฮตฯ‚ ฮฃฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚ (24h)" }, "proxmox": { - "mem": "MEM", + "mem": "ฮœฮฝฮฎฮผฮท", "cpu": "ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚", "lxc": "LXC", "vms": "VMs" @@ -397,17 +431,17 @@ "cpu": "ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚", "load": "ฮฆฯŒฯฯ„ฯ‰ฯƒฮท", "wait": "ฮ ฮฑฯฮฑฮบฮฑฮปฯŽ ฯ€ฮตฯฮนฮผฮญฮฝฮตฯ„ฮต", - "temp": "ฮ˜ฮ•ฮกฮœฮŸฮšฮกฮ‘ฮฃฮชฮ‘", + "temp": "ฮ˜ฮตฯฮผฮฟฮบฯฮฑฯƒฮฏฮฑ", "_temp": "Temp", "warn": "Warn", - "uptime": "ฮ ฮ‘ฮฮฉ", + "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", "total": "ฮฃฯฮฝฮฟฮปฮฟ", "free": "ฮ”ฯ‰ฯฮตฮฌฮฝ", "used": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ", "days": "d", "hours": "h", "crit": "Crit", - "read": "Read", + "read": "ฮ”ฮนฮฑฮฒฮฌฯƒฯ„ฮทฮบฮต", "write": "Write", "gpu": "GPU", "mem": "ฮœฮฝฮฎฮผฮท", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "ฮ›ฮนฮฑฮบฮฌฮดฮฑ", @@ -442,80 +477,80 @@ "55-night": "Heavy Drizzle", "56-day": "Light Freezing Drizzle", "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "57-day": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮฟ ฯˆฮนฯ‡ฮฌฮปฮนฯƒฮผฮฑ", + "57-night": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮฟ ฯˆฮนฯ‡ฮฌฮปฮนฯƒฮผฮฑ", + "61-day": "ฮจฮนฮปฯŒฮฒฯฮฟฯ‡ฮฟ", + "61-night": "ฮจฮนฮปฯŒฮฒฯฮฟฯ‡ฮฟ", + "63-day": "ฮ’ฯฮฟฯ‡ฮฎ", + "63-night": "ฮ’ฯฮฟฯ‡ฮฎ", + "65-day": "ฮ”ฯ…ฮฝฮฑฯ„ฮฎ ฮฒฯฮฟฯ‡ฮฎ", + "65-night": "ฮ”ฯ…ฮฝฮฑฯ„ฮฎ ฮฒฯฮฟฯ‡ฮฎ", + "66-day": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮท ฮฒฯฮฟฯ‡ฮฎ", + "66-night": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮท ฮฒฯฮฟฯ‡ฮฎ", + "67-day": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮท ฮฒฯฮฟฯ‡ฮฎ", + "67-night": "ฮ ฮฑฮณฯ‰ฮผฮญฮฝฮท ฮฒฯฮฟฯ‡ฮฎ", + "71-day": "ฮ•ฮปฮฑฯ†ฯฮนฮฌ ฮงฮนฮฟฮฝฯŒฯ€ฯ„ฯ‰ฯƒฮท", + "71-night": "ฮ•ฮปฮฑฯ†ฯฮนฮฌ ฮงฮนฮฟฮฝฯŒฯ€ฯ„ฯ‰ฯƒฮท", + "73-day": "ฮงฮนฯŒฮฝฮน", + "73-night": "ฮงฮนฯŒฮฝฮน", + "75-day": "ฮ™ฯƒฯ‡ฯ…ฯฮฎ ฯ‡ฮนฮฟฮฝฯŒฯ€ฯ„ฯ‰ฯƒฮท", + "75-night": "ฮ™ฯƒฯ‡ฯ…ฯฮฎ ฯ‡ฮนฮฟฮฝฯŒฯ€ฯ„ฯ‰ฯƒฮท", + "77-day": "ฮšฯŒฮบฮบฮฟฮน ฮงฮนฮฟฮฝฮนฮฟฯ", + "77-night": "ฮšฯŒฮบฮบฮฟฮน ฮงฮนฮฟฮฝฮนฮฟฯ", + "80-day": "ฮ‘ฯƒฮธฮตฮฝฮตฮฏฯ‚ ฮฒฯฮฟฯ‡ฮญฯ‚", + "80-night": "ฮ‘ฯƒฮธฮตฮฝฮตฮฏฯ‚ ฮฒฯฮฟฯ‡ฮญฯ‚", + "81-day": "ฮ’ฯฮฟฯ‡ฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "81-night": "ฮ’ฯฮฟฯ‡ฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "82-day": "ฮ™ฯƒฯ‡ฯ…ฯฮญฯ‚ ฮฒฯฮฟฯ‡ฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "82-night": "ฮ™ฯƒฯ‡ฯ…ฯฮญฯ‚ ฮฒฯฮฟฯ‡ฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "85-day": "ฮงฮนฮฟฮฝฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "85-night": "ฮงฮนฮฟฮฝฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "86-day": "ฮงฮนฮฟฮฝฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "86-night": "ฮงฮนฮฟฮฝฮฟฯ€ฯ„ฯŽฯƒฮตฮนฯ‚", + "95-day": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ", + "95-night": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ", + "96-day": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ ฮœฮต ฮงฮฑฮปฮฌฮถฮน", + "96-night": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ ฮœฮต ฮงฮฑฮปฮฌฮถฮน", + "99-day": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ ฮœฮต ฮงฮฑฮปฮฌฮถฮน", + "99-night": "ฮšฮฑฯ„ฮฑฮนฮณฮฏฮดฮฑ ฮœฮต ฮงฮฑฮปฮฌฮถฮน" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "available_update": "ฮฃฯฯƒฯ„ฮทฮผฮฑ", + "updates": "ฮ•ฮฝฮทฮผฮตฯฯŽฯƒฮตฮนฯ‚", + "update_available": "ฮ”ฮนฮฑฮธฮญฯƒฮนฮผฮท ฮตฮฝฮทฮผฮญฯฯ‰ฯƒฮท", + "up_to_date": "ฮ•ฮฝฮทฮผฮตฯฯ‰ฮผฮญฮฝฮฟ", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "Ping up", "pending": "ฮฃฮต ฮตฮบฮบฯฮตฮผฯŒฯ„ฮทฯ„ฮฑ", - "down": "Down" + "down": "Ping down" }, "healthchecks": { "new": "New", - "up": "Up", + "up": "Ping up", "grace": "In Grace Period", - "down": "Down", + "down": "Ping down", "paused": "Paused", "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฟ Ping", + "never": "ฮ”ฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ping ฮฑฮบฯŒฮผฮฑ" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "ฮฃฮบฮฑฮฝฮฑฯฮนฯƒฮผฮญฮฝฮฟ", + "containers_updated": "ฮ•ฮฝฮทฮผฮตฯฯŽฮธฮทฮบฮต", + "containers_failed": "ฮ‘ฯ€ฮญฯ„ฯ…ฯ‡ฮต" }, "autobrr": { "approvedPushes": "ฮ•ฮณฮบฯฮฏฮธฮทฮบฮต", - "rejectedPushes": "Rejected", - "filters": "Filters", + "rejectedPushes": "ฮ‘ฯ€ฮฟฯฯฮฏฯ†ฮธฮทฮบฮต", + "filters": "ฮฆฮฏฮปฯ„ฯฮฑ", "indexers": "ฮ•ฯ…ฯฮตฯ„ฮฎฯฮนฮฑ" }, "tubearchivist": { "downloads": "ฮŸฯ…ฯฮฌ", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "videos": "ฮ’ฮฏฮฝฯ„ฮตฮฟ", + "channels": "ฮšฮฑฮฝฮฌฮปฮนฮฑ", + "playlists": "ฮ›ฮฏฯƒฯ„ฮตฯ‚ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚" }, "truenas": { "load": "ฮฆฯŒฯฯ„ฮฟฯ‚ ฮฃฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚", @@ -534,16 +569,24 @@ "country": "ฮงฯŽฯฮฑ" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "ฮšฮฑฮฝฮฌฮปฮนฮฑ", + "hd": "HD", + "tunerCount": "ฮ”ฮญฮบฯ„ฮตฯ‚", + "channelNumber": "ฮšฮฑฮฝฮฌฮปฮน", + "channelNetwork": "ฮ”ฮฏฮบฯ„ฯ…ฮฟ", + "signalStrength": "ฮ™ฯƒฯ‡ฯฯ‚ ฯƒฮฎฮผฮฑฯ„ฮฟฯ‚", + "signalQuality": "ฮ ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ", + "symbolQuality": "ฮ ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ", + "networkRate": "ฮกฯ…ฮธฮผฯŒฯ‚ bit", + "clientIP": "ฮ ฮตฮปฮฌฯ„ฮทฯ‚" }, "scrutiny": { "passed": "Passed", - "failed": "Failed", + "failed": "ฮ‘ฯ€ฮญฯ„ฯ…ฯ‡ฮต", "unknown": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮฟ" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "ฮ•ฮนฯƒฮตฯฯ‡ฯŒฮผฮตฮฝฮฑ", "total": "ฮฃฯฮฝฮฟฮปฮฟ" }, "peanut": { @@ -551,8 +594,8 @@ "ups_load": "UPS Load", "ups_status": "UPS Status", "online": "ฮฃฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฮน", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "ฮฃฮต ฮผฯ€ฮฑฯ„ฮฑฯฮฏฮฑ", + "low_battery": "ฮงฮฑฮผฮทฮปฮฎ ฮผฯ€ฮฑฯ„ฮฑฯฮฏฮฑ" }, "nextdns": { "wait": "ฮ ฮฑฯฮฑฮบฮฑฮปฯŽ ฯ€ฮตฯฮนฮผฮญฮฝฮตฯ„ฮต", @@ -601,10 +644,10 @@ "load": "Load Avg", "memory": "Mem Usage", "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", + "up": "Ping up", + "down": "Ping down", "temp": "Temp", - "disk": "Disk Usage", + "disk": "ฮงฯฮฎฯƒฮท ฮดฮฏฯƒฮบฮฟฯ…", "wanIP": "WAN IP" }, "proxmoxbackupserver": { @@ -615,22 +658,22 @@ }, "immich": { "users": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", - "photos": "Photos", - "videos": "Videos", - "storage": "Storage" + "photos": "ฮฆฯ‰ฯ„ฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚", + "videos": "ฮ’ฮฏฮฝฯ„ฮตฮฟ", + "storage": "ฮ‘ฯ€ฮฟฮธฮทฮบฮตฯ…ฯ„ฮนฮบฯŒฯ‚ ฯ‡ฯŽฯฮฟฯ‚" }, "uptimekuma": { - "up": "Sites Up", - "down": "Sites Down", + "up": "Online ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", + "down": "Offline ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", - "incident": "Incident", + "incident": "ฮ ฮตฯฮนฯƒฯ„ฮฑฯ„ฮนฮบฯŒ", "m": "m" }, "atsumeru": { "series": "ฮฃฮตฮนฯฮญฯ‚", "archives": "Archives", "chapters": "Chapters", - "categories": "Categories" + "categories": "ฮšฮฑฯ„ฮทฮณฮฟฯฮฏฮตฯ‚" }, "komga": { "libraries": "Libraries", @@ -649,96 +692,101 @@ }, "photoprism": { "albums": "ฮ†ฮปฮผฯ€ฮฟฯ…ฮผ", - "photos": "Photos", - "videos": "Videos", - "people": "People" + "photos": "ฮฆฯ‰ฯ„ฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚", + "videos": "ฮ’ฮฏฮฝฯ„ฮตฮฟ", + "people": "ฮ†ฮฝฮธฯฯ‰ฯ€ฮฟฮน" }, "fileflows": { "queue": "ฮŸฯ…ฯฮฌ", - "processing": "Processing", - "processed": "Processed", - "time": "Time" + "processing": "ฮฃฮต ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", + "processed": "ฮฃฮต ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", + "time": "ฮฯฮฑ" }, "grafana": { - "dashboards": "Dashboards", - "datasources": "Data Sources", - "totalalerts": "Total Alerts", - "alertstriggered": "Alerts Triggered" + "dashboards": "ฮ ฮฏฮฝฮฑฮบฮฑฯ‚ ฮ•ฮปฮญฮณฯ‡ฮฟฯ…", + "datasources": "ฮ ฮทฮณฮญฯ‚ ฮ”ฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ", + "totalalerts": "ฮฃฯฮฝฮฟฮปฮฟ ฮ•ฮนฮดฮฟฯ€ฮฟฮนฮฎฯƒฮตฯ‰ฮฝ", + "alertstriggered": "ฮ•ฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮตฯ‚ ฮ•ฮนฮดฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users", - "numfiles": "Files", - "numshares": "Shared Items" + "cpuload": "ฮฆฯŒฯฯ„ฮฟฯ‚ CPU", + "memoryusage": "ฮงฯฮฎฯƒฮท Mฮฝฮฎฮผฮทฯ‚", + "freespace": "ฮ•ฮปฮตฯฮธฮตฯฮฟฯ‚ ฯ‡ฯŽฯฮฟฯ‚", + "activeusers": "ฮ•ฮฝฮตฯฮณฮฟฮฏ ฯ‡ฯฮฎฯƒฯ„ฮตฯ‚", + "numfiles": "ฮ‘ฯฯ‡ฮตฮฏฮฑ", + "numshares": "ฮšฮฟฮนฮฝฯŒฯ‡ฯฮทฯƒฯ„ฮฑ ฯƒฯ„ฮฟฮนฯ‡ฮตฮฏฮฑ" }, "kopia": { "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", - "failed": "Failed" + "size": "ฮœฮญฮณฮตฮธฮฟฯ‚", + "lastrun": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฮบฯ„ฮญฮปฮตฯƒฮท", + "nextrun": "ฮ•ฯ€ฯŒฮผฮตฮฝฮท ฮตฮบฯ„ฮญฮปฮตฯƒฮท", + "failed": "ฮ‘ฯ€ฮญฯ„ฯ…ฯ‡ฮต" }, "unmanic": { - "active_workers": "Active Workers", + "active_workers": "ฮ•ฮฝฮตฯฮณฮฟฮฏ ฯ‡ฯฮฎฯƒฯ„ฮตฯ‚", "total_workers": "Total Workers", - "records_total": "Queue Length" + "records_total": "ฮœฮฎฮบฮฟฯ‚ ฮŸฯ…ฯฮฌฯ‚" }, "pterodactyl": { "servers": "ฮ”ฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮญฯ‚", - "nodes": "Nodes" + "nodes": "ฮšฯŒฮผฮฒฮฟฮน [Nodes]" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "ฮฃฯ„ฯŒฯ‡ฮฟฮน ฮ ฮฌฮฝฯ‰", + "targets_down": "ฮฃฯ„ฯŒฯ‡ฮฟฮน ฮšฮฌฯ„ฯ‰", + "targets_total": "ฮฃฯ…ฮฝฮฟฮปฮนฮบฮฟฮฏ ฮฃฯ„ฯŒฯ‡ฮฟฮน" + }, + "gatus": { + "up": "Online ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", + "down": "Offline ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", + "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚" }, "ghostfolio": { "gross_percent_today": "ฮฃฮฎฮผฮตฯฮฑ", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_1y": "ฮˆฮฝฮฑฯ‚ ฯ‡ฯฯŒฮฝฮฟฯ‚", + "gross_percent_max": "ฮ”ฮนฮฑฯ‡ฯฮฟฮฝฮนฮบฮฌ" }, "audiobookshelf": { "podcasts": "Podcasts", "books": "ฮ’ฮนฮฒฮปฮฏฮฑ", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcastsDuration": "ฮ”ฮนฮฌฯฮบฮตฮนฮฑ", + "booksDuration": "ฮ”ฮนฮฌฯฮบฮตฮนฮฑ" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "ฮฃฯฮฝฮฟฮปฮฟ ฮฑฮฝฮธฯฯŽฯ€ฯ‰ฮฝ ฯƒฯ„ฮฟ ฯƒฯ€ฮฏฯ„ฮน", + "lights_on": "ฮ‘ฮฝฮฑฮผฮผฮญฮฝฮฑ ฯ†ฯŽฯ„ฮฑ", + "switches_on": "ฮ‘ฮฝฮฟฮนฯ‡ฯ„ฮฟฮฏ ฮดฮนฮฑฮบฯŒฯ€ฯ„ฮตฯ‚" }, "whatsupdocker": { - "monitoring": "Monitoring", - "updates": "Updates" + "monitoring": "ฮ ฮฑฯฮฑฮบฮฟฮปฮฟฯฮธฮทฯƒฮท", + "updates": "ฮ•ฮฝฮทฮผฮตฯฯŽฯƒฮตฮนฯ‚" }, "calibreweb": { "books": "ฮ’ฮนฮฒฮปฮฏฮฑ", - "authors": "Authors", - "categories": "Categories", + "authors": "ฮฃฯ…ฮฝฯ„ฮฌฮบฯ„ฮตฯ‚", + "categories": "ฮšฮฑฯ„ฮทฮณฮฟฯฮฏฮตฯ‚", "series": "ฮฃฮตฮนฯฮญฯ‚" }, "jdownloader": { "downloadCount": "ฮŸฯ…ฯฮฌ", "downloadBytesRemaining": "ฮฅฯ€ฯŒฮปฮฟฮนฯ€ฮฟ", - "downloadTotalBytes": "Size", + "downloadTotalBytes": "ฮœฮญฮณฮตฮธฮฟฯ‚", "downloadSpeed": "ฮคฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ" }, "kavita": { "seriesCount": "ฮฃฮตฮนฯฮญฯ‚", - "totalFiles": "Files" + "totalFiles": "ฮ‘ฯฯ‡ฮตฮฏฮฑ" }, "azuredevops": { - "result": "Result", + "result": "ฮ‘ฯ€ฮฟฯ„ฮญฮปฮตฯƒฮผฮฑ", "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", - "failed": "Failed", - "canceled": "Canceled", - "inProgress": "In Progress", + "succeeded": "ฮ ฮญฯ„ฯ…ฯ‡ฮต", + "notStarted": "ฮ”ฮตฮฝ ฮพฮตฮบฮฏฮฝฮทฯƒฮต", + "failed": "ฮ‘ฯ€ฮญฯ„ฯ…ฯ‡ฮต", + "canceled": "ฮ‘ฮบฯ…ฯฯŽฮธฮทฮบฮต", + "inProgress": "ฮฃฮต ฮตฮพฮญฮปฮนฮพฮท", "totalPrs": "Total PRs", "myPrs": "My PRs", "approved": "ฮ•ฮณฮบฯฮฏฮธฮทฮบฮต" @@ -747,8 +795,8 @@ "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", "online": "ฮฃฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฮน", "offline": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚", - "name": "Name", - "map": "Map", + "name": "ฮŒฮฝฮฟฮผฮฑ", + "map": "ฮงฮฌฯฯ„ฮทฯ‚", "currentPlayers": "Current players", "players": "ฮ ฮฑฮฏฮบฯ„ฮตฯ‚", "maxPlayers": "Max players", @@ -756,37 +804,45 @@ "ping": "Ping" }, "urbackup": { - "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "ok": "ฮŸฮบ", + "errored": "ฮฃฯ†ฮฌฮปฮผฮฑฯ„ฮฑ", + "noRecent": "ฮ‘ฯ€ฮฑฯฯ‡ฮฑฮนฯ‰ฮผฮญฮฝฮท ฮญฮบฮดฮฟฯƒฮท", + "totalUsed": "ฮงฯŽฯฮฟฯ‚ ฮฑฯ€ฮฟฮธฮฎฮบฮตฯ…ฯƒฮทฯ‚ ฯƒฮต ฯ‡ฯฮฎฯƒฮท" }, "mealie": { - "recipes": "Recipes", + "recipes": "ฮฃฯ…ฮฝฯ„ฮฑฮณฮญฯ‚", "users": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", - "categories": "Categories", - "tags": "Tags" + "categories": "ฮšฮฑฯ„ฮทฮณฮฟฯฮฏฮตฯ‚", + "tags": "ฮ•ฯ„ฮนฮบฮญฯ„ฮตฯ‚" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "ฮ“ฮฏฮฝฮตฯ„ฮฑฮน ฮปฮฎฯˆฮท", "total": "ฮฃฯฮฝฮฟฮปฮฟ", "running": "ฮคฯฮญฯ‡ฯ‰ฮฝ", "stopped": "ฮฃฯ„ฮฑฮผฮฑฯ„ฮทฮผฮญฮฝฮฟ", "passed": "Passed", - "failed": "Failed" + "failed": "ฮ‘ฯ€ฮญฯ„ฯ…ฯ‡ฮต" + }, + "openwrt": { + "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Ping up", + "down": "Ping down", + "bytesTx": "Transmitted", + "bytesRx": "ฮ›ฮทฯ†ฮธฮญฮฝฯ„ฮฑ" }, "uptimerobot": { "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", "lastDown": "Last Downtime", "downDuration": "Downtime Duration", - "sitesUp": "Sites Up", - "sitesDown": "Sites Down", + "sitesUp": "Online ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", + "sitesDown": "Offline ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮตฯ‚", "paused": "Paused", "notyetchecked": "Not Yet Checked", - "up": "Up", + "up": "Ping up", "seemsdown": "Seems Down", - "down": "Down", + "down": "Ping down", "unknown": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮฟ" }, "calendar": { @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "ฮคฮฟฮผฮตฮฏฯ‚", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "ฮ‘ฯ€ฮฟฮธฮทฮบฮตฯ…ฯ„ฮนฮบฯŒฯ‚ ฯ‡ฯŽฯฮฟฯ‚" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "ฮฆฯ‰ฯ„ฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "ฮคฮฑฮนฮฝฮฏฮตฯ‚", + "tags": "ฮ•ฯ„ฮนฮบฮญฯ„ฮตฯ‚", + "oCount": "O Count" + }, + "tandoor": { + "users": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", + "recipes": "ฮฃฯ…ฮฝฯ„ฮฑฮณฮญฯ‚", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "ฮงฯฮฎฯƒฯ„ฮตฯ‚", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "ฮ•ฮนฮดฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚", + "bans": "Bans" + }, + "wgeasy": { + "connected": "ฮฃฯ…ฮฝฮดฮญฮธฮทฮบฮต", + "enabled": "ฮ•ฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ", + "disabled": "ฮ‘ฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ", + "total": "ฮฃฯฮฝฮฟฮปฮฟ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "ฮ›ฮฎฮพฮท", + "upload": "ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "ฮงฯฯŒฮฝฮฟฯ‚ ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑฯ‚", + "version": "ฮˆฮบฮดฮฟฯƒฮท" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ฮ•ฯ„ฮนฮบฮญฯ„ฮตฯ‚" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "ฮ ฮปฮทฯฮฟฯ†ฮฟฯฮฏฮฑ", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ฮŒฮฝฮฟฮผฮฑ", + "address": "ฮ”ฮนฮตฯฮธฯ…ฮฝฯƒฮท", + "last_seen": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮฃฯฮฝฮดฮตฯƒฮท", + "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", + "online": "ฮฃฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฮน", + "offline": "ฮ•ฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚" + }, + "beszel": { + "name": "ฮŒฮฝฮฟฮผฮฑ", + "systems": "Systems", + "up": "Ping up", + "status": "ฮšฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", + "updated": "ฮ•ฮฝฮทฮผฮตฯฯŽฮธฮทฮบฮต", + "cpu": "ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚", + "memory": "ฮœฮฝฮฎฮผฮท", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ฮฅฮณฮตฮนฮญฯ‚", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ฮ‘ฯ€ฮฟฯ…ฯƒฮนฮฌฮถฮตฮน", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 17d90b9b..08934072 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Total" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -696,6 +739,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -777,6 +825,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Status", "uptime": "Uptime", @@ -800,10 +856,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Status", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 42a2f460..fd21b925 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Epizodoj", "songs": "Kantoj" }, + "esphome": { + "offline": "Malkonekta", + "offline_alt": "Malkonekta", + "online": "Online", + "total": "Totalo", + "unknown": "Nekonata" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Elลuti", "upload": "Alลuti", @@ -270,7 +281,7 @@ "approved": "Aprobita", "available": "Havebla" }, - "pialert": { + "netalertx": { "total": "Totalo", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Totalo" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Klientoj" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Suna", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanaloj", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrapido", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Stato", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Filmoj", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Uzantoj", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Uzantoj", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Totalo" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Sondaฤตo", + "download": "Elลuti", + "upload": "Alลuti" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informo", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Stato", + "online": "Online", + "offline": "Malkonekta" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Stato", + "updated": "Updated", + "cpu": "ฤˆefprocesoro", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Sana", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 97dabdc2..299307d0 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "me", "days": "d", "hours": "h", @@ -31,7 +31,7 @@ }, "weather": { "current": "Ubicaciรณn actual", - "allow": "Clic para permitir", + "allow": "Pulsa para permitir", "updating": "Actualizando", "wait": "Espera, por favor" }, @@ -77,9 +77,9 @@ "unknown": "Desconocido", "healthy": "Saludable", "starting": "Comenzando", - "unhealthy": "Insalubre", + "unhealthy": "No saludable", "not_found": "No encontrado", - "exited": "Salida", + "exited": "Terminado", "partial": "Parcial" }, "ping": { @@ -107,6 +107,13 @@ "episodes": "Episodios", "songs": "Canciones" }, + "esphome": { + "offline": "Desconectado", + "offline_alt": "Desconectado", + "online": "En lรญnea", + "total": "Total", + "unknown": "Desconocido" + }, "evcc": { "pv_power": "Producciรณn", "battery_soc": "Baterรญa", @@ -219,6 +226,10 @@ "leech": "Descargas", "seed": "Semillas" }, + "develancacheui": { + "cachehitbytes": "Bytes encontrados en cachรฉ", + "cachemissbytes": "Bytes faltantes en cachรฉ" + }, "downloadstation": { "download": "Descarga", "upload": "Subida", @@ -270,11 +281,11 @@ "approved": "Aprobado", "available": "Disponible" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Conectado", "new_devices": "Nuevos dispositivos", - "down_alerts": "Alertas de caรญdas" + "down_alerts": "Alertas de caรญda" }, "pihole": { "queries": "Consultas", @@ -298,6 +309,16 @@ "stopped": "Detenido", "total": "Total" }, + "suwayomi": { + "download": "Descargado", + "nondownload": "Non-Downloaded", + "read": "Leer", + "unread": "Sin leer", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Direcciรณn", "expires": "Caduca en", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "Hace {{value}}" }, + "technitium": { + "totalQueries": "Consultas", + "totalNoError": "ร‰xitos", + "totalServerFailure": "Fallas", + "totalNxDomain": "Dominios NX", + "totalRefused": "Rechazados", + "totalAuthoritative": "Autoritarios", + "totalRecursive": "Recursivos", + "totalCached": "En cachรฉ", + "totalBlocked": "Bloqueado", + "totalDropped": "Descartados", + "totalClients": "Clientes" + }, "tdarr": { "queue": "En cola", "processed": "Procesado", @@ -419,7 +453,8 @@ "search": "Buscar", "custom": "Personalizado", "visit": "Visitar", - "url": "Enlace" + "url": "Enlace", + "searchsuggestion": "Sugerencia" }, "wmo": { "0-day": "Soleado", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Canales", - "hd": "Alta definiciรณn" + "hd": "Alta definiciรณn", + "tunerCount": "Sintonizadores", + "channelNumber": "Canal", + "channelNetwork": "Red", + "signalStrength": "Intensidad", + "signalQuality": "Calidad", + "symbolQuality": "Calidad", + "networkRate": "Tasa de bits", + "clientIP": "Cliente" }, "scrutiny": { "passed": "Aprobado", @@ -694,6 +737,11 @@ "targets_down": "Objetivos inactivos", "targets_total": "Objetivos totales" }, + "gatus": { + "up": "Sitios activos", + "down": "Sitios inactivos", + "uptime": "Tiempo activo" + }, "ghostfolio": { "gross_percent_today": "Hoy", "gross_percent_1y": "Un aรฑo", @@ -775,6 +823,14 @@ "passed": "Aprobado", "failed": "Fallido" }, + "openwrt": { + "uptime": "Tiempo activo", + "cpuLoad": "Carga promedio del CPU (5m)", + "up": "Activo", + "down": "Inactivo", + "bytesTx": "Transmitido", + "bytesRx": "Recibido" + }, "uptimerobot": { "status": "Estado", "uptime": "Tiempo activo", @@ -797,11 +853,159 @@ "noEventsFound": "No se encontraron eventos" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plataformas", + "totalRoms": "Juegos", + "saves": "Guardados", + "states": "Estados", + "screenshots": "Capturas de pantalla", + "totalfilesize": "Tamaรฑo total" + }, + "mailcow": { + "domains": "Dominios", + "mailboxes": "Buzones de correo", + "mails": "Correos", + "storage": "Almacenamiento" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Advertencias", + "criticals": "Crรญticos" + }, + "plantit": { + "events": "Eventos", + "plants": "Plantas", + "photos": "Fotos", + "species": "Especies" + }, + "gitea": { + "notifications": "Notificaciones", + "issues": "Nรบmeros", + "pulls": "Solicitudes de cambios" + }, + "stash": { + "scenes": "Escenas", + "scenesPlayed": "Escenas reproducidas", + "playCount": "Reproducciones totales", + "playDuration": "Tiempo visto", + "sceneSize": "Tamaรฑo de las escenas", + "sceneDuration": "Duraciรณn de las escenas", + "images": "Imรกgenes", + "imageSize": "Tamaรฑo de las imรกgenes", + "galleries": "Galerรญas", + "performers": "Intรฉrpretes", + "studios": "Estudios", + "movies": "Pelรญculas", + "tags": "Etiquetas", + "oCount": "Cantidad de O" + }, + "tandoor": { + "users": "Usuarios", + "recipes": "Recetas", + "keywords": "Palabras clave" + }, + "homebox": { + "items": "Objetos", + "totalWithWarranty": "Con garantรญa", + "locations": "Ubicaciones", + "labels": "Etiquetas", + "users": "Usuarios", + "totalValue": "Valor total" + }, + "crowdsec": { + "alerts": "Alertas", + "bans": "Baneos" + }, + "wgeasy": { + "connected": "Conectado", + "enabled": "Activado", + "disabled": "Desactivado", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxy activado", + "auth": "Con autenticaciรณn", + "outdated": "Desactualizado", + "banned": "Baneado" + }, + "myspeed": { + "ping": "Ping", + "download": "Descarga", + "upload": "Subida" + }, + "stocks": { + "stocks": "Acciones", + "loading": "Cargando", + "open": "Abierto - Mercado EE. UU.", + "closed": "Cerrado - Mercado EE. UU.", + "invalidConfiguration": "Configuraciรณn invรกlida" + }, + "frigate": { + "cameras": "Cรกmaras", + "uptime": "Tiempo activo", + "version": "Versiรณn" + }, + "linkwarden": { + "links": "Enlaces", + "collections": "Colecciones", + "tags": "Etiquetas" + }, + "zabbix": { + "unclassified": "No clasificado", + "information": "Informaciรณn", + "warning": "Advertencia", + "average": "Promedio", + "high": "Alto", + "disaster": "Desastre" + }, + "lubelogger": { + "vehicle": "Vehรญculo", + "vehicles": "Vehรญculos", + "serviceRecords": "Registros de servicio", + "reminders": "Recordatorios", + "nextReminder": "Siguiente recordatorio", + "none": "Nada" + }, + "vikunja": { + "projects": "Proyectos activos", + "tasks7d": "Tareas que vencen esta semana", + "tasksOverdue": "Tareas vencidas", + "tasksInProgress": "Tareas en progreso" + }, + "headscale": { + "name": "Nombre", + "address": "Direcciรณn", + "last_seen": "Visto por รบltima vez", + "status": "Estado", + "online": "En lรญnea", + "offline": "Desconectado" + }, + "beszel": { + "name": "Nombre", + "systems": "Systems", + "up": "Activo", + "status": "Estado", + "updated": "Actualizado", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Saludable", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Faltantes", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Cargando" + }, + "gitlab": { + "groups": "Groups", + "issues": "Nรบmeros", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/eu/common.json b/public/locales/eu/common.json index a6a2402e..ef3c5262 100644 --- a/public/locales/eu/common.json +++ b/public/locales/eu/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Abestiak" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Guztira", + "unknown": "Ezezaguna" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Guztira", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Guztira" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bit-tasa", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Status", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Guztira" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informazioa", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Status", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Osasuntsu", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 0fd030be..402aa8d3 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Yhteensรค", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Hyvรคksytty", "available": "Saatavilla" }, - "pialert": { + "netalertx": { "total": "Yhteensรค", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Pysรคytetty", "total": "Yhteensรค" }, + "suwayomi": { + "download": "Ladattu", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Kyselyjรค", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Estetty", + "totalDropped": "Dropped", + "totalClients": "Asiakasohjelmia" + }, "tdarr": { "queue": "Jono", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bittinopeus", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Tila", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Verkkotunnuksia", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Kรคytรถssรค", + "disabled": "Poissa kรคytรถstรค", + "total": "Yhteensรค" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Tila", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Tila", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 0cd5435a..2f27665d 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -13,19 +13,19 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", - "days": "d", + "days": "j", "hours": "h", "minutes": "m", "seconds": "s" }, "widget": { - "missing_type": "Widget manquant: {{type}}", + "missing_type": "Type de widget manquant: {{type}}", "api_error": "Erreur API", "information": "Informations", "status": "Statut", - "url": "Url", + "url": "URL", "raw_error": "Erreur brute", "response_data": "Donnรฉes de rรฉponse" }, @@ -39,8 +39,8 @@ "placeholder": "Rechercheโ€ฆ" }, "resources": { - "cpu": "Cpu", - "mem": "Mรฉm", + "cpu": "CPU", + "mem": "Mร‰M", "total": "Total", "free": "Libre", "used": "Utilisรฉ", @@ -69,8 +69,8 @@ "docker": { "rx": "Rx", "tx": "Tx", - "mem": "Mรฉm", - "cpu": "Cpu", + "mem": "Mร‰M", + "cpu": "CPU", "running": "Dรฉmarrรฉ", "offline": "Hors ligne", "error": "Erreur", @@ -107,6 +107,13 @@ "episodes": "ร‰pisodes", "songs": "Musique" }, + "esphome": { + "offline": "Hors ligne", + "offline_alt": "Hors ligne", + "online": "En ligne", + "total": "Total", + "unknown": "Inconnu" + }, "evcc": { "pv_power": "Production", "battery_soc": "Batterie", @@ -150,7 +157,7 @@ }, "changedetectionio": { "totalObserved": "Total Observรฉ", - "diffsDetected": "Diffs Detectรฉes" + "diffsDetected": "Diffs dรฉtectรฉes" }, "channelsdvrserver": { "shows": "Affichages", @@ -166,7 +173,7 @@ "plex_connection_error": "Vรฉrifier la connexion ร  Plex" }, "omada": { - "connectedAp": "APs connectรฉes", + "connectedAp": "AP connectรฉs", "activeUser": "ร‰quipts actifs", "alerts": "Alertes", "connectedGateway": "Passerelles connectรฉes", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Octets de la mรฉmoire cache", + "cachemissbytes": "Octets manquants du cache" + }, "downloadstation": { "download": "Rรฉcep.", "upload": "Envoi", @@ -270,11 +281,11 @@ "approved": "Validรฉ", "available": "Disponible" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connectรฉ", - "new_devices": "Nouvel Appareil", - "down_alerts": "Alertes" + "new_devices": "Nouveaux appareils", + "down_alerts": "Alertes d'arrรชt" }, "pihole": { "queries": "Requรชtes", @@ -298,6 +309,16 @@ "stopped": "Arrรชtรฉ", "total": "Total" }, + "suwayomi": { + "download": "Tรฉlรฉchargรฉ", + "nondownload": "Non tรฉlรฉchargรฉ", + "read": "Lu", + "unread": "Non lu", + "downloadedread": "Tรฉlรฉchargรฉ et lu", + "downloadedunread": "Tรฉlรฉchargรฉ et non lu", + "nondownloadedread": "Non tรฉlรฉchargรฉ et lu", + "nondownloadedunread": "Non tรฉlรฉchargรฉ et non lu" + }, "tailscale": { "address": "Adresse", "expires": "Expire", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "Il y a {{value}}" }, + "technitium": { + "totalQueries": "Requรชtes", + "totalNoError": "Effectuรฉ avec succรจs", + "totalServerFailure": "ร‰checs", + "totalNxDomain": "Domaines NX", + "totalRefused": "Refusรฉs", + "totalAuthoritative": "Autoritaire", + "totalRecursive": "Rรฉcursif", + "totalCached": "Mis en cache", + "totalBlocked": "Bloquรฉ", + "totalDropped": "Abandonnรฉ", + "totalClients": "Clients" + }, "tdarr": { "queue": "En attente", "processed": "Traitรฉ", @@ -388,13 +422,13 @@ "failedLoginsLast24H": "Cnx. รฉchouรฉes (24h)" }, "proxmox": { - "mem": "Mรฉm", - "cpu": "Cpu", + "mem": "Mร‰M", + "cpu": "CPU", "lxc": "LxC", "vms": "VMs" }, "glances": { - "cpu": "Cpu", + "cpu": "CPU", "load": "Charge", "wait": "Veuillez patienter", "temp": "Temp", @@ -404,7 +438,7 @@ "total": "Total", "free": "Libre", "used": "Utilisรฉ", - "days": "d", + "days": "j", "hours": "h", "crit": "Crit.", "read": "Lu", @@ -419,7 +453,8 @@ "search": "Recherche", "custom": "Personnalisรฉ", "visit": "Aller vers", - "url": "Url" + "url": "URL", + "searchsuggestion": "Suggestions" }, "wmo": { "0-day": "Ensoleillรฉ", @@ -529,13 +564,21 @@ "total": "Total" }, "gluetun": { - "public_ip": "IP Publique", + "public_ip": "IP publique", "region": "Rรฉgion", "country": "Pays" }, "hdhomerun": { "channels": "Chaรฎnes", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Canal", + "channelNetwork": "Rรฉseau", + "signalStrength": "Force", + "signalQuality": "Qualitรฉ", + "symbolQuality": "Qualitรฉ", + "networkRate": "Dรฉbit", + "clientIP": "Client" }, "scrutiny": { "passed": "Rรฉussi", @@ -547,11 +590,11 @@ "total": "Total" }, "peanut": { - "battery_charge": "Battery Charge", + "battery_charge": "Charge Batterie", "ups_load": "Charge de l'UPS", "ups_status": "ร‰tat de l'UPS", "online": "En ligne", - "on_battery": "On Battery", + "on_battery": "Sur Batterie", "low_battery": "Batterie Faible" }, "nextdns": { @@ -577,7 +620,7 @@ }, "opnsense": { "cpu": "Charge CPU", - "memory": "Mรฉm. Utilisรฉe", + "memory": "Mรฉm. utilisรฉe", "wanUpload": "WAN Envoi", "wanDownload": "WAN Rรฉcep." }, @@ -610,7 +653,7 @@ "proxmoxbackupserver": { "datastore_usage": "Datastore", "failed_tasks_24h": "Tรขches รฉchouรฉes 24h", - "cpu_usage": "Cpu", + "cpu_usage": "CPU", "memory_usage": "Mรฉmoire" }, "immich": { @@ -633,7 +676,7 @@ "categories": "Catรฉgories" }, "komga": { - "libraries": "Librairies", + "libraries": "Bibliothรจques", "series": "Sรฉries TV", "books": "Livres" }, @@ -666,7 +709,7 @@ "alertstriggered": "Alertes dรฉclenchรฉes" }, "nextcloud": { - "cpuload": "Charge Cpu", + "cpuload": "Charge CPU", "memoryusage": "Utilisation Mรฉmoire", "freespace": "Libre", "activeusers": "Utilisateurs Actifs", @@ -694,6 +737,11 @@ "targets_down": "Down", "targets_total": "Total" }, + "gatus": { + "up": "En ligne", + "down": "Hors ligne", + "uptime": "Dรฉmarrรฉ depuis" + }, "ghostfolio": { "gross_percent_today": "Aujourd'hui", "gross_percent_1y": "Un an", @@ -718,7 +766,7 @@ "books": "Livres", "authors": "Auteurs", "categories": "Catรฉgories", - "series": "Sรฉries" + "series": "Sรฉries TV" }, "jdownloader": { "downloadCount": "En attente", @@ -775,6 +823,14 @@ "passed": "Rรฉussi", "failed": "ร‰chouรฉ" }, + "openwrt": { + "uptime": "Dรฉmarrรฉ depuis", + "cpuLoad": "Charge moyenne CPU (5 min)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmis", + "bytesRx": "Reรงu" + }, "uptimerobot": { "status": "Statut", "uptime": "Dรฉmarrรฉ depuis", @@ -797,11 +853,159 @@ "noEventsFound": "Aucun รฉvรฉnement trouvรฉ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plateformes", + "totalRoms": "Jeux", + "saves": "Sauvegardes", + "states": "ร‰tats", + "screenshots": "Captures d'รฉcran", + "totalfilesize": "Taille totale" + }, + "mailcow": { + "domains": "Domaines", + "mailboxes": "Boites mail", + "mails": "Courriels", + "storage": "Stockage" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Avertissements", + "criticals": "Urgent" + }, + "plantit": { + "events": "ร‰vรฉnements", + "plants": "Plantes", + "photos": "Photos", + "species": "Espรจces" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Anomalies", + "pulls": "Demandes de tirage" + }, + "stash": { + "scenes": "Scรจnes", + "scenesPlayed": "Scรจnes jouรฉes", + "playCount": "Lectures Totales", + "playDuration": "Temps regardรฉ", + "sceneSize": "Taille des scรจnes", + "sceneDuration": "Durรฉe des scรจnes", + "images": "Images", + "imageSize": "Taille des images", + "galleries": "Galeries", + "performers": "Acteurs", + "studios": "Studios", + "movies": "Films", + "tags": "ร‰tiquettes", + "oCount": "0 Compte" + }, + "tandoor": { + "users": "Utilisateurs", + "recipes": "Recettes", + "keywords": "Mots-clรฉs" + }, + "homebox": { + "items": "Objets", + "totalWithWarranty": "Avec garantie", + "locations": "Emplacements", + "labels": "ร‰tiquettes", + "users": "Utilisateurs", + "totalValue": "Valeur Totale" + }, + "crowdsec": { + "alerts": "Alertes", + "bans": "Exclusions" + }, + "wgeasy": { + "connected": "Connectรฉ", + "enabled": "Activรฉ", + "disabled": "Dรฉsactivรฉ", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Par proxy", + "auth": "Avec authentification", + "outdated": "Obsolรจte", + "banned": "Banni" + }, + "myspeed": { + "ping": "Ping", + "download": "Rรฉcep.", + "upload": "Envoi" + }, + "stocks": { + "stocks": "Actions", + "loading": "Chargement", + "open": "Ouvert - Marchรฉ amรฉricain", + "closed": "Fermรฉ - marchรฉ amรฉricain", + "invalidConfiguration": "Configuration invalide" + }, + "frigate": { + "cameras": "Camรฉras", + "uptime": "Dรฉmarrรฉ depuis", + "version": "Version" + }, + "linkwarden": { + "links": "Liens", + "collections": "Collections", + "tags": "ร‰tiquettes" + }, + "zabbix": { + "unclassified": "Non classรฉ", + "information": "Informations", + "warning": "Attention", + "average": "Moyenne", + "high": "ร‰levรฉ", + "disaster": "" + }, + "lubelogger": { + "vehicle": "Vรฉhicule", + "vehicles": "Vรฉhicules", + "serviceRecords": "Service d'enregistrements", + "reminders": "Rappels", + "nextReminder": "Prochain rappel", + "none": "Aucun" + }, + "vikunja": { + "projects": "Projets actifs", + "tasks7d": "Tรขches ร  faire cette semaine", + "tasksOverdue": "Tรขches en retard", + "tasksInProgress": "Tรขche en cours" + }, + "headscale": { + "name": "Nom", + "address": "Adresse", + "last_seen": "Vu pour la derniรจre fois", + "status": "Statut", + "online": "En ligne", + "offline": "Hors ligne" + }, + "beszel": { + "name": "Nom", + "systems": "Systรจmes", + "up": "Up", + "status": "Statut", + "updated": "Mis ร  jour", + "cpu": "CPU", + "memory": "Mร‰M", + "disk": "Disque", + "network": "Rรฉseau" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Fonctionnel", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Manquant", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Chargement" + }, + "gitlab": { + "groups": "Groups", + "issues": "Anomalies", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 0c4caf80..0b888396 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "ื›ื‘ื•ื™", + "offline_alt": "ื›ื‘ื•ื™", + "online": "Online", + "total": "ืกื”\"ื›", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "ืžืื•ืฉืจ", "available": "ื–ืžื™ืŸ" }, - "pialert": { + "netalertx": { "total": "ืกื”\"ื›", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "ื ืขืฆืจ", "total": "ืกื”\"ื›" }, + "suwayomi": { + "download": "ื”ื•ืจื“", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "ืฉืื™ืœืชื•ืช", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "ื ื—ืกื", + "totalDropped": "Dropped", + "totalClients": "ืœืงื•ื—ื•ืช" + }, "tdarr": { "queue": "ืชื•ืจ", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "ืกื™ื‘ื™ื•ืช", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "ืกื˜ื˜ื•ืก", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "ืžื•ืคืขืœ", + "disabled": "ืžื‘ื•ื˜ืœ", + "total": "ืกื”\"ื›" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "ืกื˜ื˜ื•ืก", + "online": "Online", + "offline": "ื›ื‘ื•ื™" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "ืกื˜ื˜ื•ืก", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index ca628d3b..2076bce7 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -11,14 +11,14 @@ "percent": "{{value, percent}}", "number": "{{value, number}}", "ms": "{{value, number}}", - "date": "{{value, date}}", + "date": "{value, date}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "เคฎเคพเคน", "days": "d", - "hours": "h", + "hours": "เค˜เค‚.", "minutes": "m", - "seconds": "s" + "seconds": "เคชเคฒ" }, "widget": { "missing_type": "Missing Widget Type: {{type}}", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Total" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -405,7 +439,7 @@ "free": "Free", "used": "Used", "days": "d", - "hours": "h", + "hours": "เค˜เค‚.", "crit": "Crit", "read": "Read", "write": "Write", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Status", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Status", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 5c23c742..35ae8dab 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -13,11 +13,11 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", + "duration": "{{value, duration}}", + "months": "mj", + "days": "dan(a)", "hours": "h", - "minutes": "m", + "minutes": "min", "seconds": "s" }, "widget": { @@ -46,12 +46,12 @@ "used": "Koriลกteno", "load": "Optereฤ‡enje", "temp": "TEMP", - "max": "Maks", - "uptime": "UP" + "max": "Maks.", + "uptime": "Vrijeme rada" }, "unifi": { "users": "Korisnici", - "uptime": "Radno vrijeme", + "uptime": "Vrijeme rada", "days": "Dani", "wan": "WAN", "lan": "LAN", @@ -61,8 +61,8 @@ "wlan_devices": "WLAN ureฤ‘aji", "lan_users": "LAN korisnici", "wlan_users": "WLAN korisnici", - "up": "UP", - "down": "PRIMANJE", + "up": "Vrijeme rada", + "down": "NEDOSTUPNO", "wait": "Priฤekaj", "empty_data": "Stanje podsustava nepoznato" }, @@ -85,17 +85,17 @@ "ping": { "error": "Greลกka", "ping": "Ping", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "down": "Nedostupno", + "up": "Dostupno", + "not_available": "Nije dostupno" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "Stanje HTTP-a", "error": "Greลกka", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "Odgovor", + "down": "Nedostupno", + "up": "Dostupno", + "not_available": "Nije dostupno" }, "emby": { "playing": "Reprodukcija", @@ -107,13 +107,20 @@ "episodes": "Epizode", "songs": "Pjesme" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Ukupno", + "unknown": "Nepoznato" + }, "evcc": { "pv_power": "Proizvodnja", "battery_soc": "Baterija", "grid_power": "Raspored", "home_power": "Potroลกnja", "charge_power": "Punjaฤ", - "watt_hour": "Wh" + "watt_hour": "Kilovat-sat" }, "flood": { "download": "Preuzimanje", @@ -127,21 +134,21 @@ }, "fritzbox": { "connectionStatus": "Stanje", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", + "connectionStatusUnconfigured": "Nekonfigurirano", + "connectionStatusConnecting": "Povezivanje", + "connectionStatusAuthenticating": "Autentificiranje", + "connectionStatusPendingDisconnect": "Odspajanje u tijeku", + "connectionStatusDisconnecting": "Odspajanje", + "connectionStatusDisconnected": "Odspojeno", "connectionStatusConnected": "Povezano", - "uptime": "Radno vrijeme", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "uptime": "Vrijeme rada", + "maxDown": "Maksimum preuzimanja", + "maxUp": "Maksimum prijenosa", + "down": "Nedostupno", + "up": "Dostupno", + "received": "Primljeno", + "sent": "Poslano", + "externalIPAddress": "Eksterna IP adresa" }, "caddy": { "upstreams": "Glavne grane", @@ -219,6 +226,10 @@ "leech": "Koriลกtenje tuฤ‘eg sadrลพaja", "seed": "Prenoลกenje preuzetog sadrลพaja" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Preuzimanje", "upload": "Prijenos", @@ -255,26 +266,26 @@ "missingMovies": "Nedostajuฤ‡i filmovi" }, "ombi": { - "pending": "Predstoji", + "pending": "U tijeku", "approved": "Odobreno", "available": "Dostupno" }, "jellyseerr": { - "pending": "Predstoji", + "pending": "U tijeku", "approved": "Odobreno", "available": "Dostupno" }, "overseerr": { - "pending": "Predstoji", + "pending": "U tijeku", "processing": "Obrada", "approved": "Odobreno", "available": "Dostupno" }, - "pialert": { + "netalertx": { "total": "Ukupno", "connected": "Povezano", "new_devices": "Novi ureฤ‘aji", - "down_alerts": "Obavijest o ruลกenju" + "down_alerts": "Obavijesti o nedostupnosti" }, "pihole": { "queries": "Upiti", @@ -298,6 +309,16 @@ "stopped": "Prekinuto", "total": "Ukupno" }, + "suwayomi": { + "download": "Preuzeto", + "nondownload": "Non-Downloaded", + "read": "Proฤitano", + "unread": "Neproฤitano", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adresa", "expires": "Isteฤe", @@ -312,6 +333,19 @@ "seconds": "{{number}} s", "ago": "Prije {{value}}" }, + "technitium": { + "totalQueries": "Upiti", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blokirano", + "totalDropped": "Dropped", + "totalClients": "Klijenti" + }, "tdarr": { "queue": "Red ฤekanja", "processed": "Obraฤ‘eno", @@ -398,20 +432,20 @@ "load": "Optereฤ‡enje", "wait": "Priฤekaj", "temp": "TEMP", - "_temp": "Temp", + "_temp": "Temperatura", "warn": "Upozori", - "uptime": "UP", + "uptime": "Vrijeme rada", "total": "Ukupno", "free": "Slobodno", "used": "Koriลกteno", - "days": "d", + "days": "dan(a)", "hours": "h", - "crit": "Crit", + "crit": "Krritiฤno", "read": "Proฤitano", - "write": "Write", + "write": "Piลกi", "gpu": "GPU", - "mem": "Mem", - "swap": "Swap" + "mem": "Memorija", + "swap": "Virtualna memorija" }, "quicklaunch": { "bookmark": "Straniฤnik", @@ -419,7 +453,8 @@ "search": "Traลพi", "custom": "Prilagoฤ‘eno", "visit": "Posjeti", - "url": "URL" + "url": "URL", + "searchsuggestion": "Prijedlog" }, "wmo": { "0-day": "Sunฤano", @@ -486,15 +521,15 @@ "up_to_date": "Aktualno", "child_bridges": "Podreฤ‘eni mosotvi", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", - "pending": "Predstoji", - "down": "Down" + "up": "Dostupno", + "pending": "U tijeku", + "down": "Nedostupno" }, "healthchecks": { "new": "Novo", - "up": "Up", + "up": "Dostupno", "grace": "U razdoblju odgode", - "down": "Down", + "down": "Nedostupno", "paused": "Zaustavljeno", "status": "Stanje", "last_ping": "Zadnji ping", @@ -519,7 +554,7 @@ }, "truenas": { "load": "Optereฤ‡enje sustava", - "uptime": "Radno vrijeme", + "uptime": "Vrijeme rada", "alerts": "Upozorenja" }, "pyload": { @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanali", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuneri", + "channelNumber": "Kanal", + "channelNetwork": "Mreลพa", + "signalStrength": "Jaฤina", + "signalQuality": "Kvaliteta", + "symbolQuality": "Kvaliteta", + "networkRate": "Stopa bitova", + "clientIP": "Klijent" }, "scrutiny": { "passed": "Uspjelo", @@ -547,12 +590,12 @@ "total": "Ukupno" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "Napunjenost baterije", + "ups_load": "UPS optereฤ‡enje", + "ups_status": "UPS stanje", "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Koristi bateriju", + "low_battery": "Slaba baterija" }, "nextdns": { "wait": "Priฤekaj", @@ -561,7 +604,7 @@ "mikrotik": { "cpuLoad": "CPU optereฤ‡enje", "memoryUsed": "Koriลกtena memorija", - "uptime": "Radno vrijeme", + "uptime": "Vrijeme rada", "numberOfLeases": "Unajmljivanja" }, "xteve": { @@ -570,10 +613,10 @@ "streams_xepg": "XEPG kanali" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Danas", + "absolutePower": "Snaga", + "relativePower": "Postotak snage", + "limit": "Ograniฤenje" }, "opnsense": { "cpu": "CPU optereฤ‡enje", @@ -601,9 +644,9 @@ "load": "Prosjeฤno optereฤ‡enje", "memory": "Koriลกtenje memorije", "wanStatus": "Stanje WAN-a", - "up": "Up", - "down": "Down", - "temp": "Temp", + "up": "Dostupno", + "down": "Nedostupno", + "temp": "Temperatura", "disk": "Koriลกtenje diska", "wanIP": "WAN IP" }, @@ -620,17 +663,17 @@ "storage": "Spremiลกte" }, "uptimekuma": { - "up": "Aktivne stranice", - "down": "Neaktivne stranice", - "uptime": "Radno vrijeme", + "up": "Dostupne stranice", + "down": "Nedostupne stranice", + "uptime": "Vrijeme rada", "incident": "Sluฤaj", - "m": "m" + "m": "min" }, "atsumeru": { "series": "Serije", - "archives": "Archives", - "chapters": "Chapters", - "categories": "Categories" + "archives": "Arhive", + "chapters": "Poglavlja", + "categories": "Kategorije" }, "komga": { "libraries": "Biblioteke", @@ -639,7 +682,7 @@ }, "diskstation": { "days": "Dani", - "uptime": "Radno vrijeme", + "uptime": "Vrijeme rada", "volumeAvailable": "Dostupno" }, "mylar": { @@ -662,7 +705,7 @@ "grafana": { "dashboards": "Pregledne ploฤe", "datasources": "Izvori podataka", - "totalalerts": "Ukupno upozorenja", + "totalalerts": "Ukupni broj upozorenja", "alertstriggered": "Aktivirana upozorenja" }, "nextcloud": { @@ -682,7 +725,7 @@ }, "unmanic": { "active_workers": "Aktivni radnici", - "total_workers": "Ukupni radnici", + "total_workers": "Ukupni broj radnika", "records_total": "Koliฤina zapisa u redu ฤekanja" }, "pterodactyl": { @@ -692,10 +735,15 @@ "prometheus": { "targets_up": "Aktivni ciljevi", "targets_down": "Neaktivni ciljevi", - "targets_total": "Ukupno ciljeva" + "targets_total": "Ukupni broj ciljeva" + }, + "gatus": { + "up": "Dostupne stranice", + "down": "Nedostupne stranice", + "uptime": "Vrijeme rada" }, "ghostfolio": { - "gross_percent_today": "Today", + "gross_percent_today": "Danas", "gross_percent_1y": "Jedna godina", "gross_percent_max": "Svo vrijeme" }, @@ -711,13 +759,13 @@ "switches_on": "Prekidaฤi ukljuฤeni" }, "whatsupdocker": { - "monitoring": "Monitoring", + "monitoring": "Praฤ‡enje", "updates": "Aktualiziranja" }, "calibreweb": { "books": "Knjige", - "authors": "Authors", - "categories": "Categories", + "authors": "Autori", + "categories": "Kategorije", "series": "Serije" }, "jdownloader": { @@ -731,77 +779,233 @@ "totalFiles": "Datoteke" }, "azuredevops": { - "result": "Result", + "result": "Rezultat", "status": "Stanje", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", + "buildId": "ID izgradnje", + "succeeded": "Uspjelo", + "notStarted": "Nije zapoฤeto", "failed": "Neuspjelo", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "canceled": "Prekinuto", + "inProgress": "U tijeku", + "totalPrs": "Ukupni broj PR-ova", + "myPrs": "Moji zahtjevi za preuzimanje (PR-ovi)", "approved": "Odobreno" }, "gamedig": { "status": "Stanje", "online": "Online", "offline": "Offline", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", + "name": "Ime", + "map": "Karta", + "currentPlayers": "Trenutaฤni igraฤi", "players": "Igraฤi", - "maxPlayers": "Max players", - "bots": "Bots", + "maxPlayers": "Maks. broj igraฤa", + "bots": "Botovi", "ping": "Ping" }, "urbackup": { - "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "ok": "U redu", + "errored": "Greลกke", + "noRecent": "Zastarjelo", + "totalUsed": "Koriลกtena memorija" }, "mealie": { - "recipes": "Recipes", + "recipes": "Recepti", "users": "Korisnici", - "categories": "Categories", - "tags": "Tags" + "categories": "Kategorije", + "tags": "Oznake" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Preuzimanje", "total": "Ukupno", "running": "Pokrenuto", "stopped": "Prekinuto", "passed": "Uspjelo", "failed": "Neuspjelo" }, + "openwrt": { + "uptime": "Vrijeme rada", + "cpuLoad": "Prosjeฤ‡no CPU optereฤ‡enje (5m)", + "up": "Dostupno", + "down": "Nedostupno", + "bytesTx": "Preneseno", + "bytesRx": "Primljeno" + }, "uptimerobot": { "status": "Stanje", - "uptime": "Radno vrijeme", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", - "sitesUp": "Aktivne stranice", - "sitesDown": "Neaktivne stranice", + "uptime": "Vrijeme rada", + "lastDown": "Zadnja nedostupnost", + "downDuration": "Trajanje nedostupnosti", + "sitesUp": "Dostupne stranice", + "sitesDown": "Nedostupne stranice", "paused": "Zaustavljeno", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", + "notyetchecked": "Joลก nije provjereno", + "up": "Dostupno", + "seemsdown": "ฤŒini se da je nedostupno", + "down": "Nedostupno", "unknown": "Nepoznato" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "U kinima", + "physicalRelease": "Fiziฤko izdanje", + "digitalRelease": "Digitalno izdanje", + "noEventsToday": "Danas nema dogaฤ‘aja!", + "noEventsFound": "Nema dogaฤ‘aja" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platforme", + "totalRoms": "Igre", + "saves": "Saves", + "states": "States", + "screenshots": "Snimke ekrana", + "totalfilesize": "Ukupna veliฤina" + }, + "mailcow": { + "domains": "Domene", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Spremiลกte" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Upozorenja", + "criticals": "Kritiฤno" + }, + "plantit": { + "events": "Dogaฤ‘aji", + "plants": "Biljke", + "photos": "Fotografije", + "species": "Vrste" + }, + "gitea": { + "notifications": "Obavijesti", + "issues": "Problemi", + "pulls": "Zahtjevi za povlaฤenje" + }, + "stash": { + "scenes": "Scene", + "scenesPlayed": "Reproducirane scene", + "playCount": "Ukupni broj reprodukcija", + "playDuration": "Vrijeme gledanja", + "sceneSize": "Veliฤina scene", + "sceneDuration": "Trajanje scene", + "images": "Slike", + "imageSize": "Veliฤina slike", + "galleries": "Galerije", + "performers": "Glumci", + "studios": "Studiji", + "movies": "Filmovi", + "tags": "Oznake", + "oCount": "O zbroj" + }, + "tandoor": { + "users": "Korisnici", + "recipes": "Recepti", + "keywords": "Kljuฤne rijeฤi" + }, + "homebox": { + "items": "Stavke", + "totalWithWarranty": "S garancijom", + "locations": "Lokacije", + "labels": "Oznake", + "users": "Korisnici", + "totalValue": "Svukupno" + }, + "crowdsec": { + "alerts": "Upozorenja", + "bans": "Zabrane" + }, + "wgeasy": { + "connected": "Povezano", + "enabled": "Aktivirano", + "disabled": "Deaktivirano", + "total": "Ukupno" + }, + "swagdashboard": { + "proxied": "Posredovano", + "auth": "S autentifikacijom", + "outdated": "Zastarjelo", + "banned": "Zabranjen pristup" + }, + "myspeed": { + "ping": "Ping", + "download": "Preuzimanje", + "upload": "Prijenos" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Kamere", + "uptime": "Vrijeme rada", + "version": "Verzija" + }, + "linkwarden": { + "links": "Poveznice", + "collections": "Zbirke", + "tags": "Oznake" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informacije", + "warning": "Upozorenje", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Podsjetnici", + "nextReminder": "Sljedeฤ‡i podsjetnik", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Ime", + "address": "Adresa", + "last_seen": "Zadnje viฤ‘eno", + "status": "Stanje", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Ime", + "systems": "Systems", + "up": "Dostupno", + "status": "Stanje", + "updated": "Aktualizirano", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Funkcionalno", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Nedostaje", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemi", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 4c047536..abe09fde 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -13,19 +13,19 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", - "minutes": "m", - "seconds": "s" + "duration": "{{value, duration}}", + "months": "hรณ", + "days": "n", + "hours": "รณ", + "minutes": "p", + "seconds": "mp" }, "widget": { "missing_type": "Hiรกnyzรณ Widget Tรญpus: {{type}}", "api_error": "API Hiba", "information": "Informรกciรณ", "status": "Stรกtusz", - "url": "URL", + "url": "LINK", "raw_error": "Nyers hiba", "response_data": "Vรกlaszadatok" }, @@ -40,12 +40,12 @@ }, "resources": { "cpu": "Processzor", - "mem": "MEM", + "mem": "RAM", "total": "ร–sszes", "free": "Szabad", "used": "Hasznรกlt", "load": "Terhelรฉs", - "temp": "TEMP", + "temp": "HลM", "max": "Max", "uptime": "FUT" }, @@ -69,10 +69,10 @@ "docker": { "rx": "RX", "tx": "TX", - "mem": "MEM", + "mem": "RAM", "cpu": "Processzor", "running": "Futรณ", - "offline": "Offline", + "offline": "Nem elรฉrhetล‘", "error": "Hiba", "unknown": "Ismeretlen", "healthy": "Egรฉszsรฉges", @@ -107,6 +107,13 @@ "episodes": "Epizรณd", "songs": "Zeneszรกm" }, + "esphome": { + "offline": "Nem elรฉrhetล‘", + "offline_alt": "Nem elรฉrhetล‘", + "online": "Csatlakozva", + "total": "ร–sszes", + "unknown": "Ismeretlen" + }, "evcc": { "pv_power": "Termelรฉs", "battery_soc": "Akkumulรกtor", @@ -133,10 +140,10 @@ "connectionStatusPendingDisconnect": "Szรฉtkapcsolรกs fรผggล‘ben", "connectionStatusDisconnecting": "Kapcsolat bontรกsa", "connectionStatusDisconnected": "Kapcsolat bontva", - "connectionStatusConnected": "Csatlakoztatott", + "connectionStatusConnected": "Csatlakozva", "uptime": "รœzemidล‘", - "maxDown": "Max. Down", - "maxUp": "Max. Up", + "maxDown": "Max let.", + "maxUp": "Max felt.", "down": "Le", "up": "Fel", "received": "Fogadott", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Letรถltรฉs", "upload": "Feltรถltรฉs", @@ -270,11 +281,11 @@ "approved": "Engedรฉlyezett", "available": "Elรฉrhetล‘" }, - "pialert": { + "netalertx": { "total": "ร–sszes", - "connected": "Csatlakoztatott", - "new_devices": "รšj Eszkรถzรถk", - "down_alerts": "Leรกllรกsi Figyelmeztetรฉsek" + "connected": "Csatlakozva", + "new_devices": "รšj eszkรถzรถk", + "down_alerts": "Leรกllรกsi riasztรกsok" }, "pihole": { "queries": "Lekรฉrdezรฉsek", @@ -298,20 +309,43 @@ "stopped": "Megรกllรญtott", "total": "ร–sszes" }, + "suwayomi": { + "download": "Letรถltรถtt", + "nondownload": "Non-Downloaded", + "read": "Olvasott", + "unread": "Olvasatlan", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Cรญm", "expires": "Lejรกr", "never": "Soha", "last_seen": "Utoljรกra lรกtott", "now": "Most", - "years": "{{number}}y", - "weeks": "{{number}}w", - "days": "{{number}}d", - "hours": "{{number}}h", - "minutes": "{{number}}m", - "seconds": "{{number}}s", + "years": "{{number}}รฉv", + "weeks": "{{number}}h", + "days": "{{number}}n", + "hours": "{{number}}รณ", + "minutes": "{{number}}p", + "seconds": "{{number}}mp", "ago": "{{value}} Ezelล‘tt" }, + "technitium": { + "totalQueries": "Lekรฉrdezรฉsek", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blokkolt", + "totalDropped": "Dropped", + "totalClients": "Kliensek" + }, "tdarr": { "queue": "Sor", "processed": "Feldolgozott", @@ -376,7 +410,7 @@ "version": "Verziรณ", "status": "Stรกtusz", "up": "Csatlakozva", - "down": "Offline" + "down": "Nem elรฉrhetล‘" }, "miniflux": { "read": "Olvasott", @@ -388,30 +422,30 @@ "failedLoginsLast24H": "Sikertelen bejelentkezรฉsek (24h)" }, "proxmox": { - "mem": "MEM", + "mem": "RAM", "cpu": "Processzor", - "lxc": "LXC", + "lxc": "LXC-k", "vms": "VM-ek" }, "glances": { "cpu": "Processzor", "load": "Terhelรฉs", "wait": "Kรฉrjรผk vรกrjon", - "temp": "TEMP", + "temp": "HลM", "_temp": "Hล‘mรฉrsรฉklet", "warn": "Figyelmeztet", "uptime": "FUT", "total": "ร–sszes", "free": "Szabad", "used": "Hasznรกlt", - "days": "d", - "hours": "h", - "crit": "Crit", + "days": "n", + "hours": "รณ", + "crit": "Kritikus", "read": "Olvasott", "write": "รrรกs", "gpu": "GPU", "mem": "Memรณria", - "swap": "Swap" + "swap": "Csere" }, "quicklaunch": { "bookmark": "Kรถnyvjelzล‘", @@ -419,7 +453,8 @@ "search": "Keresรฉs", "custom": "Egyedi", "visit": "Megnรฉz", - "url": "URL" + "url": "LINK", + "searchsuggestion": "Javaslat" }, "wmo": { "0-day": "Napos", @@ -518,7 +553,7 @@ "playlists": "Lejรกtszรกsi listรกk" }, "truenas": { - "load": "Rendszerterheltsรฉg", + "load": "Rendszerterhelรฉs", "uptime": "รœzemidล‘", "alerts": "Riasztรกsok" }, @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Csatornรกk", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuner-ek", + "channelNumber": "Csatorna", + "channelNetwork": "Hรกlรณzat", + "signalStrength": "Erล‘ssรฉg", + "signalQuality": "Minล‘sรฉg", + "symbolQuality": "Minล‘sรฉg", + "networkRate": "Bitrรกta", + "clientIP": "Kliens" }, "scrutiny": { "passed": "Megfelelt", @@ -547,12 +590,12 @@ "total": "ร–sszes" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "Akku tรถltรถttsรฉge", + "ups_load": "UPS terheltsรฉge", + "ups_status": "UPS รกllapot", "online": "Csatlakozva", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Akkurรณl", + "low_battery": "Alacsony tรถltรถttsรฉg" }, "nextdns": { "wait": "Kรฉrjรผk Vรกrjon", @@ -570,10 +613,10 @@ "streams_xepg": "XEPG Csatornรกk" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Ma", + "absolutePower": "Energia", + "relativePower": "Energia %", + "limit": "Korlรกt" }, "opnsense": { "cpu": "Processzor Terhelรฉs", @@ -624,13 +667,13 @@ "down": "Nem Elรฉrhetล‘ Webhelyek", "uptime": "รœzemidล‘", "incident": "Incidens", - "m": "m" + "m": "p" }, "atsumeru": { "series": "Sorozat", - "archives": "Archives", - "chapters": "Chapters", - "categories": "Categories" + "archives": "Archรญvum", + "chapters": "Fejezetek", + "categories": "Kategรณriรกk" }, "komga": { "libraries": "Kรถnyvtรกrak", @@ -694,8 +737,13 @@ "targets_down": "Cรฉlpontok รllnak", "targets_total": "ร–sszes Cรฉlpont" }, + "gatus": { + "up": "Futรณ Webhelyek", + "down": "Nem Elรฉrhetล‘ Webhelyek", + "uptime": "รœzemidล‘" + }, "ghostfolio": { - "gross_percent_today": "Today", + "gross_percent_today": "Ma", "gross_percent_1y": "Egy รฉv", "gross_percent_max": "Mindig" }, @@ -716,8 +764,8 @@ }, "calibreweb": { "books": "Kรถnyvek", - "authors": "Authors", - "categories": "Categories", + "authors": "Szerzล‘k", + "categories": "Kategรณriรกk", "series": "Sorozat" }, "jdownloader": { @@ -731,22 +779,22 @@ "totalFiles": "Fรกjlok" }, "azuredevops": { - "result": "Result", + "result": "Eredmรฉny", "status": "Stรกtusz", - "buildId": "Build ID", - "succeeded": "Succeeded", + "buildId": "Gyรกrtรกs ID", + "succeeded": "Sikerรผlt", "notStarted": "Nem indult", "failed": "Sikertelen", "canceled": "Megszakรญtva", "inProgress": "Folyamatban", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "totalPrs": "Minden PR", + "myPrs": "Sajรกt PR-ek", "approved": "Engedรฉlyezett" }, "gamedig": { "status": "Stรกtusz", "online": "Csatlakozva", - "offline": "Offline", + "offline": "Nem elรฉrhetล‘", "name": "Nรฉv", "map": "Tรฉrkรฉp", "currentPlayers": "Jelenlegi jรกtรฉkosok", @@ -764,7 +812,7 @@ "mealie": { "recipes": "Receptek", "users": "Felhasznรกlรณk", - "categories": "Categories", + "categories": "Kategรณriรกk", "tags": "Cรญmkรฉk" }, "openmediavault": { @@ -775,33 +823,189 @@ "passed": "Megfelelt", "failed": "Sikertelen" }, + "openwrt": { + "uptime": "รœzemidล‘", + "cpuLoad": "รtlag CPU terhelรฉs (5p)", + "up": "Fel", + "down": "Le", + "bytesTx": "Tovรกbbรญtott", + "bytesRx": "Fogadott" + }, "uptimerobot": { "status": "Stรกtusz", "uptime": "รœzemidล‘", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", + "lastDown": "Utolsรณ leรกllรกs", + "downDuration": "Leรกllรกs ideje", "sitesUp": "Futรณ Webhelyek", "sitesDown": "Nem Elรฉrhetล‘ Webhelyek", "paused": "Szรผnetel", - "notyetchecked": "Not Yet Checked", + "notyetchecked": "Mรฉg nincs ellenล‘rizve", "up": "Fel", - "seemsdown": "Seems Down", + "seemsdown": "Elรฉrhetetlennek tลฑnik", "down": "Le", "unknown": "Ismeretlen" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", + "inCinemas": "Mozikban", + "physicalRelease": "Fizikai kiadรกs", "digitalRelease": "Digitรกlis kiadรกs", "noEventsToday": "Ezen a napon nincsenek esemรฉnyek!", "noEventsFound": "Nem talรกlhatรณ esemรฉny" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Felรผlet", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domainek", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Tรกrhely" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Figyelmeztetรฉsek", + "criticals": "Kritikusok" + }, + "plantit": { + "events": "Esemรฉnyek", + "plants": "Nรถvรฉnyek", + "photos": "Fรฉnykรฉpek", + "species": "Fajok" + }, + "gitea": { + "notifications": "รœzenetek", + "issues": "Problรฉmรกk", + "pulls": "Pull request-ek" + }, + "stash": { + "scenes": "Jelenetek", + "scenesPlayed": "Lejรกtszott jelenetek", + "playCount": "ร–sszes leรกtszรกs", + "playDuration": "Nรฉzett idล‘", + "sceneSize": "Jelenetek mรฉrete", + "sceneDuration": "Jelenetek hossza", + "images": "Kรฉpek", + "imageSize": "Kรฉpek mรฉrete", + "galleries": "Galรฉriรกk", + "performers": "Elล‘adรณk", + "studios": "Stรบdiรณk", + "movies": "Film", + "tags": "Cรญmkรฉk", + "oCount": "O szรกm" + }, + "tandoor": { + "users": "Felhasznรกlรณk", + "recipes": "Receptek", + "keywords": "Kulcsszavak" + }, + "homebox": { + "items": "Tรกrgyak", + "totalWithWarranty": "Garanciรกval", + "locations": "Helyek", + "labels": "Cรญmkรฉk", + "users": "Felhasznรกlรณk", + "totalValue": "Teljes รฉrtรฉk" + }, + "crowdsec": { + "alerts": "Riasztรกsok", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Csatlakozva", + "enabled": "Bekapcsolva", + "disabled": "Kikapcsolva", + "total": "ร–sszes" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Letรถltรฉs", + "upload": "Feltรถltรฉs" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "รœzemidล‘", + "version": "Verziรณ" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Cรญmkรฉk" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informรกciรณ", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Jรกrmลฑ", + "vehicles": "Jรกrmลฑvek", + "serviceRecords": "Szolgรกltatรกsok nyรญlvรกntartรกsa", + "reminders": "Emlรฉkeztetล‘k", + "nextReminder": "Kรถvetkezล‘ emlรฉkeztetล‘", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nรฉv", + "address": "Cรญm", + "last_seen": "Utoljรกra lรกtott", + "status": "Stรกtusz", + "online": "Csatlakozva", + "offline": "Nem elรฉrhetล‘" + }, + "beszel": { + "name": "Nรฉv", + "systems": "Systems", + "up": "Fel", + "status": "Stรกtusz", + "updated": "Frissรญtett", + "cpu": "Processzor", + "memory": "RAM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Egรฉszsรฉges", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Hiรกnyzik", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problรฉmรกk", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/id/common.json b/public/locales/id/common.json index c5f35e1f..9d65cbdf 100644 --- a/public/locales/id/common.json +++ b/public/locales/id/common.json @@ -13,21 +13,21 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", + "duration": "{{value, duration}}", + "months": "bulan", + "days": "h", + "hours": "j", "minutes": "m", - "seconds": "s" + "seconds": "d" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", + "missing_type": "Widget Tidak Ditemukan: {{type}}", "api_error": "API Error", "information": "Informasi", "status": "Status", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Error Baku", + "response_data": "Data Respons" }, "weather": { "current": "Lokasi Saat Ini", @@ -44,348 +44,382 @@ "total": "Total", "free": "Luang", "used": "Digunakan", - "load": "Load", + "load": "Beban", "temp": "TEMP", "max": "Maks", - "uptime": "UP" + "uptime": "Waktu Aktif" }, "unifi": { - "users": "Users", - "uptime": "Uptime", - "days": "Days", + "users": "Pengguna", + "uptime": "Waktu Aktif", + "days": "Hari-hari", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", + "devices": "Perangkat", + "lan_devices": "Perangkat LAN", + "wlan_devices": "Perangkat WLAN", + "lan_users": "Pengguna LAN", + "wlan_users": "Pengguna WLAN", + "up": "Waktu Aktif", + "down": "Mati", "wait": "Harap tunggu", - "empty_data": "Subsystem status unknown" + "empty_data": "Status subsistem tdk diketahui" }, "docker": { "rx": "RX", "tx": "TX", "mem": "MEM", "cpu": "CPU", - "running": "Running", + "running": "Berjalan", "offline": "Offline", "error": "Error", - "unknown": "Unknown", - "healthy": "Healthy", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", - "exited": "Exited", - "partial": "Partial" + "unknown": "Tidak Diketahui", + "healthy": "Lancar", + "starting": "Memulai", + "unhealthy": "Tidak Lancar", + "not_found": "Tidak Ditemukan", + "exited": "Terkeluar", + "partial": "Sebagian" }, "ping": { "error": "Error", "ping": "Ping", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "down": "Mati", + "up": "Hidup", + "not_available": "Tidak Tersedia" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP Status", "error": "Error", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "Respons", + "down": "Mati", + "up": "Hidup", + "not_available": "Tidak Tersedia" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Sedang Diputar", + "transcoding": "Mentranskode", "bitrate": "Bitrate", - "no_active": "No Active Streams", - "movies": "Movies", - "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "no_active": "Tidak ada Strim Aktif", + "movies": "Film", + "series": "Seri", + "episodes": "Episode", + "songs": "Lagu" + }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Tidak Diketahui" }, "evcc": { - "pv_power": "Production", - "battery_soc": "Battery", + "pv_power": "Produksi", + "battery_soc": "Baterai", "grid_power": "Grid", - "home_power": "Consumption", + "home_power": "Konsumsi", "charge_power": "Charger", - "watt_hour": "Wh" + "watt_hour": "Watt/jam" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Unduh", + "upload": "Unggah", "leech": "Leech", "seed": "Seed" }, "freshrss": { - "subscriptions": "Subscriptions", - "unread": "Unread" + "subscriptions": "Subskripsi", + "unread": "Belum Dibaca" }, "fritzbox": { "connectionStatus": "Status", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", + "connectionStatusUnconfigured": "Belum dikonfigur", + "connectionStatusConnecting": "Menyambung", + "connectionStatusAuthenticating": "Menotentikasi", + "connectionStatusPendingDisconnect": "Menunggu Terputus", + "connectionStatusDisconnecting": "Sedan Memutus", + "connectionStatusDisconnected": "Terputus", "connectionStatusConnected": "Connected", - "uptime": "Uptime", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "uptime": "Waktu Aktif", + "maxDown": "Maks Unduh", + "maxUp": "Maks Unggah", + "down": "Mati", + "up": "Hidup", + "received": "Diterima", + "sent": "Terkirim", + "externalIPAddress": "IP Eksternal" }, "caddy": { - "upstreams": "Upstreams", - "requests": "Current requests", - "requests_failed": "Failed requests" + "upstreams": "Strim Luar", + "requests": "Request saat ini", + "requests_failed": "Request gagal" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Total yang Diamati", + "diffsDetected": "Perbedaan yang Terdeteksi" }, "channelsdvrserver": { - "shows": "Shows", - "recordings": "Recordings", - "scheduled": "Scheduled", - "passes": "Passes" + "shows": "Acara", + "recordings": "Rekaman", + "scheduled": "Terjadwal", + "passes": "Tiket" }, "tautulli": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Sedang Diputar", + "transcoding": "Mentranskode", "bitrate": "Bitrate", - "no_active": "No Active Streams", - "plex_connection_error": "Check Plex Connection" + "no_active": "Tidak ada Strim Aktif", + "plex_connection_error": "Cek Koneksi ke Plex" }, "omada": { - "connectedAp": "Connected APs", - "activeUser": "Active devices", - "alerts": "Alerts", - "connectedGateway": "Connected gateways", - "connectedSwitches": "Connected switches" + "connectedAp": "AP Tersambung", + "activeUser": "Perangakat yang Aktif", + "alerts": "Peringatan", + "connectedGateway": "Gateway Tersambung", + "connectedSwitches": "Switch Tersambung" }, "nzbget": { - "rate": "Rate", - "remaining": "Remaining", - "downloaded": "Downloaded" + "rate": "Laju Bandwidth", + "remaining": "Sisa", + "downloaded": "Terunduh" }, "plex": { - "streams": "Active Streams", + "streams": "Stream Berjalan", "albums": "Albums", - "movies": "Movies", - "tv": "TV Shows" + "movies": "Film", + "tv": "Acara TV" }, "sabnzbd": { - "rate": "Rate", - "queue": "Queue", - "timeleft": "Time Left" + "rate": "Laju Bandwidth", + "queue": "Antrian", + "timeleft": "Sisa Waktu" }, "rutorrent": { - "active": "Active", - "upload": "Upload", - "download": "Download" + "active": "Aktif", + "upload": "Unggah", + "download": "Unduh" }, "transmission": { - "download": "Download", - "upload": "Upload", + "download": "Unduh", + "upload": "Unggah", "leech": "Leech", "seed": "Seed" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Unduh", + "upload": "Unggah", "leech": "Leech", "seed": "Seed" }, "qnap": { - "cpuUsage": "CPU Usage", - "memUsage": "MEM Usage", - "systemTempC": "System Temp", - "poolUsage": "Pool Usage", - "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "cpuUsage": "Penggunaan CPU", + "memUsage": "Penggunaan MEM", + "systemTempC": "Suhu Sistem", + "poolUsage": "Pengunaan Pool", + "volumeUsage": "Penggunaan Volume", + "invalid": "Tidak valid" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Unduh", + "upload": "Unggah", "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { - "download": "Download", - "upload": "Upload", + "download": "Unduh", + "upload": "Unggah", "leech": "Leech", "seed": "Seed" }, "sonarr": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series", - "queue": "Queue", - "unknown": "Unknown" + "wanted": "Dicari", + "queued": "Terantrikan", + "series": "Seri", + "queue": "Antrian", + "unknown": "Tidak Diketahui" }, "radarr": { - "wanted": "Wanted", - "missing": "Missing", - "queued": "Queued", - "movies": "Movies", - "queue": "Queue", - "unknown": "Unknown" + "wanted": "Dicari", + "missing": "Tidak Ditemukan", + "queued": "Terantrikan", + "movies": "Film", + "queue": "Antrian", + "unknown": "Tidak Diketahui" }, "lidarr": { - "wanted": "Wanted", - "queued": "Queued", - "artists": "Artists" + "wanted": "Dicari", + "queued": "Terantrikan", + "artists": "Artis" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "Dicari", + "queued": "Terantrikan", + "books": "Buku" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Episode Tidak Ditemukan", + "missingMovies": "Film Tidak Ditemukan" }, "ombi": { "pending": "Pending", - "approved": "Approved", - "available": "Available" + "approved": "Tersetujui", + "available": "Tersedia" }, "jellyseerr": { "pending": "Pending", - "approved": "Approved", - "available": "Available" + "approved": "Tersetujui", + "available": "Tersedia" }, "overseerr": { "pending": "Pending", - "processing": "Processing", - "approved": "Approved", - "available": "Available" + "processing": "Memproses", + "approved": "Tersetujui", + "available": "Tersedia" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", "down_alerts": "Down Alerts" }, "pihole": { - "queries": "Queries", - "blocked": "Blocked", - "blocked_percent": "Blocked %", - "gravity": "Gravity" + "queries": "Kueri", + "blocked": "Terblokir", + "blocked_percent": "% Terblokir", + "gravity": "Gravitasi" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Kueri", + "blocked": "Terblokir", + "filtered": "Terfilter", + "latency": "Latensi" }, "speedtest": { - "upload": "Upload", - "download": "Download", + "upload": "Unggah", + "download": "Unduh", "ping": "Ping" }, "portainer": { - "running": "Running", - "stopped": "Stopped", + "running": "Berjalan", + "stopped": "Terhenti", "total": "Total" }, + "suwayomi": { + "download": "Terunduh", + "nondownload": "Non-Downloaded", + "read": "Baca", + "unread": "Belum Dibaca", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { - "address": "Address", - "expires": "Expires", - "never": "Never", - "last_seen": "Last Seen", - "now": "Now", - "years": "{{number}}y", - "weeks": "{{number}}w", - "days": "{{number}}d", - "hours": "{{number}}h", + "address": "Alamat", + "expires": "Kadaluarsa", + "never": "Tidak Pernah", + "last_seen": "Terakhir terlihat", + "now": "Sekarang", + "years": "{{number}}thn", + "weeks": "{{number}}mgg", + "days": "{{number}}h", + "hours": "{{number}}j", "minutes": "{{number}}m", - "seconds": "{{number}}s", - "ago": "{{value}} Ago" + "seconds": "{{number}}d", + "ago": "{{value}} Yang Lalu" + }, + "technitium": { + "totalQueries": "Kueri", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Terblokir", + "totalDropped": "Dropped", + "totalClients": "Klien" }, "tdarr": { - "queue": "Queue", - "processed": "Processed", - "errored": "Errored", - "saved": "Saved" + "queue": "Antrian", + "processed": "Terproses", + "errored": "Error", + "saved": "Tersimpan" }, "traefik": { - "routers": "Routers", - "services": "Services", + "routers": "Router", + "services": "Layanan", "middleware": "Middleware" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Tidak ada Strim Aktif", + "please_wait": "Mohon menunggu" }, "npm": { - "enabled": "Enabled", - "disabled": "Disabled", + "enabled": "Aktif", + "disabled": "Nonaktif", "total": "Total" }, "coinmarketcap": { - "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "1day": "1 Day", - "7days": "7 Days", - "30days": "30 Days" + "configure": "Konfigurasikan satu atau beberapa mata uang kripto untuk dilacak", + "1hour": "1 Jam", + "1day": "1 Hari", + "7days": "7 Hari", + "30days": "30 Hari" }, "gotify": { - "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "apps": "Aplikasi", + "clients": "Klien", + "messages": "Pesan" }, "prowlarr": { - "enableIndexers": "Indexers", - "numberOfGrabs": "Grabs", - "numberOfQueries": "Queries", - "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "enableIndexers": "Pengindeks", + "numberOfGrabs": "Jumlah Ambilan", + "numberOfQueries": "Kueri", + "numberOfFailGrabs": "Ambilan Gagal", + "numberOfFailQueries": "Jumlah Kueri Gagal" }, "jackett": { - "configured": "Configured", - "errored": "Errored" + "configured": "Konfigurasi", + "errored": "Error" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "numConnections": "Connections", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "numActiveSessions": "Sesi", + "numConnections": "Jumlah Koneksi", + "dataRelayed": "Data Diteruskan", + "transferRate": "Laju Bandwidth" }, "mastodon": { - "user_count": "Users", - "status_count": "Posts", - "domain_count": "Domains" + "user_count": "Pengguna", + "status_count": "Jumlah Posting", + "domain_count": "Jumlah Domain" }, "medusa": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series" + "wanted": "Dicari", + "queued": "Terantrikan", + "series": "Seri" }, "minecraft": { - "players": "Players", - "version": "Version", + "players": "Jumlah Pemain", + "version": "Versi", "status": "Status", "up": "Online", "down": "Offline" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "Baca", + "unread": "Belum Dibaca" }, "authentik": { - "users": "Users", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "users": "Pengguna", + "loginsLast24H": "Login (24j)", + "failedLoginsLast24H": "Login Gagal (24j)" }, "proxmox": { "mem": "MEM", @@ -395,413 +429,583 @@ }, "glances": { "cpu": "CPU", - "load": "Load", + "load": "Beban", "wait": "Harap tunggu", "temp": "TEMP", - "_temp": "Temp", - "warn": "Warn", - "uptime": "UP", + "_temp": "Suhu", + "warn": "Peringatan", + "uptime": "Waktu Aktif", "total": "Total", "free": "Luang", "used": "Digunakan", - "days": "d", - "hours": "h", - "crit": "Crit", - "read": "Read", - "write": "Write", + "days": "h", + "hours": "j", + "crit": "Penting", + "read": "Baca", + "write": "Tulis", "gpu": "GPU", "mem": "Mem", "swap": "Swap" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service", - "search": "Search", - "custom": "Custom", - "visit": "Visit", - "url": "URL" + "bookmark": "Penanda", + "service": "Layanan", + "search": "Cari", + "custom": "Kustom", + "visit": "Kunjungi", + "url": "URL", + "searchsuggestion": "Saran" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "Cerah dan Terang", + "0-night": "Cerah", + "1-day": "Cerah", + "1-night": "Cerah", + "2-day": "Sedikit Berawan", + "2-night": "Sedikit Berawan", + "3-day": "Berawan", + "3-night": "Berawan", + "45-day": "Berkabut", + "45-night": "Berkabut", + "48-day": "Berkabut", + "48-night": "Berkabut", + "51-day": "Gerimis Ringan", + "51-night": "Gerimis Ringan", + "53-day": "Gerimis", + "53-night": "Gerimis", + "55-day": "Gerimis Lebat", + "55-night": "Gerimis Lebat", + "56-day": "Gerimis Membeku Ringan", + "56-night": "Gerimis Membeku Ringan", + "57-day": "Gerimis Membeku", + "57-night": "Gerimis Membeku", + "61-day": "Hujan Ringan", + "61-night": "Hujan Ringan", + "63-day": "Hujan", + "63-night": "Hujan", + "65-day": "Hujan Deras", + "65-night": "Hujan Deras", + "66-day": "Hujan Dingin", + "66-night": "Hujan Dingin", + "67-day": "Hujan Dingin", + "67-night": "Hujan Dingin", + "71-day": "Hujan Salju Ringan", + "71-night": "Hujan Salju Ringan", + "73-day": "Hujan Salju", + "73-night": "Hujan Salju", + "75-day": "Hujan Salju Lebat", + "75-night": "Hujan Salju Lebat", + "77-day": "Hujan Salju Butiran", + "77-night": "Hujan Salju Butiran", + "80-day": "Hujan Ringan", + "80-night": "Hujan Ringan", + "81-day": "Hujan", + "81-night": "Hujan", + "82-day": "Hujan Lebat", + "82-night": "Hujan Lebat", + "85-day": "Hujan Salju", + "85-night": "Hujan Salju", + "86-day": "Hujan Salju", + "86-night": "Hujan Salju", + "95-day": "Badai Petir", + "95-night": "Badai Petir", + "96-day": "Badai Petir Hujan Es", + "96-night": "Badai Petir Hujan Es", + "99-day": "Badai Petir Hujan Es", + "99-night": "Badai Petir Hujan Es" }, "homebridge": { - "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", - "child_bridges": "Child Bridges", + "available_update": "Sistem", + "updates": "Pembaruan", + "update_available": "Pembaruan Tersedia", + "up_to_date": "Terbaru", + "child_bridges": "Bridge Turunan", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "Hidup", "pending": "Pending", - "down": "Down" + "down": "Mati" }, "healthchecks": { - "new": "New", - "up": "Up", - "grace": "In Grace Period", - "down": "Down", - "paused": "Paused", + "new": "Baru", + "up": "Hidup", + "grace": "Dalam Masa Tenggang", + "down": "Mati", + "paused": "Pause", "status": "Status", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "Ping Terakhir", + "never": "Tidak pernah di ping" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Terpindai", + "containers_updated": "Terbarui", + "containers_failed": "Gagal" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Tersetujui", + "rejectedPushes": "Tertolak", + "filters": "Filter", + "indexers": "Pengindeks" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Antrian", + "videos": "Video", + "channels": "Channel", + "playlists": "Daftar Putar" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts" + "load": "Beban Sistem", + "uptime": "Waktu Aktif", + "alerts": "Peringatan" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", + "speed": "Kecepatan", + "active": "Aktif", + "queue": "Antrian", "total": "Total" }, "gluetun": { - "public_ip": "Public IP", + "public_ip": "IP Publik", "region": "Region", - "country": "Country" + "country": "Negara" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "Channel", + "hd": "HD", + "tunerCount": "Tuner", + "channelNumber": "Channel", + "channelNetwork": "Jaringan", + "signalStrength": "Kekuatan Signal", + "signalQuality": "Kualitas", + "symbolQuality": "Kualitas", + "networkRate": "Bitrate", + "clientIP": "Klien" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Sukses", + "failed": "Gagal", + "unknown": "Tidak Diketahui" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "Kotak Masuk", "total": "Total" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "Sisa Baterai", + "ups_load": "Beban UPS", + "ups_status": "Status UPS", "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Memakai Baterai", + "low_battery": "Baterai Lemah" }, "nextdns": { - "wait": "Please Wait", - "no_devices": "No Device Data Received" + "wait": "Mohon menunggu", + "no_devices": "Tidak ada Data Perangkat Diterima" }, "mikrotik": { - "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", - "uptime": "Uptime", + "cpuLoad": "Beban CPU", + "memoryUsed": "Memori Terpakai", + "uptime": "Waktu Aktif", "numberOfLeases": "Leases" }, "xteve": { - "streams_all": "All Streams", - "streams_active": "Active Streams", - "streams_xepg": "XEPG Channels" + "streams_all": "Semua Strim", + "streams_active": "Stream Berjalan", + "streams_xepg": "Channel XEPG" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Hari ini", + "absolutePower": "Daya", + "relativePower": "% Daya", + "limit": "Batas" }, "opnsense": { - "cpu": "CPU Load", - "memory": "Active Memory", - "wanUpload": "WAN Upload", - "wanDownload": "WAN Download" + "cpu": "Beban CPU", + "memory": "Memori Aktif", + "wanUpload": "WAN Unggan", + "wanDownload": "WAN Unduh" }, "moonraker": { - "printer_state": "Printer State", - "print_status": "Print Status", - "print_progress": "Progress", - "layers": "Layers" + "printer_state": "Status Printer", + "print_status": "Status Cetakan", + "print_progress": "Progres", + "layers": "Layer" }, "octoprint": { "printer_state": "Status", - "temp_tool": "Tool temp", - "temp_bed": "Bed temp", - "job_completion": "Completion" + "temp_tool": "Suhu Alat", + "temp_bed": "Suhu Fondasi", + "job_completion": "Tugas Selesai" }, "cloudflared": { - "origin_ip": "Origin IP", + "origin_ip": "Sumber IP", "status": "Status" }, "pfsense": { - "load": "Load Avg", - "memory": "Mem Usage", - "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", - "temp": "Temp", - "disk": "Disk Usage", - "wanIP": "WAN IP" + "load": "Beban Rata-rata", + "memory": "Penggunaan Memory", + "wanStatus": "Status WAN", + "up": "Hidup", + "down": "Mati", + "temp": "Suhu", + "disk": "Penggunaan Disk", + "wanIP": "IP WAN" }, "proxmoxbackupserver": { "datastore_usage": "Datastore", - "failed_tasks_24h": "Failed Tasks 24h", + "failed_tasks_24h": "Tugas Gagal (24j)", "cpu_usage": "CPU", "memory_usage": "Memory" }, "immich": { - "users": "Users", - "photos": "Photos", - "videos": "Videos", - "storage": "Storage" + "users": "Pengguna", + "photos": "Foto", + "videos": "Video", + "storage": "Penyimpanan" }, "uptimekuma": { - "up": "Sites Up", - "down": "Sites Down", - "uptime": "Uptime", - "incident": "Incident", + "up": "Situs Hidup", + "down": "Situs Mati", + "uptime": "Waktu Aktif", + "incident": "Insiden", "m": "m" }, "atsumeru": { - "series": "Series", - "archives": "Archives", - "chapters": "Chapters", - "categories": "Categories" + "series": "Seri", + "archives": "Arsip", + "chapters": "Bab", + "categories": "Kategori" }, "komga": { - "libraries": "Libraries", - "series": "Series", - "books": "Books" + "libraries": "Perpustakaan", + "series": "Seri", + "books": "Buku" }, "diskstation": { - "days": "Days", - "uptime": "Uptime", - "volumeAvailable": "Available" + "days": "Hari-hari", + "uptime": "Waktu Aktif", + "volumeAvailable": "Tersedia" }, "mylar": { - "series": "Series", - "issues": "Issues", - "wanted": "Wanted" + "series": "Seri", + "issues": "Isu", + "wanted": "Dicari" }, "photoprism": { "albums": "Albums", - "photos": "Photos", - "videos": "Videos", - "people": "People" + "photos": "Foto", + "videos": "Video", + "people": "Orang" }, "fileflows": { - "queue": "Queue", - "processing": "Processing", - "processed": "Processed", - "time": "Time" + "queue": "Antrian", + "processing": "Memproses", + "processed": "Terproses", + "time": "Waktu" }, "grafana": { - "dashboards": "Dashboards", - "datasources": "Data Sources", - "totalalerts": "Total Alerts", - "alertstriggered": "Alerts Triggered" + "dashboards": "Dasbor", + "datasources": "Sumber Data", + "totalalerts": "Jumlah Peringatan", + "alertstriggered": "Peringatan Terpicu" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users", - "numfiles": "Files", - "numshares": "Shared Items" + "cpuload": "Beban CPU", + "memoryusage": "Beban Memory", + "freespace": "Space Tersedia", + "activeusers": "Pengguna Aktif", + "numfiles": "File", + "numshares": "Item yang Dibagikan" }, "kopia": { "status": "Status", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", - "failed": "Failed" + "size": "Ukuran", + "lastrun": "Terakhir Dijalankan", + "nextrun": "Akan Dijalankan Dalam", + "failed": "Gagal" }, "unmanic": { - "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "active_workers": "Pengguna Aktif", + "total_workers": "Pengguna Total", + "records_total": "Panjang Antrian" }, "pterodactyl": { - "servers": "Servers", - "nodes": "Nodes" + "servers": "Server", + "nodes": "Node" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "Target Aktif", + "targets_down": "Target Nonaktif", + "targets_total": "Target Total" + }, + "gatus": { + "up": "Situs Hidup", + "down": "Situs Mati", + "uptime": "Waktu Aktif" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "Hari ini", + "gross_percent_1y": "Satu Tahun", + "gross_percent_max": "Sepanjang Masa" }, "audiobookshelf": { - "podcasts": "Podcasts", - "books": "Books", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcasts": "Podcast", + "books": "Buku", + "podcastsDuration": "Durasi", + "booksDuration": "Durasi" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Orang Di Rumah", + "lights_on": "Lampu Nyala", + "switches_on": "Sakelar Nyala" }, "whatsupdocker": { - "monitoring": "Monitoring", - "updates": "Updates" + "monitoring": "Pengawasan", + "updates": "Pembaruan" }, "calibreweb": { - "books": "Books", - "authors": "Authors", - "categories": "Categories", - "series": "Series" + "books": "Buku", + "authors": "Penulis", + "categories": "Kategori", + "series": "Seri" }, "jdownloader": { - "downloadCount": "Queue", - "downloadBytesRemaining": "Remaining", - "downloadTotalBytes": "Size", - "downloadSpeed": "Speed" + "downloadCount": "Antrian", + "downloadBytesRemaining": "Sisa", + "downloadTotalBytes": "Ukuran", + "downloadSpeed": "Kecepatan" }, "kavita": { - "seriesCount": "Series", - "totalFiles": "Files" + "seriesCount": "Seri", + "totalFiles": "File" }, "azuredevops": { - "result": "Result", + "result": "Hasil", "status": "Status", "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", - "failed": "Failed", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", - "approved": "Approved" + "succeeded": "Berhasil", + "notStarted": "Belum Dimulai", + "failed": "Gagal", + "canceled": "Dibatalkan", + "inProgress": "Sedang Berlangsung", + "totalPrs": "PR Total", + "myPrs": "PR Saya", + "approved": "Tersetujui" }, "gamedig": { "status": "Status", "online": "Online", "offline": "Offline", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", - "players": "Players", - "maxPlayers": "Max players", - "bots": "Bots", + "name": "Nama", + "map": "Peta", + "currentPlayers": "Jumlah pemain", + "players": "Jumlah Pemain", + "maxPlayers": "Maksimum pemain", + "bots": "Bot", "ping": "Ping" }, "urbackup": { "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "errored": "Error", + "noRecent": "Tertinggal Versi", + "totalUsed": "Storage Terpakai" }, "mealie": { - "recipes": "Recipes", - "users": "Users", - "categories": "Categories", - "tags": "Tags" + "recipes": "Resep", + "users": "Pengguna", + "categories": "Kategori", + "tags": "Tag" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Mengunduh", "total": "Total", - "running": "Running", - "stopped": "Stopped", - "passed": "Passed", - "failed": "Failed" + "running": "Berjalan", + "stopped": "Terhenti", + "passed": "Sukses", + "failed": "Gagal" + }, + "openwrt": { + "uptime": "Waktu Aktif", + "cpuLoad": "Beban rata2 CPU (5m)", + "up": "Hidup", + "down": "Mati", + "bytesTx": "Tersalur", + "bytesRx": "Diterima" }, "uptimerobot": { "status": "Status", - "uptime": "Uptime", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", - "sitesUp": "Sites Up", - "sitesDown": "Sites Down", - "paused": "Paused", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", - "unknown": "Unknown" + "uptime": "Waktu Aktif", + "lastDown": "Terakhir Terhenti", + "downDuration": "Jumlah Waktu Terhenti", + "sitesUp": "Situs Hidup", + "sitesDown": "Situs Mati", + "paused": "Pause", + "notyetchecked": "Belum Di Cek", + "up": "Hidup", + "seemsdown": "Sepertinya Mati", + "down": "Mati", + "unknown": "Tidak Diketahui" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "Tersedia Di Bioskop", + "physicalRelease": "Rilis Fisik", + "digitalRelease": "Rilis Digital", + "noEventsToday": "Tidak ada acara untuk hari ini!", + "noEventsFound": "Tidak ada acara yang ditemukan" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platform", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Jumlah Domain", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Penyimpanan" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Peringatan", + "criticals": "Kritis" + }, + "plantit": { + "events": "Acara", + "plants": "Tanaman", + "photos": "Foto", + "species": "Spesies" + }, + "gitea": { + "notifications": "Notifikasi", + "issues": "Isu", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Film", + "tags": "Tag", + "oCount": "O Count" + }, + "tandoor": { + "users": "Pengguna", + "recipes": "Resep", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Pengguna", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Peringatan", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Aktif", + "disabled": "Nonaktif", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Unduh", + "upload": "Unggah" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Waktu Aktif", + "version": "Versi" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tag" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informasi", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nama", + "address": "Alamat", + "last_seen": "Terakhir terlihat", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Nama", + "systems": "Systems", + "up": "Hidup", + "status": "Status", + "updated": "Terbarui", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Lancar", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Tidak Ditemukan", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Isu", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 6f10baf7..eca25f3f 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -13,10 +13,10 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", - "days": "d", - "hours": "h", + "days": "g", + "hours": "o", "minutes": "m", "seconds": "s" }, @@ -107,6 +107,13 @@ "episodes": "Episodi", "songs": "Canzoni" }, + "esphome": { + "offline": "Non in linea", + "offline_alt": "Non in linea", + "online": "Online", + "total": "Totale", + "unknown": "Sconosciuto" + }, "evcc": { "pv_power": "Produzione", "battery_soc": "Batteria", @@ -127,21 +134,21 @@ }, "fritzbox": { "connectionStatus": "Stato", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", + "connectionStatusUnconfigured": "Non configurato", + "connectionStatusConnecting": "Connessione in corso", + "connectionStatusAuthenticating": "In fase di autenticazione", + "connectionStatusPendingDisconnect": "In attesa di disconnessione", + "connectionStatusDisconnecting": "Disconnessione in corso", + "connectionStatusDisconnected": "Disconnesso", "connectionStatusConnected": "Connesso", "uptime": "Tempo di attivitร ", "maxDown": "Max. Down", "maxUp": "Max. Up", "down": "Down", "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "received": "Ricevuti", + "sent": "Inviati", + "externalIPAddress": "IP Esterno" }, "caddy": { "upstreams": "Upstream", @@ -219,6 +226,10 @@ "leech": "In download", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Approvati", "available": "Disponibili" }, - "pialert": { + "netalertx": { "total": "Totale", "connected": "Connesso", "new_devices": "Nuovi Dispositivi", @@ -280,7 +291,7 @@ "queries": "Richieste", "blocked": "Bloccati", "blocked_percent": "Bloccato %", - "gravity": "Severitร " + "gravity": "Gravity" }, "adguard": { "queries": "Richieste", @@ -298,6 +309,16 @@ "stopped": "Fermati", "total": "Totale" }, + "suwayomi": { + "download": "Scaricato", + "nondownload": "Non-Downloaded", + "read": "Letti", + "unread": "Non letto", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Indirizzo", "expires": "Scade", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Fa" }, + "technitium": { + "totalQueries": "Richieste", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Bloccati", + "totalDropped": "Dropped", + "totalClients": "Client" + }, "tdarr": { "queue": "Coda", "processed": "Elaborati", @@ -404,8 +438,8 @@ "total": "Totale", "free": "Libero", "used": "In utilizzo", - "days": "d", - "hours": "h", + "days": "g", + "hours": "o", "crit": "Critico", "read": "Letti", "write": "Scrittura", @@ -419,7 +453,8 @@ "search": "Cerca", "custom": "Personalizzato", "visit": "Visita", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggerimenti" }, "wmo": { "0-day": "Soleggiato", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Canali", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Canale", + "channelNetwork": "Rete", + "signalStrength": "Intensitร ", + "signalQuality": "Qualitร ", + "symbolQuality": "Qualitร ", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passati", @@ -548,11 +591,11 @@ }, "peanut": { "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "ups_load": "Carico UPS", + "ups_status": "Stato UPS", "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Alimentazione a batteria", + "low_battery": "Batteria Quasi Scarica" }, "nextdns": { "wait": "Attendere prego", @@ -694,6 +737,11 @@ "targets_down": "Target Non Attivi", "targets_total": "Targets Totali" }, + "gatus": { + "up": "Siti On", + "down": "Siti Down", + "uptime": "Tempo di attivitร " + }, "ghostfolio": { "gross_percent_today": "Oggi", "gross_percent_1y": "Un anno", @@ -775,6 +823,14 @@ "passed": "Passati", "failed": "Fallito" }, + "openwrt": { + "uptime": "Tempo di attivitร ", + "cpuLoad": "Media Carico Cpu (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Trasmessi", + "bytesRx": "Ricevuti" + }, "uptimerobot": { "status": "Stato", "uptime": "Tempo di attivitร ", @@ -797,11 +853,159 @@ "noEventsFound": "Nessun evento trovato" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Piattaforme", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domini", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Archiviazione" }, "netdata": { - "warnings": "Warnings", + "warnings": "Avvisi", "criticals": "Criticals" + }, + "plantit": { + "events": "Eventi", + "plants": "Plants", + "photos": "Foto", + "species": "Specie" + }, + "gitea": { + "notifications": "Notifiche", + "issues": "Problemi", + "pulls": "Richieste di Pull" + }, + "stash": { + "scenes": "Scene", + "scenesPlayed": "Scene Riprodotte", + "playCount": "Totale Riproduzioni", + "playDuration": "Tempo Guardato", + "sceneSize": "Dimensione Delle Scene", + "sceneDuration": "Durata Delle Scene", + "images": "Immagini", + "imageSize": "Dimensioni immagine", + "galleries": "Galleries", + "performers": "Esecutori", + "studios": "Studi", + "movies": "Film", + "tags": "Tag", + "oCount": "O Count" + }, + "tandoor": { + "users": "Utenti", + "recipes": "Ricette", + "keywords": "Parole chiave" + }, + "homebox": { + "items": "Elementi", + "totalWithWarranty": "Con Garanzia", + "locations": "Luoghi", + "labels": "Etichette", + "users": "Utenti", + "totalValue": "Valore totale" + }, + "crowdsec": { + "alerts": "Allarmi", + "bans": "Bannati" + }, + "wgeasy": { + "connected": "Connesso", + "enabled": "Abilitato", + "disabled": "Disabilitati", + "total": "Totale" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Obsoleto", + "banned": "Bannato" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Tempo di attivitร ", + "version": "Versione" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tag" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informazioni", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nome", + "address": "Indirizzo", + "last_seen": "Ultima visualizzazione", + "status": "Stato", + "online": "Online", + "offline": "Non in linea" + }, + "beszel": { + "name": "Nome", + "systems": "Systems", + "up": "Up", + "status": "Stato", + "updated": "Aggiornato", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Sano", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Mancanti", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemi", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json index 9725e59b..e12ccadf 100644 --- a/public/locales/ja/common.json +++ b/public/locales/ja/common.json @@ -13,12 +13,12 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", - "minutes": "m", - "seconds": "s" + "duration": "{{value, duration}}", + "months": "ๆœˆ", + "days": "ๆ—ฅ", + "hours": "ๆ™‚้–“", + "minutes": "ๅˆ†", + "seconds": "็ง’" }, "widget": { "missing_type": "่ฆ‹ใคใ‹ใ‚‰ใชใ„ใ‚ฆใ‚ฃใ‚ธใ‚งใƒƒใƒˆใ‚ฟใ‚คใƒ—: {{type}}", @@ -47,7 +47,7 @@ "load": "ใƒญใƒผใƒ‰", "temp": "ๆธฉๅบฆ", "max": "ๆœ€ๅคง", - "uptime": "ไธŠใธ" + "uptime": "UP" }, "unifi": { "users": "ใƒฆใƒผใ‚ถ", @@ -61,40 +61,40 @@ "wlan_devices": "WLAN ใƒ‡ใƒใ‚คใ‚น", "lan_users": "LAN ใƒฆใƒผใ‚ถ", "wlan_users": "WLAN ใƒฆใƒผใ‚ถ", - "up": "ไธŠใธ", + "up": "UP", "down": "ไธ‹ใธ", "wait": "ใŠๅพ…ใกใใ ใ•ใ„", - "empty_data": "ใ‚ตใƒ–ใ‚ทใ‚นใƒ†ใƒ ็Šถๆ…‹ใƒปไธๆ˜Ž" + "empty_data": "ใ‚ตใƒ–ใ‚ทใ‚นใƒ†ใƒ ใฎ็Šถๆ…‹ใฏไธๆ˜Ž" }, "docker": { - "rx": "RX", - "tx": "TX", + "rx": "ๅ—ไฟกๆธˆใฟ", + "tx": "้€ไฟกๆธˆใฟ", "mem": "MEM", "cpu": "CPU", "running": "่ตทๅ‹•ไธญ", "offline": "ใ‚ชใƒ•ใƒฉใ‚คใƒณ", "error": "ใ‚จใƒฉใƒผ", "unknown": "ไธๆ˜Ž", - "healthy": "ๅฅๅ…จ", + "healthy": "ๆญฃๅธธ", "starting": "่ตทๅ‹•ไธญ", "unhealthy": "้žๅฅๅ…จ", "not_found": "ไธๆ˜Ž", - "exited": "็ต‚ไบ†", + "exited": "ๅœๆญขใ—ใพใ—ใŸ", "partial": "้ƒจๅˆ†็š„" }, "ping": { "error": "ใ‚จใƒฉใƒผ", "ping": "Ping", "down": "ไธ‹ใธ", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "not_available": "ๅˆฉ็”จใงใใพใ›ใ‚“ใ€‚" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP ใ‚นใƒ†ใƒผใ‚ฟใ‚น", "error": "ใ‚จใƒฉใƒผ", - "response": "Response", + "response": "ๅฟœ็ญ”", "down": "ไธ‹ใธ", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "not_available": "ๅˆฉ็”จใงใใพใ›ใ‚“ใ€‚" }, "emby": { @@ -107,6 +107,13 @@ "episodes": "ใ‚จใƒ”ใ‚ฝใƒผใƒ‰", "songs": "ๆ›ฒ" }, + "esphome": { + "offline": "ใ‚ชใƒ•ใƒฉใ‚คใƒณ", + "offline_alt": "ใ‚ชใƒ•ใƒฉใ‚คใƒณ", + "online": "ใ‚ชใƒณใƒฉใ‚คใƒณ", + "total": "ๅˆ่จˆ", + "unknown": "ไธๆ˜Ž" + }, "evcc": { "pv_power": "็™บ้›ป้‡", "battery_soc": "ใƒใƒƒใƒ†ใƒชใƒผ", @@ -127,21 +134,21 @@ }, "fritzbox": { "connectionStatus": "็Šถๆ…‹", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "ๆŽฅ็ถšๆธˆใฟ", + "connectionStatusUnconfigured": "ๆœช่จญๅฎš", + "connectionStatusConnecting": "ๆŽฅ็ถšไธญ", + "connectionStatusAuthenticating": "่ช่จผไธญ", + "connectionStatusPendingDisconnect": "ๆŽฅ็ถšใ‚’ๅˆ‡ๆ–ญใ™ใ‚‹", + "connectionStatusDisconnecting": "ๆŽฅ็ถšใ‚’ๅˆ‡ๆ–ญไธญ", + "connectionStatusDisconnected": "ๅˆ‡ๆ–ญใ•ใ‚Œใพใ—ใŸ", + "connectionStatusConnected": "ๆŽฅ็ถšๆธˆ", "uptime": "็จผๅƒๆ™‚้–“", - "maxDown": "Max. Down", - "maxUp": "Max. Up", + "maxDown": "ๆœ€ๅคงใƒ€ใ‚ฆใƒณ", + "maxUp": "ๆœ€ๅคงใ‚ขใƒƒใƒ—", "down": "ไธ‹ใธ", - "up": "ไธŠใธ", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "up": "็จผๅƒ", + "received": "ๅ—ไฟกๆธˆใฟ", + "sent": "้€ไฟกๆธˆใฟ", + "externalIPAddress": "้€€ๅ‡บID" }, "caddy": { "upstreams": "ใ‚ขใƒƒใƒ—ใ‚นใƒˆใƒชใƒผใƒ ", @@ -219,6 +226,10 @@ "leech": "ใƒชใƒผใƒ", "seed": "ใ‚ทใƒผใƒ‰" }, + "develancacheui": { + "cachehitbytes": "ใ‚ญใƒฃใƒƒใ‚ทใƒฅใƒปใƒ’ใƒƒใƒˆใƒใ‚คใƒˆ", + "cachemissbytes": "ใ‚ญใƒฃใƒƒใ‚ทใƒฅใƒŸใ‚นใƒใ‚คใƒˆ" + }, "downloadstation": { "download": "ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰", "upload": "ใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰", @@ -270,10 +281,10 @@ "approved": "ๆ‰ฟ่ชๆธˆ", "available": "ๅˆฉ็”จๅฏ" }, - "pialert": { + "netalertx": { "total": "ๅˆ่จˆ", - "connected": "ๆŽฅ็ถšๆธˆใฟ", - "new_devices": "ๆ–ฐใ—ใ„ใƒ‡ใƒใ‚คใ‚น", + "connected": "ๆŽฅ็ถšๆธˆ", + "new_devices": "ๆ–ฐ่ฆใƒ‡ใƒใ‚คใ‚น", "down_alerts": "ใƒ€ใ‚ฆใƒณใ‚ขใƒฉใƒผใƒˆ" }, "pihole": { @@ -298,6 +309,16 @@ "stopped": "ๅœๆญขไธญ", "total": "ๅˆ่จˆ" }, + "suwayomi": { + "download": "ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰", + "nondownload": "Non-Downloaded", + "read": "ๆ—ข่ชญ", + "unread": "ๆœช่ชญ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ใ‚ขใƒ‰ใƒฌใ‚น", "expires": "ๅคฑๅŠน", @@ -312,6 +333,19 @@ "seconds": "{{number}}็ง’", "ago": "{{value}} ๅ‰" }, + "technitium": { + "totalQueries": "ใ‚ฏใ‚จใƒช", + "totalNoError": "ๆˆๅŠŸ", + "totalServerFailure": "ๅคฑๆ•—", + "totalNxDomain": "NXใƒ‰ใƒกใ‚คใƒณ", + "totalRefused": "ๆ‹’ๅฆ", + "totalAuthoritative": "ๆญฃๅผ", + "totalRecursive": "ๅ†ๅธฐ็š„", + "totalCached": "ใ‚ญใƒฃใƒƒใ‚ทใƒฅๆธˆใฟ", + "totalBlocked": "ใƒ–ใƒญใƒƒใ‚ฏไธญ", + "totalDropped": "ใƒ‰ใƒญใƒƒใƒ—ๆธˆใฟ", + "totalClients": "ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ" + }, "tdarr": { "queue": "ใ‚ญใƒฅใƒผ", "processed": "ๅ‡ฆ็†ๆธˆใฟ", @@ -400,12 +434,12 @@ "temp": "ๆธฉๅบฆ", "_temp": "ๆธฉๅบฆ", "warn": "่ญฆๅ‘Š", - "uptime": "ไธŠใธ", + "uptime": "UP", "total": "ๅˆ่จˆ", "free": "็ฉบใ", "used": "ไฝฟ็”จ", - "days": "d", - "hours": "h", + "days": "ๆ—ฅ", + "hours": "ๆ™‚้–“", "crit": "ใ‚ฏใƒชใƒ†ใ‚ฃใ‚ซใƒซ", "read": "ๆ—ข่ชญ", "write": "ๆ›ธใ่พผใฟ", @@ -419,7 +453,8 @@ "search": "ๆคœ็ดข", "custom": "ใ‚ซใ‚นใ‚ฟใƒ ", "visit": "่จชๅ•", - "url": "URL" + "url": "URL", + "searchsuggestion": "ๆๆกˆ" }, "wmo": { "0-day": "ๆ™ดใ‚Œ", @@ -486,13 +521,13 @@ "up_to_date": "ๆœ€ๆ–ฐ", "child_bridges": "ๅญใƒ–ใƒชใƒƒใ‚ธ", "child_bridges_status": "{{ok}}/{{total}}", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "pending": "ไฟ็•™ไธญ", "down": "ไธ‹ใธ" }, "healthchecks": { "new": "ๆ–ฐ็€", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "grace": "็ŒถไบˆๆœŸ้–“ไธญ", "down": "ไธ‹ใธ", "paused": "ไธ€ๆ™‚ๅœๆญขไธญ", @@ -523,7 +558,7 @@ "alerts": "ใ‚ขใƒฉใƒผใƒˆ" }, "pyload": { - "speed": "ใ‚นใƒ”ใƒผใƒ‰", + "speed": "้€Ÿๅบฆ", "active": "ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–", "queue": "ใ‚ญใƒฅใƒผ", "total": "ๅˆ่จˆ" @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "ใƒใƒฃใƒณใƒใƒซ", - "hd": "HD" + "hd": "HD", + "tunerCount": "ใƒใƒฅใƒผใƒŠใƒผ", + "channelNumber": "ใƒใƒฃใƒณใƒใƒซ", + "channelNetwork": "ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏ", + "signalStrength": "ๅผทใ•", + "signalQuality": "ใ‚ฏใ‚ชใƒชใƒ†ใ‚ฃ", + "symbolQuality": "ใ‚ฏใ‚ชใƒชใƒ†ใ‚ฃ", + "networkRate": "ใƒ“ใƒƒใƒˆใƒฌใƒผใƒˆ", + "clientIP": "ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ IP" }, "scrutiny": { "passed": "ๅˆๆ ผ", @@ -547,12 +590,12 @@ "total": "ๅˆ่จˆ" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "ใƒใƒƒใƒ†ใƒชใƒผๅ……้›ป", + "ups_load": "UPS ่ฒ ่ท", + "ups_status": "UPS ็Šถๆ…‹", "online": "ใ‚ชใƒณใƒฉใ‚คใƒณ", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "ใƒใƒƒใƒ†ใƒชใƒผ็จผๅƒไธญ", + "low_battery": "ใƒใƒƒใƒ†ใƒชใƒผๆฎ‹้‡ไฝŽไธ‹" }, "nextdns": { "wait": "ใŠๅพ…ใกใใ ใ•ใ„", @@ -560,7 +603,7 @@ }, "mikrotik": { "cpuLoad": "CPU่ฒ ่ท", - "memoryUsed": "ไฝฟ็”จๆธˆใฟใƒกใƒขใƒช", + "memoryUsed": "ใƒกใƒขใƒชไฝฟ็”จ้‡", "uptime": "็จผๅƒๆ™‚้–“", "numberOfLeases": "ใƒชใƒผใ‚น" }, @@ -601,7 +644,7 @@ "load": "่ชญใฟ่พผใฟๅนณๅ‡", "memory": "ใƒกใƒขใƒชไฝฟ็”จ้‡", "wanStatus": "WANใ‚นใƒ†ใƒผใ‚ฟใ‚น", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "down": "ไธ‹ใธ", "temp": "ๆธฉๅบฆ", "disk": "ใƒ‡ใ‚ฃใ‚นใ‚ฏไฝฟ็”จ้‡", @@ -623,8 +666,8 @@ "up": "ใ‚ตใ‚คใƒˆUp", "down": "ใ‚ตใ‚คใƒˆDown", "uptime": "็จผๅƒๆ™‚้–“", - "incident": "ใ‚คใƒณใ‚ทใƒ‡ใƒณใƒˆ", - "m": "m" + "incident": "ไบ‹ไปถ", + "m": "ๅˆ†" }, "atsumeru": { "series": "ใ‚ทใƒชใƒผใ‚บ", @@ -694,6 +737,11 @@ "targets_down": "ใ‚ฟใƒผใ‚ฒใƒƒใƒˆ Down", "targets_total": "ใ‚ฟใƒผใ‚ฒใƒƒใƒˆๅˆ่จˆ" }, + "gatus": { + "up": "ใ‚ตใ‚คใƒˆUp", + "down": "ใ‚ตใ‚คใƒˆDown", + "uptime": "็จผๅƒๆ™‚้–“" + }, "ghostfolio": { "gross_percent_today": "ไปŠๆ—ฅ", "gross_percent_1y": "1ๅนด", @@ -724,7 +772,7 @@ "downloadCount": "ใ‚ญใƒฅใƒผ", "downloadBytesRemaining": "ๆฎ‹ใ‚Š", "downloadTotalBytes": "ใ‚ตใ‚คใ‚บ", - "downloadSpeed": "ใ‚นใƒ”ใƒผใƒ‰" + "downloadSpeed": "้€Ÿๅบฆ" }, "kavita": { "seriesCount": "ใ‚ทใƒชใƒผใ‚บ", @@ -775,16 +823,24 @@ "passed": "ๅˆๆ ผ", "failed": "ๅคฑๆ•—" }, + "openwrt": { + "uptime": "็จผๅƒๆ™‚้–“", + "cpuLoad": "CPU ๅนณๅ‡่ฒ ่ท๏ผˆ5 ๅˆ†๏ผ‰", + "up": "็จผๅƒ", + "down": "ไธ‹ใธ", + "bytesTx": "้€ไฟกๆธˆใฟ", + "bytesRx": "ๅ—ไฟกๆธˆใฟ" + }, "uptimerobot": { "status": "็Šถๆ…‹", "uptime": "็จผๅƒๆ™‚้–“", "lastDown": "ๆœ€ๅพŒใฎใƒ€ใ‚ฆใƒณใ‚ฟใ‚คใƒ ", - "downDuration": "ใƒ€ใ‚ฆใƒณใ‚ฟใ‚คใƒ ๆ„Ÿ่ฆš", + "downDuration": "ใƒ€ใ‚ฆใƒณใ‚ฟใ‚คใƒ ๆ™‚้–“", "sitesUp": "ใ‚ตใ‚คใƒˆUp", "sitesDown": "ใ‚ตใ‚คใƒˆDown", "paused": "ไธ€ๆ™‚ๅœๆญขไธญ", "notyetchecked": "ใƒใ‚งใƒƒใ‚ฏใ•ใ‚Œใฆใ„ใพใ›ใ‚“", - "up": "ไธŠใธ", + "up": "็จผๅƒ", "seemsdown": "ใƒ€ใ‚ฆใƒณใ—ใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™", "down": "ไธ‹ใธ", "unknown": "ไธๆ˜Ž" @@ -793,15 +849,163 @@ "inCinemas": "ๆ˜ ็”ป้คจๅ†…", "physicalRelease": "็‰ฉ็†็š„ใชใƒชใƒชใƒผใ‚น", "digitalRelease": "ใƒ‡ใ‚ธใ‚ฟใƒซใƒปใƒชใƒชใƒผใ‚น", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "noEventsToday": "ๆœฌๆ—ฅใฎไบˆๅฎšใชใ—", + "noEventsFound": "ไบˆๅฎšใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ", + "totalRoms": "ใ‚ฒใƒผใƒ ", + "saves": "ไฟๅญ˜", + "states": "็Šถๆ…‹", + "screenshots": "ใ‚นใ‚ฏใƒชใƒผใƒณใ‚ทใƒงใƒƒใƒˆ", + "totalfilesize": "ๅˆ่จˆใ‚ตใ‚คใ‚บ" + }, + "mailcow": { + "domains": "ใƒ‰ใƒกใ‚คใƒณ", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "ใ‚นใƒˆใƒฌใƒผใ‚ธ" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "่ญฆๅ‘Š", + "criticals": "้‡ๅคง" + }, + "plantit": { + "events": "ใ‚คใƒ™ใƒณใƒˆ", + "plants": "ๆค็‰ฉ", + "photos": "ๅ†™็œŸ", + "species": "็จฎ" + }, + "gitea": { + "notifications": "้€š็Ÿฅ", + "issues": "่ชฒ้กŒ", + "pulls": "ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆ" + }, + "stash": { + "scenes": "ใ‚ทใƒผใƒณ", + "scenesPlayed": "ๅ†็”Ÿใ•ใ‚ŒใŸใ‚ทใƒผใƒณ", + "playCount": "ๅˆ่จˆๅ†็”Ÿๆ•ฐ", + "playDuration": "่ฆ–่ดๆ™‚้–“", + "sceneSize": "ใ‚ทใƒผใƒณใ‚ตใ‚คใ‚บ", + "sceneDuration": "ใ‚ทใƒผใƒณใฎ้•ทใ•", + "images": "็”ปๅƒ", + "imageSize": "็”ปๅƒใ‚ตใ‚คใ‚บ", + "galleries": "ใ‚ฎใƒฃใƒฉใƒชใƒผ", + "performers": "ๅ‡บๆผ”่€…", + "studios": "ใ‚นใ‚ฟใ‚ธใ‚ช", + "movies": "ๆ˜ ็”ป", + "tags": "ใ‚ฟใ‚ฐ", + "oCount": "O ใ‚ซใ‚ฆใƒณใƒˆ" + }, + "tandoor": { + "users": "ใƒฆใƒผใ‚ถ", + "recipes": "ใƒฌใ‚ทใƒ”", + "keywords": "ใ‚ญใƒผใƒฏใƒผใƒ‰" + }, + "homebox": { + "items": "ใ‚ขใ‚คใƒ†ใƒ ", + "totalWithWarranty": "ไฟ่จผไป˜ใ", + "locations": "ๅ ดๆ‰€", + "labels": "ใƒฉใƒ™ใƒซ", + "users": "ใƒฆใƒผใ‚ถ", + "totalValue": "ๅˆ่จˆๅ€ค" + }, + "crowdsec": { + "alerts": "ใ‚ขใƒฉใƒผใƒˆ", + "bans": "็ฆๆญข" + }, + "wgeasy": { + "connected": "ๆŽฅ็ถšๆธˆ", + "enabled": "ๆœ‰ๅŠน", + "disabled": "็„กๅŠน", + "total": "ๅˆ่จˆ" + }, + "swagdashboard": { + "proxied": "ใƒ—ใƒญใ‚ญใ‚ทๆธˆ", + "auth": "่ช่จผใ‚ใ‚Š", + "outdated": "ๆœ€ๆ–ฐใฎ็Šถๆ…‹ใงใฏใ‚ใ‚Šใพใ›ใ‚“", + "banned": "็ฆๆญข" + }, + "myspeed": { + "ping": "Ping", + "download": "ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰", + "upload": "ใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰" + }, + "stocks": { + "stocks": "ๅœจๅบซ", + "loading": "่ชญใฟ่พผใฟไธญ", + "open": "ใ‚ชใƒผใƒ—ใƒณ - ็ฑณๅ›ฝๅธ‚ๅ ด", + "closed": "ใ‚ฏใƒญใƒผใ‚บ - ็ฑณๅ›ฝๅธ‚ๅ ด", + "invalidConfiguration": "็„กๅŠนใช่จญๅฎš" + }, + "frigate": { + "cameras": "ใ‚ซใƒกใƒฉ", + "uptime": "็จผๅƒๆ™‚้–“", + "version": "ใƒใƒผใ‚ธใƒงใƒณ" + }, + "linkwarden": { + "links": "ใƒชใƒณใ‚ฏ", + "collections": "ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณ", + "tags": "ใ‚ฟใ‚ฐ" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "ๆƒ…ๅ ฑ", + "warning": "่ญฆๅ‘Š", + "average": "ๅนณๅ‡", + "high": "้ซ˜ใ„", + "disaster": "็ฝๅฎณ" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ๅๅ‰", + "address": "ใ‚ขใƒ‰ใƒฌใ‚น", + "last_seen": "ๆœ€็ต‚ๆ—ฅๆ™‚", + "status": "็Šถๆ…‹", + "online": "ใ‚ชใƒณใƒฉใ‚คใƒณ", + "offline": "ใ‚ชใƒ•ใƒฉใ‚คใƒณ" + }, + "beszel": { + "name": "ๅๅ‰", + "systems": "Systems", + "up": "็จผๅƒ", + "status": "็Šถๆ…‹", + "updated": "ๆ›ดๆ–ฐๆธˆ", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ๆญฃๅธธ", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ไธๆ˜Ž", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "่ชญใฟ่พผใฟไธญ" + }, + "gitlab": { + "groups": "Groups", + "issues": "่ชฒ้กŒ", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json index 13961129..c760fe30 100644 --- a/public/locales/ko/common.json +++ b/public/locales/ko/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -21,7 +21,7 @@ "seconds": "s" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", + "missing_type": "์—†๋Š” ์œ„์ ฏ ์œ ํ˜•: {{type}}", "api_error": "API ์˜ค๋ฅ˜", "information": "์ •๋ณด", "status": "์ƒํƒœ", @@ -87,15 +87,15 @@ "ping": "Ping", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP ์ƒํƒœ", "error": "์˜ค๋ฅ˜", - "response": "Response", + "response": "์‘๋‹ต", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ" }, "emby": { "playing": "์žฌ์ƒ ์ค‘", @@ -107,10 +107,17 @@ "episodes": "์—ํ”ผ์†Œ๋“œ", "songs": "์Œ์•…" }, + "esphome": { + "offline": "์ค‘์ง€", + "offline_alt": "์ค‘์ง€", + "online": "์˜จ๋ผ์ธ", + "total": "์ดํ•ฉ", + "unknown": "์•Œ ์ˆ˜ ์—†์Œ" + }, "evcc": { "pv_power": "Production", - "battery_soc": "Battery", - "grid_power": "Grid", + "battery_soc": "๋ฐฐํ„ฐ๋ฆฌ", + "grid_power": "๋ˆˆ๊ธˆ", "home_power": "Consumption", "charge_power": "Charger", "watt_hour": "Wh" @@ -122,25 +129,25 @@ "seed": "์‹œ๋“œ" }, "freshrss": { - "subscriptions": "Subscriptions", - "unread": "Unread" + "subscriptions": "๊ตฌ๋…", + "unread": "๋ฏธ์—ด๋žŒ" }, "fritzbox": { "connectionStatus": "์ƒํƒœ", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", + "connectionStatusUnconfigured": "๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ", + "connectionStatusConnecting": "์—ฐ๊ฒฐ์ค‘", + "connectionStatusAuthenticating": "์ธ์ฆ", "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", + "connectionStatusDisconnecting": "์—ฐ๊ฒฐ์„ ๋Š๋Š” ์ค‘...", + "connectionStatusDisconnected": "์—ฐ๊ฒฐ ๋Š๊น€", + "connectionStatusConnected": "์—ฐ๊ฒฐ๋จ", "uptime": "Uptime", "maxDown": "Max. Down", "maxUp": "Max. Up", "down": "Down", "up": "Up", - "received": "Received", - "sent": "Sent", + "received": "์ˆ˜์‹ ๋จ", + "sent": "์ „์†ก๋จ", "externalIPAddress": "Ext. IP" }, "caddy": { @@ -153,9 +160,9 @@ "diffsDetected": "๋ณ€๊ฒฝ ๊ฐ์ง€๋จ" }, "channelsdvrserver": { - "shows": "Shows", - "recordings": "Recordings", - "scheduled": "Scheduled", + "shows": "๋ณด๊ธฐ", + "recordings": "๋…นํ™”", + "scheduled": "์˜ˆ์ •๋จ", "passes": "Passes" }, "tautulli": { @@ -206,12 +213,12 @@ "seed": "์‹œ๋“œ" }, "qnap": { - "cpuUsage": "CPU Usage", - "memUsage": "MEM Usage", - "systemTempC": "System Temp", + "cpuUsage": "CPU ์‚ฌ์šฉ", + "memUsage": "๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ", + "systemTempC": "์‹œ์Šคํ…œ ์˜จ๋„", "poolUsage": "Pool Usage", "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "invalid": "์ž˜๋ชป๋จ" }, "deluge": { "download": "๋‹ค์šด๋กœ๋“œ", @@ -219,6 +226,10 @@ "leech": "๋ฆฌ์น˜", "seed": "์‹œ๋“œ" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "๋‹ค์šด๋กœ๋“œ", "upload": "์—…๋กœ๋“œ", @@ -270,9 +281,9 @@ "approved": "์Šน์ธ๋จ", "available": "์ด์šฉ ๊ฐ€๋Šฅ" }, - "pialert": { + "netalertx": { "total": "์ดํ•ฉ", - "connected": "Connected", + "connected": "์—ฐ๊ฒฐ๋จ", "new_devices": "New Devices", "down_alerts": "Down Alerts" }, @@ -298,19 +309,42 @@ "stopped": "์ค‘์ง€", "total": "์ดํ•ฉ" }, + "suwayomi": { + "download": "๋‹ค์šด๋กœ๋“œ๋จ", + "nondownload": "Non-Downloaded", + "read": "์ฝ์Œ", + "unread": "๋ฏธ์—ด๋žŒ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { - "address": "Address", - "expires": "Expires", + "address": "์ฃผ์†Œ", + "expires": "๋งŒ๋ฃŒ", "never": "Never", - "last_seen": "Last Seen", - "now": "Now", - "years": "{{number}}y", - "weeks": "{{number}}w", - "days": "{{number}}d", - "hours": "{{number}}h", - "minutes": "{{number}}m", - "seconds": "{{number}}s", - "ago": "{{value}} Ago" + "last_seen": "๋งˆ์ง€๋ง‰ ์ ‘์†", + "now": "์ง€๊ธˆ", + "years": "{{number}}๋…„", + "weeks": "{{number}}์›”", + "days": "{{number}}์ผ", + "hours": "{{number}}์‹œ", + "minutes": "{{number}}๋ถ„", + "seconds": "{{number}}์ดˆ", + "ago": "{{value}} ์ „" + }, + "technitium": { + "totalQueries": "์ฟผ๋ฆฌ", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "์ฐจ๋‹จ๋จ", + "totalDropped": "Dropped", + "totalClients": "ํด๋ผ์ด์–ธํŠธ" }, "tdarr": { "queue": "๋Œ€๊ธฐ์—ด", @@ -352,7 +386,7 @@ "numberOfFailQueries": "Fail Queries" }, "jackett": { - "configured": "Configured", + "configured": "๊ตฌ์„ฑ๋จ", "errored": "์˜ค๋ฅ˜" }, "strelaysrv": { @@ -363,7 +397,7 @@ }, "mastodon": { "user_count": "์‚ฌ์šฉ์ž", - "status_count": "Posts", + "status_count": "๊ฒŒ์‹œ๊ธ€", "domain_count": "Domains" }, "medusa": { @@ -373,33 +407,33 @@ }, "minecraft": { "players": "Players", - "version": "Version", + "version": "๋ฒ„์ „", "status": "์ƒํƒœ", - "up": "Online", + "up": "์˜จ๋ผ์ธ", "down": "์ค‘์ง€" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "์ฝ์Œ", + "unread": "๋ฏธ์—ด๋žŒ" }, "authentik": { "users": "์‚ฌ์šฉ์ž", - "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "loginsLast24H": "๋กœ๊ทธ์ธ (24h)", + "failedLoginsLast24H": "์‹คํŒจํ•œ ๋กœ๊ทธ์ธ (24h)" }, "proxmox": { "mem": "MEM", "cpu": "CPU", "lxc": "LXC", - "vms": "VMs" + "vms": "๊ฐ€์ƒ๋จธ์‹ " }, "glances": { "cpu": "CPU", "load": "๋ถ€ํ•˜", "wait": "์ž ์‹œ๋งŒ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”", "temp": "์˜จ๋„", - "_temp": "Temp", - "warn": "Warn", + "_temp": "์˜จ๋„", + "warn": "๊ฒฝ๊ณ ", "uptime": "๊ฐ€๋™", "total": "์ดํ•ฉ", "free": "๋‚จ์Œ", @@ -407,29 +441,30 @@ "days": "d", "hours": "h", "crit": "Crit", - "read": "Read", - "write": "Write", + "read": "์ฝ์Œ", + "write": "์“ฐ๊ธฐ", "gpu": "GPU", - "mem": "Mem", + "mem": "Men", "swap": "Swap" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service", - "search": "Search", - "custom": "Custom", + "bookmark": "์ฆ๊ฒจ์ฐพ๊ธฐ", + "service": "์„œ๋น„์Šค", + "search": "๊ฒ€์ƒ‰", + "custom": "์‚ฌ์šฉ์ž ์ •์˜", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { - "0-day": "Sunny", + "0-day": "ํ™”์ฐฝํ•จ", "0-night": "Clear", "1-day": "Mainly Sunny", "1-night": "Mainly Clear", "2-day": "Partly Cloudy", "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", + "3-day": "๊ตฌ๋ฆ„ ๋‚€", + "3-night": "๊ตฌ๋ฆ„ ๋‚€", "45-day": "Foggy", "45-night": "Foggy", "48-day": "Foggy", @@ -454,14 +489,14 @@ "66-night": "Freezing Rain", "67-day": "Freezing Rain", "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", + "71-day": "์•ฝํ•œ ๋ˆˆ", + "71-night": "์•ฝํ•œ ๋ˆˆ", "73-day": "Snow", "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", + "75-day": "ํญ์„ค", + "75-night": "ํญ์„ค", + "77-day": "์‹ธ๋ฝ๋ˆˆ", + "77-night": "์‹ธ๋ฝ๋ˆˆ", "80-day": "Light Showers", "80-night": "Light Showers", "81-day": "Showers", @@ -481,9 +516,9 @@ }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "updates": "์—…๋ฐ์ดํŠธ", + "update_available": "์ƒˆ ์—…๋ฐ์ดํŠธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ", + "up_to_date": "์ตœ์‹  ์ƒํƒœ", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", "up": "Up", @@ -491,7 +526,7 @@ "down": "Down" }, "healthchecks": { - "new": "New", + "new": "์‹ ๊ทœ", "up": "Up", "grace": "In Grace Period", "down": "Down", @@ -513,9 +548,9 @@ }, "tubearchivist": { "downloads": "๋Œ€๊ธฐ์—ด", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "videos": "๋™์˜์ƒ", + "channels": "์ฑ„๋„", + "playlists": "์žฌ์ƒ ๋ชฉ๋ก" }, "truenas": { "load": "System Load", @@ -534,8 +569,16 @@ "country": "Country" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "์ฑ„๋„", + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "์ฑ„๋„", + "channelNetwork": "๋„คํŠธ์›Œํฌ", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "๋น„ํŠธ๋ ˆ์ดํŠธ", + "clientIP": "ํด๋ผ์ด์–ธํŠธ" }, "scrutiny": { "passed": "Passed", @@ -543,16 +586,16 @@ "unknown": "์•Œ ์ˆ˜ ์—†์Œ" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "๋ฐ›์€๋ฉ”์ผํ•จ", "total": "์ดํ•ฉ" }, "peanut": { - "battery_charge": "Battery Charge", + "battery_charge": "๋ฐฐํ„ฐ๋ฆฌ ์ถฉ์ „ ์ค‘", "ups_load": "UPS Load", "ups_status": "UPS Status", - "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "online": "์˜จ๋ผ์ธ", + "on_battery": "๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ", + "low_battery": "๋ฐฐํ„ฐ๋ฆฌ ๋ถ€์กฑ" }, "nextdns": { "wait": "์ž ์‹œ๋งŒ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”", @@ -560,20 +603,20 @@ }, "mikrotik": { "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", + "memoryUsed": "๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰", "uptime": "Uptime", "numberOfLeases": "Leases" }, "xteve": { - "streams_all": "All Streams", + "streams_all": "๋ชจ๋“  ์ŠคํŠธ๋ฆผ", "streams_active": "ํ™œ์„ฑ ์ŠคํŠธ๋ฆผ", "streams_xepg": "XEPG Channels" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "์˜ค๋Š˜", + "absolutePower": "์ „์›", + "relativePower": "์ „์› %", + "limit": "์ œํ•œ" }, "opnsense": { "cpu": "CPU Load", @@ -584,7 +627,7 @@ "moonraker": { "printer_state": "Printer State", "print_status": "Print Status", - "print_progress": "Progress", + "print_progress": "์ง„ํ–‰", "layers": "Layers" }, "octoprint": { @@ -603,7 +646,7 @@ "wanStatus": "WAN Status", "up": "Up", "down": "Down", - "temp": "Temp", + "temp": "์˜จ๋„", "disk": "Disk Usage", "wanIP": "WAN IP" }, @@ -615,9 +658,9 @@ }, "immich": { "users": "์‚ฌ์šฉ์ž", - "photos": "Photos", - "videos": "Videos", - "storage": "Storage" + "photos": "์‚ฌ์ง„", + "videos": "๋™์˜์ƒ", + "storage": "์ €์žฅ๋จ" }, "uptimekuma": { "up": "Sites Up", @@ -630,10 +673,10 @@ "series": "์‹œ๋ฆฌ์ฆˆ", "archives": "Archives", "chapters": "Chapters", - "categories": "Categories" + "categories": "๋ถ„๋ฅ˜" }, "komga": { - "libraries": "Libraries", + "libraries": "์„œ์žฌ", "series": "์‹œ๋ฆฌ์ฆˆ", "books": "์ฑ…" }, @@ -649,8 +692,8 @@ }, "photoprism": { "albums": "Albums", - "photos": "Photos", - "videos": "Videos", + "photos": "์‚ฌ์ง„", + "videos": "๋™์˜์ƒ", "people": "People" }, "fileflows": { @@ -660,18 +703,18 @@ "time": "Time" }, "grafana": { - "dashboards": "Dashboards", + "dashboards": "๋Œ€์‹œ๋ณด๋“œ", "datasources": "Data Sources", "totalalerts": "Total Alerts", "alertstriggered": "Alerts Triggered" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users", - "numfiles": "Files", - "numshares": "Shared Items" + "cpuload": "CPU ๋ถ€ํ•˜๋Ÿ‰", + "memoryusage": "๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰", + "freespace": "์—ฌ์œ  ๊ณต๊ฐ„", + "activeusers": "ํ™œ์„ฑ ์œ ์ €", + "numfiles": "ํŒŒ์ผ", + "numshares": "๊ณต์œ ๋œ ํ•ญ๋ชฉ" }, "kopia": { "status": "์ƒํƒœ", @@ -687,23 +730,28 @@ }, "pterodactyl": { "servers": "Servers", - "nodes": "Nodes" + "nodes": "๋…ธ๋“œ" }, "prometheus": { "targets_up": "Targets Up", "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { - "gross_percent_today": "Today", + "gross_percent_today": "์˜ค๋Š˜", "gross_percent_1y": "One year", "gross_percent_max": "All time" }, "audiobookshelf": { "podcasts": "Podcasts", "books": "์ฑ…", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcastsDuration": "์ง€์†์‹œ๊ฐ„", + "booksDuration": "์ง€์†์‹œ๊ฐ„" }, "homeassistant": { "people_home": "People Home", @@ -712,12 +760,12 @@ }, "whatsupdocker": { "monitoring": "Monitoring", - "updates": "Updates" + "updates": "์—…๋ฐ์ดํŠธ" }, "calibreweb": { "books": "์ฑ…", - "authors": "Authors", - "categories": "Categories", + "authors": "์ €์ž", + "categories": "๋ถ„๋ฅ˜", "series": "์‹œ๋ฆฌ์ฆˆ" }, "jdownloader": { @@ -728,7 +776,7 @@ }, "kavita": { "seriesCount": "์‹œ๋ฆฌ์ฆˆ", - "totalFiles": "Files" + "totalFiles": "ํŒŒ์ผ" }, "azuredevops": { "result": "Result", @@ -745,36 +793,44 @@ }, "gamedig": { "status": "์ƒํƒœ", - "online": "Online", + "online": "์˜จ๋ผ์ธ", "offline": "์ค‘์ง€", - "name": "Name", - "map": "Map", + "name": "์ด๋ฆ„", + "map": "์ง€๋„", "currentPlayers": "Current players", "players": "Players", "maxPlayers": "Max players", - "bots": "Bots", + "bots": "๋ด‡", "ping": "Ping" }, "urbackup": { - "ok": "Ok", - "errored": "Errors", + "ok": "ํ™•์ธ", + "errored": "์˜ค๋ฅ˜ย :", "noRecent": "Out of Date", "totalUsed": "Used Storage" }, "mealie": { "recipes": "Recipes", "users": "์‚ฌ์šฉ์ž", - "categories": "Categories", - "tags": "Tags" + "categories": "๋ถ„๋ฅ˜", + "tags": "ํƒœ๊ทธ" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "๋‹ค์šด๋กœ๋“œ ์ค‘", "total": "์ดํ•ฉ", "running": "๊ฐ€๋™ ์ค‘", "stopped": "์ค‘์ง€", "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "์ˆ˜์‹ ๋จ" + }, "uptimerobot": { "status": "์ƒํƒœ", "uptime": "Uptime", @@ -797,11 +853,159 @@ "noEventsFound": "No events found" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "๊ธฐ์ข…", + "totalRoms": "๊ฒŒ์ž„", + "saves": "์„ธ์ด๋ธŒ", + "states": "์Šคํ…Œ์ดํŠธ", + "screenshots": "์Šคํฌ๋ฆฐ์ƒท", + "totalfilesize": "์ „์ฒด ์šฉ๋Ÿ‰" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "์ €์žฅ๋จ" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "์‚ฌ์ง„", + "species": "Species" + }, + "gitea": { + "notifications": "์•Œ๋ฆผ", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "์žฅ๋ฉด", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "์ŠคํŠœ๋””์˜ค", + "movies": "์˜ํ™”", + "tags": "ํƒœ๊ทธ", + "oCount": "O Count" + }, + "tandoor": { + "users": "์‚ฌ์šฉ์ž", + "recipes": "Recipes", + "keywords": "ํ‚ค์›Œ๋“œ" + }, + "homebox": { + "items": "์•„์ดํ…œ", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "์‚ฌ์šฉ์ž", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "๊ฒฝ๊ณ ", + "bans": "Bans" + }, + "wgeasy": { + "connected": "์—ฐ๊ฒฐ๋จ", + "enabled": "ํ™œ์„ฑ", + "disabled": "๋น„ํ™œ์„ฑ", + "total": "์ดํ•ฉ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "๋‹ค์šด๋กœ๋“œ", + "upload": "์—…๋กœ๋“œ" + }, + "stocks": { + "stocks": "Stocks", + "loading": "๋กœ๋“œ ์ค‘", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "์นด๋ฉ”๋ผ", + "uptime": "Uptime", + "version": "๋ฒ„์ „" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ํƒœ๊ทธ" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "์ •๋ณด", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "์ด๋ฆ„", + "address": "์ฃผ์†Œ", + "last_seen": "๋งˆ์ง€๋ง‰ ์ ‘์†", + "status": "์ƒํƒœ", + "online": "์˜จ๋ผ์ธ", + "offline": "์ค‘์ง€" + }, + "beszel": { + "name": "์ด๋ฆ„", + "systems": "Systems", + "up": "Up", + "status": "์ƒํƒœ", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "์ข‹์Œ", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "๋น ์ง", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "๋กœ๋“œ ์ค‘" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/lv/common.json b/public/locales/lv/common.json index 1c35a7f2..e15ccc08 100644 --- a/public/locales/lv/common.json +++ b/public/locales/lv/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Bezsaistฤ“", + "offline_alt": "Bezsaistฤ“", + "online": "Online", + "total": "Kopฤ", + "unknown": "Nezinฤms" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "ล…ฤ“mฤ“ji", "seed": "Devฤ“ji" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Lejupielฤde", "upload": "Augลกupielฤde", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Kopฤ", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Kopฤ" }, + "suwayomi": { + "download": "Lejupielฤdฤ“ts", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Rindฤ", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Saulains", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Statuss", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Lietotฤji", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Lietotฤji", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Paziล†ojumi", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Kopฤ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Lejupielฤde", + "upload": "Augลกupielฤde" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informฤcija", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Statuss", + "online": "Online", + "offline": "Bezsaistฤ“" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Statuss", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index c62138cb..f1c4407b 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -13,10 +13,10 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", + "duration": "{{value, duration}}", + "months": "bln", + "days": "h", + "hours": "j", "minutes": "m", "seconds": "s" }, @@ -45,9 +45,9 @@ "free": "Bebas", "used": "Telah diguna", "load": "Beban", - "temp": "TEMP", - "max": "Max", - "uptime": "UP" + "temp": "SUHU", + "max": "Tertinggi", + "uptime": "HIDUP" }, "unifi": { "users": "Pengguna", @@ -61,102 +61,109 @@ "wlan_devices": "Peranti WLAN", "lan_users": "Pengguna LAN", "wlan_users": "Pengguna WLAN", - "up": "UP", + "up": "HIDUP", "down": "MATI", "wait": "Sila tunggu", - "empty_data": "Subsystem status unknown" + "empty_data": "Status subsistem tak diketahui" }, "docker": { "rx": "RX", "tx": "TX", "mem": "MEM", "cpu": "CPU", - "running": "Running", + "running": "Sedang jalan", "offline": "Luar talian", "error": "Ralat", "unknown": "Tidak Diketahui", - "healthy": "Healthy", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", - "exited": "Exited", - "partial": "Partial" + "healthy": "Sihat", + "starting": "Bermula", + "unhealthy": "Kurang sihat", + "not_found": "Tidak dijumpai", + "exited": "Dimatikan", + "partial": "Sebahagian" }, "ping": { "error": "Ralat", "ping": "Ping", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "down": "Mati", + "up": "Hidup", + "not_available": "Tidak dijumpai" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "Status HTTP", "error": "Ralat", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "Tindak balas", + "down": "Mati", + "up": "Hidup", + "not_available": "Tidak dijumpai" }, "emby": { "playing": "Sedang dimainkan", "transcoding": "Transkoding", "bitrate": "Kadar bit", "no_active": "Tiada Strim Aktif", - "movies": "Movies", - "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "movies": "Filem", + "series": "Siri", + "episodes": "Episod", + "songs": "Lagu" + }, + "esphome": { + "offline": "Luar talian", + "offline_alt": "Luar talian", + "online": "Dalam Talian", + "total": "Jumlah", + "unknown": "Tidak Diketahui" }, "evcc": { - "pv_power": "Production", - "battery_soc": "Battery", + "pv_power": "Produksi", + "battery_soc": "Bateri", "grid_power": "Grid", - "home_power": "Consumption", - "charge_power": "Charger", - "watt_hour": "Wh" + "home_power": "Penggunaan", + "charge_power": "Pengecas", + "watt_hour": "Wj" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Muat turun", + "upload": "Muat naik", "leech": "Leech", "seed": "Seed" }, "freshrss": { - "subscriptions": "Subscriptions", - "unread": "Unread" + "subscriptions": "Langganan", + "unread": "Belum dibaca" }, "fritzbox": { "connectionStatus": "Status", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", + "connectionStatusUnconfigured": "Belum disuai", + "connectionStatusConnecting": "Menyambung", + "connectionStatusAuthenticating": "Pengesahan", + "connectionStatusPendingDisconnect": "Tunggu untuk Putus", + "connectionStatusDisconnecting": "Putuskan", + "connectionStatusDisconnected": "Sambungan Terputus", "connectionStatusConnected": "Connected", "uptime": "Masa Hidup", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "Mati Maksima", + "maxUp": "Hidup Maksima", + "down": "Mati", + "up": "Hidup", + "received": "Diterima", + "sent": "Telah dihantar", + "externalIPAddress": "IP Luaran" }, "caddy": { "upstreams": "Upstreams", - "requests": "Current requests", - "requests_failed": "Failed requests" + "requests": "Permintaan semasa", + "requests_failed": "Permintaan gagal" }, "changedetectionio": { "totalObserved": "Jumlah Diperhatikan", "diffsDetected": "Perbezaan Dikesan" }, "channelsdvrserver": { - "shows": "Shows", - "recordings": "Recordings", - "scheduled": "Scheduled", - "passes": "Passes" + "shows": "Papar", + "recordings": "Rakaman", + "scheduled": "Dijadualkan", + "passes": "Lulus" }, "tautulli": { "playing": "Sedang dimainkan", @@ -167,8 +174,8 @@ }, "omada": { "connectedAp": "Connected APs", - "activeUser": "Active devices", - "alerts": "Alerts", + "activeUser": "Peranti aktif", + "alerts": "Perhatian", "connectedGateway": "Connected gateways", "connectedSwitches": "Connected switches" }, @@ -179,8 +186,8 @@ }, "plex": { "streams": "Strim Aktif", - "albums": "Albums", - "movies": "Movies", + "albums": "Album", + "movies": "Filem", "tv": "Rancangan TV" }, "sabnzbd": { @@ -190,18 +197,18 @@ }, "rutorrent": { "active": "Aktif", - "upload": "Upload", - "download": "Download" + "upload": "Muat naik", + "download": "Muat turun" }, "transmission": { - "download": "Download", - "upload": "Upload", + "download": "Muat turun", + "upload": "Muat naik", "leech": "Leech", "seed": "Seed" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Muat turun", + "upload": "Muat naik", "leech": "Leech", "seed": "Seed" }, @@ -214,21 +221,25 @@ "invalid": "Invalid" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Muat turun", + "upload": "Muat naik", "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { - "download": "Download", - "upload": "Upload", + "download": "Muat turun", + "upload": "Muat naik", "leech": "Leech", "seed": "Seed" }, "sonarr": { "wanted": "Mahu", "queued": "Dibaris Gilir", - "series": "Series", + "series": "Siri", "queue": "Barisan", "unknown": "Tidak Diketahui" }, @@ -236,14 +247,14 @@ "wanted": "Mahu", "missing": "Hilang", "queued": "Dibaris Gilir", - "movies": "Movies", + "movies": "Filem", "queue": "Barisan", "unknown": "Tidak Diketahui" }, "lidarr": { "wanted": "Mahu", "queued": "Dibaris Gilir", - "artists": "Artists" + "artists": "Artis" }, "readarr": { "wanted": "Mahu", @@ -270,7 +281,7 @@ "approved": "Lulus", "available": "Sudah Ada" }, - "pialert": { + "netalertx": { "total": "Jumlah", "connected": "Connected", "new_devices": "New Devices", @@ -289,34 +300,57 @@ "latency": "Kependaman" }, "speedtest": { - "upload": "Upload", - "download": "Download", + "upload": "Muat naik", + "download": "Muat turun", "ping": "Ping" }, "portainer": { - "running": "Running", + "running": "Sedang jalan", "stopped": "Terhenti", "total": "Jumlah" }, + "suwayomi": { + "download": "Telah Muat Turun", + "nondownload": "Non-Downloaded", + "read": "Baca", + "unread": "Belum dibaca", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", "never": "Never", "last_seen": "Last Seen", - "now": "Now", + "now": "Sekarang", "years": "{{number}}y", "weeks": "{{number}}w", "days": "{{number}}d", "hours": "{{number}}h", "minutes": "{{number}}m", "seconds": "{{number}}s", - "ago": "{{value}} Ago" + "ago": "{{value}} Lepas" + }, + "technitium": { + "totalQueries": "Permintaan", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Disekat", + "totalDropped": "Dropped", + "totalClients": "Klien" }, "tdarr": { "queue": "Barisan", - "processed": "Processed", - "errored": "Errored", - "saved": "Saved" + "processed": "Sudah diprosess", + "errored": "Ralat", + "saved": "Simpan" }, "traefik": { "routers": "Router", @@ -353,7 +387,7 @@ }, "jackett": { "configured": "Telah Dikonfigurasi", - "errored": "Errored" + "errored": "Ralat" }, "strelaysrv": { "numActiveSessions": "Sesi", @@ -369,18 +403,18 @@ "medusa": { "wanted": "Mahu", "queued": "Dibaris Gilir", - "series": "Series" + "series": "Siri" }, "minecraft": { - "players": "Players", - "version": "Version", + "players": "Senarai pemain", + "version": "Versi", "status": "Status", - "up": "Online", + "up": "Dalam Talian", "down": "Luar talian" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "Baca", + "unread": "Belum dibaca" }, "authentik": { "users": "Pengguna", @@ -390,36 +424,37 @@ "proxmox": { "mem": "MEM", "cpu": "CPU", - "lxc": "LXC", + "lxc": "LCX", "vms": "Mesin Maya" }, "glances": { "cpu": "CPU", "load": "Beban", "wait": "Sila tunggu", - "temp": "TEMP", - "_temp": "Temp", - "warn": "Warn", - "uptime": "UP", + "temp": "SUHU", + "_temp": "Suhu", + "warn": "Amaran", + "uptime": "HIDUP", "total": "Jumlah", "free": "Bebas", "used": "Telah diguna", - "days": "d", - "hours": "h", - "crit": "Crit", - "read": "Read", - "write": "Write", + "days": "h", + "hours": "j", + "crit": "Krit", + "read": "Baca", + "write": "Tulis", "gpu": "GPU", "mem": "Mem", - "swap": "Swap" + "swap": "Penukaran" }, "quicklaunch": { "bookmark": "Tandabuku", "service": "Servis", - "search": "Search", - "custom": "Custom", - "visit": "Visit", - "url": "URL" + "search": "Carian", + "custom": "Khusus", + "visit": "Lawat", + "url": "URL", + "searchsuggestion": "Cadangan" }, "wmo": { "0-day": "Terik", @@ -486,19 +521,19 @@ "up_to_date": "Terkemaskini", "child_bridges": "Jambatan Anak", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "Hidup", "pending": "Tertunda", - "down": "Down" + "down": "Mati" }, "healthchecks": { - "new": "New", - "up": "Up", - "grace": "In Grace Period", - "down": "Down", - "paused": "Paused", + "new": "Baharu", + "up": "Hidup", + "grace": "Tempoh Aman", + "down": "Mati", + "paused": "Tangguh", "status": "Status", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "Ping terakhir", + "never": "Tiada ping" }, "watchtower": { "containers_scanned": "Terimbas", @@ -520,7 +555,7 @@ "truenas": { "load": "Beban Sistem", "uptime": "Masa Hidup", - "alerts": "Alerts" + "alerts": "Perhatian" }, "pyload": { "speed": "Kelajuan", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Saluran", - "hd": "HD" + "hd": "HD", + "tunerCount": "Penala", + "channelNumber": "Saluran", + "channelNetwork": "Rangkaian", + "signalStrength": "Kekuatan", + "signalQuality": "Kualiti", + "symbolQuality": "Kualiti", + "networkRate": "Kadar bit", + "clientIP": "Klien" }, "scrutiny": { "passed": "Lulus", @@ -547,36 +590,36 @@ "total": "Jumlah" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", - "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "battery_charge": "Bateri dicas", + "ups_load": "Beban UPS", + "ups_status": "Status UPS", + "online": "Dalam Talian", + "on_battery": "Guna bateri", + "low_battery": "Bateri lemah" }, "nextdns": { "wait": "Sila tunggu", - "no_devices": "No Device Data Received" + "no_devices": "Tiada Data Diterima Peranti" }, "mikrotik": { - "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", + "cpuLoad": "Beban CPU", + "memoryUsed": "Penggunaan memori", "uptime": "Masa Hidup", - "numberOfLeases": "Leases" + "numberOfLeases": "Sewaan" }, "xteve": { - "streams_all": "All Streams", + "streams_all": "Semua Strim", "streams_active": "Strim Aktif", - "streams_xepg": "XEPG Channels" + "streams_xepg": "Saluran XEPG" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Hari ini", + "absolutePower": "Kuasa", + "relativePower": "Kuasa %", + "limit": "Had/Batas" }, "opnsense": { - "cpu": "CPU Load", + "cpu": "Beban CPU", "memory": "Active Memory", "wanUpload": "WAN Upload", "wanDownload": "WAN Download" @@ -584,7 +627,7 @@ "moonraker": { "printer_state": "Printer State", "print_status": "Print Status", - "print_progress": "Progress", + "print_progress": "Kemajuan", "layers": "Layers" }, "octoprint": { @@ -601,9 +644,9 @@ "load": "Load Avg", "memory": "Mem Usage", "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", - "temp": "Temp", + "up": "Hidup", + "down": "Mati", + "temp": "Suhu", "disk": "Disk Usage", "wanIP": "WAN IP" }, @@ -615,7 +658,7 @@ }, "immich": { "users": "Pengguna", - "photos": "Photos", + "photos": "Gambar", "videos": "Video", "storage": "Storage" }, @@ -627,14 +670,14 @@ "m": "m" }, "atsumeru": { - "series": "Series", + "series": "Siri", "archives": "Archives", "chapters": "Chapters", - "categories": "Categories" + "categories": "Memori" }, "komga": { "libraries": "Libraries", - "series": "Series", + "series": "Siri", "books": "Buku" }, "diskstation": { @@ -643,20 +686,20 @@ "volumeAvailable": "Sudah Ada" }, "mylar": { - "series": "Series", + "series": "Siri", "issues": "Issues", "wanted": "Mahu" }, "photoprism": { - "albums": "Albums", - "photos": "Photos", + "albums": "Album", + "photos": "Gambar", "videos": "Video", "people": "People" }, "fileflows": { "queue": "Barisan", "processing": "Processing", - "processed": "Processed", + "processed": "Sudah diprosess", "time": "Time" }, "grafana": { @@ -691,34 +734,39 @@ }, "prometheus": { "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_down": "Sasaran Mati", + "targets_total": "Jumlah Sasaran" + }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Masa Hidup" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "Hari ini", + "gross_percent_1y": "Satu tahun", + "gross_percent_max": "Sepanjang masa" }, "audiobookshelf": { - "podcasts": "Podcasts", + "podcasts": "Podkas", "books": "Buku", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcastsDuration": "Tempoh", + "booksDuration": "Tempoh" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Orang Dirumah", + "lights_on": "Hidupkan Lampu", + "switches_on": "Hidupkan Suis" }, "whatsupdocker": { - "monitoring": "Monitoring", + "monitoring": "Pemantauan", "updates": "Kemaskini" }, "calibreweb": { "books": "Buku", - "authors": "Authors", - "categories": "Categories", - "series": "Series" + "authors": "Pengarang/Penulis", + "categories": "Memori", + "series": "Siri" }, "jdownloader": { "downloadCount": "Barisan", @@ -727,81 +775,237 @@ "downloadSpeed": "Kelajuan" }, "kavita": { - "seriesCount": "Series", + "seriesCount": "Siri", "totalFiles": "Files" }, "azuredevops": { - "result": "Result", + "result": "Keputusan", "status": "Status", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", + "buildId": "ID Binaan", + "succeeded": "Berjaya", + "notStarted": "Belum Bermula", "failed": "Gagal", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "canceled": "Dibatalkan", + "inProgress": "Sedang Diproses", + "totalPrs": "Jumlah PR", + "myPrs": "PR Sendiri", "approved": "Lulus" }, "gamedig": { "status": "Status", - "online": "Online", + "online": "Dalam Talian", "offline": "Luar talian", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", - "players": "Players", - "maxPlayers": "Max players", - "bots": "Bots", + "name": "Nama", + "map": "Peta", + "currentPlayers": "Pemain Semasa", + "players": "Senarai pemain", + "maxPlayers": "Bilangan peserta maksimum", + "bots": "Bot", "ping": "Ping" }, "urbackup": { "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "errored": "Ralat", + "noRecent": "Luput tarikh", + "totalUsed": "Storan digunakan" }, "mealie": { - "recipes": "Recipes", + "recipes": "Resipi", "users": "Pengguna", - "categories": "Categories", - "tags": "Tags" + "categories": "Memori", + "tags": "Tanda nama" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Sedang muat turun", "total": "Jumlah", - "running": "Running", + "running": "Sedang jalan", "stopped": "Terhenti", "passed": "Lulus", "failed": "Gagal" }, + "openwrt": { + "uptime": "Masa Hidup", + "cpuLoad": "Purata Beban CPU (5m)", + "up": "Hidup", + "down": "Mati", + "bytesTx": "Terpancar", + "bytesRx": "Diterima" + }, "uptimerobot": { "status": "Status", "uptime": "Masa Hidup", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", + "lastDown": "Masa Mati Terakhir", + "downDuration": "Jangkamasa Kematian", "sitesUp": "Sites Up", "sitesDown": "Sites Down", - "paused": "Paused", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", + "paused": "Tangguh", + "notyetchecked": "Belum Disemak", + "up": "Hidup", + "seemsdown": "Seperti Mati", + "down": "Mati", "unknown": "Tidak Diketahui" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "Di pawagam", + "physicalRelease": "Edaran fizikal", + "digitalRelease": "Edaran digital", + "noEventsToday": "Tiada agenda untuk hari ini!", + "noEventsFound": "Tiada agenda dijumpai" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platform", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domain", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Amaran", + "criticals": "Kritikal" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Gambar", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Adegan", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Filem", + "tags": "Tanda nama", + "oCount": "O Count" + }, + "tandoor": { + "users": "Pengguna", + "recipes": "Resipi", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Lokasi", + "labels": "Labels", + "users": "Pengguna", + "totalValue": "Jumlah nilai" + }, + "crowdsec": { + "alerts": "Perhatian", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Didayakan", + "disabled": "Dinyahdayakan", + "total": "Jumlah" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Muat turun", + "upload": "Muat naik" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Masa Hidup", + "version": "Versi" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tanda nama" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informasi", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nama", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Dalam Talian", + "offline": "Luar talian" + }, + "beszel": { + "name": "Nama", + "systems": "Systems", + "up": "Hidup", + "status": "Status", + "updated": "Dikemaskini", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Sihat", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Hilang", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index c2fac214..60face07 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mnd", "days": "d", "hours": "u", @@ -71,8 +71,8 @@ "tx": "TX", "mem": "GEH", "cpu": "CPU", - "running": "Wordt uitgevoerd", - "offline": "Onbereikbaar", + "running": "Actief", + "offline": "Offline", "error": "Fout", "unknown": "Onbekend", "healthy": "Gezond", @@ -107,6 +107,13 @@ "episodes": "Afleveringen", "songs": "Nummers" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Bereikbaar", + "total": "Totaal", + "unknown": "Onbekend" + }, "evcc": { "pv_power": "Productie", "battery_soc": "Batterij", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Delen" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Goedgekeurd", "available": "Beschikbaar" }, - "pialert": { + "netalertx": { "total": "Totaal", "connected": "Verbonden", "new_devices": "Nieuwe Apparaten", @@ -294,10 +305,20 @@ "ping": "Ping" }, "portainer": { - "running": "Wordt uitgevoerd", + "running": "Actief", "stopped": "Gestopt", "total": "Totaal" }, + "suwayomi": { + "download": "Gedownload", + "nondownload": "Non-Downloaded", + "read": "Gelezen", + "unread": "Ongelezen", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adres", "expires": "Verloopt", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Geleden" }, + "technitium": { + "totalQueries": "Verzoeken", + "totalNoError": "Geslaagd", + "totalServerFailure": "Gefaald", + "totalNxDomain": "NX Domains", + "totalRefused": "Geweigerd", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Gecached", + "totalBlocked": "Geblokkeerd", + "totalDropped": "Dropped", + "totalClients": "Cliรซnten" + }, "tdarr": { "queue": "Wachtrij", "processed": "Verwerkt", @@ -376,7 +410,7 @@ "version": "Versie", "status": "Status", "up": "Bereikbaar", - "down": "Onbereikbaar" + "down": "Offline" }, "miniflux": { "read": "Gelezen", @@ -419,7 +453,8 @@ "search": "Zoek", "custom": "Aangepast", "visit": "Bezoek", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestie" }, "wmo": { "0-day": "Zonnig", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanalen", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Kanaal", + "channelNetwork": "Netwerk", + "signalStrength": "Sterkte", + "signalQuality": "Kwaliteit", + "symbolQuality": "Kwaliteit", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Geslaagd", @@ -694,6 +737,11 @@ "targets_down": "Doelen onbereikbaar", "targets_total": "Totaal aantal doelen" }, + "gatus": { + "up": "Sites Bereikbaar", + "down": "Sites Onbereikbaar", + "uptime": "Online" + }, "ghostfolio": { "gross_percent_today": "Vandaag", "gross_percent_1y": "Een jaar", @@ -746,7 +794,7 @@ "gamedig": { "status": "Status", "online": "Bereikbaar", - "offline": "Onbereikbaar", + "offline": "Offline", "name": "Naam", "map": "Kaart", "currentPlayers": "Huidige spelers", @@ -770,11 +818,19 @@ "openmediavault": { "downloading": "Downloaden", "total": "Totaal", - "running": "Wordt uitgevoerd", + "running": "Actief", "stopped": "Gestopt", "passed": "Geslaagd", "failed": "Gefaald" }, + "openwrt": { + "uptime": "Online", + "cpuLoad": "CPU Load Gem. (5m)", + "up": "Online", + "down": "Offline", + "bytesTx": "Verzonden", + "bytesRx": "Ontvangen" + }, "uptimerobot": { "status": "Status", "uptime": "Online", @@ -797,11 +853,159 @@ "noEventsFound": "Geen gebeurtenissen gevonden" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platformen", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots ", + "totalfilesize": "Totale grootte" + }, + "mailcow": { + "domains": "Domeinen", + "mailboxes": "Mailboxen", + "mails": "Mails", + "storage": "Opslag" }, "netdata": { "warnings": "Waarschuwingen", "criticals": "Kritiek" + }, + "plantit": { + "events": "Gebeurtenissen", + "plants": "Planten", + "photos": "Foto's", + "species": "Soorten" + }, + "gitea": { + "notifications": "Notificaties", + "issues": "Problemen", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scรจnes", + "scenesPlayed": "Afgespeelde scรจnes", + "playCount": "Totaal aantal keer gespeeld", + "playDuration": "Tijd Bekeken", + "sceneSize": "Grootte Scรจnes", + "sceneDuration": "Duur scรจnes", + "images": "Afbeeldingen", + "imageSize": "Afbeeldingsgrootte", + "galleries": "Galerijen", + "performers": "Uitvoerenden", + "studios": "Studio's", + "movies": "Films", + "tags": "Label", + "oCount": "O Aantal" + }, + "tandoor": { + "users": "Gebruikers", + "recipes": "Recepten", + "keywords": "Trefwoorden" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "Met garantie", + "locations": "Locaties", + "labels": "Labels", + "users": "Gebruikers", + "totalValue": "Totale waarde" + }, + "crowdsec": { + "alerts": "Meldingen", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Verbonden", + "enabled": "Ingeschakeld", + "disabled": "Uitgeschakeld", + "total": "Totaal" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Verouderd", + "banned": "Verbannen" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Aandelen", + "loading": "Laden", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Ongeldige configuratie" + }, + "frigate": { + "cameras": "Camera's", + "uptime": "Online", + "version": "Versie" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Label" + }, + "zabbix": { + "unclassified": "Niet geclassificeerd", + "information": "Informatie", + "warning": "Waarschuwingen", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Voertuig", + "vehicles": "Voertuigen", + "serviceRecords": "Service Historie", + "reminders": "Herinneringen", + "nextReminder": "Volgende Herinnering", + "none": "Geen" + }, + "vikunja": { + "projects": "Actieve Projecten", + "tasks7d": "Taken Die Deze Week Af Moeten Zijn", + "tasksOverdue": "Achterstallige Taken", + "tasksInProgress": "Taken In Uitvoering" + }, + "headscale": { + "name": "Naam", + "address": "Adres", + "last_seen": "Laatst Gezien", + "status": "Status", + "online": "Bereikbaar", + "offline": "Offline" + }, + "beszel": { + "name": "Naam", + "systems": "Systems", + "up": "Online", + "status": "Status", + "updated": "Bijgewerkt", + "cpu": "CPU", + "memory": "GEH", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Gezond", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Ontbreekt", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Laden" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemen", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/no/common.json b/public/locales/no/common.json index ca628d3b..f987aadb 100644 --- a/public/locales/no/common.json +++ b/public/locales/no/common.json @@ -13,297 +13,318 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mnd", "days": "d", - "hours": "h", + "hours": "t", "minutes": "m", "seconds": "s" }, "widget": { - "missing_type": "Missing Widget Type: {{type}}", - "api_error": "API Error", - "information": "Information", + "missing_type": "Manglende Widget Type: {{type}}", + "api_error": "API-feil", + "information": "Informasjon", "status": "Status", - "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "url": "Nettadresse", + "raw_error": "Rรฅ feil", + "response_data": "Responsdata" }, "weather": { - "current": "Current Location", - "allow": "Click to allow", - "updating": "Updating", - "wait": "Please wait" + "current": "Gjeldende posisjon", + "allow": "Trykk for รฅ tillate", + "updating": "Oppdaterer", + "wait": "Vennligst vent" }, "search": { - "placeholder": "Searchโ€ฆ" + "placeholder": "Sรธkโ€ฆ" }, "resources": { "cpu": "CPU", "mem": "MEM", - "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load", + "total": "Totalt", + "free": "Ledig", + "used": "Brukt", + "load": "Last", "temp": "TEMP", - "max": "Max", - "uptime": "UP" + "max": "Maks", + "uptime": "OPP" }, "unifi": { - "users": "Users", - "uptime": "Uptime", - "days": "Days", + "users": "Brukere", + "uptime": "Oppetid", + "days": "Dager", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", - "up": "UP", - "down": "DOWN", - "wait": "Please wait", - "empty_data": "Subsystem status unknown" + "devices": "Enheter", + "lan_devices": "LAN-enheter", + "wlan_devices": "WLAN-enheter", + "lan_users": "LAN Brukere", + "wlan_users": "WLAN Brukere", + "up": "OPP", + "down": "NEDE", + "wait": "Vennligst vent", + "empty_data": "Ukjent undersystemstatus" }, "docker": { "rx": "RX", "tx": "TX", "mem": "MEM", "cpu": "CPU", - "running": "Running", - "offline": "Offline", - "error": "Error", - "unknown": "Unknown", - "healthy": "Healthy", - "starting": "Starting", - "unhealthy": "Unhealthy", + "running": "Kjรธrer", + "offline": "Frakoblet", + "error": "Feil", + "unknown": "Ukjent", + "healthy": "Friskt", + "starting": "Starter", + "unhealthy": "Usunn", "not_found": "Not Found", "exited": "Exited", - "partial": "Partial" + "partial": "Delvis" }, "ping": { - "error": "Error", - "ping": "Ping", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "error": "Feil", + "ping": "Responstid", + "down": "Nede", + "up": "Oppe", + "not_available": "Ikke tilgjengelig" }, "siteMonitor": { "http_status": "HTTP status", - "error": "Error", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "error": "Feil", + "response": "Svar", + "down": "Nede", + "up": "Oppe", + "not_available": "Ikke tilgjengelig" }, "emby": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Spiller", + "transcoding": "Transkoding", "bitrate": "Bitrate", - "no_active": "No Active Streams", - "movies": "Movies", - "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "no_active": "Ingen aktive strรธmminger", + "movies": "Film", + "series": "Serie", + "episodes": "Episoder", + "songs": "Sanger" + }, + "esphome": { + "offline": "Frakoblet", + "offline_alt": "Frakoblet", + "online": "Pรฅ nett", + "total": "Totalt", + "unknown": "Ukjent" }, "evcc": { - "pv_power": "Production", - "battery_soc": "Battery", - "grid_power": "Grid", - "home_power": "Consumption", - "charge_power": "Charger", - "watt_hour": "Wh" + "pv_power": "Produksjon", + "battery_soc": "Batteri", + "grid_power": "Nett", + "home_power": "Forbruk", + "charge_power": "Lader", + "watt_hour": "W/t" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Last ned", + "upload": "Opplastning", "leech": "Leech", "seed": "Seed" }, "freshrss": { - "subscriptions": "Subscriptions", - "unread": "Unread" + "subscriptions": "Abonnementer", + "unread": "Ulest" }, "fritzbox": { "connectionStatus": "Status", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", - "uptime": "Uptime", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "connectionStatusUnconfigured": "Ikke konfigurert", + "connectionStatusConnecting": "Kobler til", + "connectionStatusAuthenticating": "Autentisering", + "connectionStatusPendingDisconnect": "Venter pรฅ frakobling", + "connectionStatusDisconnecting": "Kobler fra", + "connectionStatusDisconnected": "Frakoblet", + "connectionStatusConnected": "Tilkoblet", + "uptime": "Oppetid", + "maxDown": "Maks. Ned", + "maxUp": "Max. Opp", + "down": "Nede", + "up": "Oppe", + "received": "Mottatt", + "sent": "Sendt", + "externalIPAddress": "Ekstern IP" }, "caddy": { - "upstreams": "Upstreams", - "requests": "Current requests", - "requests_failed": "Failed requests" + "upstreams": "Oppstrรธms", + "requests": "Aktuelle forespรธrsler", + "requests_failed": "Mislykkede forespรธrsler" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Totalt sett", + "diffsDetected": "Diffs oppdaget" }, "channelsdvrserver": { "shows": "Shows", - "recordings": "Recordings", - "scheduled": "Scheduled", - "passes": "Passes" + "recordings": "Opptak", + "scheduled": "Tidsplan", + "passes": "Pasninger" }, "tautulli": { - "playing": "Playing", - "transcoding": "Transcoding", + "playing": "Spiller", + "transcoding": "Transkoding", "bitrate": "Bitrate", - "no_active": "No Active Streams", - "plex_connection_error": "Check Plex Connection" + "no_active": "Ingen aktive strรธmminger", + "plex_connection_error": "Kontroller Plex tilkoblingen" }, "omada": { - "connectedAp": "Connected APs", - "activeUser": "Active devices", - "alerts": "Alerts", - "connectedGateway": "Connected gateways", - "connectedSwitches": "Connected switches" + "connectedAp": "Tilkoblede AP'er", + "activeUser": "Aktive enheter", + "alerts": "Varsler", + "connectedGateway": "Tilkoblede gateways", + "connectedSwitches": "Tilkoblede switcher" }, "nzbget": { - "rate": "Rate", - "remaining": "Remaining", - "downloaded": "Downloaded" + "rate": "Ranger", + "remaining": "Gjenstรฅende", + "downloaded": "Nedlastede" }, "plex": { - "streams": "Active Streams", - "albums": "Albums", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Aktive strรธmmninger", + "albums": "Album", + "movies": "Film", + "tv": "TV serier" }, "sabnzbd": { - "rate": "Rate", - "queue": "Queue", - "timeleft": "Time Left" + "rate": "Ranger", + "queue": "Kรธ", + "timeleft": "Gjenstรฅende tid" }, "rutorrent": { - "active": "Active", - "upload": "Upload", - "download": "Download" + "active": "Aktiv", + "upload": "Opplastning", + "download": "Last ned" }, "transmission": { - "download": "Download", - "upload": "Upload", + "download": "Last ned", + "upload": "Opplastning", "leech": "Leech", "seed": "Seed" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Last ned", + "upload": "Opplastning", "leech": "Leech", "seed": "Seed" }, "qnap": { - "cpuUsage": "CPU Usage", - "memUsage": "MEM Usage", - "systemTempC": "System Temp", - "poolUsage": "Pool Usage", - "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "cpuUsage": "CPU Bruk", + "memUsage": "Minnebruk", + "systemTempC": "System temp", + "poolUsage": "Pool Bruk", + "volumeUsage": "Volumbruk", + "invalid": "Ugyldig" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Last ned", + "upload": "Opplastning", "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { - "download": "Download", - "upload": "Upload", + "download": "Last ned", + "upload": "Opplastning", "leech": "Leech", "seed": "Seed" }, "sonarr": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series", - "queue": "Queue", - "unknown": "Unknown" + "wanted": "ร˜nsket", + "queued": "Ventende", + "series": "Serie", + "queue": "Kรธ", + "unknown": "Ukjent" }, "radarr": { - "wanted": "Wanted", - "missing": "Missing", - "queued": "Queued", - "movies": "Movies", - "queue": "Queue", - "unknown": "Unknown" + "wanted": "ร˜nsket", + "missing": "Mangler", + "queued": "Ventende", + "movies": "Film", + "queue": "Kรธ", + "unknown": "Ukjent" }, "lidarr": { - "wanted": "Wanted", - "queued": "Queued", - "artists": "Artists" + "wanted": "ร˜nsket", + "queued": "Ventende", + "artists": "Artister" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "ร˜nsket", + "queued": "Ventende", + "books": "Bรธker" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Manglende episoder", + "missingMovies": "Manglende filmer" }, "ombi": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Ventende", + "approved": "Godkjent", + "available": "Tilgjengelig" }, "jellyseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Ventende", + "approved": "Godkjent", + "available": "Tilgjengelig" }, "overseerr": { - "pending": "Pending", - "processing": "Processing", - "approved": "Approved", - "available": "Available" + "pending": "Ventende", + "processing": "Behandler", + "approved": "Godkjent", + "available": "Tilgjengelig" }, - "pialert": { - "total": "Total", - "connected": "Connected", - "new_devices": "New Devices", + "netalertx": { + "total": "Totalt", + "connected": "Tilkoblet", + "new_devices": "Nye enheter", "down_alerts": "Down Alerts" }, "pihole": { - "queries": "Queries", - "blocked": "Blocked", - "blocked_percent": "Blocked %", - "gravity": "Gravity" + "queries": "Spรธrringer", + "blocked": "Blokkert", + "blocked_percent": "Blokkert %", + "gravity": "Gravitasjon" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Spรธrringer", + "blocked": "Blokkert", + "filtered": "Filtrert", + "latency": "Responstid" }, "speedtest": { - "upload": "Upload", - "download": "Download", - "ping": "Ping" + "upload": "Opplastning", + "download": "Last ned", + "ping": "Responstid" }, "portainer": { - "running": "Running", - "stopped": "Stopped", - "total": "Total" + "running": "Kjรธrer", + "stopped": "Stoppet", + "total": "Totalt" + }, + "suwayomi": { + "download": "Nedlastede", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Ulest", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" }, "tailscale": { - "address": "Address", - "expires": "Expires", - "never": "Never", - "last_seen": "Last Seen", - "now": "Now", + "address": "Adresse", + "expires": "Utgรฅr", + "never": "Aldri", + "last_seen": "Sist sett", + "now": "Nรฅ", "years": "{{number}}y", "weeks": "{{number}}w", "days": "{{number}}d", @@ -312,80 +333,93 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Spรธrringer", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blokkert", + "totalDropped": "Dropped", + "totalClients": "Klienter" + }, "tdarr": { - "queue": "Queue", - "processed": "Processed", - "errored": "Errored", - "saved": "Saved" + "queue": "Kรธ", + "processed": "Behandlet", + "errored": "Feilet", + "saved": "Lagret" }, "traefik": { - "routers": "Routers", - "services": "Services", - "middleware": "Middleware" + "routers": "Rutere", + "services": "Tjenester", + "middleware": "Mellomvare" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Ingen aktive strรธmminger", + "please_wait": "Vennligst vent" }, "npm": { - "enabled": "Enabled", - "disabled": "Disabled", - "total": "Total" + "enabled": "Aktivert", + "disabled": "Deaktivert", + "total": "Totalt" }, "coinmarketcap": { - "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "1day": "1 Day", - "7days": "7 Days", - "30days": "30 Days" + "configure": "Konfigurer รฉn eller flere krypteringsvalutaer som skal spores", + "1hour": "ร‰n time", + "1day": "ร‰n dag", + "7days": "7 dager", + "30days": "30 dager" }, "gotify": { - "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "apps": "Applikasjoner", + "clients": "Klienter", + "messages": "Meldinger" }, "prowlarr": { - "enableIndexers": "Indexers", - "numberOfGrabs": "Grabs", - "numberOfQueries": "Queries", - "numberOfFailGrabs": "Fail Grabs", - "numberOfFailQueries": "Fail Queries" + "enableIndexers": "Indeksere", + "numberOfGrabs": "Tatt", + "numberOfQueries": "Spรธrringer", + "numberOfFailGrabs": "Feil ved henting", + "numberOfFailQueries": "Spรธrring mislyktes" }, "jackett": { - "configured": "Configured", - "errored": "Errored" + "configured": "Konfigurert", + "errored": "Feilet" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "numConnections": "Connections", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "numActiveSessions": "Sesjoner", + "numConnections": "Tilkoblinger", + "dataRelayed": "Videresendt", + "transferRate": "Ranger" }, "mastodon": { - "user_count": "Users", - "status_count": "Posts", - "domain_count": "Domains" + "user_count": "Brukere", + "status_count": "Innlegg", + "domain_count": "Domener" }, "medusa": { - "wanted": "Wanted", - "queued": "Queued", - "series": "Series" + "wanted": "ร˜nsket", + "queued": "Ventende", + "series": "Serie" }, "minecraft": { - "players": "Players", - "version": "Version", + "players": "Spillere", + "version": "Versjon", "status": "Status", - "up": "Online", - "down": "Offline" + "up": "Pรฅ nett", + "down": "Frakoblet" }, "miniflux": { "read": "Read", - "unread": "Unread" + "unread": "Ulest" }, "authentik": { - "users": "Users", + "users": "Brukere", "loginsLast24H": "Logins (24h)", - "failedLoginsLast24H": "Failed Logins (24h)" + "failedLoginsLast24H": "Mislykket innlogginger (24t)" }, "proxmox": { "mem": "MEM", @@ -395,202 +429,211 @@ }, "glances": { "cpu": "CPU", - "load": "Load", - "wait": "Please wait", + "load": "Last", + "wait": "Vennligst vent", "temp": "TEMP", "_temp": "Temp", - "warn": "Warn", - "uptime": "UP", - "total": "Total", - "free": "Free", - "used": "Used", + "warn": "Advarsel", + "uptime": "OPP", + "total": "Totalt", + "free": "Ledig", + "used": "Brukt", "days": "d", - "hours": "h", + "hours": "t", "crit": "Crit", "read": "Read", - "write": "Write", + "write": "Skriv", "gpu": "GPU", "mem": "Mem", "swap": "Swap" }, "quicklaunch": { - "bookmark": "Bookmark", - "service": "Service", - "search": "Search", - "custom": "Custom", - "visit": "Visit", - "url": "URL" + "bookmark": "Bokmerke", + "service": "Tjeneste", + "search": "Sรธk", + "custom": "Egendefinert", + "visit": "Besรธk", + "url": "Nettadresse", + "searchsuggestion": "Forslag" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", - "51-day": "Light Drizzle", - "51-night": "Light Drizzle", - "53-day": "Drizzle", - "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "0-day": "Solfylt", + "0-night": "Klart", + "1-day": "Lettskyet", + "1-night": "Lettskyet", + "2-day": "Delvis skyet", + "2-night": "Delvis skyet", + "3-day": "Skyet", + "3-night": "Skyet", + "45-day": "Tรฅke", + "45-night": "Tรฅke", + "48-day": "Tรฅke", + "48-night": "Tรฅke", + "51-day": "Lett yr", + "51-night": "Lett yr", + "53-day": "Yr", + "53-night": "Yr", + "55-day": "Tungt Regn", + "55-night": "Tungt Regn", + "56-day": "Lett underkjรธlt regn", + "56-night": "Lett underkjรธlt regn", + "57-day": "Underkjรธlt Regn", + "57-night": "Underkjรธlt Regn", + "61-day": "Lett regn", + "61-night": "Lett regn", + "63-day": "Regn", + "63-night": "Regn", + "65-day": "Kraftig regn", + "65-night": "Kraftig regn", + "66-day": "Underkjรธlt regn", + "66-night": "Underkjรธlt regn", + "67-day": "Underkjรธlt regn", + "67-night": "Underkjรธlt regn", + "71-day": "Lett snรธvรฆr", + "71-night": "Lett snรธvรฆr", + "73-day": "Snรธ", + "73-night": "Snรธ", + "75-day": "Tett snรธ", + "75-night": "Tett snรธ", + "77-day": "Snรธkorn", + "77-night": "Snรธkorn", + "80-day": "Lette Regnbyger", + "80-night": "Lette Regnbyger", + "81-day": "Regnbyger", + "81-night": "Regnbyger", + "82-day": "Tunge regnbyger", + "82-night": "Tunge regnbyger", + "85-day": "Snรธbyger", + "85-night": "Snรธbyger", + "86-day": "Snรธbyger", + "86-night": "Snรธbyger", + "95-day": "Tordenbyger", + "95-night": "Tordenbyger", + "96-day": "Tordenvรฆr med hagl", + "96-night": "Tordenvรฆr med hagl", + "99-day": "Tordenvรฆr med hagl", + "99-night": "Tordenvรฆr med hagl" }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", - "up_to_date": "Up to Date", + "updates": "Oppdateringer", + "update_available": "Oppdatering tilgjengelig", + "up_to_date": "Oppdatert", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", - "pending": "Pending", - "down": "Down" + "up": "Oppe", + "pending": "Ventende", + "down": "Nede" }, "healthchecks": { - "new": "New", - "up": "Up", - "grace": "In Grace Period", - "down": "Down", - "paused": "Paused", + "new": "Ny", + "up": "Oppe", + "grace": "I rammeperiode", + "down": "Nede", + "paused": "Pauset", "status": "Status", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "Siste Ping", + "never": "Ingen ping ennรฅ" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Skannet", + "containers_updated": "Oppdatert", + "containers_failed": "Mislyktes" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Godkjent", + "rejectedPushes": "Avvist", + "filters": "Filtre", + "indexers": "Indeksere" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Kรธ", + "videos": "Videoer", + "channels": "Kanal", + "playlists": "Spillelister" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts" + "load": "Last pรฅ systemet", + "uptime": "Oppetid", + "alerts": "Varsler" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Hastighet", + "active": "Aktiv", + "queue": "Kรธ", + "total": "Totalt" }, "gluetun": { - "public_ip": "Public IP", + "public_ip": "Offentlig IP", "region": "Region", - "country": "Country" + "country": "Land" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "Kanal", + "hd": "HD", + "tunerCount": "Tunere", + "channelNumber": "Kanal", + "channelNetwork": "Nettverk", + "signalStrength": "Styrke", + "signalQuality": "Kvalitet", + "symbolQuality": "Kvalitet", + "networkRate": "Bitrate", + "clientIP": "Klient" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Bestรฅtt", + "failed": "Mislyktes", + "unknown": "Ukjent" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Innboks", + "total": "Totalt" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", - "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "battery_charge": "Batteriladning", + "ups_load": "UPS last", + "ups_status": "UPS status", + "online": "Pรฅ nett", + "on_battery": "Pรฅ batteri", + "low_battery": "Lavt batterinivรฅ" }, "nextdns": { - "wait": "Please Wait", - "no_devices": "No Device Data Received" + "wait": "Vennligst vent", + "no_devices": "Ingen enhetsdata mottatt" }, "mikrotik": { - "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", - "uptime": "Uptime", + "cpuLoad": "Prosessorbelastning", + "memoryUsed": "Minne brukt", + "uptime": "Oppetid", "numberOfLeases": "Leases" }, "xteve": { - "streams_all": "All Streams", - "streams_active": "Active Streams", - "streams_xepg": "XEPG Channels" + "streams_all": "Alle strรธmminger", + "streams_active": "Aktive strรธmmninger", + "streams_xepg": "XEPG Kanaler" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Idag", + "absolutePower": "Effekt", + "relativePower": "Effekt %", + "limit": "Grense" }, "opnsense": { - "cpu": "CPU Load", - "memory": "Active Memory", - "wanUpload": "WAN Upload", - "wanDownload": "WAN Download" + "cpu": "Prosessorbelastning", + "memory": "Aktiv minne", + "wanUpload": "WAN Opplasting", + "wanDownload": "WAN Nedlasting" }, "moonraker": { - "printer_state": "Printer State", + "printer_state": "Skriver tilstand", "print_status": "Print Status", - "print_progress": "Progress", - "layers": "Layers" + "print_progress": "Progresjon", + "layers": "Lag" }, "octoprint": { "printer_state": "Status", - "temp_tool": "Tool temp", - "temp_bed": "Bed temp", + "temp_tool": "Verktรธy temperatur", + "temp_bed": "Seng temperatur", "job_completion": "Completion" }, "cloudflared": { @@ -601,8 +644,8 @@ "load": "Load Avg", "memory": "Mem Usage", "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", + "up": "Oppe", + "down": "Nede", "temp": "Temp", "disk": "Disk Usage", "wanIP": "WAN IP" @@ -614,49 +657,49 @@ "memory_usage": "Memory" }, "immich": { - "users": "Users", + "users": "Brukere", "photos": "Photos", - "videos": "Videos", - "storage": "Storage" + "videos": "Videoer", + "storage": "Lagring" }, "uptimekuma": { - "up": "Sites Up", + "up": "Nettsteder opp", "down": "Sites Down", - "uptime": "Uptime", + "uptime": "Oppetid", "incident": "Incident", "m": "m" }, "atsumeru": { - "series": "Series", + "series": "Serie", "archives": "Archives", "chapters": "Chapters", "categories": "Categories" }, "komga": { "libraries": "Libraries", - "series": "Series", - "books": "Books" + "series": "Serie", + "books": "Bรธker" }, "diskstation": { - "days": "Days", - "uptime": "Uptime", - "volumeAvailable": "Available" + "days": "Dager", + "uptime": "Oppetid", + "volumeAvailable": "Tilgjengelig" }, "mylar": { - "series": "Series", + "series": "Serie", "issues": "Issues", - "wanted": "Wanted" + "wanted": "ร˜nsket" }, "photoprism": { - "albums": "Albums", + "albums": "Album", "photos": "Photos", - "videos": "Videos", + "videos": "Videoer", "people": "People" }, "fileflows": { - "queue": "Queue", - "processing": "Processing", - "processed": "Processed", + "queue": "Kรธ", + "processing": "Behandler", + "processed": "Behandlet", "time": "Time" }, "grafana": { @@ -678,130 +721,291 @@ "size": "Size", "lastrun": "Last Run", "nextrun": "Next Run", - "failed": "Failed" + "failed": "Mislyktes" }, "unmanic": { "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "total_workers": "Totalt antall Arbeidere", + "records_total": "Kรธ lengde" }, "pterodactyl": { - "servers": "Servers", - "nodes": "Nodes" + "servers": "Servere", + "nodes": "Noder" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "Mรฅl oppe", + "targets_down": "Mรฅl nede", + "targets_total": "Totalt antall mรฅl" + }, + "gatus": { + "up": "Nettsteder opp", + "down": "Sites Down", + "uptime": "Oppetid" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "Idag", + "gross_percent_1y": "Ett รฅr", + "gross_percent_max": "Gjennom tidene" }, "audiobookshelf": { - "podcasts": "Podcasts", - "books": "Books", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcasts": "Podkaster", + "books": "Bรธker", + "podcastsDuration": "Varighet", + "booksDuration": "Varighet" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Personer hjemme", + "lights_on": "Lys pรฅ", + "switches_on": "Slรฅr Pรฅ" }, "whatsupdocker": { - "monitoring": "Monitoring", - "updates": "Updates" + "monitoring": "Overvรฅker", + "updates": "Oppdateringer" }, "calibreweb": { - "books": "Books", - "authors": "Authors", + "books": "Bรธker", + "authors": "Forfattere", "categories": "Categories", - "series": "Series" + "series": "Serie" }, "jdownloader": { - "downloadCount": "Queue", - "downloadBytesRemaining": "Remaining", + "downloadCount": "Kรธ", + "downloadBytesRemaining": "Gjenstรฅende", "downloadTotalBytes": "Size", - "downloadSpeed": "Speed" + "downloadSpeed": "Hastighet" }, "kavita": { - "seriesCount": "Series", + "seriesCount": "Serie", "totalFiles": "Files" }, "azuredevops": { - "result": "Result", + "result": "Resultat", "status": "Status", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", - "failed": "Failed", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", - "approved": "Approved" + "buildId": "Produksjons ID", + "succeeded": "Vellykket", + "notStarted": "Ikke startet", + "failed": "Mislyktes", + "canceled": "Avbrutt", + "inProgress": "Pรฅgรฅende", + "totalPrs": "Totalt PR-er", + "myPrs": "Mine PR'er", + "approved": "Godkjent" }, "gamedig": { "status": "Status", - "online": "Online", - "offline": "Offline", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", - "players": "Players", - "maxPlayers": "Max players", + "online": "Pรฅ nett", + "offline": "Frakoblet", + "name": "Navn", + "map": "Kart", + "currentPlayers": "Aktuelle spillere", + "players": "Spillere", + "maxPlayers": "Maks spillere", "bots": "Bots", - "ping": "Ping" + "ping": "Responstid" }, "urbackup": { "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "errored": "Feil", + "noRecent": "Utdatert", + "totalUsed": "Brukt lagringsplass" }, "mealie": { - "recipes": "Recipes", - "users": "Users", + "recipes": "Oppskrifter", + "users": "Brukere", "categories": "Categories", - "tags": "Tags" + "tags": "Stikkord" }, "openmediavault": { - "downloading": "Downloading", - "total": "Total", - "running": "Running", - "stopped": "Stopped", - "passed": "Passed", - "failed": "Failed" + "downloading": "Nedlaster", + "total": "Totalt", + "running": "Kjรธrer", + "stopped": "Stoppet", + "passed": "Bestรฅtt", + "failed": "Mislyktes" + }, + "openwrt": { + "uptime": "Oppetid", + "cpuLoad": "CPU-belastning snitt (5m)", + "up": "Oppe", + "down": "Nede", + "bytesTx": "Sendt", + "bytesRx": "Mottatt" }, "uptimerobot": { "status": "Status", - "uptime": "Uptime", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", - "sitesUp": "Sites Up", + "uptime": "Oppetid", + "lastDown": "Siste nedetid", + "downDuration": "Varighet pรฅ nedetid", + "sitesUp": "Nettsteder opp", "sitesDown": "Sites Down", - "paused": "Paused", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", - "unknown": "Unknown" + "paused": "Pauset", + "notyetchecked": "Ikke sjekket enda", + "up": "Oppe", + "seemsdown": "Virker nede", + "down": "Nede", + "unknown": "Ukjent" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "Pรฅ Kino", + "physicalRelease": "Fysisk utslipp", + "digitalRelease": "Digital utgivelse", + "noEventsToday": "Ingen hendelser for i dag!", + "noEventsFound": "Ingen hendelser funnet" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plattformer", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domener", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Lagring" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Advarsler", + "criticals": "Kritiske" + }, + "plantit": { + "events": "Begivenheter", + "plants": "Planter", + "photos": "Photos", + "species": "Arter" + }, + "gitea": { + "notifications": "Varslinger", + "issues": "Issues", + "pulls": "Forespรธrsel" + }, + "stash": { + "scenes": "Scener", + "scenesPlayed": "Scener avspilt", + "playCount": "Totalt Spillt", + "playDuration": "Tid Sett", + "sceneSize": "Scenesstรธrrelse", + "sceneDuration": "Scener Varighet", + "images": "Bilder", + "imageSize": "Bildestรธrrelse", + "galleries": "Gallerier", + "performers": "Utรธvere", + "studios": "Studios", + "movies": "Film", + "tags": "Stikkord", + "oCount": "O antall" + }, + "tandoor": { + "users": "Brukere", + "recipes": "Oppskrifter", + "keywords": "Nรธkkelord" + }, + "homebox": { + "items": "Enheter", + "totalWithWarranty": "Med garanti", + "locations": "Posisjon", + "labels": "Etiketter", + "users": "Brukere", + "totalValue": "Totalverdi" + }, + "crowdsec": { + "alerts": "Varsler", + "bans": "Utestengelse" + }, + "wgeasy": { + "connected": "Tilkoblet", + "enabled": "Aktivert", + "disabled": "Deaktivert", + "total": "Totalt" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Responstid", + "download": "Last ned", + "upload": "Opplastning" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Oppetid", + "version": "Versjon" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Stikkord" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informasjon", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Navn", + "address": "Adresse", + "last_seen": "Sist sett", + "status": "Status", + "online": "Pรฅ nett", + "offline": "Frakoblet" + }, + "beszel": { + "name": "Navn", + "systems": "Systems", + "up": "Oppe", + "status": "Status", + "updated": "Oppdatert", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Friskt", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Mangler", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index f6e6dca4..0d14325c 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -13,10 +13,10 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mc", "days": "d", - "hours": "h", + "hours": "g", "minutes": "m", "seconds": "s" }, @@ -40,7 +40,7 @@ }, "resources": { "cpu": "Procesor", - "mem": "PAM", + "mem": "RAM", "total": "Caล‚kowite", "free": "Wolne", "used": "Uลผyte", @@ -53,9 +53,9 @@ "users": "Uลผytkownicy", "uptime": "Czas dziaล‚ania", "days": "Dni", - "wan": "Sieฤ‡ WAN", - "lan": "Sieฤ‡ LAN", - "wlan": "Sieฤ‡ WLAN", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", "devices": "Urzฤ…dzenia", "lan_devices": "Urzฤ…dzenia LAN", "wlan_devices": "Urzฤ…dzenia WLAN", @@ -64,23 +64,23 @@ "up": "CZAS", "down": "Pobieranie", "wait": "Proszฤ™ czekaฤ‡", - "empty_data": "Nieznany stan" + "empty_data": "Status podsystemu nieznany" }, "docker": { "rx": "Rx", "tx": "Tx", - "mem": "PAM", + "mem": "RAM", "cpu": "Procesor", "running": "Dziaล‚a", "offline": "Nieosiฤ…galny", "error": "Bล‚ฤ…d", "unknown": "Nieznany", "healthy": "Zdrowy", - "starting": "Rozpoczynanie", - "unhealthy": "Niezdrowe", + "starting": "Uruchamianie", + "unhealthy": "Niezdrowy", "not_found": "Nie znaleziono", - "exited": "Zakoล„czone", - "partial": "Czฤ™ล›ciowe" + "exited": "Zakoล„czony", + "partial": "Czฤ™ล›ciowy" }, "ping": { "error": "Bล‚ฤ…d", @@ -107,6 +107,13 @@ "episodes": "Odcinki", "songs": "Piosenki" }, + "esphome": { + "offline": "Nieosiฤ…galny", + "offline_alt": "Nieosiฤ…galny", + "online": "Dostฤ™pny", + "total": "Caล‚kowite", + "unknown": "Nieznany" + }, "evcc": { "pv_power": "Produkcja", "battery_soc": "Bateria", @@ -130,18 +137,18 @@ "connectionStatusUnconfigured": "Nieskonfigurowane", "connectionStatusConnecting": "ลฤ…czenie", "connectionStatusAuthenticating": "Uwierzytelnianie", - "connectionStatusPendingDisconnect": "Pending Disconnect", + "connectionStatusPendingDisconnect": "Oczekujฤ…ce rozล‚ฤ…czenie", "connectionStatusDisconnecting": "Rozล‚ฤ…czanie", "connectionStatusDisconnected": "Rozล‚ฤ…czono", - "connectionStatusConnected": "Poล‚ฤ…czony", + "connectionStatusConnected": "Poล‚ฤ…czono", "uptime": "Czas dziaล‚ania", - "maxDown": "Max. Down", - "maxUp": "Max. Up", + "maxDown": "Maks. Pobieranie", + "maxUp": "Maks. Wysyล‚anie", "down": "Niedostฤ™pny", "up": "Dostฤ™pny", "received": "Odebrane", "sent": "Wysล‚ane", - "externalIPAddress": "Ext. IP" + "externalIPAddress": "Pub. IP" }, "caddy": { "upstreams": "Upstreams", @@ -149,12 +156,12 @@ "requests_failed": "Nieudane zapytania" }, "changedetectionio": { - "totalObserved": "Obserwowanych ogรณล‚em", - "diffsDetected": "Wykryto rรณลผnic" + "totalObserved": "ลฤ…cznie obserwowanych", + "diffsDetected": "Wykrytych rรณลผnic" }, "channelsdvrserver": { "shows": "Seriale", - "recordings": "Nagrywanie", + "recordings": "Nagrania", "scheduled": "W kolejce", "passes": "Przebiegi" }, @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Trafienia w cache'u", + "cachemissbytes": "Straty cache'u" + }, "downloadstation": { "download": "Pobieranie", "upload": "Wysyล‚anie", @@ -270,11 +281,11 @@ "approved": "Zaakceptowane", "available": "Dostฤ™pne" }, - "pialert": { + "netalertx": { "total": "Caล‚kowite", - "connected": "Poล‚ฤ…czony", + "connected": "Poล‚ฤ…czono", "new_devices": "Nowe urzฤ…dzenia", - "down_alerts": "Powiadomienia o niedostฤ™pnoล›ci" + "down_alerts": "Alerty niedostฤ™pnoล›ci" }, "pihole": { "queries": "Zapytania", @@ -298,6 +309,16 @@ "stopped": "Zatrzymane", "total": "Caล‚kowite" }, + "suwayomi": { + "download": "Pobrano", + "nondownload": "Non-Downloaded", + "read": "Przeczytane", + "unread": "Nieprzeczytane", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adres", "expires": "Wygasa za", @@ -312,6 +333,19 @@ "seconds": "{{number}}sekund", "ago": "{{value}} temu" }, + "technitium": { + "totalQueries": "Zapytania", + "totalNoError": "Sukces", + "totalServerFailure": "Poraลผki", + "totalNxDomain": "Domeny NX", + "totalRefused": "Odrzucone", + "totalAuthoritative": "Autorytatywne", + "totalRecursive": "Rekursywne", + "totalCached": "Zbuforowane", + "totalBlocked": "Zablokowane", + "totalDropped": "Upuszczone", + "totalClients": "Klienci" + }, "tdarr": { "queue": "Kolejka", "processed": "Przetworzone", @@ -388,7 +422,7 @@ "failedLoginsLast24H": "Nieudane logowania (24h)" }, "proxmox": { - "mem": "PAM", + "mem": "RAM", "cpu": "Procesor", "lxc": "Kontenery LXC", "vms": "Maszyn wirtualnych" @@ -405,8 +439,8 @@ "free": "Wolne", "used": "Uลผyte", "days": "d", - "hours": "h", - "crit": "Crit", + "hours": "g", + "crit": "Krytyczyny", "read": "Przeczytane", "write": "Zapis", "gpu": "Karta graficzna", @@ -419,7 +453,8 @@ "search": "Wyszukaj", "custom": "Niestandardowe", "visit": "Odwiedลบ", - "url": "Adres URL" + "url": "Adres URL", + "searchsuggestion": "Sugestia" }, "wmo": { "0-day": "Sล‚oneczny", @@ -438,8 +473,8 @@ "51-night": "Lekka mลผawka", "53-day": "Mลผawka", "53-night": "Mลผawka", - "55-day": "Ciฤ™ลผka mลผawka", - "55-night": "Ciฤ™ลผka mลผawka", + "55-day": "Gฤ™sta mลผawka", + "55-night": "Gฤ™sta mลผawka", "56-day": "Lekko chล‚odna mลผawka", "56-night": "Lekko chล‚odna mลผawka", "57-day": "Chล‚odna mลผawka", @@ -484,7 +519,7 @@ "updates": "Aktualizacje", "update_available": "Dostฤ™pna aktualizacja", "up_to_date": "Aktualny", - "child_bridges": "Child Bridges", + "child_bridges": "Mostki podrzฤ™dne", "child_bridges_status": "{{ok}}/{{total}}", "up": "Dostฤ™pny", "pending": "Oczekiwane", @@ -493,12 +528,12 @@ "healthchecks": { "new": "Nowy", "up": "Dostฤ™pny", - "grace": "In Grace Period", + "grace": "W okresie karencji", "down": "Niedostฤ™pny", "paused": "Zatrzymane", "status": "Stan", "last_ping": "Ostatni ping", - "never": "No pings yet" + "never": "Brak pingรณw" }, "watchtower": { "containers_scanned": "Zeskanowane", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanaล‚y", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tunery", + "channelNumber": "Kanaล‚", + "channelNetwork": "Sieฤ‡", + "signalStrength": "Siล‚a", + "signalQuality": "Jakoล›ฤ‡", + "symbolQuality": "Jakoล›ฤ‡", + "networkRate": "Bitrate", + "clientIP": "Klient" }, "scrutiny": { "passed": "Powodzenie", @@ -547,12 +590,12 @@ "total": "Caล‚kowite" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "Stan baterii", + "ups_load": "Obciฤ…ลผenie UPS", + "ups_status": "Status UPS", "online": "Dostฤ™pny", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "Na baterii", + "low_battery": "Niski poziom baterii" }, "nextdns": { "wait": "Proszฤ™ czekaฤ‡", @@ -560,7 +603,7 @@ }, "mikrotik": { "cpuLoad": "Obciฤ…ลผenie procesora", - "memoryUsed": "Zuyลผyta pamiฤ™ฤ‡", + "memoryUsed": "Zuลผyta pamiฤ™ฤ‡", "uptime": "Czas dziaล‚ania", "numberOfLeases": "Dzierลผawy" }, @@ -571,8 +614,8 @@ }, "opendtu": { "yieldDay": "Dzisiaj", - "absolutePower": "Power", - "relativePower": "Power %", + "absolutePower": "Zasilanie", + "relativePower": "Moc %", "limit": "Limit" }, "opnsense": { @@ -589,16 +632,16 @@ }, "octoprint": { "printer_state": "Stan", - "temp_tool": "Tool temp", - "temp_bed": "Bed temp", + "temp_tool": "Temperatura narzฤ™dzia", + "temp_bed": "Temp. ล‚รณลผka", "job_completion": "Ukoล„czono" }, "cloudflared": { - "origin_ip": "Origin IP", + "origin_ip": "IP ลนrรณdล‚a", "status": "Stan" }, "pfsense": { - "load": "Load Avg", + "load": "ลšr. Obciฤ…ลผenie", "memory": "Uลผycie pamiฤ™ci", "wanStatus": "Status WAN", "up": "Dostฤ™pny", @@ -608,8 +651,8 @@ "wanIP": "WAN IP" }, "proxmoxbackupserver": { - "datastore_usage": "Datastore", - "failed_tasks_24h": "Failed Tasks 24h", + "datastore_usage": "Magazyn danych", + "failed_tasks_24h": "Nieudane zadania 24h", "cpu_usage": "Procesor", "memory_usage": "Pamiฤ™ฤ‡" }, @@ -662,8 +705,8 @@ "grafana": { "dashboards": "Panel gล‚รณwny", "datasources": "ลนrรณdล‚a danych", - "totalalerts": "Total Alerts", - "alertstriggered": "Alerts Triggered" + "totalalerts": "Wszystkie alerty", + "alertstriggered": "Wywoล‚ane alerty" }, "nextcloud": { "cpuload": "Obciฤ…ลผenie CPU", @@ -671,7 +714,7 @@ "freespace": "Wolna przestrzeล„", "activeusers": "Aktywni uลผytkownicy", "numfiles": "Pliki", - "numshares": "Shared Items" + "numshares": "Udostฤ™pnione elementy" }, "kopia": { "status": "Stan", @@ -682,7 +725,7 @@ }, "unmanic": { "active_workers": "Aktywni pracownicy", - "total_workers": "Total Workers", + "total_workers": "Wszyscy pracownicy", "records_total": "Dล‚ugoล›ฤ‡ kolejki" }, "pterodactyl": { @@ -690,9 +733,14 @@ "nodes": "Wฤ™zล‚y" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "Cele wล‚ฤ…czone", + "targets_down": "Cele wyล‚ฤ…czone", + "targets_total": "Wszystkich Celi" + }, + "gatus": { + "up": "Dziaล‚ajฤ…ce", + "down": "Niedziaล‚ajฤ…ce", + "uptime": "Czas dziaล‚ania" }, "ghostfolio": { "gross_percent_today": "Dzisiaj", @@ -706,9 +754,9 @@ "booksDuration": "Czas trwania" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Dom ludzi", + "lights_on": "ลšwiatล‚a wล‚ฤ…czone", + "switches_on": "Przeล‚ฤ…czniki wล‚ฤ…czone" }, "whatsupdocker": { "monitoring": "Monitoring", @@ -735,12 +783,12 @@ "status": "Stan", "buildId": "ID kompilacji", "succeeded": "Ukoล„czono", - "notStarted": "Not Started", + "notStarted": "Nierozpoczฤ™te", "failed": "Niepowodzenie", "canceled": "Anulowano", "inProgress": "W trakcie", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "totalPrs": "ลฤ…cznie PRs", + "myPrs": "Moje PRs", "approved": "Zaakceptowane" }, "gamedig": { @@ -749,7 +797,7 @@ "offline": "Nieosiฤ…galny", "name": "Nazwa", "map": "Mapa", - "currentPlayers": "Current players", + "currentPlayers": "Gracze online", "players": "Gracze", "maxPlayers": "Maksymalna iloล›ฤ‡ graczy", "bots": "Boty", @@ -759,10 +807,10 @@ "ok": "Ok", "errored": "Bล‚ฤ™dy", "noRecent": "Nieaktualne", - "totalUsed": "Used Storage" + "totalUsed": "Uลผyta pamiฤ™ฤ‡" }, "mealie": { - "recipes": "Recipes", + "recipes": "Przepisy", "users": "Uลผytkownicy", "categories": "Kategorie", "tags": "Tagi" @@ -775,33 +823,189 @@ "passed": "Powodzenie", "failed": "Niepowodzenie" }, + "openwrt": { + "uptime": "Czas dziaล‚ania", + "cpuLoad": "ลšr. obciฤ…ลผenie CPU (5m)", + "up": "Dostฤ™pny", + "down": "Niedostฤ™pny", + "bytesTx": "Przesล‚ane", + "bytesRx": "Odebrane" + }, "uptimerobot": { "status": "Stan", "uptime": "Czas dziaล‚ania", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", + "lastDown": "Ostatni downtime", + "downDuration": "Dล‚ugoล›ฤ‡ downtime'u", "sitesUp": "Dziaล‚ajฤ…ce", "sitesDown": "Niedziaล‚ajฤ…ce", "paused": "Zatrzymane", - "notyetchecked": "Not Yet Checked", + "notyetchecked": "Nie sprawdzono", "up": "Dostฤ™pny", - "seemsdown": "Seems Down", + "seemsdown": "Moลผliwe, ลผe wyล‚ฤ…czony", "down": "Niedostฤ™pny", "unknown": "Nieznany" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "W kinach", + "physicalRelease": "Wydanie fizyczne", + "digitalRelease": "Wydanie cyfrowe", + "noEventsToday": "Brak wydarzeล„ na dziล›!", + "noEventsFound": "Nie znaleziono wydarzeล„" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platformy", + "totalRoms": "Gry", + "saves": "Zapisy", + "states": "Stany", + "screenshots": "Screeny", + "totalfilesize": "Rozmiar caล‚kowity" + }, + "mailcow": { + "domains": "Domeny", + "mailboxes": "Skrzynki", + "mails": "Poczta", + "storage": "Pamiฤ™ฤ‡" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Ostrzeลผenia", + "criticals": "Krytyczny" + }, + "plantit": { + "events": "Wydarzenia", + "plants": "Roล›liny", + "photos": "Zdjฤ™cia", + "species": "Gatunki" + }, + "gitea": { + "notifications": "Powiadomienia", + "issues": "Zgล‚oszenia", + "pulls": "ลปฤ…dania Pull" + }, + "stash": { + "scenes": "Sceny", + "scenesPlayed": "Odgrane sceny", + "playCount": "ลฤ…cznie odtworzone", + "playDuration": "ลฤ…czny czas oglฤ…dania", + "sceneSize": "Rozmiar scen", + "sceneDuration": "Czas trwania scen", + "images": "Obrazy", + "imageSize": "Rozmiar obrazรณw", + "galleries": "Galerie", + "performers": "Artyล›ci", + "studios": "Studia", + "movies": "Filmy", + "tags": "Tagi", + "oCount": "O Licznik" + }, + "tandoor": { + "users": "Uลผytkownicy", + "recipes": "Przepisy", + "keywords": "Sล‚owa kluczowe" + }, + "homebox": { + "items": "Elementy", + "totalWithWarranty": "Z gwarancjฤ…", + "locations": "Lokalizacje", + "labels": "Etykiety", + "users": "Uลผytkownicy", + "totalValue": "Wartoล›ฤ‡ caล‚kowita" + }, + "crowdsec": { + "alerts": "Alarmy", + "bans": "Bany" + }, + "wgeasy": { + "connected": "Poล‚ฤ…czono", + "enabled": "Wล‚ฤ…czone", + "disabled": "Wyล‚ฤ…czone", + "total": "Caล‚kowite" + }, + "swagdashboard": { + "proxied": "Proxy", + "auth": "Z uwietrzytelnieniem", + "outdated": "Nieaktualne", + "banned": "Zbanowano" + }, + "myspeed": { + "ping": "Ping", + "download": "Pobieranie", + "upload": "Wysyล‚anie" + }, + "stocks": { + "stocks": "Gieล‚da", + "loading": "Wczytywanie", + "open": "Otwarte - rynek US", + "closed": "Zamkniฤ™te - rynek US", + "invalidConfiguration": "Nieprawidล‚owa konfiguracja" + }, + "frigate": { + "cameras": "Kamery", + "uptime": "Czas dziaล‚ania", + "version": "Wersja" + }, + "linkwarden": { + "links": "ลฤ…cza", + "collections": "Kolekcje", + "tags": "Tagi" + }, + "zabbix": { + "unclassified": "Niezaklasyfikowane", + "information": "Informacje", + "warning": "Ostrzeลผenie", + "average": "ลšrednia", + "high": "Wysokie", + "disaster": "Katastrofa" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nazwa", + "address": "Adres", + "last_seen": "Ostatnio dostฤ™pny", + "status": "Stan", + "online": "Dostฤ™pny", + "offline": "Nieosiฤ…galny" + }, + "beszel": { + "name": "Nazwa", + "systems": "Systems", + "up": "Dostฤ™pny", + "status": "Stan", + "updated": "Zaktualizowane", + "cpu": "Procesor", + "memory": "RAM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Zdrowy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Brakujฤ…ce", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Wczytywanie" + }, + "gitlab": { + "groups": "Groups", + "issues": "Zgล‚oszenia", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index b471ccc2..3d3de0a8 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mes", + "duration": "{{value, duration}}", + "months": "mรชs", "days": "d", "hours": "h", "minutes": "min", @@ -30,9 +30,9 @@ "response_data": "Dados da Resposta" }, "weather": { - "current": "Localizaรงรฃo atual", + "current": "Localizaรงรฃo actual", "allow": "Clique para permitir", - "updating": "Atualizando", + "updating": "A actualizar", "wait": "Por favor aguarde" }, "search": { @@ -79,7 +79,7 @@ "starting": "A iniciar", "unhealthy": "Nรฃo-saudรกvel", "not_found": "Nรฃo Encontrado", - "exited": "Encerrado", + "exited": "Saiu", "partial": "Parcial" }, "ping": { @@ -107,13 +107,20 @@ "episodes": "Episรณdios", "songs": "Canรงรตes" }, + "esphome": { + "offline": "Desligado", + "offline_alt": "Desligado", + "online": "Online", + "total": "Total", + "unknown": "Desconhecido" + }, "evcc": { "pv_power": "Produรงรฃo", "battery_soc": "Bateria", - "grid_power": "Grade", + "grid_power": "Grelha", "home_power": "Consumo", "charge_power": "Carregador", - "watt_hour": "Kw" + "watt_hour": "Wh" }, "flood": { "download": "Descarregar", @@ -122,16 +129,16 @@ "seed": "Semente" }, "freshrss": { - "subscriptions": "Assinaturas", + "subscriptions": "Subscriรงรตes", "unread": "Nรฃo lida" }, "fritzbox": { "connectionStatus": "Estado", - "connectionStatusUnconfigured": "Nรฃo configurado", + "connectionStatusUnconfigured": "Desconfigurado", "connectionStatusConnecting": "A conectar", - "connectionStatusAuthenticating": "Autenticando", + "connectionStatusAuthenticating": "A Autenticar", "connectionStatusPendingDisconnect": "Desconexรฃo pendente", - "connectionStatusDisconnecting": "Desconectando", + "connectionStatusDisconnecting": "A Desconectar", "connectionStatusDisconnected": "Desconectado", "connectionStatusConnected": "Conectado", "uptime": "Ligado", @@ -141,19 +148,19 @@ "up": "Up", "received": "Recebido", "sent": "Enviado", - "externalIPAddress": "Endereรงo IP externo" + "externalIPAddress": "Endereรงo IP Externo" }, "caddy": { "upstreams": "Upstreams", - "requests": "Solicitaรงรตes atuais", - "requests_failed": "Solicitaรงรตes com falha" + "requests": "Solicitaรงรตes actuais", + "requests_failed": "Solicitaรงรตes falhadas" }, "changedetectionio": { "totalObserved": "Total Observado", - "diffsDetected": "Diferenรงas Detetadas" + "diffsDetected": "Diferenรงas Detectadas" }, "channelsdvrserver": { - "shows": "Shows", + "shows": "Sรฉries", "recordings": "Gravaรงรตes", "scheduled": "Agendado", "passes": "Passes" @@ -163,7 +170,7 @@ "transcoding": "Transcodificaรงรฃo", "bitrate": "Taxa de bits", "no_active": "Sem streams ativas", - "plex_connection_error": "Verifique a conexรฃo Plex" + "plex_connection_error": "Verifique a conexรฃo do Plex" }, "omada": { "connectedAp": "APs Ligados", @@ -175,10 +182,10 @@ "nzbget": { "rate": "Taxa", "remaining": "Restante", - "downloaded": "Baixado" + "downloaded": "Descarregado" }, "plex": { - "streams": "Streams Ativas", + "streams": "Streams Activas", "albums": "รlbuns", "movies": "Filmes", "tv": "Series de TV" @@ -186,10 +193,10 @@ "sabnzbd": { "rate": "Taxa", "queue": "Fila", - "timeleft": "Tempo restante" + "timeleft": "Tempo Restante" }, "rutorrent": { - "active": "Ativo", + "active": "Activo", "upload": "Carregar", "download": "Descarregar" }, @@ -207,8 +214,8 @@ }, "qnap": { "cpuUsage": "Utilizaรงรฃo do CPU", - "memUsage": "Utilizaรงรฃo de memรณria", - "systemTempC": "Temperatura do sistema", + "memUsage": "Utilizaรงรฃo de Memรณria", + "systemTempC": "Temperatura do Sistema", "poolUsage": "Uso de Banco", "volumeUsage": "Uso do Volume", "invalid": "Invรกlido" @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Semente" }, + "develancacheui": { + "cachehitbytes": "โ€˜Bytesโ€™ de Acerto na Memรณria transitรณria", + "cachemissbytes": "โ€˜Bytesโ€™ de Falha de Memรณria transitรณria" + }, "downloadstation": { "download": "Descarregar", "upload": "Carregar", @@ -226,55 +237,55 @@ "seed": "Semente" }, "sonarr": { - "wanted": "Desejada", - "queued": "Em fila", + "wanted": "Desejados", + "queued": "Em fila de espera", "series": "Sรฉries", "queue": "Fila", "unknown": "Desconhecido" }, "radarr": { - "wanted": "Desejada", - "missing": "Faltando", - "queued": "Em fila", + "wanted": "Desejados", + "missing": "Em falta", + "queued": "Em fila de espera", "movies": "Filmes", "queue": "Fila", "unknown": "Desconhecido" }, "lidarr": { - "wanted": "Desejada", - "queued": "Em fila", + "wanted": "Desejados", + "queued": "Em fila de espera", "artists": "Artistas" }, "readarr": { - "wanted": "Desejada", - "queued": "Em fila", + "wanted": "Desejados", + "queued": "Em fila de espera", "books": "Livros" }, "bazarr": { - "missingEpisodes": "Episรณdios Faltantes", - "missingMovies": "Filmes Faltantes" + "missingEpisodes": "Episรณdios em Falta", + "missingMovies": "Filmes em Falta" }, "ombi": { "pending": "Pendente", - "approved": "Aprovada", + "approved": "Aprovado", "available": "Disponรญvel" }, "jellyseerr": { "pending": "Pendente", - "approved": "Aprovada", + "approved": "Aprovado", "available": "Disponรญvel" }, "overseerr": { "pending": "Pendente", - "processing": "Processando", - "approved": "Aprovada", + "processing": "A Processar", + "approved": "Aprovado", "available": "Disponรญvel" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Conectado", - "new_devices": "Novos dispositivos", - "down_alerts": "Alertas de Baixo" + "new_devices": "Novos Dispositivos", + "down_alerts": "Alertas de Falha" }, "pihole": { "queries": "Consultas", @@ -298,11 +309,21 @@ "stopped": "Parado", "total": "Total" }, + "suwayomi": { + "download": "Descarregado", + "nondownload": "Non-Downloaded", + "read": "Lido", + "unread": "Nรฃo lida", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Endereรงo", "expires": "Expira", "never": "Nunca", - "last_seen": "รšltima vez visto", + "last_seen": "รšltima Vez Visto", "now": "Agora", "years": "{{number}}y", "weeks": "{{number}}w", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Atrรกs" }, + "technitium": { + "totalQueries": "Consultas", + "totalNoError": "Sucesso", + "totalServerFailure": "Falhas", + "totalNxDomain": "Domรญnios NX", + "totalRefused": "Recusado", + "totalAuthoritative": "Autoritรกrio", + "totalRecursive": "Recursivo", + "totalCached": "Em Memรณria transitรณria", + "totalBlocked": "Bloqueado", + "totalDropped": "Perdidos", + "totalClients": "Clientes" + }, "tdarr": { "queue": "Fila", "processed": "Processado", @@ -321,19 +355,19 @@ "traefik": { "routers": "Roteadores", "services": "Serviรงos", - "middleware": "Software Middleware" + "middleware": "Middleware" }, "navidrome": { "nothing_streaming": "Sem streams ativas", - "please_wait": "Por favor aguarde" + "please_wait": "Por Favor, Aguarde" }, "npm": { - "enabled": "Ativo", + "enabled": "Activo", "disabled": "Desabilitado", "total": "Total" }, "coinmarketcap": { - "configure": "Configurar uma ou mais moedas", + "configure": "Configure uma ou mais criptomoedas para rastrear", "1hour": "1 Hora", "1day": "1 Dia", "7days": "7 Dias", @@ -367,8 +401,8 @@ "domain_count": "Domรญnios" }, "medusa": { - "wanted": "Desejada", - "queued": "Em fila", + "wanted": "Desejados", + "queued": "Em fila de espera", "series": "Sรฉries" }, "minecraft": { @@ -384,8 +418,8 @@ }, "authentik": { "users": "Utilizadores", - "loginsLast24H": "Inรญcios de sessรฃo (24h)", - "failedLoginsLast24H": "Inรญcios de sessรฃo falhados (24h)" + "loginsLast24H": "Inรญcios de Sessรฃo (24h)", + "failedLoginsLast24H": "Inรญcios de Sessรฃo Falhados (24h)" }, "proxmox": { "mem": "MEM", @@ -416,15 +450,16 @@ "quicklaunch": { "bookmark": "Marcador", "service": "Serviรงo", - "search": "Busca", + "search": "Pesquisa", "custom": "Personalizado", "visit": "Visitar", - "url": "Endereรงo URL" + "url": "Endereรงo URL", + "searchsuggestion": "Sugestรฃo" }, "wmo": { "0-day": "Solarengo", "0-night": "Limpo", - "1-day": "Maioritariamente ensolarado", + "1-day": "Maioritariamente Solarengo", "1-night": "Maioritariamente Limpo", "2-day": "Parcialmente Nublado", "2-night": "Parcialmente Nublado", @@ -462,16 +497,16 @@ "75-night": "Neve forte", "77-day": "Grรฃos de Neve", "77-night": "Grรฃos de Neve", - "80-day": "Neve fraca", - "80-night": "Neve fraca", + "80-day": "Chuviscos Leves", + "80-night": "Chuviscos Leves", "81-day": "Chuviscos", "81-night": "Chuviscos", "82-day": "Chuviscos fortes", "82-night": "Chuviscos fortes", - "85-day": "Precipitaรงรฃo de Neve", - "85-night": "Precipitaรงรฃo de Neve", - "86-day": "Precipitaรงรฃo de Neve", - "86-night": "Precipitaรงรฃo de Neve", + "85-day": "Chuva de Neve", + "85-night": "Chuva de Neve", + "86-day": "Chuva de Neve", + "86-night": "Chuva de Neve", "95-day": "Trovoada", "95-night": "Trovoada", "96-day": "Trovoada com granizo", @@ -481,10 +516,10 @@ }, "homebridge": { "available_update": "Sistema", - "updates": "Atualizaรงรตes", + "updates": "Actualizaรงรตes", "update_available": "Atualizaรงรฃo disponรญvel", "up_to_date": "Atualizado", - "child_bridges": "Pontes Filhas", + "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", "up": "Up", "pending": "Pendente", @@ -493,12 +528,12 @@ "healthchecks": { "new": "Novo", "up": "Up", - "grace": "Em Perรญodo Gratuito", + "grace": "Em Perรญodo de Graรงa", "down": "Down", - "paused": "Pausado", + "paused": "Pausa", "status": "Estado", "last_ping": "Ultimo Ping", - "never": "Nenhum ping ainda" + "never": "Nenhum Ping ainda" }, "watchtower": { "containers_scanned": "Verificado", @@ -506,7 +541,7 @@ "containers_failed": "Falhou" }, "autobrr": { - "approvedPushes": "Aprovada", + "approvedPushes": "Aprovado", "rejectedPushes": "Rejeitado", "filters": "Filtros", "indexers": "Indexadores" @@ -524,7 +559,7 @@ }, "pyload": { "speed": "Velocidade", - "active": "Ativo", + "active": "Activo", "queue": "Fila", "total": "Total" }, @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Canais", - "hd": "HD" + "hd": "HD", + "tunerCount": "Sintonizadores", + "channelNumber": "Canal", + "channelNetwork": "Rede", + "signalStrength": "Potรชncia", + "signalQuality": "Qualidade", + "symbolQuality": "Qualidade", + "networkRate": "Taxa de bits", + "clientIP": "Cliente" }, "scrutiny": { "passed": "Aprovado", @@ -555,8 +598,8 @@ "low_battery": "Bateria Fraca" }, "nextdns": { - "wait": "Por favor aguarde", - "no_devices": "Nenhum dado do dispositivo recebido" + "wait": "Por Favor, Aguarde", + "no_devices": "Nenhum Dado do Dispositivo Recebido" }, "mikrotik": { "cpuLoad": "Carga do CPU", @@ -566,7 +609,7 @@ }, "xteve": { "streams_all": "Todos os Streams", - "streams_active": "Streams Ativas", + "streams_active": "Streams Activas", "streams_xepg": "Canais XEPG" }, "opendtu": { @@ -604,7 +647,7 @@ "up": "Up", "down": "Down", "temp": "Temp", - "disk": "Utilizaรงรฃo", + "disk": "Utilizaรงรฃo do Disco", "wanIP": "WAN IP" }, "proxmoxbackupserver": { @@ -645,17 +688,17 @@ "mylar": { "series": "Sรฉries", "issues": "Problemas", - "wanted": "Desejada" + "wanted": "Desejados" }, "photoprism": { "albums": "รlbuns", "photos": "Fotos", "videos": "Vรญdeos", - "people": "Pessoa" + "people": "Pessoas" }, "fileflows": { "queue": "Fila", - "processing": "Processando", + "processing": "A Processar", "processed": "Processado", "time": "Hora" }, @@ -663,13 +706,13 @@ "dashboards": "Painรฉis", "datasources": "Origem de Dados", "totalalerts": "Total Alertas", - "alertstriggered": "Alertas Disparados" + "alertstriggered": "Alertas Desencadeados" }, "nextcloud": { "cpuload": "Carga de CPU", "memoryusage": "Memรณria Utilizada", "freespace": "Espaรงo Livre", - "activeusers": "Utilizadores Ativos", + "activeusers": "Utilizadores Activos", "numfiles": "Ficheiros", "numshares": "Itens partilhados" }, @@ -691,13 +734,18 @@ }, "prometheus": { "targets_up": "Alvo ativo", - "targets_down": "Alvo inativo", + "targets_down": "Alvo Inactivo", "targets_total": "Total de Alvos" }, + "gatus": { + "up": "Sites no Ar", + "down": "Sites Fora do Ar", + "uptime": "Ligado" + }, "ghostfolio": { "gross_percent_today": "Hoje", "gross_percent_1y": "Um ano", - "gross_percent_max": "Todo o tempo" + "gross_percent_max": "Desde Sempre" }, "audiobookshelf": { "podcasts": "Podcasts", @@ -712,7 +760,7 @@ }, "whatsupdocker": { "monitoring": "A monitorizar", - "updates": "Atualizaรงรตes" + "updates": "Actualizaรงรตes" }, "calibreweb": { "books": "Livros", @@ -734,14 +782,14 @@ "result": "Resultado", "status": "Estado", "buildId": "ID da compilaรงรฃo", - "succeeded": "Com รชxito", + "succeeded": "Bem sucedido", "notStarted": "Nรฃo Iniciado", "failed": "Falhou", "canceled": "Cancelado", "inProgress": "Em progresso", "totalPrs": "Total de PRs", - "myPrs": "Meus PRs", - "approved": "Aprovada" + "myPrs": "Os Meus PRs", + "approved": "Aprovado" }, "gamedig": { "status": "Estado", @@ -749,7 +797,7 @@ "offline": "Desligado", "name": "Nome", "map": "Mapa", - "currentPlayers": "Jogadores atuais", + "currentPlayers": "Jogadores actuais", "players": "Reprodutores", "maxPlayers": "Mรกximo de Jogadores", "bots": "Bots", @@ -758,7 +806,7 @@ "urbackup": { "ok": "Ok", "errored": "Erros", - "noRecent": "Desatualizado", + "noRecent": "Desactualizado", "totalUsed": "Espaรงo utilizado" }, "mealie": { @@ -768,24 +816,32 @@ "tags": "Etiquetas" }, "openmediavault": { - "downloading": "A transferir", + "downloading": "A descarregar", "total": "Total", "running": "A correr", "stopped": "Parado", "passed": "Aprovado", "failed": "Falhou" }, + "openwrt": { + "uptime": "Ligado", + "cpuLoad": "Carga da CPU mรฉdia (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitido", + "bytesRx": "Recebido" + }, "uptimerobot": { "status": "Estado", "uptime": "Ligado", - "lastDown": "รšltima inatividade", - "downDuration": "Duraรงรฃo de inatividade", + "lastDown": "รšltima Inactividade", + "downDuration": "Duraรงรฃo de Inactividade", "sitesUp": "Sites no Ar", "sitesDown": "Sites Fora do Ar", - "paused": "Pausado", + "paused": "Pausa", "notyetchecked": "Ainda nรฃo verificado", "up": "Up", - "seemsdown": "Parece Baixo", + "seemsdown": "Parece em Baixo", "down": "Down", "unknown": "Desconhecido" }, @@ -797,11 +853,159 @@ "noEventsFound": "Nenhum evento encontrado" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plataformas", + "totalRoms": "Jogos", + "saves": "Saves", + "states": "Estados", + "screenshots": "Screenshots", + "totalfilesize": "Tamanho Total" + }, + "mailcow": { + "domains": "Domรญnios", + "mailboxes": "Caixas de Correio", + "mails": "E-mails", + "storage": "Armazenamento" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Avisos", + "criticals": "Crรญticos" + }, + "plantit": { + "events": "Eventos", + "plants": "Plantas", + "photos": "Fotos", + "species": "Espรฉcies" + }, + "gitea": { + "notifications": "Notificaรงรตes", + "issues": "Problemas", + "pulls": "Solicitar pull" + }, + "stash": { + "scenes": "Cenas", + "scenesPlayed": "Cenas reproduzidas", + "playCount": "Total de Reproduรงรตes", + "playDuration": "Tempo Assistido", + "sceneSize": "Tamanho das cenas", + "sceneDuration": "Duraรงรฃo das cenas", + "images": "Imagens", + "imageSize": "Tamanho das imagens", + "galleries": "Galerias", + "performers": "Artistas de palco", + "studios": "Estรบdios", + "movies": "Filmes", + "tags": "Etiquetas", + "oCount": "Contagem de O's" + }, + "tandoor": { + "users": "Utilizadores", + "recipes": "Receitas", + "keywords": "Palavras-chave" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "Com Garantia", + "locations": "Localizaรงรตes", + "labels": "Etiquetas", + "users": "Utilizadores", + "totalValue": "Valor Total" + }, + "crowdsec": { + "alerts": "Alertas", + "bans": "Banidos" + }, + "wgeasy": { + "connected": "Conectado", + "enabled": "Activo", + "disabled": "Desabilitado", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Com proxy", + "auth": "Com Autorizaรงรฃo", + "outdated": "Desactualizado", + "banned": "Banido" + }, + "myspeed": { + "ping": "Tempo de resposta", + "download": "Descarregar", + "upload": "Carregar" + }, + "stocks": { + "stocks": "Acรงรตes", + "loading": "A carregar", + "open": "Aberto - Mercado dos EUA", + "closed": "Fechado - Mercado dos EUA", + "invalidConfiguration": "Configuraรงรฃo Invรกlida" + }, + "frigate": { + "cameras": "Cรขmeras", + "uptime": "Ligado", + "version": "Versรฃo" + }, + "linkwarden": { + "links": "Links", + "collections": "Colecรงรตes", + "tags": "Etiquetas" + }, + "zabbix": { + "unclassified": "Nรฃo Classificados", + "information": "Informaรงรฃo", + "warning": "Avisos", + "average": "Mรฉdia", + "high": "Elevado", + "disaster": "Desastre" + }, + "lubelogger": { + "vehicle": "Veรญculo", + "vehicles": "Veรญculos", + "serviceRecords": "Registros de Serviรงo", + "reminders": "Lembretes", + "nextReminder": "Prรณximo Lembrete", + "none": "Nenhum" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nome", + "address": "Endereรงo", + "last_seen": "รšltima Vez Visto", + "status": "Estado", + "online": "Online", + "offline": "Desligado" + }, + "beszel": { + "name": "Nome", + "systems": "Systems", + "up": "Up", + "status": "Estado", + "updated": "Atualizado", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Saudรกvel", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Em falta", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "A carregar" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemas", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/pt_BR/common.json b/public/locales/pt_BR/common.json index 3fda97f8..c2a2330f 100644 --- a/public/locales/pt_BR/common.json +++ b/public/locales/pt_BR/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "M", "days": "d", "hours": "h", "minutes": "m", @@ -22,18 +22,18 @@ }, "widget": { "missing_type": "Tipo de Widget ausente: {{type}}", - "api_error": "Erro da API", + "api_error": "Erros de API", "information": "Informaรงรฃo", - "status": "Estado", + "status": "Status", "url": "Endereรงo URL", - "raw_error": "Erro", - "response_data": "Dados da Resposta" + "raw_error": "Erro Bruto", + "response_data": "Dados de Resposta" }, "weather": { "current": "Localizaรงรฃo atual", - "allow": "Clicar para permitir", + "allow": "Clique para permitir", "updating": "Atualizando", - "wait": "Por favor aguarde" + "wait": "Por favor, aguarde" }, "search": { "placeholder": "Pesquisarโ€ฆ" @@ -50,7 +50,7 @@ "uptime": "CIMA" }, "unifi": { - "users": "Utilizadores", + "users": "Usuรกrios", "uptime": "Ligado", "days": "Dias", "wan": "WAN", @@ -59,20 +59,20 @@ "devices": "Dispositivos", "lan_devices": "Dispositivos LAN", "wlan_devices": "Dispositivos WLAN", - "lan_users": "Utilizadores LAN", - "wlan_users": "Utilizadores WLAN", + "lan_users": "Usuรกrios de LAN", + "wlan_users": "Usuรกrios de WLAN", "up": "CIMA", "down": "Desligado", - "wait": "Por favor aguarde", - "empty_data": "Status de Subsistema Desconhecido" + "wait": "Por favor, aguarde", + "empty_data": "Status do Subsistema desconhecido" }, "docker": { "rx": "Rx", "tx": "Tx", "mem": "MEM", "cpu": "CPU", - "running": "A correr", - "offline": "Desligado", + "running": "Executando", + "offline": "Offline", "error": "Erro", "unknown": "Desconhecido", "healthy": "Saudรกvel", @@ -85,28 +85,35 @@ "ping": { "error": "Erro", "ping": "Tempo de resposta", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "down": "Inativo", + "up": "Ativo", + "not_available": "Nรฃo Disponรญvel" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "Estado HTTP", "error": "Erro", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "Resposta", + "down": "Inativo", + "up": "Ativo", + "not_available": "Nรฃo Disponรญvel" }, "emby": { "playing": "A reproduzir", "transcoding": "Transcodificaรงรฃo", "bitrate": "Taxa de bits", - "no_active": "Sem streams ativas", + "no_active": "Sem Streams Ativos", "movies": "Filmes", "series": "Sรฉries", "episodes": "Episรณdios", "songs": "Canรงรตes" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Disponรญvel", + "total": "Total", + "unknown": "Desconhecido" + }, "evcc": { "pv_power": "Produรงรฃo", "battery_soc": "Bateria", @@ -126,25 +133,25 @@ "unread": "Nรฃo lida" }, "fritzbox": { - "connectionStatus": "Estado", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "Connected", + "connectionStatus": "Status", + "connectionStatusUnconfigured": "Nรฃo configurado", + "connectionStatusConnecting": "Conectando", + "connectionStatusAuthenticating": "Autenticando", + "connectionStatusPendingDisconnect": "Desconexรฃo Pendente", + "connectionStatusDisconnecting": "Desconectando", + "connectionStatusDisconnected": "Desconectado", + "connectionStatusConnected": "Conectado", "uptime": "Ligado", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "Tempo de inatividade mรกximo", + "maxUp": "Mรกx. Acima", + "down": "Inativo", + "up": "Ativo", + "received": "Recebido", + "sent": "Enviado", + "externalIPAddress": "IP Externo" }, "caddy": { - "upstreams": "Upstreams", + "upstreams": "Streams de Envio", "requests": "Solicitaรงรตes atuais", "requests_failed": "Solicitaรงรตes com falha" }, @@ -153,24 +160,24 @@ "diffsDetected": "Diferenรงas Detetadas" }, "channelsdvrserver": { - "shows": "Shows", + "shows": "Programas", "recordings": "Gravaรงรตes", - "scheduled": "Scheduled", + "scheduled": "Agendado", "passes": "Passes" }, "tautulli": { "playing": "A reproduzir", "transcoding": "Transcodificaรงรฃo", "bitrate": "Taxa de bits", - "no_active": "Sem streams ativas", - "plex_connection_error": "Check Plex Connection" + "no_active": "Sem Streams Ativos", + "plex_connection_error": "Verifique a conexรฃo do Plex" }, "omada": { "connectedAp": "APs Ligados", - "activeUser": "Dispositivos activos", + "activeUser": "Dispositivos ativos", "alerts": "Alertas", - "connectedGateway": "Gateways ligados", - "connectedSwitches": "Switches ligados" + "connectedGateway": "Gateways conectados", + "connectedSwitches": "Switches conectados" }, "nzbget": { "rate": "Taxa", @@ -179,7 +186,7 @@ }, "plex": { "streams": "Streams Ativas", - "albums": "Albums", + "albums": "รlbuns", "movies": "Filmes", "tv": "Series de TV" }, @@ -206,12 +213,12 @@ "seed": "Semente" }, "qnap": { - "cpuUsage": "CPU Usage", - "memUsage": "MEM Usage", - "systemTempC": "System Temp", - "poolUsage": "Pool Usage", - "volumeUsage": "Volume Usage", - "invalid": "Invalid" + "cpuUsage": "Uso de CPU", + "memUsage": "Uso de Memรณria", + "systemTempC": "Temp. do Sistema", + "poolUsage": "Uso do Pool", + "volumeUsage": "Uso do volume", + "invalid": "Invรกlido" }, "deluge": { "download": "Descarregar", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Semente" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Descarregar", "upload": "Carregar", @@ -243,7 +254,7 @@ "lidarr": { "wanted": "Desejada", "queued": "Em fila", - "artists": "Artists" + "artists": "Artistas" }, "readarr": { "wanted": "Desejada", @@ -270,16 +281,16 @@ "approved": "Aprovada", "available": "Disponรญvel" }, - "pialert": { + "netalertx": { "total": "Total", - "connected": "Connected", - "new_devices": "New Devices", - "down_alerts": "Down Alerts" + "connected": "Conectado", + "new_devices": "Novos dispositivos", + "down_alerts": "Alertas de Inatividade" }, "pihole": { "queries": "Consultas", "blocked": "Bloqueado", - "blocked_percent": "Blocked %", + "blocked_percent": "Bloqueado %", "gravity": "Gravidade" }, "adguard": { @@ -294,23 +305,46 @@ "ping": "Tempo de resposta" }, "portainer": { - "running": "A correr", + "running": "Executando", "stopped": "Parado", "total": "Total" }, + "suwayomi": { + "download": "Baixado", + "nondownload": "Non-Downloaded", + "read": "Lido", + "unread": "Nรฃo lida", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { - "address": "Address", - "expires": "Expires", - "never": "Never", - "last_seen": "Last Seen", - "now": "Now", - "years": "{{number}}y", - "weeks": "{{number}}w", + "address": "Endereรงo", + "expires": "Expira em", + "never": "Nunca", + "last_seen": "Visto por รบltimo", + "now": "Agora", + "years": "{{number}}a", + "weeks": "{{number}}s", "days": "{{number}}d", "hours": "{{number}}h", "minutes": "{{number}}m", "seconds": "{{number}}s", - "ago": "{{value}} Ago" + "ago": "{{value}} Atrรกs" + }, + "technitium": { + "totalQueries": "Consultas", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Bloqueado", + "totalDropped": "Dropped", + "totalClients": "Clientes" }, "tdarr": { "queue": "Fila", @@ -321,11 +355,11 @@ "traefik": { "routers": "Roteadores", "services": "Serviรงos", - "middleware": "Middleware" + "middleware": "" }, "navidrome": { - "nothing_streaming": "Sem streams ativas", - "please_wait": "Por favor aguarde" + "nothing_streaming": "Sem Streams Ativos", + "please_wait": "Por favor, aguarde" }, "npm": { "enabled": "Ativo", @@ -362,7 +396,7 @@ "transferRate": "Taxa" }, "mastodon": { - "user_count": "Utilizadores", + "user_count": "Usuรกrios", "status_count": "Postagens", "domain_count": "Domรญnios" }, @@ -374,16 +408,16 @@ "minecraft": { "players": "Reprodutores", "version": "Versรฃo", - "status": "Estado", - "up": "Online", - "down": "Desligado" + "status": "Status", + "up": "Disponรญvel", + "down": "Offline" }, "miniflux": { "read": "Lido", "unread": "Nรฃo lida" }, "authentik": { - "users": "Utilizadores", + "users": "Usuรกrios", "loginsLast24H": "Inรญcios de sessรฃo (24h)", "failedLoginsLast24H": "Inรญcios de sessรฃo falhados (24h)" }, @@ -396,22 +430,22 @@ "glances": { "cpu": "CPU", "load": "Carga", - "wait": "Por favor aguarde", + "wait": "Por favor, aguarde", "temp": "TEMP", - "_temp": "Temp", - "warn": "Warn", + "_temp": "Temperatura", + "warn": "Aviso", "uptime": "CIMA", "total": "Total", "free": "Livre", "used": "Utilizado", "days": "d", "hours": "h", - "crit": "Crit", + "crit": "Crรญtico", "read": "Lido", - "write": "Write", + "write": "Escrita", "gpu": "GPU", - "mem": "Mem", - "swap": "Swap" + "mem": "Memรณria", + "swap": "Temporรกrio" }, "quicklaunch": { "bookmark": "Marcador", @@ -419,7 +453,8 @@ "search": "Busca", "custom": "Personalizado", "visit": "Visitar", - "url": "Endereรงo URL" + "url": "Endereรงo URL", + "searchsuggestion": "Sugestรฃo" }, "wmo": { "0-day": "Solarengo", @@ -486,17 +521,17 @@ "up_to_date": "Atualizado", "child_bridges": "Pontes Filhas", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "Ativo", "pending": "Pendente", - "down": "Down" + "down": "Inativo" }, "healthchecks": { "new": "Novo", - "up": "Up", + "up": "Ativo", "grace": "Em Perรญodo Gratuito", - "down": "Down", + "down": "Inativo", "paused": "Pausado", - "status": "Estado", + "status": "Status", "last_ping": "Ultimo Ping", "never": "Nenhum ping ainda" }, @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Canais", - "hd": "HD" + "hd": "HD", + "tunerCount": "Sintonizadores", + "channelNumber": "Canal", + "channelNetwork": "Rede", + "signalStrength": "Potรชncia", + "signalQuality": "Qualidade", + "symbolQuality": "Qualidade", + "networkRate": "Taxa de bits", + "clientIP": "Cliente" }, "scrutiny": { "passed": "Aprovado", @@ -547,15 +590,15 @@ "total": "Total" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", - "online": "Online", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "battery_charge": "Carga da bateria", + "ups_load": "Carga do UPS", + "ups_status": "Estado UPS", + "online": "Disponรญvel", + "on_battery": "Na bateria", + "low_battery": "Bateria Fraca" }, "nextdns": { - "wait": "Por favor aguarde", + "wait": "Por favor, aguarde", "no_devices": "Nenhum dado do dispositivo recebido" }, "mikrotik": { @@ -570,10 +613,10 @@ "streams_xepg": "Canais XEPG" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "Hoje", + "absolutePower": "Energia", + "relativePower": "Energia %", + "limit": "Limite" }, "opnsense": { "cpu": "Carga do CPU", @@ -588,24 +631,24 @@ "layers": "Camadas" }, "octoprint": { - "printer_state": "Estado", + "printer_state": "Status", "temp_tool": "Temp. Ferramenta", "temp_bed": "Temp. Cama", "job_completion": "Conclusรฃo" }, "cloudflared": { "origin_ip": "IP Origem", - "status": "Estado" + "status": "Status" }, "pfsense": { - "load": "Load Avg", - "memory": "Mem Usage", - "wanStatus": "WAN Status", - "up": "Up", - "down": "Down", - "temp": "Temp", - "disk": "Disk Usage", - "wanIP": "WAN IP" + "load": "Carga Mรฉdia", + "memory": "Uso de memรณria", + "wanStatus": "Estado WAN", + "up": "Ativo", + "down": "Inativo", + "temp": "Temperatura", + "disk": "Uso do disco", + "wanIP": "IP WAN" }, "proxmoxbackupserver": { "datastore_usage": "Armaz. de Dados", @@ -614,7 +657,7 @@ "memory_usage": "Memรณria" }, "immich": { - "users": "Utilizadores", + "users": "Usuรกrios", "photos": "Fotos", "videos": "Vรญdeos", "storage": "Armazenamento" @@ -628,9 +671,9 @@ }, "atsumeru": { "series": "Sรฉries", - "archives": "Archives", - "chapters": "Chapters", - "categories": "Categories" + "archives": "Arquivos", + "chapters": "Capรญtulos", + "categories": "Categorias" }, "komga": { "libraries": "Bibliotecas", @@ -648,7 +691,7 @@ "wanted": "Desejada" }, "photoprism": { - "albums": "Albums", + "albums": "รlbuns", "photos": "Fotos", "videos": "Vรญdeos", "people": "Pessoa" @@ -670,11 +713,11 @@ "memoryusage": "Memรณria Utilizada", "freespace": "Espaรงo Livre", "activeusers": "Utilizadores Ativos", - "numfiles": "Files", - "numshares": "Shared Items" + "numfiles": "Arquivos", + "numshares": "Itens compartilhados" }, "kopia": { - "status": "Estado", + "status": "Status", "size": "Tamanho", "lastrun": "Ultima Execuรงรฃo", "nextrun": "Prรณxima Execuรงรฃo", @@ -682,7 +725,7 @@ }, "unmanic": { "active_workers": "Workers Ativos", - "total_workers": "Total Workers", + "total_workers": "Total de trabalhadores", "records_total": "Comprimento da Fila" }, "pterodactyl": { @@ -694,8 +737,13 @@ "targets_down": "Alvo inativo", "targets_total": "Total de Alvos" }, + "gatus": { + "up": "Sites no Ar", + "down": "Sites Fora do Ar", + "uptime": "Ligado" + }, "ghostfolio": { - "gross_percent_today": "Today", + "gross_percent_today": "Hoje", "gross_percent_1y": "Um ano", "gross_percent_max": "Todo o tempo" }, @@ -711,13 +759,13 @@ "switches_on": "Interruptores Ligados" }, "whatsupdocker": { - "monitoring": "Monitoring", + "monitoring": "Monitorando", "updates": "Atualizaรงรตes" }, "calibreweb": { "books": "Livros", - "authors": "Authors", - "categories": "Categories", + "authors": "Autores", + "categories": "Categorias", "series": "Sรฉries" }, "jdownloader": { @@ -728,80 +776,236 @@ }, "kavita": { "seriesCount": "Sรฉries", - "totalFiles": "Files" + "totalFiles": "Arquivos" }, "azuredevops": { - "result": "Result", - "status": "Estado", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", + "result": "Resultado", + "status": "Status", + "buildId": "ID Compilaรงรฃo", + "succeeded": "Bem-sucedido", + "notStarted": "Nรฃo iniciado", "failed": "Falhou", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "canceled": "Cancelado", + "inProgress": "Em Progresso", + "totalPrs": "Total de PRs", + "myPrs": "Minhas PRs", "approved": "Aprovada" }, "gamedig": { - "status": "Estado", - "online": "Online", - "offline": "Desligado", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", + "status": "Status", + "online": "Disponรญvel", + "offline": "Offline", + "name": "Nome", + "map": "Mapa", + "currentPlayers": "Jogadores atuais", "players": "Reprodutores", - "maxPlayers": "Max players", - "bots": "Bots", + "maxPlayers": "Nรบmero Mรกximo de Jogadores", + "bots": "Robรดs", "ping": "Tempo de resposta" }, "urbackup": { "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "errored": "Erros", + "noRecent": "Desatualizado", + "totalUsed": "Armazanamento Utilizado" }, "mealie": { - "recipes": "Recipes", - "users": "Utilizadores", - "categories": "Categories", - "tags": "Tags" + "recipes": "Receitas", + "users": "Usuรกrios", + "categories": "Categorias", + "tags": "Marcadores" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Baixando", "total": "Total", - "running": "A correr", + "running": "Executando", "stopped": "Parado", "passed": "Aprovado", "failed": "Falhou" }, - "uptimerobot": { - "status": "Estado", + "openwrt": { "uptime": "Ligado", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", + "cpuLoad": "Carga da CPU mรฉdia (5m)", + "up": "Ativo", + "down": "Inativo", + "bytesTx": "Transmitido", + "bytesRx": "Recebido" + }, + "uptimerobot": { + "status": "Status", + "uptime": "Ligado", + "lastDown": "รšltima inatividade", + "downDuration": "Duraรงรฃo de inatividade", "sitesUp": "Sites no Ar", "sitesDown": "Sites Fora do Ar", "paused": "Pausado", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", + "notyetchecked": "Nรฃo conferidos ainda", + "up": "Ativo", + "seemsdown": "Parece Desconectado", + "down": "Inativo", "unknown": "Desconhecido" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "Nos cinemas", + "physicalRelease": "Versรฃo fรญsica", + "digitalRelease": "Versรฃo digital", + "noEventsToday": "Nenhum evento para hoje!", + "noEventsFound": "Nenhum evento encontrado" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Plataformas", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domรญnios", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Armazenamento" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Alertas", + "criticals": "Crรญticos" + }, + "plantit": { + "events": "Eventos", + "plants": "Plantas", + "photos": "Fotos", + "species": "Espรฉcies" + }, + "gitea": { + "notifications": "Notificaรงรตes", + "issues": "Problemas", + "pulls": "Solicitaรงรตes de Envio" + }, + "stash": { + "scenes": "Cenas", + "scenesPlayed": "Cenas Reproduzidas", + "playCount": "Total de Reproduรงรตes", + "playDuration": "Tempo Assistido", + "sceneSize": "Tamanho das cenas", + "sceneDuration": "Duraรงรฃo das cenas", + "images": "Imagens", + "imageSize": "Tamanho da Imagem", + "galleries": "Galerias", + "performers": "Atores", + "studios": "Estรบdios", + "movies": "Filmes", + "tags": "Marcadores", + "oCount": "Contagem 0" + }, + "tandoor": { + "users": "Usuรกrios", + "recipes": "Receitas", + "keywords": "Palavras-chave" + }, + "homebox": { + "items": "Itens", + "totalWithWarranty": "Com Garantia", + "locations": "Localizaรงรฃo", + "labels": "Rรณtulos", + "users": "Usuรกrios", + "totalValue": "Valor Total" + }, + "crowdsec": { + "alerts": "Alertas", + "bans": "Banimentos" + }, + "wgeasy": { + "connected": "Conectado", + "enabled": "Ativo", + "disabled": "Desabilitado", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Com proxy", + "auth": "Com Autenticaรงรฃo", + "outdated": "Desatualizado", + "banned": "Banido" + }, + "myspeed": { + "ping": "Tempo de resposta", + "download": "Descarregar", + "upload": "Carregar" + }, + "stocks": { + "stocks": "Aรงรตes", + "loading": "Carregando", + "open": "Abrir - Mercado Americano", + "closed": "Fechado - Mercado americano", + "invalidConfiguration": "Configuraรงรฃo Invรกlida" + }, + "frigate": { + "cameras": "Cรขmeras", + "uptime": "Ligado", + "version": "Versรฃo" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Marcadores" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informaรงรฃo", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Nome", + "address": "Endereรงo", + "last_seen": "Visto por รบltimo", + "status": "Status", + "online": "Disponรญvel", + "offline": "Offline" + }, + "beszel": { + "name": "Nome", + "systems": "Systems", + "up": "Ativo", + "status": "Status", + "updated": "Atualizado", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Saudรกvel", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Faltando", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Carregando" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problemas", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 348989ae..80b6e542 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episoade", "songs": "Melodii" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Necunoscut" + }, "evcc": { "pv_power": "Producศ›ie", "battery_soc": "Baterie", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Descarcฤƒ", "upload": "รŽncarcฤƒ", @@ -270,7 +281,7 @@ "approved": "Aprobate", "available": "Disponibile" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Oprit", "total": "Total" }, + "suwayomi": { + "download": "Descฤƒrcat", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Necitit", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Cereri", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocate", + "totalDropped": "Dropped", + "totalClients": "Clienศ›i" + }, "tdarr": { "queue": "Coadฤƒ", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Cautฤƒ", "custom": "Personalizat", "visit": "Vizitฤƒ", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "รŽnsorit", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Rata de biศ›i", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Sus", + "down": "Jos", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Stare", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domenii", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Filme", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Utilizatori", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Utilizatori", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Activat", + "disabled": "Dezactivat", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Descarcฤƒ", + "upload": "รŽncarcฤƒ" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informaศ›ie", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Stare", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Sus", + "status": "Stare", + "updated": "Updated", + "cpu": "Procesor", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Sฤƒnฤƒtos", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index f52d6007..35894d0c 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -13,12 +13,12 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", - "minutes": "m", - "seconds": "s" + "duration": "{{value, duration}}", + "months": "ะผะตั", + "days": "ะดะฝะตะน", + "hours": "ั‡ะฐั", + "minutes": "ะผะธะฝ", + "seconds": "ัะตะบ" }, "widget": { "missing_type": "ะžั‚ััƒั‚ัั‚ะฒัƒะตั‚ ั‚ะธะฟ ะฒะธะดะถะตั‚ะฐ: {{type}}", @@ -39,7 +39,7 @@ "placeholder": "ะŸะพะธัะบโ€ฆ" }, "resources": { - "cpu": "ะฆะŸะฃ", + "cpu": "ะฆะŸ", "mem": "ะžะ—ะฃ", "total": "ะ’ัะตะณะพ", "free": "ะกะฒะพะฑะพะดะฝะพ", @@ -70,7 +70,7 @@ "rx": "RX", "tx": "TX", "mem": "ะžะ—ะฃ", - "cpu": "ะฆะŸะฃ", + "cpu": "ะฆะŸ", "running": "ะ—ะฐะฟัƒั‰ะตะฝะพ", "offline": "ะะต ะฒ ัะตั‚ะธ", "error": "ะžัˆะธะฑะบะฐ", @@ -107,6 +107,13 @@ "episodes": "ะญะฟะธะทะพะดั‹", "songs": "ะŸะตัะฝะธ" }, + "esphome": { + "offline": "ะะต ะฒ ัะตั‚ะธ", + "offline_alt": "ะะต ะฒ ัะตั‚ะธ", + "online": "ะ’ ัะตั‚ะธ", + "total": "ะ’ัะตะณะพ", + "unknown": "ะะตะธะทะฒะตัั‚ะตะฝ" + }, "evcc": { "pv_power": "ะŸั€ะพะด", "battery_soc": "ะŸะธั‚ะฐะฝะธะต", @@ -130,7 +137,7 @@ "connectionStatusUnconfigured": "ะะต ะฝะฐัั‚ั€ะพะตะฝะพ", "connectionStatusConnecting": "ะŸะพะดะบะปัŽั‡ะตะฝะธะต", "connectionStatusAuthenticating": "ะะฒั‚ะพั€ะธะทะฐั†ะธั", - "connectionStatusPendingDisconnect": "Pending Disconnect", + "connectionStatusPendingDisconnect": "ะžะถะธะดะฐะตั‚ ะพั‚ะบะปัŽั‡ะตะฝะธั", "connectionStatusDisconnecting": "ะžั‚ะบะปัŽั‡ะตะฝะธะต", "connectionStatusDisconnected": "ะžั‚ะบะปัŽั‡ะตะฝะพ", "connectionStatusConnected": "ะŸะพะดะบะปัŽั‡ะตะฝะพ", @@ -219,6 +226,10 @@ "leech": "ะ›ะธั‡", "seed": "ะกะธะด" }, + "develancacheui": { + "cachehitbytes": "ะฅะธั‚ ะฑะฐะนั‚ั‹ ะบััˆะฐ", + "cachemissbytes": "ะœะธัั ะฑะฐะนั‚ั‹ ะบััˆะฐ" + }, "downloadstation": { "download": "ะกะบะฐั‡ะธะฒะฐะฝะธะต", "upload": "ะ—ะฐะณั€ัƒะทะบะฐ", @@ -270,7 +281,7 @@ "approved": "ะžะดะพะฑั€ะตะฝะพ", "available": "ะ”ะพัั‚ัƒะฟะฝะพ" }, - "pialert": { + "netalertx": { "total": "ะ’ัะตะณะพ", "connected": "ะŸะพะดะบะปัŽั‡ะตะฝะพ", "new_devices": "ะะพะฒั‹ะต ัƒัั‚ั€ะพะนัั‚ะฒะฐ", @@ -298,6 +309,16 @@ "stopped": "ะžัั‚ะฐะฝะพะฒะปะตะฝะพ", "total": "ะ’ัะตะณะพ" }, + "suwayomi": { + "download": "ะ—ะฐะณั€ัƒะถะตะฝะพ", + "nondownload": "ะะตะทะฐะณั€ัƒะถะตะฝะฝั‹ะต", + "read": "ะŸั€ะพั‡ะธั‚ะฐะฝะพ", + "unread": "ะะต ะฟั€ะพั‡ะธั‚ะฐะฝะพ", + "downloadedread": "ะ—ะฐะณั€ัƒะถะตะฝะฝั‹ะต ะธ ะฟั€ะพั‡ะธั‚ะฐะฝะฝั‹ะต", + "downloadedunread": "ะ—ะฐะณั€ัƒะถะตะฝะฝั‹ะต ะธ ะฝะตะฟั€ะพั‡ะธั‚ะฐะฝะฝั‹ะต", + "nondownloadedread": "ะะตะทะฐะณั€ัƒะถะตะฝะฝั‹ะต ะธ ะฟั€ะพั‡ะธั‚ะฐะฝะฝั‹ะต", + "nondownloadedunread": "ะะตะทะฐะณั€ัƒะถะตะฝะฝั‹ะต ะธ ะฝะตะฟั€ะพั‡ะธั‚ะฐะฝะฝั‹ะต" + }, "tailscale": { "address": "ะะดั€ะตั", "expires": "ะ˜ัั‚ะตะบะฐะตั‚", @@ -312,6 +333,19 @@ "seconds": "{{number}}ั", "ago": "{{value}} ะฝะฐะทะฐะด" }, + "technitium": { + "totalQueries": "ะ—ะฐะฟั€ะพัั‹", + "totalNoError": "ะฃัะฟะตัˆะฝั‹ะต", + "totalServerFailure": "ะžัˆะธะฑะบะธ", + "totalNxDomain": "NX ะดะพะผะตะฝั‹", + "totalRefused": "ะžั‚ะบะฐะทะฐะฝะพ", + "totalAuthoritative": "ะะฒั‚ะพั€ะธั‚ะตั‚ะฝั‹ะต", + "totalRecursive": "ะ ะตะบัƒั€ัะธะฒะฝั‹ะต", + "totalCached": "ะšััˆ", + "totalBlocked": "ะ—ะฐะฑะปะพะบะธั€ะพะฒะฐะฝะพ", + "totalDropped": "ะžั‚ะฑั€ะพัˆะตะฝะฝั‹ะต", + "totalClients": "ะšะปะธะตะฝั‚ั‹" + }, "tdarr": { "queue": "ะžั‡ะตั€ะตะดัŒ", "processed": "ะžะฑั€ะฐะฑะพั‚ะฐะฝะพ", @@ -389,12 +423,12 @@ }, "proxmox": { "mem": "ะžะ—ะฃ", - "cpu": "ะฆะŸะฃ", + "cpu": "ะฆะŸ", "lxc": "LXC", "vms": "ะ’ะธั€ั‚ัƒะฐะปัŒะฝั‹ะต ะผะฐัˆะธะฝั‹" }, "glances": { - "cpu": "ะฆะŸะฃ", + "cpu": "ะฆะŸ", "load": "ะ—ะฐะณั€ัƒะทะบะฐ", "wait": "ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะฟะพะดะพะถะดะธั‚ะต", "temp": "ะขะตะผะฟะตั€ะฐั‚ัƒั€ะฐ", @@ -404,8 +438,8 @@ "total": "ะ’ัะตะณะพ", "free": "ะกะฒะพะฑะพะดะฝะพ", "used": "ะ˜ัะฟะพะปัŒะทะพะฒะฐะฝะพ", - "days": "d", - "hours": "h", + "days": "ะดะฝะตะน", + "hours": "ั‡ะฐั", "crit": "ะšั€ะธั‚", "read": "ะŸั€ะพั‡ะธั‚ะฐะฝะพ", "write": "ะ—ะฐะฟะธััŒ", @@ -419,7 +453,8 @@ "search": "ะŸะพะธัะบ", "custom": "ะŸะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะธะน", "visit": "ะŸะพัะตั‚ะธั‚ะต", - "url": "ะกัั‹ะปะบะฐ" + "url": "ะกัั‹ะปะบะฐ", + "searchsuggestion": "ะŸั€ะตะดะปะพะถะตะฝะธะต" }, "wmo": { "0-day": "ะกะพะปะฝะตั‡ะฝะพ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "ะšะฐะฝะฐะปั‹", - "hd": "HD" + "hd": "HD", + "tunerCount": "ะขัŽะฝะตั€ั‹", + "channelNumber": "ะšะฐะฝะฐะป", + "channelNetwork": "ะกะตั‚ัŒ", + "signalStrength": "ะกะธะปะฐ", + "signalQuality": "ะšะฐั‡ะตัั‚ะฒะพ", + "symbolQuality": "ะšะฐั‡ะตัั‚ะฒะพ", + "networkRate": "ะ‘ะธั‚ั€ะตะนั‚", + "clientIP": "ะšะปะธะตะฝั‚" }, "scrutiny": { "passed": "ะฃัะฟะตัˆะฝะพ", @@ -547,12 +590,12 @@ "total": "ะ’ัะตะณะพ" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "ะ—ะฐั€ัะด ะฑะฐั‚ะฐั€ะตะธ", + "ups_load": "ะะฐะณั€ัƒะทะบะฐ ะฝะฐ UPS", + "ups_status": "ะกั‚ะฐั‚ัƒั UPS", "online": "ะ’ ัะตั‚ะธ", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "ะžั‚ ะฑะฐั‚ะฐั€ะตะธ", + "low_battery": "ะะธะทะบะธะน ะทะฐั€ัะด" }, "nextdns": { "wait": "ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะฟะพะดะพะถะดะธั‚ะต", @@ -610,7 +653,7 @@ "proxmoxbackupserver": { "datastore_usage": "ะฅั€ะฐะฝะธะปะธั‰ะต ะดะฐะฝะฝั‹ั…", "failed_tasks_24h": "ะะตัƒะดะฐั‡ะฝั‹ะต ะทะฐะดะฐั‡ะธ 24 ั‡ะฐัะฐ", - "cpu_usage": "ะฆะŸะฃ", + "cpu_usage": "ะฆะŸ", "memory_usage": "ะžะ—ะฃ" }, "immich": { @@ -624,7 +667,7 @@ "down": "ะะตะฐะบั‚ะธะฒะฝั‹ะต ัะฐะนั‚ั‹", "uptime": "ะ’ั€ะตะผั ั€ะฐะฑะพั‚ั‹", "incident": "ะŸั€ะพะธััˆะตัั‚ะฒะธั", - "m": "m" + "m": "ะผะธะฝ" }, "atsumeru": { "series": "ะกะตั€ะธะธ", @@ -694,6 +737,11 @@ "targets_down": "ะะตะฐะบั‚ะธะฒะฝั‹ะต ั†ะตะปะธ", "targets_total": "ะ’ัะตะณะพ ั†ะตะปะตะน" }, + "gatus": { + "up": "ะะบั‚ะธะฒะฝั‹ะต ัะฐะนั‚ั‹", + "down": "ะะตะฐะบั‚ะธะฒะฝั‹ะต ัะฐะนั‚ั‹", + "uptime": "ะ’ั€ะตะผั ั€ะฐะฑะพั‚ั‹" + }, "ghostfolio": { "gross_percent_today": "ะกะตะณะพะดะฝั", "gross_percent_1y": "ะžะดะธะฝ ะณะพะด", @@ -775,6 +823,14 @@ "passed": "ะฃัะฟะตัˆะฝะพ", "failed": "ะŸั€ะพะฒะฐะปะตะฝะพ" }, + "openwrt": { + "uptime": "ะ’ั€ะตะผั ั€ะฐะฑะพั‚ั‹", + "cpuLoad": "ะกั€ะตะดะฝัั ะฝะฐะณั€ัƒะทะบะฐ ะฆะŸ (5ะผ)", + "up": "ะžะฝะปะฐะนะฝ", + "down": "ะžั„ะปะฐะนะฝ", + "bytesTx": "ะŸะตั€ะตะดะฐะฝะพ", + "bytesRx": "ะŸะพะปัƒั‡ะตะฝะพ" + }, "uptimerobot": { "status": "ะกั‚ะฐั‚ัƒั", "uptime": "ะ’ั€ะตะผั ั€ะฐะฑะพั‚ั‹", @@ -797,11 +853,159 @@ "noEventsFound": "ะกะพะฑั‹ั‚ะธะน ะฝะต ะฝะฐะนะดะตะฝะพ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ะŸะปะฐั‚ั„ะพั€ะผั‹", + "totalRoms": "ะ˜ะณั€ั‹", + "saves": "ะกะตะนะฒั‹", + "states": "ะกะพัั‚ะพัะฝะธั", + "screenshots": "ะกะบั€ะธะฝัˆะพั‚ั‹", + "totalfilesize": "ะžะฑั‰ะธะน ะพะฑัŠะตะผ" + }, + "mailcow": { + "domains": "ะ”ะพะผะตะฝั‹", + "mailboxes": "ะŸะพั‡ั‚ะพะฒั‹ะต ัั‰ะธะบะธ", + "mails": "ะŸะธััŒะผะฐ", + "storage": "ะฅั€ะฐะฝะธะปะธั‰ะต" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "ะŸั€ะตะดัƒะฟั€ะตะถะดะตะฝะธั", + "criticals": "ะšั€ะธั‚ะธั‡ะตัะบะธะต" + }, + "plantit": { + "events": "ะกะพะฑั‹ั‚ะธั", + "plants": "ะ ะฐัั‚ะตะฝะธั", + "photos": "ะคะพั‚ะพ", + "species": "ะ’ะธะดั‹" + }, + "gitea": { + "notifications": "ะฃะฒะตะดะพะผะปะตะฝะธั", + "issues": "ะ’ะพะฟั€ะพัั‹", + "pulls": "ะ—ะฐะฟั€ะพัั‹ ะฝะฐ ัะปะธัะฝะธะต (Pull Request)" + }, + "stash": { + "scenes": "ะกั†ะตะฝั‹", + "scenesPlayed": "ะŸั€ะพะธะณั€ะฐะฝะฝั‹ั… ัั†ะตะฝ", + "playCount": "ะ’ัะตะณะพ ะฟั€ะพะธะณั€ะฐะฝะพ", + "playDuration": "ะŸั€ะพัะผะพั‚ั€ะตะฝะพ ะฒั€ะตะผะตะฝะธ", + "sceneSize": "ะ ะฐะทะผะตั€ ัั†ะตะฝั‹", + "sceneDuration": "ะ”ะปะธั‚ะตะปัŒะฝะพัั‚ัŒ ัั†ะตะฝ", + "images": "ะ˜ะทะพะฑั€ะฐะถะตะฝะธั", + "imageSize": "ะ ะฐะทะผะตั€ ะธะทะพะฑั€ะฐะถะตะฝะธะน", + "galleries": "ะ“ะฐะปะตั€ะตะธ", + "performers": "ะ˜ัะฟะพะปะฝะธั‚ะตะปะธ", + "studios": "ะกั‚ัƒะดะธะธ", + "movies": "ะคะธะปัŒะผั‹", + "tags": "ะขะตะณะธ", + "oCount": "0" + }, + "tandoor": { + "users": "ะŸะพะปัŒะทะพะฒะฐั‚ะตะปะธ", + "recipes": "ะ ะตั†ะตะฟั‚ั‹", + "keywords": "ะšะปัŽั‡ะตะฒั‹ะต ัะปะพะฒะฐ" + }, + "homebox": { + "items": "ะญะปะตะผะตะฝั‚ั‹", + "totalWithWarranty": "ะก ะณะฐั€ะฐะฝั‚ะธะตะน", + "locations": "ะœะตัั‚ะพะฟะพะปะพะถะตะฝะธั", + "labels": "ะฏั€ะปั‹ะบะธ", + "users": "ะŸะพะปัŒะทะพะฒะฐั‚ะตะปะธ", + "totalValue": "ะžะฑั‰ะฐั ัั‚ะพะธะผะพัั‚ัŒ" + }, + "crowdsec": { + "alerts": "ะŸั€ะตะดัƒะฟั€ะตะถะดะตะฝะธั", + "bans": "ะ‘ะปะพะบะธั€ะพะฒะบะธ" + }, + "wgeasy": { + "connected": "ะŸะพะดะบะปัŽั‡ะตะฝะพ", + "enabled": "ะ’ะบะปัŽั‡ะตะฝะพ", + "disabled": "ะ’ั‹ะบะปัŽั‡ะตะฝะพ", + "total": "ะ’ัะตะณะพ" + }, + "swagdashboard": { + "proxied": "ะŸั€ะพะบัะธ", + "auth": "ะก ะะฒั‚ะพั€ะธะทะฐั†ะธะตะน", + "outdated": "ะฃัั‚ะฐั€ะตะฒัˆะธะต", + "banned": "ะ—ะฐะฑะปะพะบะธั€ะพะฒะฐะฝะฝั‹ะต" + }, + "myspeed": { + "ping": "ะŸะธะฝะณ", + "download": "ะกะบะฐั‡ะธะฒะฐะฝะธะต", + "upload": "ะ—ะฐะณั€ัƒะทะบะฐ" + }, + "stocks": { + "stocks": "ะะบั†ะธะธ", + "loading": "ะ—ะฐะณั€ัƒะทะบะฐ", + "open": "ะžั‚ะบั€ั‹ั‚ะพ - ะ ั‹ะฝะพะบ ะกะจะ", + "closed": "ะ—ะฐะบั€ั‹ั‚ะพ - ั€ั‹ะฝะพะบ ะกะจะ", + "invalidConfiguration": "ะะตะฒะตั€ะฝะฐั ะบะพะฝั„ะธะณัƒั€ะฐั†ะธั" + }, + "frigate": { + "cameras": "ะšะฐะผะตั€ั‹", + "uptime": "ะ’ั€ะตะผั ั€ะฐะฑะพั‚ั‹", + "version": "ะ’ะตั€ัะธั" + }, + "linkwarden": { + "links": "ะกัั‹ะปะบะธ", + "collections": "ะšะพะปะปะตะบั†ะธะธ", + "tags": "ะขะตะณะธ" + }, + "zabbix": { + "unclassified": "ะะต ะบะปะฐััะธั„ะธั†ะธั€ะพะฒะฐะฝะพ", + "information": "ะ˜ะฝั„ะพั€ะผะฐั†ะธั", + "warning": "ะŸั€ะตะดัƒะฟั€ะตะถะดะตะฝะธะต", + "average": "ะกั€ะตะดะฝัั", + "high": "ะ’ั‹ัะพะบะฐั", + "disaster": "ะงั€ะตะทะฒั‹ั‡ะฐะนะฝะฐั" + }, + "lubelogger": { + "vehicle": "ะะฒั‚ะพะผะพะฑะธะปัŒ", + "vehicles": "ะะฒั‚ะพะผะพะฑะธะปะธ", + "serviceRecords": "ะกะตั€ะฒะธัะฝั‹ะต ั€ะฐะฑะพั‚ั‹", + "reminders": "ะะฐะฟะพะผะธะฝะฐะฝะธั", + "nextReminder": "ะกะปะตะดัƒัŽั‰ะตะต ะฝะฐะฟะพะผะธะฝะฐะฝะธะต", + "none": "ะะตั‚" + }, + "vikunja": { + "projects": "ะะบั‚ะธะฒะฝั‹ะต ะŸั€ะพะตะบั‚ั‹", + "tasks7d": "ะ—ะฐะดะฐั‡ะธ ะฝะฐ ัั‚ะพะน ะฝะตะดะตะปะต", + "tasksOverdue": "ะŸั€ะพัั€ะพั‡ะตะฝะฝั‹ะต ะทะฐะดะฐั‡ะธ", + "tasksInProgress": "ะ—ะฐะดะฐั‡ะธ ะฒ ะฟั€ะพั†ะตััะต" + }, + "headscale": { + "name": "ะ˜ะผั", + "address": "ะะดั€ะตั", + "last_seen": "ะŸะพัะปะตะดะฝะตะต ะฟะพัะตั‰ะตะฝะธะต", + "status": "ะกั‚ะฐั‚ัƒั", + "online": "ะ’ ัะตั‚ะธ", + "offline": "ะะต ะฒ ัะตั‚ะธ" + }, + "beszel": { + "name": "ะ˜ะผั", + "systems": "ะกะธัั‚ะตะผั‹", + "up": "ะžะฝะปะฐะนะฝ", + "status": "ะกั‚ะฐั‚ัƒั", + "updated": "ะžะฑะฝะพะฒะปะตะฝะฝะพ", + "cpu": "ะฆะŸ", + "memory": "ะžะ—ะฃ", + "disk": "ะ”ะธัะบ", + "network": "ะกะตั‚ัŒ" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ะ—ะดะพั€ะพะฒั‹ะน", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ะžั‚ััƒั‚ัั‚ะฒัƒะตั‚", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "ะ—ะฐะณั€ัƒะทะบะฐ" + }, + "gitlab": { + "groups": "Groups", + "issues": "ะ’ะพะฟั€ะพัั‹", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/sk/common.json b/public/locales/sk/common.json index 015187d2..e93dd657 100644 --- a/public/locales/sk/common.json +++ b/public/locales/sk/common.json @@ -11,9 +11,9 @@ "percent": "{{value, percent}}", "number": "{{value, number}}", "ms": "{{value, number}}", - "date": "{value, date}", + "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mes", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Epizรณdy", "songs": "Skladby" }, + "esphome": { + "offline": "Nedostupnรฝ", + "offline_alt": "Nedostupnรฝ", + "online": "Online", + "total": "Celkovo", + "unknown": "Neznรกme" + }, "evcc": { "pv_power": "Produkcia", "battery_soc": "Batรฉria", @@ -135,8 +142,8 @@ "connectionStatusDisconnected": "Odpojenรฉ", "connectionStatusConnected": "Pripojenรฉ", "uptime": "Prevรกdzka", - "maxDown": "Max. Down", - "maxUp": "Max. Up", + "maxDown": "Max. sลฅahovanie", + "maxUp": "Max. nahrรกvanie", "down": "Sลฅahovanie", "up": "Nahrรกvanie", "received": "Prijatรฉ", @@ -219,6 +226,10 @@ "leech": "Leechovanรฉ", "seed": "Seedovanรฉ" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Sลฅahovanie", "upload": "Nahrรกvanie", @@ -270,7 +281,7 @@ "approved": "Schvรกlenรฉ", "available": "Dostupnรฉ" }, - "pialert": { + "netalertx": { "total": "Celkovo", "connected": "Pripojenรฉ", "new_devices": "Novรฉ zariadenia", @@ -298,6 +309,16 @@ "stopped": "Zastavenรฉ", "total": "Celkovo" }, + "suwayomi": { + "download": "Stiahnutรฉ", + "nondownload": "Non-Downloaded", + "read": "Preฤรญtanรฉ", + "unread": "Nepreฤรญtanรฉ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adresa", "expires": "Vyprลกรญ", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "Pred {{value}}" }, + "technitium": { + "totalQueries": "Dopyty", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Zablokovanรฉ", + "totalDropped": "Dropped", + "totalClients": "Klienti" + }, "tdarr": { "queue": "V poradรญ", "processed": "Spracovanรฉ", @@ -419,7 +453,8 @@ "search": "Hฤพadaลฅ", "custom": "Vlastnรฉ", "visit": "Navลกtรญviลฅ", - "url": "Odkaz" + "url": "Odkaz", + "searchsuggestion": "Nรกvrh" }, "wmo": { "0-day": "Slneฤno", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanรกly", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tunery", + "channelNumber": "Kanรกl", + "channelNetwork": "Sieลฅ", + "signalStrength": "Sila", + "signalQuality": "Kvalita", + "symbolQuality": "Kvalita", + "networkRate": "Prenosovรก rรฝchlosลฅ", + "clientIP": "Klient" }, "scrutiny": { "passed": "รšspeลกnรฝ", @@ -694,6 +737,11 @@ "targets_down": "Nedostupnรฉ ciele", "targets_total": "Cieฤพov spolu" }, + "gatus": { + "up": "Weby dostupnรฉ", + "down": "Weby nedostupnรฉ", + "uptime": "Prevรกdzka" + }, "ghostfolio": { "gross_percent_today": "Dnes", "gross_percent_1y": "Jeden rok", @@ -775,6 +823,14 @@ "passed": "รšspeลกnรฝ", "failed": "Zlyhanรฉ" }, + "openwrt": { + "uptime": "Prevรกdzka", + "cpuLoad": "Zรกลฅaลพ CPU priem. (5m)", + "up": "Nahrรกvanie", + "down": "Sลฅahovanie", + "bytesTx": "Prenesenรฝch", + "bytesRx": "Prijatรฉ" + }, "uptimerobot": { "status": "Stav", "uptime": "Prevรกdzka", @@ -797,11 +853,159 @@ "noEventsFound": "ลฝiadne udalosti" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platformy", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domรฉny", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "รšloลพisko" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Upozornenia", + "criticals": "Kritickรฉ" + }, + "plantit": { + "events": "Udalosti", + "plants": "Rastliny", + "photos": "Fotografie", + "species": "Druhy" + }, + "gitea": { + "notifications": "Oznรกmenia", + "issues": "Problรฉmy", + "pulls": "Pull requesty" + }, + "stash": { + "scenes": "Scรฉny", + "scenesPlayed": "Prehranรฉ scรฉny", + "playCount": "Celkovo prehranรญ", + "playDuration": "Pozeranรฝ ฤas", + "sceneSize": "Veฤพkosลฅ obrazovky", + "sceneDuration": "Dฤบลพka scรฉny", + "images": "Obrรกzky", + "imageSize": "Veฤพkosลฅ obrรกzkov", + "galleries": "Galรฉrie", + "performers": "Herci", + "studios": "ล tรบdiรก", + "movies": "Filmy", + "tags": "ล tรญtky", + "oCount": "O Count" + }, + "tandoor": { + "users": "Pouลพรญvatelia", + "recipes": "Recepty", + "keywords": "Kฤพรบฤovรฉ slovรก" + }, + "homebox": { + "items": "Poloลพky", + "totalWithWarranty": "So zรกrukou", + "locations": "Umiestnenia", + "labels": "ล tรญtky", + "users": "Pouลพรญvatelia", + "totalValue": "Celkovรก hodnota" + }, + "crowdsec": { + "alerts": "Upozornenia", + "bans": "Bany" + }, + "wgeasy": { + "connected": "Pripojenรฉ", + "enabled": "Povolenรฉ", + "disabled": "Zakรกzanรฉ", + "total": "Celkovo" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Zastaranรฉ", + "banned": "Zabanovanรฝ" + }, + "myspeed": { + "ping": "Odozva", + "download": "Sลฅahovanie", + "upload": "Nahrรกvanie" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Prevรกdzka", + "version": "Verzia" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ล tรญtky" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Informรกcia", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Meno", + "address": "Adresa", + "last_seen": "Naposledy videnรฉ", + "status": "Stav", + "online": "Online", + "offline": "Nedostupnรฝ" + }, + "beszel": { + "name": "Meno", + "systems": "Systems", + "up": "Nahrรกvanie", + "status": "Stav", + "updated": "Aktualizovanรฉ", + "cpu": "CPU", + "memory": "RAM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Zdravรฝ", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Chรฝbajรบce", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Problรฉmy", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/sl/common.json b/public/locales/sl/common.json index ed79137d..17298acb 100644 --- a/public/locales/sl/common.json +++ b/public/locales/sl/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mes", "days": "d", "hours": "u", @@ -107,6 +107,13 @@ "episodes": "Epizode", "songs": "Pesmi" }, + "esphome": { + "offline": "Ni povezan", + "offline_alt": "Ni povezan", + "online": "Na spletu", + "total": "Skupaj", + "unknown": "Neznano" + }, "evcc": { "pv_power": "Proizvodnja", "battery_soc": "Baterija", @@ -133,7 +140,7 @@ "connectionStatusPendingDisconnect": "ฤŒakanje na prekinitev", "connectionStatusDisconnecting": "Prekinitev", "connectionStatusDisconnected": "Prekinjeno", - "connectionStatusConnected": "Povezanih", + "connectionStatusConnected": "Povezan", "uptime": "ฤŒas delovanja", "maxDown": "Maks. dol", "maxUp": "Maks. gor", @@ -146,7 +153,7 @@ "caddy": { "upstreams": "Pretok gor", "requests": "Trenutnih zahtev", - "requests_failed": "Neuspeลกnih zahtev" + "requests_failed": "Neuspeลก. zahtev" }, "changedetectionio": { "totalObserved": "Skupaj opazovano", @@ -219,6 +226,10 @@ "leech": "Pijavka", "seed": "Sejanje" }, + "develancacheui": { + "cachehitbytes": "Predpomn. zadetki", + "cachemissbytes": "Predpomn. zgreลกeno" + }, "downloadstation": { "download": "Prenos", "upload": "Nalaganje", @@ -270,11 +281,11 @@ "approved": "Odobreno", "available": "Na voljo" }, - "pialert": { + "netalertx": { "total": "Skupaj", - "connected": "Povezanih", - "new_devices": "Nove naprave", - "down_alerts": "Izkljuฤeno" + "connected": "Povezan", + "new_devices": "Nova naprave", + "down_alerts": "Alarmi nedelovanja" }, "pihole": { "queries": "Poizvedbe", @@ -298,6 +309,16 @@ "stopped": "Ustavljen", "total": "Skupaj" }, + "suwayomi": { + "download": "Preneseno", + "nondownload": "Nepreneseno", + "read": "Prebrano", + "unread": "Neprebrano", + "downloadedread": "Preneseno in prebrano", + "downloadedunread": "Preneseno in neprebrano", + "nondownloadedread": "Nepreneseno in prebrano", + "nondownloadedunread": "Nepreneseno in neprebrano" + }, "tailscale": { "address": "Naslov", "expires": "Poteฤe", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} nazaj" }, + "technitium": { + "totalQueries": "Poizvedbe", + "totalNoError": "Uspeh", + "totalServerFailure": "Neuspehi", + "totalNxDomain": "NX domene", + "totalRefused": "Zavrnjeno", + "totalAuthoritative": "Avtoratitavno", + "totalRecursive": "Rekurzivno", + "totalCached": "Predpomnjeno", + "totalBlocked": "Blokirano", + "totalDropped": "Izpuลกฤeno", + "totalClients": "Klienti" + }, "tdarr": { "queue": "Vrsta", "processed": "Procesiran", @@ -348,8 +382,8 @@ "enableIndexers": "Indekserji", "numberOfGrabs": "Zajemi", "numberOfQueries": "Poizvedbe", - "numberOfFailGrabs": "Neuspeลกni zajemi", - "numberOfFailQueries": "Neuspeลกne poizvedbe" + "numberOfFailGrabs": "Neuspeลก. zajem", + "numberOfFailQueries": "Neuspeลก. poizvedb" }, "jackett": { "configured": "Nastavljeno", @@ -419,7 +453,8 @@ "search": "Iskanje", "custom": "Po meri", "visit": "Obiลกฤi", - "url": "URL" + "url": "URL", + "searchsuggestion": "Predlog" }, "wmo": { "0-day": "Sonฤno", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanali", - "hd": "HD" + "hd": "HD", + "tunerCount": "Sprejemniki", + "channelNumber": "Kanal", + "channelNetwork": "Omreลพje", + "signalStrength": "Moฤ", + "signalQuality": "Kakovost", + "symbolQuality": "Kakovost", + "networkRate": "Pasovna ลกirina", + "clientIP": "Odjemalec" }, "scrutiny": { "passed": "Opravljeno", @@ -694,6 +737,11 @@ "targets_down": "Tarฤe dol", "targets_total": "Skupaj tarฤ" }, + "gatus": { + "up": "Deluje", + "down": "Ne deluje", + "uptime": "ฤŒas delovanja" + }, "ghostfolio": { "gross_percent_today": "Danes", "gross_percent_1y": "Eno leto", @@ -775,6 +823,14 @@ "passed": "Opravljeno", "failed": "Neuspeลกno" }, + "openwrt": { + "uptime": "ฤŒas delovanja", + "cpuLoad": "CPU obremenitev povp. (5m)", + "up": "Povezan", + "down": "Nepovezan", + "bytesTx": "Preneลกeno", + "bytesRx": "Prejeto" + }, "uptimerobot": { "status": "Stanje", "uptime": "ฤŒas delovanja", @@ -797,11 +853,159 @@ "noEventsFound": "Ni dogodkov" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platforme", + "totalRoms": "Igre", + "saves": "Shranitve", + "states": "Stanja", + "screenshots": "Posnetki zaslona", + "totalfilesize": "Skupna velikost" + }, + "mailcow": { + "domains": "Domene", + "mailboxes": "Nabiralniki", + "mails": "Poลกta", + "storage": "Shramba" }, "netdata": { "warnings": "Opozorila", "criticals": "Kritiฤno" + }, + "plantit": { + "events": "Dogodki", + "plants": "Rastline", + "photos": "Slike", + "species": "Vrste" + }, + "gitea": { + "notifications": "Obvestila", + "issues": "Teลพave", + "pulls": "Zahteve za prenos" + }, + "stash": { + "scenes": "Scene", + "scenesPlayed": "Predvajane scene", + "playCount": "Skupaj predvajano", + "playDuration": "ฤŒas gledanja", + "sceneSize": "Velikost scene", + "sceneDuration": "Dolลพina scene", + "images": "Slike", + "imageSize": "Velikosti slik", + "galleries": "Galerije", + "performers": "Izvajalci", + "studios": "Studiji", + "movies": "Filmi", + "tags": "Znaฤke", + "oCount": "O ลกtetje" + }, + "tandoor": { + "users": "Uporabniki", + "recipes": "Recepti", + "keywords": "Kljuฤne besede" + }, + "homebox": { + "items": "Predmeti", + "totalWithWarranty": "Z garancijo", + "locations": "Lokacije", + "labels": "Oznake", + "users": "Uporabniki", + "totalValue": "Skupna vrednost" + }, + "crowdsec": { + "alerts": "Opozorila", + "bans": "Prepovedi" + }, + "wgeasy": { + "connected": "Povezan", + "enabled": "Omogoฤen", + "disabled": "Onemogoฤen", + "total": "Skupaj" + }, + "swagdashboard": { + "proxied": "ฤŒez proxi", + "auth": "Z Auth", + "outdated": "Zastarelo", + "banned": "Prepovedan" + }, + "myspeed": { + "ping": "Ping", + "download": "Prenos", + "upload": "Nalaganje" + }, + "stocks": { + "stocks": "Delnice", + "loading": "Nalaganje", + "open": "Odprto - US trg", + "closed": "Zaprto - US trg", + "invalidConfiguration": "Neveljavna konfiguracija" + }, + "frigate": { + "cameras": "Kamere", + "uptime": "ฤŒas delovanja", + "version": "Verzija" + }, + "linkwarden": { + "links": "Povezave", + "collections": "Zbirke", + "tags": "Znaฤke" + }, + "zabbix": { + "unclassified": "Nerazvrลกฤeno", + "information": "Informacija", + "warning": "Opozorilo", + "average": "Povpreฤno", + "high": "Visoko", + "disaster": "Katastrofa" + }, + "lubelogger": { + "vehicle": "Vozilo", + "vehicles": "Vozila", + "serviceRecords": "Zapisi servisov", + "reminders": "Opomniki", + "nextReminder": "Naslednji opomnik", + "none": "Brez" + }, + "vikunja": { + "projects": "Aktivni projekti", + "tasks7d": "Potekla opravila tega tedna", + "tasksOverdue": "Potekla opravila", + "tasksInProgress": "Tekoฤa opravila" + }, + "headscale": { + "name": "Naziv", + "address": "Naslov", + "last_seen": "Viden", + "status": "Stanje", + "online": "Na spletu", + "offline": "Ni povezan" + }, + "beszel": { + "name": "Naziv", + "systems": "Sistemi", + "up": "Povezan", + "status": "Stanje", + "updated": "Posodobljen", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "Mreลพa" + }, + "argocd": { + "apps": "Aplikacije", + "synced": "Sinhro", + "outOfSync": "Ni sinhro", + "healthy": "Zdrav", + "degraded": "Degragirano", + "progressing": "V teku", + "missing": "Manjka", + "suspended": "Prekinjeno" + }, + "spoolman": { + "loading": "Nalaganje" + }, + "gitlab": { + "groups": "Groups", + "issues": "Teลพave", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index ca628d3b..135d5040 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Total" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Status", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Status", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index af27210e..ea10eadb 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -13,8 +13,8 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", + "duration": "{{value, duration}}", + "months": "mรฅn", "days": "d", "hours": "h", "minutes": "m", @@ -56,7 +56,7 @@ "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", + "devices": "Enheter", "lan_devices": "LAN Devices", "wlan_devices": "WLAN Devices", "lan_users": "LAN-anvรคndare", @@ -104,9 +104,16 @@ "no_active": "Inga aktiva strรถmmar", "movies": "Movies", "series": "Series", - "episodes": "Episodes", + "episodes": "Avsnitt", "songs": "Songs" }, + "esphome": { + "offline": "Offline", + "offline_alt": "Offline", + "online": "Online", + "total": "Total", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "Godkรคnda", "available": "Tillgรคnglig" }, - "pialert": { + "netalertx": { "total": "Total", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stoppade", "total": "Total" }, + "suwayomi": { + "download": "Nedladdat", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Fรถrfrรฅgningar", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blockerad", + "totalDropped": "Dropped", + "totalClients": "Klienter" + }, "tdarr": { "queue": "Kรถ", "processed": "Processed", @@ -416,10 +450,11 @@ "quicklaunch": { "bookmark": "Bookmark", "service": "Service", - "search": "Search", + "search": "Sรถk", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Status", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Anvรคndare", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Anvรคndare", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Aktiverad", + "disabled": "Inaktiverad", + "total": "Total" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Lรคnkar", + "collections": "Samlingar", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Status", + "online": "Online", + "offline": "Offline" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Status", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 81b6af79..f480451b 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "เฐ†เฐซเฑโ€Œเฐฒเฑˆเฐจเฑ", + "offline_alt": "เฐ†เฐซเฑโ€Œเฐฒเฑˆเฐจเฑ", + "online": "Online", + "total": "เฐฎเฑŠเฐคเฑเฐคเฐ‚", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "เฐ†เฐฎเฑ‹เฐฆเฐฟเฐ‚เฐšเฐฌเฐกเฐฟเฐ‚เฐฆเฐฟ", "available": "เฐ…เฐ‚เฐฆเฑเฐฌเฐพเฐŸเฑเฐฒเฑ‹ เฐตเฑเฐจเฑเฐจเฐตเฐฟ" }, - "pialert": { + "netalertx": { "total": "เฐฎเฑŠเฐคเฑเฐคเฐ‚", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "เฐ†เฐ—เฐฟเฐชเฑ‹เฐฏเฐฟเฐจเฐตเฐฟ", "total": "เฐฎเฑŠเฐคเฑเฐคเฐ‚" }, + "suwayomi": { + "download": "เฐกเฑŒเฐจเฑโ€Œเฐฒเฑ‹เฐกเฑ เฐšเฑ‡เฐฏเฐฌเฐกเฐฟเฐ‚เฐฆเฐฟ", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "เฐชเฑเฐฐเฐถเฑเฐจเฐฒเฑ", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "เฐจเฐฟเฐฐเฑ‹เฐงเฐฟเฐ‚เฐšเฐฌเฐกเฐฟเฐ‚เฐฆเฐฟ", + "totalDropped": "Dropped", + "totalClients": "เฐ–เฐพเฐคเฐพเฐฆเฐพเฐฐเฑเฐฒเฑ" + }, "tdarr": { "queue": "เฐตเฐฐเฑเฐธ", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "เฐธเฐจเฑเฐจเฑ€", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "เฐฌเฐฟเฐŸเฑเฐฐเฑ‡เฐŸเฑ", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "เฐตเฐฟเฐซเฐฒเฐฎเฐฏเฑเฐฏเฐพเฐฐเฑ" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "เฐนเฑ‹เฐฆเฐพ", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "เฐกเฑŠเฐฎเฑˆเฐจเฑโ€Œเฐฒเฑ", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "เฐตเฐฟเฐจเฐฟเฐฏเฑ‹เฐ—เฐฆเฐพเฐฐเฑเฐฒเฑ", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "เฐตเฐฟเฐจเฐฟเฐฏเฑ‹เฐ—เฐฆเฐพเฐฐเฑเฐฒเฑ", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "เฐชเฑเฐฐเฐพเฐฐเฐ‚เฐญเฐฟเฐ‚เฐšเฐฌเฐกเฐฟเฐ‚เฐฆเฐฟ", + "disabled": "เฐกเฐฟเฐธเฑ‡เฐฌเฑเฐฒเฑ†เฐกเฑ", + "total": "เฐฎเฑŠเฐคเฑเฐคเฐ‚" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "เฐนเฑ‹เฐฆเฐพ", + "online": "Online", + "offline": "เฐ†เฐซเฑโ€Œเฐฒเฑˆเฐจเฑ" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "เฐนเฑ‹เฐฆเฐพ", + "updated": "เฐจเฐตเฑ€เฐ•เฐฐเฐฟเฐ‚เฐšเฐฌเฐกเฐฟเฐ‚เฐฆเฐฟ", + "cpu": "เฐธเฑ€เฐชเฐฟเฐฏเฑ‚", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "เฐฎเฐฟเฐธเฑเฐธเฐฟเฐ‚เฐ—เฑ", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/th/common.json b/public/locales/th/common.json index 86b7021a..67c5804b 100644 --- a/public/locales/th/common.json +++ b/public/locales/th/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "เธญเธญเธŸเน„เธฅเธ™เนŒ", + "offline_alt": "เธญเธญเธŸเน„เธฅเธ™เนŒ", + "online": "Online", + "total": "เธ—เธฑเน‰เธ‡เธซเธกเธ”", + "unknown": "เน„เธกเนˆเธ—เธฃเธฒเธš" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "เธ”เธฒเธงเธ™เนŒเน‚เธซเธฅเธ”", "upload": "เธญเธฑเธžเน‚เธซเธฅเธ”", @@ -270,7 +281,7 @@ "approved": "Approved", "available": "Available" }, - "pialert": { + "netalertx": { "total": "เธ—เธฑเน‰เธ‡เธซเธกเธ”", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "เธ—เธฑเน‰เธ‡เธซเธกเธ”" }, + "suwayomi": { + "download": "Downloaded", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Queue", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "เธญเธฑเธ•เธฃเธฒเธšเธดเธ•", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "เน€เธงเน‡เธšเน„เธ‹เธ•เนŒ เธฅเนˆเธก", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "เธชเธ–เธฒเธ™เธฐ", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "เธœเธนเน‰เนƒเธŠเน‰", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "เธœเธนเน‰เนƒเธŠเน‰", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "เธ—เธฑเน‰เธ‡เธซเธกเธ”" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "เธ›เธดเธ‡", + "download": "เธ”เธฒเธงเธ™เนŒเน‚เธซเธฅเธ”", + "upload": "เธญเธฑเธžเน‚เธซเธฅเธ”" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "เธ‚เน‰เธญเธกเธนเธฅ", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "เธชเธ–เธฒเธ™เธฐ", + "online": "Online", + "offline": "เธญเธญเธŸเน„เธฅเธ™เนŒ" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "เธชเธ–เธฒเธ™เธฐ", + "updated": "Updated", + "cpu": "เธ‹เธตเธžเธตเธขเธน", + "memory": "เน€เธกเธก", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 7ac4a63a..e0b25666 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "ay", "days": "g", "hours": "sa", @@ -21,7 +21,7 @@ "seconds": "s" }, "widget": { - "missing_type": "Kayฤฑp Araรง Tรผrรผ: {{type}}", + "missing_type": "Eksik Araรง Tรผrรผ: {{type}}", "api_error": "API Hatasฤฑ", "information": "Bilgi", "status": "Durum", @@ -42,12 +42,12 @@ "cpu": "CPU", "mem": "MEM", "total": "Toplam", - "free": "BoลŸta", + "free": "BoลŸ", "used": "Kullanฤฑmda", "load": "Yรผk", - "temp": "Geรงici", + "temp": "Sฤฑcaklฤฑk", "max": "En Yรผksek", - "uptime": "ร‡alฤฑลŸma Sรผresi" + "uptime": "ร‡alฤฑลŸฤฑyor" }, "unifi": { "users": "Kullanฤฑcฤฑlar", @@ -61,7 +61,7 @@ "wlan_devices": "WLAN Aygฤฑtlarฤฑ", "lan_users": "LAN Kullanฤฑcฤฑlarฤฑ", "wlan_users": "WLAN Kullanฤฑcฤฑlarฤฑ", - "up": "ร‡alฤฑลŸma Sรผresi", + "up": "ร‡alฤฑลŸฤฑyor", "down": "AลŸaฤŸฤฑ", "wait": "Lรผtfen bekleyin", "empty_data": "Alt sistem durumu bilinmiyor" @@ -71,15 +71,15 @@ "tx": "Giden Veri", "mem": "MEM", "cpu": "CPU", - "running": "ร‡alฤฑลŸan", + "running": "ร‡alฤฑลŸฤฑyor", "offline": "ร‡evrimdฤฑลŸฤฑ", "error": "Hata", "unknown": "Bilinmiyor", - "healthy": "SaฤŸlฤฑk", + "healthy": "SaฤŸlฤฑklฤฑ", "starting": "BaลŸlatฤฑlฤฑyor", "unhealthy": "SaฤŸlฤฑksฤฑz", "not_found": "Bulunamadฤฑ", - "exited": "Durduruldu", + "exited": "Kapandฤฑ", "partial": "Parรงalฤฑ" }, "ping": { @@ -107,6 +107,13 @@ "episodes": "Bรถlรผmler", "songs": "ลžarkฤฑlar" }, + "esphome": { + "offline": "ร‡evrimdฤฑลŸฤฑ", + "offline_alt": "ร‡evrimdฤฑลŸฤฑ", + "online": "ร‡evrimiรงi", + "total": "Toplam", + "unknown": "Bilinmiyor" + }, "evcc": { "pv_power": "รœretim", "battery_soc": "Batarya", @@ -116,8 +123,8 @@ "watt_hour": "Watt/Saat" }, "flood": { - "download": "ฤฐndir", - "upload": "Yรผkle", + "download": "ฤฐndirme", + "upload": "Yรผkleme", "leech": "Tรผketici", "seed": "SaฤŸlayฤฑcฤฑ" }, @@ -130,18 +137,18 @@ "connectionStatusUnconfigured": "YapฤฑlandฤฑrฤฑlmamฤฑลŸ", "connectionStatusConnecting": "BaฤŸlanฤฑyor", "connectionStatusAuthenticating": "Kimlik doฤŸrulanฤฑyor", - "connectionStatusPendingDisconnect": "Pending Disconnect", + "connectionStatusPendingDisconnect": "BaฤŸlantฤฑnฤฑn Kesilmesi Bekleniyor", "connectionStatusDisconnecting": "BaฤŸlantฤฑ kesiliyor...", "connectionStatusDisconnected": "BaฤŸlantฤฑ kesildi", "connectionStatusConnected": "BaฤŸlandฤฑ", "uptime": "ร‡alฤฑลŸma Sรผresi", - "maxDown": "Max. Down", - "maxUp": "Max. Up", + "maxDown": "Max. Indirme", + "maxUp": "Max. Gรถnderme", "down": "ฤฐndirme", "up": "Yรผkleme", "received": "Alฤฑnan", "sent": "Gรถnderilen", - "externalIPAddress": "Ext. IP" + "externalIPAddress": "Harici IP" }, "caddy": { "upstreams": "AkฤฑลŸ", @@ -163,7 +170,7 @@ "transcoding": "DรถnรผลŸtรผrรผlรผyor", "bitrate": "Bit Oranฤฑ", "no_active": "Aktif akฤฑลŸ yok", - "plex_connection_error": "Check Plex Connection" + "plex_connection_error": "Plex BaฤŸlantฤฑsฤฑ Kontrol Ediliyor" }, "omada": { "connectedAp": "BaฤŸlฤฑ AP'ler", @@ -190,18 +197,18 @@ }, "rutorrent": { "active": "Aktif", - "upload": "Yรผkle", - "download": "ฤฐndir" + "upload": "Yรผkleme", + "download": "ฤฐndirme" }, "transmission": { - "download": "ฤฐndir", - "upload": "Yรผkle", + "download": "ฤฐndirme", + "upload": "Yรผkleme", "leech": "Tรผketici", "seed": "SaฤŸlayฤฑcฤฑ" }, "qbittorrent": { - "download": "ฤฐndir", - "upload": "Yรผkle", + "download": "ฤฐndirme", + "upload": "Yรผkleme", "leech": "Tรผketici", "seed": "SaฤŸlayฤฑcฤฑ" }, @@ -214,90 +221,104 @@ "invalid": "Geรงersiz" }, "deluge": { - "download": "ฤฐndir", - "upload": "Yรผkle", + "download": "ฤฐndirme", + "upload": "Yรผkleme", "leech": "Tรผketici", "seed": "SaฤŸlayฤฑcฤฑ" }, + "develancacheui": { + "cachehitbytes": "ร–nbellek ฤฐsabetli Byte", + "cachemissbytes": "ร–nbellek Kaรงฤฑrฤฑlan Byte" + }, "downloadstation": { - "download": "ฤฐndir", - "upload": "Yรผkle", + "download": "ฤฐndirme", + "upload": "Yรผkleme", "leech": "Tรผketici", "seed": "SaฤŸlayฤฑcฤฑ" }, "sonarr": { - "wanted": "Aranan", - "queued": "Kuyrukta", + "wanted": "ฤฐstendi", + "queued": "Sฤฑrada", "series": "Diziler", "queue": "Kuyruk", "unknown": "Bilinmiyor" }, "radarr": { - "wanted": "Aranan", - "missing": "Kayฤฑp", - "queued": "Kuyrukta", + "wanted": "ฤฐstendi", + "missing": "Eksik", + "queued": "Sฤฑrada", "movies": "Filmler", "queue": "Kuyruk", "unknown": "Bilinmiyor" }, "lidarr": { - "wanted": "Aranan", - "queued": "Kuyrukta", + "wanted": "ฤฐstendi", + "queued": "Sฤฑrada", "artists": "Sanatรงฤฑlar" }, "readarr": { - "wanted": "Aranan", - "queued": "Kuyrukta", + "wanted": "ฤฐstendi", + "queued": "Sฤฑrada", "books": "Kitaplar" }, "bazarr": { - "missingEpisodes": "Kayฤฑp Bรถlรผmler", - "missingMovies": "Kayฤฑp Filmler" + "missingEpisodes": "Eksik Bรถlรผmler", + "missingMovies": "Eksik Filmler" }, "ombi": { - "pending": "Bekliyor", + "pending": "Bekleyen", "approved": "Onaylฤฑ", "available": "Kullanฤฑlabilir" }, "jellyseerr": { - "pending": "Bekliyor", + "pending": "Bekleyen", "approved": "Onaylฤฑ", "available": "Kullanฤฑlabilir" }, "overseerr": { - "pending": "Bekliyor", + "pending": "Bekleyen", "processing": "ฤฐลŸleniyor", "approved": "Onaylฤฑ", "available": "Kullanฤฑlabilir" }, - "pialert": { + "netalertx": { "total": "Toplam", "connected": "BaฤŸlandฤฑ", "new_devices": "Yeni Cihazlar", - "down_alerts": "DรผลŸme Uyarฤฑlarฤฑ" + "down_alerts": "Hata Uyarฤฑlarฤฑ" }, "pihole": { "queries": "Sorgular", "blocked": "Engellenen", "blocked_percent": "Engellenen %", - "gravity": "Yer ร‡ekimi" + "gravity": "Gravity" }, "adguard": { "queries": "Sorgular", "blocked": "Engellenen", - "filtered": "Filtrelenen", + "filtered": "Filtrelendi", "latency": "Gecikme" }, "speedtest": { - "upload": "Yรผkle", - "download": "ฤฐndir", + "upload": "Yรผkleme", + "download": "ฤฐndirme", "ping": "Gecikme" }, "portainer": { - "running": "ร‡alฤฑลŸan", + "running": "ร‡alฤฑลŸฤฑyor", "stopped": "Durduruldu", "total": "Toplam" }, + "suwayomi": { + "download": "ฤฐndirilen", + "nondownload": "Non-Downloaded", + "read": "Okunan", + "unread": "OkunmamฤฑลŸ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Adres", "expires": "Geciken", @@ -312,6 +333,19 @@ "seconds": "{{number}} Saniye", "ago": "{{value}} ร–nce" }, + "technitium": { + "totalQueries": "Sorgular", + "totalNoError": "BaลŸarฤฑlฤฑ", + "totalServerFailure": "BaลŸarฤฑsฤฑzlฤฑklar", + "totalNxDomain": "NX Alan Adlarฤฑ", + "totalRefused": "Reddedildi", + "totalAuthoritative": "Yetkili", + "totalRecursive": "Tekrarlamalฤฑ", + "totalCached": "ร–nbelleฤŸe alฤฑndฤฑ", + "totalBlocked": "Engellenen", + "totalDropped": "Bฤฑrakฤฑldฤฑ", + "totalClients": "Alฤฑcฤฑlar" + }, "tdarr": { "queue": "Kuyruk", "processed": "ฤฐลŸlendi", @@ -346,10 +380,10 @@ }, "prowlarr": { "enableIndexers": "Dizin OluลŸturucular", - "numberOfGrabs": "Yakalama Sayฤฑsฤฑ", + "numberOfGrabs": "Yakalamalar", "numberOfQueries": "Sorgular", - "numberOfFailGrabs": "BaลŸarฤฑsฤฑz Yakalama Sayฤฑsฤฑ", - "numberOfFailQueries": "BaลŸarฤฑsฤฑz Sorgu Sayฤฑsฤฑ" + "numberOfFailGrabs": "BaลŸarฤฑsฤฑz Yakalamalar", + "numberOfFailQueries": "BaลŸarฤฑsฤฑz Sorgular" }, "jackett": { "configured": "YapฤฑlandฤฑrฤฑlmฤฑลŸ", @@ -367,8 +401,8 @@ "domain_count": "Etki Alanlarฤฑ" }, "medusa": { - "wanted": "Aranan", - "queued": "Kuyrukta", + "wanted": "ฤฐstendi", + "queued": "Sฤฑrada", "series": "Diziler" }, "minecraft": { @@ -379,7 +413,7 @@ "down": "ร‡evrimdฤฑลŸฤฑ" }, "miniflux": { - "read": "Oku", + "read": "Okunan", "unread": "OkunmamฤฑลŸ" }, "authentik": { @@ -397,17 +431,17 @@ "cpu": "CPU", "load": "Yรผk", "wait": "Lรผtfen bekleyin", - "temp": "Geรงici", + "temp": "Sฤฑcaklฤฑk", "_temp": "Sฤฑcaklฤฑk", "warn": "Uyarฤฑ", - "uptime": "ร‡alฤฑลŸma Sรผresi", + "uptime": "ร‡alฤฑลŸฤฑyor", "total": "Toplam", - "free": "BoลŸta", + "free": "BoลŸ", "used": "Kullanฤฑmda", "days": "g", "hours": "sa", "crit": "Kritik", - "read": "Oku", + "read": "Okunan", "write": "Yazma", "gpu": "GPU", "mem": "Hafฤฑza", @@ -419,7 +453,8 @@ "search": "Ara", "custom": "ร–zel", "visit": "Ziyaret", - "url": "URL" + "url": "URL", + "searchsuggestion": "ร–neri" }, "wmo": { "0-day": "GรผneลŸli", @@ -487,18 +522,18 @@ "child_bridges": "Alt Kรถprรผler", "child_bridges_status": "{{ok}}/{{total}}", "up": "Yรผkleme", - "pending": "Bekliyor", + "pending": "Bekleyen", "down": "ฤฐndirme" }, "healthchecks": { - "new": "New", + "new": "Yeni", "up": "Yรผkleme", - "grace": "In Grace Period", + "grace": "Tolerans Dรถneminde", "down": "ฤฐndirme", - "paused": "Paused", + "paused": "Duraklatฤฑldฤฑ", "status": "Durum", "last_ping": "Son Ping", - "never": "No pings yet" + "never": "Henรผz ping yok" }, "watchtower": { "containers_scanned": "Tarandฤฑ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Kanallar", - "hd": "HD" + "hd": "HD", + "tunerCount": "Ayarlayฤฑcฤฑlar", + "channelNumber": "Kanal", + "channelNetwork": "AฤŸ", + "signalStrength": "SaฤŸlamlฤฑk", + "signalQuality": "Kalite", + "symbolQuality": "Kalite", + "networkRate": "Bit Oranฤฑ", + "clientIP": "Alฤฑcฤฑ" }, "scrutiny": { "passed": "Geรงti", @@ -548,11 +591,11 @@ }, "peanut": { "battery_charge": "Pil Yรผzdesi", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "ups_load": "UPS Yรผkรผ", + "ups_status": "UPS Durumu", "online": "ร‡evrimiรงi", "on_battery": "Pilde", - "low_battery": "Low Battery" + "low_battery": "DรผลŸรผk Pil" }, "nextdns": { "wait": "Lรผtfen Bekleyin", @@ -562,7 +605,7 @@ "cpuLoad": "CPU Yรผkรผ", "memoryUsed": "Bellek Kullanฤฑmฤฑ", "uptime": "ร‡alฤฑลŸma Sรผresi", - "numberOfLeases": "Leases" + "numberOfLeases": "Kiralama" }, "xteve": { "streams_all": "Tรผm AkฤฑลŸlar", @@ -570,9 +613,9 @@ "streams_xepg": "XEPG Kanallarฤฑ" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", + "yieldDay": "Bugรผn", + "absolutePower": "Gรผรง", + "relativePower": "Gรผรง %", "limit": "Limit" }, "opnsense": { @@ -591,25 +634,25 @@ "printer_state": "Durum", "temp_tool": "Araรง sฤฑcaklฤฑฤŸฤฑ", "temp_bed": "Yatak sฤฑcaklฤฑฤŸฤฑ", - "job_completion": "Completion" + "job_completion": "Tamamlanma" }, "cloudflared": { - "origin_ip": "Origin IP", + "origin_ip": "Gerรงek IP", "status": "Durum" }, "pfsense": { - "load": "Load Avg", - "memory": "Mem Usage", - "wanStatus": "WAN Status", + "load": "Ort. Yรผkleme", + "memory": "Bellek Kullanฤฑmฤฑ", + "wanStatus": "WAN Durumu", "up": "Yรผkleme", "down": "ฤฐndirme", "temp": "Sฤฑcaklฤฑk", - "disk": "Disk Usage", + "disk": "Disk Kullanฤฑmฤฑ", "wanIP": "WAN IP" }, "proxmoxbackupserver": { - "datastore_usage": "Datastore", - "failed_tasks_24h": "Failed Tasks 24h", + "datastore_usage": "Veri deposu", + "failed_tasks_24h": "BaลŸarฤฑsฤฑz Gรถrevler 24h", "cpu_usage": "CPU", "memory_usage": "Bellek" }, @@ -620,17 +663,17 @@ "storage": "Depo" }, "uptimekuma": { - "up": "Sites Up", - "down": "Sites Down", + "up": "Siteler ร‡alฤฑลŸฤฑyor", + "down": "Siteler ร‡alฤฑลŸmฤฑyor", "uptime": "ร‡alฤฑลŸma Sรผresi", - "incident": "Incident", + "incident": "Olay", "m": "dk" }, "atsumeru": { "series": "Diziler", - "archives": "Archives", - "chapters": "Chapters", - "categories": "Categories" + "archives": "ArลŸivler", + "chapters": "Bรถlรผmler", + "categories": "Kategoriler" }, "komga": { "libraries": "Kรผtรผphane", @@ -645,7 +688,7 @@ "mylar": { "series": "Diziler", "issues": "Sorunlar", - "wanted": "Aranan" + "wanted": "ฤฐstendi" }, "photoprism": { "albums": "Albรผmler", @@ -657,151 +700,312 @@ "queue": "Kuyruk", "processing": "ฤฐลŸleniyor", "processed": "ฤฐลŸlendi", - "time": "Time" + "time": "Zaman" }, "grafana": { - "dashboards": "Dashboards", - "datasources": "Data Sources", - "totalalerts": "Total Alerts", - "alertstriggered": "Alerts Triggered" + "dashboards": "Kontrol Paneli", + "datasources": "Veri Kaynaklarฤฑ", + "totalalerts": "Toplam Uyarฤฑlar", + "alertstriggered": "Uyarฤฑlar Tetiklendi" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users", - "numfiles": "Files", - "numshares": "Shared Items" + "cpuload": "Cpu Yรผkรผ", + "memoryusage": "Bellek Kullanฤฑmฤฑ", + "freespace": "BoลŸ Alan", + "activeusers": "Aktif Kullanฤฑcฤฑlar", + "numfiles": "Dosyalar", + "numshares": "PaylaลŸฤฑlan ร–ฤŸeler" }, "kopia": { "status": "Durum", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", + "size": "Boyut", + "lastrun": "Son ร‡alฤฑลŸma", + "nextrun": "Sonraki ร‡alฤฑลŸma", "failed": "BaลŸarฤฑsฤฑz" }, "unmanic": { - "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "active_workers": "Aktif Kullanฤฑcฤฑlar", + "total_workers": "Toplam Kullanฤฑcฤฑlar", + "records_total": "Sฤฑra UzunluฤŸu" }, "pterodactyl": { - "servers": "Servers", - "nodes": "Nodes" + "servers": "Sunucular", + "nodes": "DรผฤŸรผmler" }, "prometheus": { - "targets_up": "Targets Up", - "targets_down": "Targets Down", - "targets_total": "Total Targets" + "targets_up": "Hedef ร‡alฤฑลŸฤฑyor", + "targets_down": "Hedef ร‡alฤฑลŸmฤฑyor", + "targets_total": "Toplam Hedef" + }, + "gatus": { + "up": "Siteler ร‡alฤฑลŸฤฑyor", + "down": "Siteler ร‡alฤฑลŸmฤฑyor", + "uptime": "ร‡alฤฑลŸma Sรผresi" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "Bugรผn", + "gross_percent_1y": "Bir yฤฑl", + "gross_percent_max": "Tรผm zaman" }, "audiobookshelf": { - "podcasts": "Podcasts", + "podcasts": "Podcast", "books": "Kitaplar", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcastsDuration": "Sรผre", + "booksDuration": "Sรผre" }, "homeassistant": { - "people_home": "People Home", - "lights_on": "Lights On", - "switches_on": "Switches On" + "people_home": "Evdeki ฤฐnsanlar", + "lights_on": "IลŸฤฑklar Aรงฤฑk", + "switches_on": "Aรง" }, "whatsupdocker": { - "monitoring": "Monitoring", + "monitoring": "ฤฐzleme", "updates": "Gรผncellemeler" }, "calibreweb": { "books": "Kitaplar", - "authors": "Authors", - "categories": "Categories", + "authors": "Yazarlar", + "categories": "Kategoriler", "series": "Diziler" }, "jdownloader": { "downloadCount": "Kuyruk", "downloadBytesRemaining": "Kalan", - "downloadTotalBytes": "Size", + "downloadTotalBytes": "Boyut", "downloadSpeed": "Hฤฑz" }, "kavita": { "seriesCount": "Diziler", - "totalFiles": "Files" + "totalFiles": "Dosyalar" }, "azuredevops": { - "result": "Result", + "result": "Sonuรง", "status": "Durum", - "buildId": "Build ID", - "succeeded": "Succeeded", - "notStarted": "Not Started", + "buildId": "Yapฤฑ KimliฤŸi", + "succeeded": "BaลŸarฤฑlฤฑ", + "notStarted": "Henรผz BaลŸlamadฤฑ", "failed": "BaลŸarฤฑsฤฑz", - "canceled": "Canceled", - "inProgress": "In Progress", - "totalPrs": "Total PRs", - "myPrs": "My PRs", + "canceled": "ฤฐptal edildi", + "inProgress": "Sรผrรผyor", + "totalPrs": "Toplam ร‡ekme ฤฐstekleri", + "myPrs": "Benim ร‡ekme ฤฐsteklerim", "approved": "Onaylฤฑ" }, "gamedig": { "status": "Durum", "online": "ร‡evrimiรงi", "offline": "ร‡evrimdฤฑลŸฤฑ", - "name": "Name", - "map": "Map", - "currentPlayers": "Current players", + "name": "ฤฐsim", + "map": "Harita", + "currentPlayers": "Mevcut oyuncular", "players": "Oyuncular", - "maxPlayers": "Max players", - "bots": "Bots", + "maxPlayers": "Maks. oyuncu", + "bots": "Botlar", "ping": "Gecikme" }, "urbackup": { - "ok": "Ok", - "errored": "Errors", - "noRecent": "Out of Date", - "totalUsed": "Used Storage" + "ok": "Tamam", + "errored": "Hatalar", + "noRecent": "Tarihi geรงmiลŸ", + "totalUsed": "Kullanฤฑlan depolama alanฤฑ" }, "mealie": { - "recipes": "Recipes", + "recipes": "Tarifler", "users": "Kullanฤฑcฤฑlar", - "categories": "Categories", - "tags": "Tags" + "categories": "Kategoriler", + "tags": "Etiketler" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "ฤฐndiriliyor", "total": "Toplam", - "running": "ร‡alฤฑลŸan", + "running": "ร‡alฤฑลŸฤฑyor", "stopped": "Durduruldu", "passed": "Geรงti", "failed": "BaลŸarฤฑsฤฑz" }, + "openwrt": { + "uptime": "ร‡alฤฑลŸma Sรผresi", + "cpuLoad": "CPU Yรผkรผ Ortalamasฤฑ (5dk)", + "up": "Yรผkleme", + "down": "ฤฐndirme", + "bytesTx": "ฤฐletilen", + "bytesRx": "Alฤฑnan" + }, "uptimerobot": { "status": "Durum", "uptime": "ร‡alฤฑลŸma Sรผresi", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", - "sitesUp": "Sites Up", - "sitesDown": "Sites Down", - "paused": "Paused", - "notyetchecked": "Not Yet Checked", + "lastDown": "Son Kesinti", + "downDuration": "Kesinti Sรผresi", + "sitesUp": "Siteler ร‡alฤฑลŸฤฑyor", + "sitesDown": "Siteler ร‡alฤฑลŸmฤฑyor", + "paused": "Duraklatฤฑldฤฑ", + "notyetchecked": "Henรผz Kontrol Edilmedi", "up": "Yรผkleme", - "seemsdown": "Seems Down", + "seemsdown": "Kapalฤฑ gรถrรผnรผyor", "down": "ฤฐndirme", "unknown": "Bilinmiyor" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "Sinemalarda", + "physicalRelease": "Fiziksel Yayฤฑnlanan", + "digitalRelease": "Dijitalde Yayฤฑnlandฤฑ", + "noEventsToday": "Bugรผn iรงin etkinlik yok!", + "noEventsFound": "Etkinlik bulunamadฤฑ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "Platformlar", + "totalRoms": "Oyunlar", + "saves": "Kayฤฑtlar", + "states": "Durumlar", + "screenshots": "Ekran gรถrรผntรผleri", + "totalfilesize": "Toplam Kapasite" + }, + "mailcow": { + "domains": "Etki Alanlarฤฑ", + "mailboxes": "Mailboxes", + "mails": "Postalar", + "storage": "Depo" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "Uyarฤฑlar", + "criticals": "Kritik" + }, + "plantit": { + "events": "Etkinlikler", + "plants": "Bitkiler", + "photos": "FotoฤŸraflar", + "species": "Tรผrler" + }, + "gitea": { + "notifications": "Bildirimler", + "issues": "Sorunlar", + "pulls": "DeฤŸiลŸiklik ฤฐstekleri" + }, + "stash": { + "scenes": "Sahneler", + "scenesPlayed": "Oynanan Sahneler", + "playCount": "Toplam Oynatma", + "playDuration": "ฤฐzlenen Sรผre", + "sceneSize": "Sahne Boyutu", + "sceneDuration": "Sahne Sรผresi", + "images": "Gรถrseller", + "imageSize": "Gรถrsel Boyutu", + "galleries": "Galeriler", + "performers": "Oyuncu", + "studios": "Stรผdyolar", + "movies": "Filmler", + "tags": "Etiketler", + "oCount": "O Sayฤฑsฤฑ" + }, + "tandoor": { + "users": "Kullanฤฑcฤฑlar", + "recipes": "Tarifler", + "keywords": "Anahtar Sรถzcรผkler" + }, + "homebox": { + "items": "ร–geler", + "totalWithWarranty": "Garantili", + "locations": "Konum", + "labels": "Etiketler", + "users": "Kullanฤฑcฤฑlar", + "totalValue": "Toplam DeฤŸer" + }, + "crowdsec": { + "alerts": "Alarmlar", + "bans": "Yasaklar" + }, + "wgeasy": { + "connected": "BaฤŸlandฤฑ", + "enabled": "Etkin", + "disabled": "Devre DฤฑลŸฤฑ", + "total": "Toplam" + }, + "swagdashboard": { + "proxied": "Proxy รœzerinden", + "auth": "Kimlik DoฤŸrulamalฤฑ", + "outdated": "EskimiลŸ", + "banned": "Yasaklฤฑ" + }, + "myspeed": { + "ping": "Gecikme", + "download": "ฤฐndirme", + "upload": "Yรผkleme" + }, + "stocks": { + "stocks": "Hisse Senetleri", + "loading": "Yรผkleniyor", + "open": "Aรงฤฑk - ABD Pazarฤฑ", + "closed": "Kapalฤฑ - ABD Pazarฤฑ", + "invalidConfiguration": "Geรงersiz Yapฤฑlandฤฑrma" + }, + "frigate": { + "cameras": "Kameralar", + "uptime": "ร‡alฤฑลŸma Sรผresi", + "version": "Versiyon" + }, + "linkwarden": { + "links": "BaฤŸlantฤฑlar", + "collections": "Koleksiyonlar", + "tags": "Etiketler" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Bilgi", + "warning": "Uyarฤฑ", + "average": "Ortalama", + "high": "Yรผksek", + "disaster": "Felaket" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "BitiลŸi Bu Hafta Olan Gรถrevler", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ฤฐsim", + "address": "Adres", + "last_seen": "Son Gรถrรผlme", + "status": "Durum", + "online": "ร‡evrimiรงi", + "offline": "ร‡evrimdฤฑลŸฤฑ" + }, + "beszel": { + "name": "ฤฐsim", + "systems": "Systems", + "up": "Yรผkleme", + "status": "Durum", + "updated": "Gรผncellendi", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "SaฤŸlฤฑklฤฑ", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Eksik", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Yรผkleniyor" + }, + "gitlab": { + "groups": "Groups", + "issues": "Sorunlar", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index 5cee41a6..6297e570 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -13,12 +13,12 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", - "minutes": "m", - "seconds": "s" + "duration": "{{value, duration}}", + "months": "ะผั–ั", + "days": "ะดะฝั–ะฒ", + "hours": "ะณะพะด", + "minutes": "ั…ะฒ", + "seconds": "ั" }, "widget": { "missing_type": "ะ’ั–ะดััƒั‚ะฝั–ะน ั‚ะธะฟ ะฒั–ะดะถะตั‚ะฐ: {{type}}", @@ -47,7 +47,7 @@ "load": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", "temp": "ะขะตะผะฟะตั€ะฐั‚ัƒั€ะฐ", "max": "ะœะฐะบั.", - "uptime": "ะ’ั–ะดะฟั€ะฐะฒะบะฐ" + "uptime": "ะžะฝะปะฐะนะฝ" }, "unifi": { "users": "ะšะพั€ะธัั‚ัƒะฒะฐั‡ั–", @@ -61,7 +61,7 @@ "wlan_devices": "WLAN ะฟั€ะธัั‚ั€ะพั—", "lan_users": "LAN ะบะพั€ะธัั‚ัƒะฒะฐั‡ั–", "wlan_users": "WLAN ะบะพั€ะธัั‚ัƒะฒะฐั‡ั–", - "up": "ะ’ั–ะดะฟั€ะฐะฒะบะฐ", + "up": "ะžะฝะปะฐะนะฝ", "down": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", "wait": "ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะทะฐั‡ะตะบะฐะนั‚ะต", "empty_data": "ะกั‚ะฐั‚ัƒั ะฟั–ะดัะธัั‚ะตะผะธ ะฝะตะฒั–ะดะพะผะธะน" @@ -75,7 +75,7 @@ "offline": "ะžั„ะปะฐะนะฝ", "error": "ะŸะพะผะธะปะบะฐ", "unknown": "ะะตะฒั–ะดะพะผะธะน", - "healthy": "ะ—ะดะพั€ะพะฒ'ั", + "healthy": "ะ—ะดะพั€ะพะฒะธะน", "starting": "ะ—ะฐะฟัƒัะบ", "unhealthy": "ะะตะทะดะพั€ะพะฒะธะน", "not_found": "ะะต ะทะฝะฐะนะดะตะฝะพ", @@ -85,21 +85,21 @@ "ping": { "error": "ะŸะพะผะธะปะบะฐ", "ping": "ะŸั–ะฝะณ", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "down": "ะžั„ะปะฐะนะฝ", + "up": "ะžะฝะปะฐะนะฝ", + "not_available": "ะะต ะดะพัั‚ัƒะฟะฝะธะน" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP ัั‚ะฐั‚ัƒั", "error": "ะŸะพะผะธะปะบะฐ", - "response": "Response", - "down": "Down", - "up": "Up", - "not_available": "Not Available" + "response": "ะ’ั–ะดะฟะพะฒั–ะดัŒ", + "down": "ะžั„ะปะฐะนะฝ", + "up": "ะžะฝะปะฐะนะฝ", + "not_available": "ะะต ะดะพัั‚ัƒะฟะฝะธะน" }, "emby": { "playing": "ะ’ั–ะดั‚ะฒะพั€ะตะฝะฝั", - "transcoding": "ะŸะตั€ะตะบะพะดัƒะฒะฐะฝะฝั", + "transcoding": "ะขั€ะฐะฝัะบะพะดัƒะฒะฐะฝะฝั", "bitrate": "ะ‘ั–ั‚ั€ะตะนั‚", "no_active": "ะะตะผะฐั” ะฐะบั‚ะธะฒะฝะธั… ะฟะพั‚ะพะบั–ะฒ", "movies": "ะคั–ะปัŒะผะธ", @@ -107,6 +107,13 @@ "episodes": "ะ•ะฟั–ะทะพะดะธ", "songs": "ะŸั–ัะฝั–" }, + "esphome": { + "offline": "ะžั„ะปะฐะนะฝ", + "offline_alt": "ะžั„ะปะฐะนะฝ", + "online": "ะžะฝะปะฐะนะฝ", + "total": "ะฃััŒะพะณะพ", + "unknown": "ะะตะฒั–ะดะพะผะธะน" + }, "evcc": { "pv_power": "ะ’ะธั€ะพะฑะฝะธั†ั‚ะฒะพ", "battery_soc": "ะ‘ะฐั‚ะฐั€ะตั", @@ -116,8 +123,8 @@ "watt_hour": "ะ’ั‚/ะณะพะด" }, "flood": { - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", "leech": "ะ›ั–ั‡", "seed": "ะกั–ะด" }, @@ -127,21 +134,21 @@ }, "fritzbox": { "connectionStatus": "ะกั‚ะฐะฝ", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", - "connectionStatusConnected": "ะŸั–ะดะบะปัŽั‡ะตะฝะพ", + "connectionStatusUnconfigured": "ะะต ะฝะฐะปะฐัˆั‚ะพะฒะฐะฝะพ", + "connectionStatusConnecting": "ะŸั–ะดะบะปัŽั‡ะตะฝะฝั", + "connectionStatusAuthenticating": "ะะฒั‚ะตะฝั‚ะธั„ั–ะบะฐั†ั–ั", + "connectionStatusPendingDisconnect": "ะžั‡ั–ะบัƒั” ะฒั–ะดะบะปัŽั‡ะตะฝะฝั", + "connectionStatusDisconnecting": "ะ’ั–ะดะบะปัŽั‡ะตะฝะฝั", + "connectionStatusDisconnected": "ะ’ั–ะดะบะปัŽั‡ะตะฝะพ", + "connectionStatusConnected": "ะ—'ั”ะดะฝะฐะฝะพ", "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "Down", - "up": "Up", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "ะœะฐะบั. ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "maxUp": "ะœะฐะบั. ะฒั–ะดะดะฐั‡ะฐ", + "down": "ะžั„ะปะฐะนะฝ", + "up": "ะžะฝะปะฐะนะฝ", + "received": "ะžั‚ั€ะธะผะฐะฝะพ", + "sent": "ะะฐะดั–ัะปะฐะฝะพ", + "externalIPAddress": "ะ—ะพะฒะฝั–ัˆะฝั–ะน IP" }, "caddy": { "upstreams": "ะŸะพั‚ะพะบะธ", @@ -156,11 +163,11 @@ "shows": "ะ’ะธัั‚ะฐะฒะธ", "recordings": "ะ—ะฐะฟะธัะธ", "scheduled": "ะ—ะฐะฟะปะฐะฝะพะฒะฐะฝะพ", - "passes": "ะŸะตั€ะตะฟัƒัั‚ะบะธ" + "passes": "ะŸั€ะพะฟัƒัะบะธ" }, "tautulli": { "playing": "ะ’ั–ะดั‚ะฒะพั€ะตะฝะฝั", - "transcoding": "ะŸะตั€ะตะบะพะดัƒะฒะฐะฝะฝั", + "transcoding": "ะขั€ะฐะฝัะบะพะดัƒะฒะฐะฝะฝั", "bitrate": "ะ‘ั–ั‚ั€ะตะนั‚", "no_active": "ะะตะผะฐั” ะฐะบั‚ะธะฒะฝะธั… ะฟะพั‚ะพะบั–ะฒ", "plex_connection_error": "ะŸะตั€ะตะฒั–ั€ั‚ะต ะท'ั”ะดะฝะฐะฝะฝั Plex" @@ -190,18 +197,18 @@ }, "rutorrent": { "active": "ะะบั‚ะธะฒะฝะธะน", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั" + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ" }, "transmission": { - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", "leech": "ะ›ั–ั‡", "seed": "ะกั–ะด" }, "qbittorrent": { - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", "leech": "ะ›ั–ั‡", "seed": "ะกั–ะด" }, @@ -214,14 +221,18 @@ "invalid": "ะะตะดั–ะนัะฝะธะน" }, "deluge": { - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", "leech": "ะ›ั–ั‡", "seed": "ะกั–ะด" }, + "develancacheui": { + "cachehitbytes": "ะšะตัˆ-ั…ั–ั‚ ะฑะฐะนั‚", + "cachemissbytes": "ะšะตัˆ-ะผั–ั ะฑะฐะนั‚" + }, "downloadstation": { - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", "leech": "ะ›ั–ั‡", "seed": "ะกั–ะด" }, @@ -270,11 +281,11 @@ "approved": "ะ—ะฐั‚ะฒะตั€ะดะถะตะฝะพ", "available": "ะ”ะพัั‚ัƒะฟะฝะพ" }, - "pialert": { + "netalertx": { "total": "ะฃััŒะพะณะพ", - "connected": "ะŸั–ะดะบะปัŽั‡ะตะฝะพ", + "connected": "ะ—'ั”ะดะฝะฐะฝะพ", "new_devices": "ะะพะฒั– ะฟั€ะธัั‚ั€ะพั—", - "down_alerts": "ะกะฟะพะฒั–ั‰ะตะฝะฝั ะฟั€ะพ ะทะฑั–ะน" + "down_alerts": "ะกะฟะพะฒ. ะฟั€ะพ ะฟะฐะดั–ะฝะฝั" }, "pihole": { "queries": "ะ—ะฐะฟะธั‚ะธ", @@ -289,8 +300,8 @@ "latency": "ะ—ะฐั‚ั€ะธะผะบะฐ" }, "speedtest": { - "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะฝั", - "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", "ping": "ะŸั–ะฝะณ" }, "portainer": { @@ -298,6 +309,16 @@ "stopped": "ะ—ัƒะฟะธะฝะตะฝะพ", "total": "ะฃััŒะพะณะพ" }, + "suwayomi": { + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "nondownload": "Non-Downloaded", + "read": "ะŸั€ะพั‡ะธั‚ะฐะฝะพ", + "unread": "ะะต ะฟั€ะพั‡ะธั‚ะฐะฝะพ", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ะะดั€ะตัะฐ", "expires": "ะ”ั–ะนัะฝะธะน ะดะพ", @@ -312,6 +333,19 @@ "seconds": "{{number}}ั", "ago": "{{value}} ั‚ะพะผัƒ" }, + "technitium": { + "totalQueries": "ะ—ะฐะฟะธั‚ะธ", + "totalNoError": "ะฃัะฟั–ัˆะฝะพ", + "totalServerFailure": "ะŸะพะผะธะปะบะธ", + "totalNxDomain": "NX ะ”ะพะผะตะฝะธ", + "totalRefused": "ะ’ั–ะดะผะพะฒะปะตะฝะพ", + "totalAuthoritative": "ะะฒั‚ะพั€ะธั‚ะตั‚ะฝั–", + "totalRecursive": "ะ ะตะบัƒั€ัะธะฒะฝั–", + "totalCached": "ะšะตัˆะพะฒะฐะฝั–", + "totalBlocked": "ะ—ะฐะฑะปะพะบะพะฒะฐะฝะพ", + "totalDropped": "ะ’ะธะดะฐะปะตะฝั–", + "totalClients": "ะšะปั–ั”ะฝั‚ะธ" + }, "tdarr": { "queue": "ะงะตั€ะณะฐ", "processed": "ะžะฑั€ะพะฑะบะฐ", @@ -398,15 +432,15 @@ "load": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", "wait": "ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะทะฐั‡ะตะบะฐะนั‚ะต", "temp": "ะขะตะผะฟะตั€ะฐั‚ัƒั€ะฐ", - "_temp": "Temp", + "_temp": "ะขะตะผะฟ.", "warn": "ะฃะฒะฐะณะฐ", - "uptime": "ะ’ั–ะดะฟั€ะฐะฒะบะฐ", + "uptime": "ะžะฝะปะฐะนะฝ", "total": "ะฃััŒะพะณะพ", "free": "ะ’ั–ะปัŒะฝะพ", "used": "ะ’ะธะบะพั€ะธัั‚ะฐะฝะพ", - "days": "d", - "hours": "h", - "crit": "Crit", + "days": "ะดะฝั–ะฒ", + "hours": "ะณะพะด", + "crit": "ะšั€ะธั‚", "read": "ะŸั€ะพั‡ะธั‚ะฐะฝะพ", "write": "ะะฐะฟะธัะฐั‚ะธ", "gpu": "GPU", @@ -419,7 +453,8 @@ "search": "ะŸะพัˆัƒะบ", "custom": "ะšะพั€ะธัั‚ัƒะฒะฐั†ัŒะบะธะน", "visit": "ะ’ั–ะดะฒั–ะดะฐะนั‚ะต", - "url": "URL-ะฐะดั€ะตัะฐ" + "url": "URL-ะฐะดั€ะตัะฐ", + "searchsuggestion": "ะŸั€ะพะฟะพะทะธั†ั–ั" }, "wmo": { "0-day": "ะกะพะฝัั‡ะฝะพ", @@ -486,15 +521,15 @@ "up_to_date": "ะะบั‚ัƒะฐะปัŒะฝะพ", "child_bridges": "ะ”ะธั‚ัั‡ั– ะผะพัั‚ะธ", "child_bridges_status": "{{ok}}/{{total}}", - "up": "Up", + "up": "ะžะฝะปะฐะนะฝ", "pending": "ะ’ ะพั‡ั–ะบัƒะฒะฐะฝะฝั–", - "down": "Down" + "down": "ะžั„ะปะฐะนะฝ" }, "healthchecks": { "new": "ะะพะฒะธะน", - "up": "Up", + "up": "ะžะฝะปะฐะนะฝ", "grace": "ะฃ ะฟั–ะปัŒะณะพะฒะธะน ะฟะตั€ั–ะพะด", - "down": "Down", + "down": "ะžั„ะปะฐะนะฝ", "paused": "ะŸั€ะธะทัƒะฟะธะฝะตะฝะพ", "status": "ะกั‚ะฐะฝ", "last_ping": "ะžัั‚ะฐะฝะฝั–ะน ะฟั–ะฝะณ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "ะšะฐะฝะฐะปะธ", - "hd": "HD" + "hd": "HD", + "tunerCount": "ะขัŽะฝะตั€ะธ", + "channelNumber": "ะšะฐะฝะฐะป", + "channelNetwork": "ะœะตั€ะตะถะฐ", + "signalStrength": "ะกะธะปะฐ", + "signalQuality": "ะฏะบั–ัั‚ัŒ", + "symbolQuality": "ะฏะบั–ัั‚ัŒ", + "networkRate": "ะ‘ั–ั‚ั€ะตะนั‚", + "clientIP": "ะšะปั–ั”ะฝั‚" }, "scrutiny": { "passed": "ะŸั€ะพะนัˆะพะฒ", @@ -547,12 +590,12 @@ "total": "ะฃััŒะพะณะพ" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "battery_charge": "ะ—ะฐั€ัะด ะฑะฐั‚ะฐั€ะตั—", + "ups_load": "UPS ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "ups_status": "ะกั‚ะฐั‚ัƒั UPS", "online": "ะžะฝะปะฐะนะฝ", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "on_battery": "ะ’ั–ะด ะฑะฐั‚ะฐั€ะตั—", + "low_battery": "ะะธะทัŒะบะธะน ะทะฐั€ัะด" }, "nextdns": { "wait": "ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะทะฐั‡ะตะบะฐะนั‚ะต", @@ -570,10 +613,10 @@ "streams_xepg": "ะšะฐะฝะฐะปะธ XEPG" }, "opendtu": { - "yieldDay": "Today", - "absolutePower": "Power", - "relativePower": "Power %", - "limit": "Limit" + "yieldDay": "ะกัŒะพะณะพะดะฝั–", + "absolutePower": "ะะฑั. ะฟะพั‚ัƒะถ.", + "relativePower": "ะ—ะฐั€ัะด %", + "limit": "ะ›ั–ะผั–ั‚" }, "opnsense": { "cpu": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั CPU", @@ -601,9 +644,9 @@ "load": "ะกะตั€ะตะดะฝั” ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", "memory": "ะ’ะธะบะพั€ะธัั‚ะฐะฝะฝั ะฟะฐะผ'ัั‚ั–", "wanStatus": "ะกั‚ะฐั‚ัƒั WAN", - "up": "Up", - "down": "Down", - "temp": "Temp", + "up": "ะžะฝะปะฐะนะฝ", + "down": "ะžั„ะปะฐะนะฝ", + "temp": "ะขะตะผะฟ.", "disk": "ะ’ะธะบะพั€ะธัั‚ะฐะฝะฝั ะดะธัะบะฐ", "wanIP": "WAN IP" }, @@ -624,7 +667,7 @@ "down": "ะะตะฐะบั‚ะธะฒะฝั– ัะฐะนั‚ะธ", "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ", "incident": "ะ†ะฝั†ะธะดะตะฝั‚", - "m": "m" + "m": "ั…ะฒ" }, "atsumeru": { "series": "ะกะตั€ั–ั—", @@ -694,8 +737,13 @@ "targets_down": "ะฆั–ะปั– ะฒะฝะธะท", "targets_total": "ะ’ััŒะพะณะพ ั†ั–ะปะตะน" }, + "gatus": { + "up": "ะะบั‚ะธะฒะฝั– ัะฐะนั‚ะธ", + "down": "ะะตะฐะบั‚ะธะฒะฝั– ัะฐะนั‚ะธ", + "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ" + }, "ghostfolio": { - "gross_percent_today": "Today", + "gross_percent_today": "ะกัŒะพะณะพะดะฝั–", "gross_percent_1y": "ะžะดะธะฝ ั€ั–ะบ", "gross_percent_max": "ะ’ะตััŒ ั‡ะฐั" }, @@ -762,46 +810,202 @@ "totalUsed": "ะ’ะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐะฝะฐ ะฟะฐะผ'ัั‚ัŒ" }, "mealie": { - "recipes": "Recipes", + "recipes": "ะžั‚ั€ะธะผัƒะฒะฐั‡ั–", "users": "ะšะพั€ะธัั‚ัƒะฒะฐั‡ั–", "categories": "ะšะฐั‚ะตะณะพั€ั–ั—", - "tags": "Tags" + "tags": "ะขะตะณะธ" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", "total": "ะฃััŒะพะณะพ", "running": "ะ—ะฐะฟัƒั‰ะตะฝะพ", "stopped": "ะ—ัƒะฟะธะฝะตะฝะพ", "passed": "ะŸั€ะพะนัˆะพะฒ", "failed": "ะะตะฒะดะฐั‡ะฐ" }, + "openwrt": { + "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ", + "cpuLoad": "ะกะตั€. ะฝะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฆะŸ (5 ั…ะฒ)", + "up": "ะžะฝะปะฐะนะฝ", + "down": "ะžั„ะปะฐะนะฝ", + "bytesTx": "ะŸะตั€ะตะดะฐะฝะพ", + "bytesRx": "ะžั‚ั€ะธะผะฐะฝะพ" + }, "uptimerobot": { "status": "ะกั‚ะฐะฝ", "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ", - "lastDown": "Last Downtime", - "downDuration": "Downtime Duration", + "lastDown": "ะžัั‚ะฐะฝะฝั–ะน ั‡ะฐั ะฟั€ะพัั‚ะพัŽ", + "downDuration": "ะขั€ะธะฒะฐะปั–ัั‚ัŒ ะฟั€ะพัั‚ะพัŽ", "sitesUp": "ะะบั‚ะธะฒะฝั– ัะฐะนั‚ะธ", "sitesDown": "ะะตะฐะบั‚ะธะฒะฝั– ัะฐะนั‚ะธ", "paused": "ะŸั€ะธะทัƒะฟะธะฝะตะฝะพ", - "notyetchecked": "Not Yet Checked", - "up": "Up", - "seemsdown": "Seems Down", - "down": "Down", + "notyetchecked": "ะฉะต ะฝะต ะฟะตั€ะตะฒั–ั€ะตะฝะพ", + "up": "ะžะฝะปะฐะนะฝ", + "seemsdown": "ะ’ั–ั€ะพะณั–ะดะฝะพ ะฒ ะฟั€ะพัั‚ะพั—", + "down": "ะžั„ะปะฐะนะฝ", "unknown": "ะะตะฒั–ะดะพะผะธะน" }, "calendar": { - "inCinemas": "In cinemas", - "physicalRelease": "Physical release", - "digitalRelease": "Digital release", - "noEventsToday": "No events for today!", - "noEventsFound": "No events found" + "inCinemas": "ะฃ ะบั–ะฝะพั‚ะตะฐั‚ั€ะฐั…", + "physicalRelease": "ะคั–ะทะธั‡ะฝะธะน ั€ะตะปั–ะท", + "digitalRelease": "ะฆะธั„ั€ะพะฒะธะน ั€ะตะปั–ะท", + "noEventsToday": "ะŸะพะดั–ั— ะฝะฐ ััŒะพะณะพะดะฝั– ะฒั–ะดััƒั‚ะฝั–", + "noEventsFound": "ะŸะพะดั–ั— ะฝะต ะทะฝะฐะนะดะตะฝะพ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ะŸะปะฐั‚ั„ะพั€ะผะธ", + "totalRoms": "ะ†ะณั€ะธ", + "saves": "ะ—ะฑะตั€ะตะถะตะฝะฝั", + "states": "ะจั‚ะฐั‚ะธ", + "screenshots": "ะ—ะฝั–ะผะบะธ ะตะบั€ะฐะฝัƒ", + "totalfilesize": "ะ—ะฐะณะฐะปัŒะฝะธะน ะพะฑััะณ" + }, + "mailcow": { + "domains": "ะ”ะพะผะตะฝะธ", + "mailboxes": "ะŸะพัˆั‚ะฐ", + "mails": "ะ›ะธัั‚ะธ", + "storage": "ะกั…ะพะฒะธั‰ะต" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "ะŸะพะฟะตั€ะตะดะถะตะฝะฝั", + "criticals": "ะšั€ะธั‚ะธั‡ะฝั–" + }, + "plantit": { + "events": "ะŸะพะดั–ั—", + "plants": "ะ ะพัะปะธะฝะธ", + "photos": "ะคะพั‚ะพะณั€ะฐั„ั–ั—", + "species": "ะ’ะธะดะธ" + }, + "gitea": { + "notifications": "ะกะฟะพะฒั–ั‰ะตะฝะฝั", + "issues": "ะŸะธั‚ะฐะฝะฝั", + "pulls": "Pull-ะทะฐะฟะธั‚ะธ" + }, + "stash": { + "scenes": "ะกั†ะตะฝะธ", + "scenesPlayed": "ะ—ั–ะณั€ะฐะฝั– ัั†ะตะฝะธ", + "playCount": "ะ’ััŒะพะณะพ ะฟ'ั”ั", + "playDuration": "ะŸะตั€ะตะณะปัะฝัƒั‚ะพ", + "sceneSize": "ะ ะพะทะผั–ั€ะธ ัั†ะตะฝ", + "sceneDuration": "ะขั€ะธะฒะฐะปั–ัั‚ัŒ ัั†ะตะฝ", + "images": "ะ—ะพะฑั€ะฐะถะตะฝะฝั", + "imageSize": "ะ ะพะทะผั–ั€ะธ ะทะพะฑั€ะฐะถะตะฝัŒ", + "galleries": "ะ“ะฐะปะตั€ะตั—", + "performers": "ะ’ะธะบะพะฝะฐะฒั†ั–", + "studios": "ะกั‚ัƒะดั–ั—", + "movies": "ะคั–ะปัŒะผะธ", + "tags": "ะขะตะณะธ", + "oCount": "ะšั–ะปัŒะบั–ัั‚ัŒ O" + }, + "tandoor": { + "users": "ะšะพั€ะธัั‚ัƒะฒะฐั‡ั–", + "recipes": "ะžั‚ั€ะธะผัƒะฒะฐั‡ั–", + "keywords": "ะšะปัŽั‡ะพะฒั– ัะปะพะฒะฐ" + }, + "homebox": { + "items": "ะ ะตั‡ั–", + "totalWithWarranty": "ะ— ะณะฐั€ะฐะฝั‚ั–ั”ัŽ", + "locations": "ะœั–ัั†ะตะทะฝะฐั…ะพะดะถะตะฝะฝั", + "labels": "ะœั–ั‚ะบะธ", + "users": "ะšะพั€ะธัั‚ัƒะฒะฐั‡ั–", + "totalValue": "ะ—ะฐะณะฐะปัŒะฝะต ะทะฝะฐั‡ะตะฝะฝั" + }, + "crowdsec": { + "alerts": "ะžะฟะพะฒั–ั‰ะตะฝะฝั", + "bans": "ะ‘ะปะพะบัƒะฒะฐะฝะฝั" + }, + "wgeasy": { + "connected": "ะ—'ั”ะดะฝะฐะฝะพ", + "enabled": "ะฃะฒั–ะผะบะฝะตะฝะพ", + "disabled": "ะ’ะธะผะบะฝะตะฝะพ", + "total": "ะฃััŒะพะณะพ" + }, + "swagdashboard": { + "proxied": "ะŸั€ะพะฟัƒั‰ะตะฝะพ ั‡ะตั€ะตะท ะฟั€ะพะบัั–", + "auth": "ะ— ะฐัƒั‚ะตะฝั‚ะธั„ั–ะบะฐั†ั–ั”ัŽ", + "outdated": "ะ—ะฐัั‚ะฐั€ั–ะปะต", + "banned": "ะ—ะฐะฑะปะพะบะพะฒะฐะฝะพ" + }, + "myspeed": { + "ping": "ะŸั–ะฝะณ", + "download": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "upload": "ะ’ั–ะดะฟั€ะฐะฒะปะตะฝะพ" + }, + "stocks": { + "stocks": "ะะบั†ั–ั—", + "loading": "ะ—ะฐะฒะฐะฝั‚ะฐะถัƒัŽ", + "open": "ะ’ั–ะดะบั€ะธั‚ะพ - ั€ะธะฝะพะบ ะกะจะ", + "closed": "ะ—ะฐะบั€ะธั‚ะพ - ั€ะธะฝะพะบ ะกะจะ", + "invalidConfiguration": "ะะตะฟั€ะธะฟัƒัั‚ะธะผะฐ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั" + }, + "frigate": { + "cameras": "ะšะฐะผะตั€ะธ", + "uptime": "ะงะฐั ั€ะพะฑะพั‚ะธ", + "version": "ะ’ะตั€ัั–ั" + }, + "linkwarden": { + "links": "ะŸะพัะธะปะฐะฝะฝั", + "collections": "ะšะพะปะตะบั†ั–ั—", + "tags": "ะขะตะณะธ" + }, + "zabbix": { + "unclassified": "ะะต ะฒะธะทะฝะฐั‡ะตะฝะพ", + "information": "ะ†ะฝั„ะพั€ะผะฐั†ั–ั", + "warning": "ะŸะพะฟะตั€ะตะดะถะตะฝะฝั", + "average": "ะกะตั€ะตะดะฝั”", + "high": "ะ’ะธัะพะบะต", + "disaster": "ะšะฐั‚ะฐัั‚ั€ะพั„ะฐ" + }, + "lubelogger": { + "vehicle": "ะขั€ะฐะฝัะฟะพั€ั‚ะฝะธะน ะทะฐัั–ะฑ", + "vehicles": "ะขั€ะฐะฝัะฟะพั€ั‚ะฝั– ะทะฐัะพะฑะธ", + "serviceRecords": "ะ—ะฐะฟะธัะธ ัะปัƒะถะฑ", + "reminders": "ะะฐะณะฐะดัƒะฒะฐะฝะฝั", + "nextReminder": "ะะฐัั‚ัƒะฟะฝะต ะฝะฐะณะฐะดัƒะฒะฐะฝะฝั", + "none": "ะ–ะพะดะฝะพะณะพ" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ะะฐะทะฒะฐ", + "address": "ะะดั€ะตัะฐ", + "last_seen": "ะ’ะพัั‚ะฐะฝะฝั” ัƒ ะผะตั€ะตะถั–", + "status": "ะกั‚ะฐะฝ", + "online": "ะžะฝะปะฐะนะฝ", + "offline": "ะžั„ะปะฐะนะฝ" + }, + "beszel": { + "name": "ะะฐะทะฒะฐ", + "systems": "Systems", + "up": "ะžะฝะปะฐะนะฝ", + "status": "ะกั‚ะฐะฝ", + "updated": "ะžะฝะพะฒะปะตะฝะพ", + "cpu": "ะฆะŸ", + "memory": "ะžะ—ะŸ", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ะ—ะดะพั€ะพะฒะธะน", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ะ’ั–ะดััƒั‚ะฝั–ะน", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "ะ—ะฐะฒะฐะฝั‚ะฐะถัƒัŽ" + }, + "gitlab": { + "groups": "Groups", + "issues": "ะŸะธั‚ะฐะฝะฝั", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 45b7cdef..8abcdad5 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "mo", "days": "d", "hours": "h", @@ -87,7 +87,7 @@ "ping": "Ping", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "Khรดng khแบฃ dแปฅng" }, "siteMonitor": { "http_status": "HTTP status", @@ -95,7 +95,7 @@ "response": "Response", "down": "Down", "up": "Up", - "not_available": "Not Available" + "not_available": "Khรดng khแบฃ dแปฅng" }, "emby": { "playing": "ฤang chฦกi", @@ -107,6 +107,13 @@ "episodes": "Episodes", "songs": "Songs" }, + "esphome": { + "offline": "Ngoแบกi tuyแบฟn", + "offline_alt": "Ngoแบกi tuyแบฟn", + "online": "Online", + "total": "Tแป•ng", + "unknown": "Unknown" + }, "evcc": { "pv_power": "Production", "battery_soc": "Battery", @@ -219,6 +226,10 @@ "leech": "Leech", "seed": "Seed" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "Download", "upload": "Upload", @@ -270,7 +281,7 @@ "approved": "ฤรฃ duyแป‡t", "available": "Available" }, - "pialert": { + "netalertx": { "total": "Tแป•ng", "connected": "Connected", "new_devices": "New Devices", @@ -298,6 +309,16 @@ "stopped": "Stopped", "total": "Tแป•ng" }, + "suwayomi": { + "download": "ฤรฃ tแบฃi", + "nondownload": "Non-Downloaded", + "read": "Read", + "unread": "Unread", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "Address", "expires": "Expires", @@ -312,6 +333,19 @@ "seconds": "{{number}}s", "ago": "{{value}} Ago" }, + "technitium": { + "totalQueries": "Queries", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "Blocked", + "totalDropped": "Dropped", + "totalClients": "Clients" + }, "tdarr": { "queue": "Hร ng chแป", "processed": "Processed", @@ -419,7 +453,8 @@ "search": "Search", "custom": "Custom", "visit": "Visit", - "url": "URL" + "url": "URL", + "searchsuggestion": "Suggestion" }, "wmo": { "0-day": "Sunny", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "Channels", - "hd": "HD" + "hd": "HD", + "tunerCount": "Tuners", + "channelNumber": "Channel", + "channelNetwork": "Network", + "signalStrength": "Strength", + "signalQuality": "Quality", + "symbolQuality": "Quality", + "networkRate": "Bitrate", + "clientIP": "Client" }, "scrutiny": { "passed": "Passed", @@ -694,6 +737,11 @@ "targets_down": "Targets Down", "targets_total": "Total Targets" }, + "gatus": { + "up": "Sites Up", + "down": "Sites Down", + "uptime": "Uptime" + }, "ghostfolio": { "gross_percent_today": "Today", "gross_percent_1y": "One year", @@ -775,6 +823,14 @@ "passed": "Passed", "failed": "Failed" }, + "openwrt": { + "uptime": "Uptime", + "cpuLoad": "CPU Load Avg (5m)", + "up": "Up", + "down": "Down", + "bytesTx": "Transmitted", + "bytesRx": "Received" + }, "uptimerobot": { "status": "Trแบกng thรกi", "uptime": "Uptime", @@ -798,10 +854,158 @@ }, "romm": { "platforms": "Platforms", - "totalRoms": "Total ROMs" + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "Domains", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "Storage" }, "netdata": { "warnings": "Warnings", "criticals": "Criticals" + }, + "plantit": { + "events": "Events", + "plants": "Plants", + "photos": "Photos", + "species": "Species" + }, + "gitea": { + "notifications": "Notifications", + "issues": "Issues", + "pulls": "Pull Requests" + }, + "stash": { + "scenes": "Scenes", + "scenesPlayed": "Scenes Played", + "playCount": "Total Plays", + "playDuration": "Time Watched", + "sceneSize": "Scenes Size", + "sceneDuration": "Scenes Duration", + "images": "Images", + "imageSize": "Images Size", + "galleries": "Galleries", + "performers": "Performers", + "studios": "Studios", + "movies": "Movies", + "tags": "Tags", + "oCount": "O Count" + }, + "tandoor": { + "users": "Users", + "recipes": "Recipes", + "keywords": "Keywords" + }, + "homebox": { + "items": "Items", + "totalWithWarranty": "With Warranty", + "locations": "Locations", + "labels": "Labels", + "users": "Users", + "totalValue": "Total Value" + }, + "crowdsec": { + "alerts": "Alerts", + "bans": "Bans" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Tแป•ng" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "Ping", + "download": "Download", + "upload": "Upload" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "Uptime", + "version": "Version" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "Information", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "Name", + "address": "Address", + "last_seen": "Last Seen", + "status": "Trแบกng thรกi", + "online": "Online", + "offline": "Ngoแบกi tuyแบฟn" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "Trแบกng thรกi", + "updated": "Updated", + "cpu": "CPU", + "memory": "MEM", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "Healthy", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "Missing", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "Issues", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index baec31f0..f10269f6 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "ๆœˆ", "days": "ๅคฉ", "hours": "ๅฐๆ™‚", @@ -107,6 +107,13 @@ "episodes": "้›†", "songs": "ๆ›ฒ็›ฎ" }, + "esphome": { + "offline": "้›ข็ทš", + "offline_alt": "้›ข็ทš", + "online": "ๅœจ็ทš", + "total": "ๅ…จ้ƒจ", + "unknown": "ๆœช็Ÿฅ" + }, "evcc": { "pv_power": "ๆญฃๅผ็’ฐๅขƒ", "battery_soc": "้›ปๆฑ ", @@ -133,7 +140,7 @@ "connectionStatusPendingDisconnect": "ๅพ…่พฆ็š„ๆ–ท้–‹", "connectionStatusDisconnecting": "ๆญฃๅœจไธญๆ–ท้€ฃ็ทš", "connectionStatusDisconnected": "้€ฃๆŽฅๅทฒไธญๆ–ท", - "connectionStatusConnected": "ๅทฒ้€ฃ็ทš", + "connectionStatusConnected": "Connected", "uptime": "้‹่กŒๆ™‚้–“", "maxDown": "ๆœ€ๅคงไธ‹่ผ‰้€Ÿ็އ", "maxUp": "ๆœ€ๅคงไธŠๅ‚ณ้€Ÿ็އ", @@ -219,6 +226,10 @@ "leech": "ๆœชๅฎŒๆˆไธ‹่ผ‰", "seed": "ๅทฒๅฎŒๆˆไธ‹่ผ‰" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "ไธ‹่ผ‰้€Ÿ็އ", "upload": "ไธŠๅ‚ณ้€Ÿ็އ", @@ -270,11 +281,11 @@ "approved": "ๆ‰นๅ‡†", "available": "ๅฏ็”จ" }, - "pialert": { + "netalertx": { "total": "ๅ…จ้ƒจ", - "connected": "ๅทฒ้€ฃ็ทš", - "new_devices": "ๆ–ฐ่ฃ็ฝฎ", - "down_alerts": "้›ข็ทš่ญฆๅ‘Š" + "connected": "Connected", + "new_devices": "New Devices", + "down_alerts": "Down Alerts" }, "pihole": { "queries": "ๆŸฅ่ฉข", @@ -298,6 +309,16 @@ "stopped": "ๆšซๅœ", "total": "ๅ…จ้ƒจ" }, + "suwayomi": { + "download": "ไธ‹่ผ‰ๅ’—", + "nondownload": "Non-Downloaded", + "read": "ๅทฒ่ฎ€", + "unread": "ๆœช่ฎ€", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ไฝๅ€", "expires": "ๅทฒๅคฑๆ•ˆ", @@ -312,6 +333,19 @@ "seconds": "{{number}} ็ง’", "ago": "{{value}} ๅ‰" }, + "technitium": { + "totalQueries": "ๆŸฅ่ฉข", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "ๅฐ้Ž–", + "totalDropped": "Dropped", + "totalClients": "ๅฎขๆˆถ็ซฏ" + }, "tdarr": { "queue": "้šŠๅˆ—", "processed": "ๅทฒ่™•็†", @@ -419,7 +453,8 @@ "search": "ๆœๅฐ‹", "custom": "่‡ช่จ‚", "visit": "้€ ่จช", - "url": "็ถฒๅ€" + "url": "็ถฒๅ€", + "searchsuggestion": "ๅปบ่ญฐ" }, "wmo": { "0-day": "ๆ™ดๅคฉ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "้ ป้“", - "hd": "้ซ˜็•ซ่ณช" + "hd": "้ซ˜็•ซ่ณช", + "tunerCount": "่ชฟ่ซงๅ™จ", + "channelNumber": "้ ป้“", + "channelNetwork": "็ถฒ็ตก", + "signalStrength": "ๅผทๅบฆ", + "signalQuality": "ๅ“่ณช", + "symbolQuality": "ๅ“่ณช", + "networkRate": "ๆฏ”็‰น็އ", + "clientIP": "็”จๆˆถ็ซฏ" }, "scrutiny": { "passed": "้€š้Ž", @@ -548,8 +591,8 @@ }, "peanut": { "battery_charge": "ๅ……้›ป", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "ups_load": "ๅพŒๅ‚™้›ป่ฒ ่ผ‰", + "ups_status": "ๅพŒๅ‚™้›ป็‹€ๆณ", "online": "ๅœจ็ทš", "on_battery": "้›ปๆฑ ไพ›้›ป", "low_battery": "ไฝŽ้›ป้‡" @@ -694,6 +737,11 @@ "targets_down": "็›ฎๆจ™้›ข็ทš", "targets_total": "็›ฎๆจ™็ธฝๆ•ธ" }, + "gatus": { + "up": "ๅœจ็ทš็ถฒ็ซ™", + "down": "้›ข็ทš็ถฒ็ซ™", + "uptime": "้‹่กŒๆ™‚้–“" + }, "ghostfolio": { "gross_percent_today": "ไปŠๆ—ฅ", "gross_percent_1y": "ไธ€ๅนด", @@ -775,6 +823,14 @@ "passed": "้€š้Ž", "failed": "ๅคฑๆ•—" }, + "openwrt": { + "uptime": "้‹่กŒๆ™‚้–“", + "cpuLoad": "่™•็†ๅ™จๅนณๅ‡่ฒ ่ผ‰(5ๅˆ†้˜)", + "up": "ๅœจ็ทš", + "down": "้›ข็ทš", + "bytesTx": "ๅทฒๅ‚ณ้€", + "bytesRx": "ๅทฒๆŽฅๆ”ถ" + }, "uptimerobot": { "status": "็‹€ๆณ", "uptime": "้‹่กŒๆ™‚้–“", @@ -797,11 +853,159 @@ "noEventsFound": "ๆœชๆ‰พๅˆฐไบ‹ไปถ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ๅนณๅฐ", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "ๅŸŸ", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "ๅ„ฒๅญ˜็ฉบ้–“" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "่ญฆๅ‘Š", + "criticals": "ๅšด้‡" + }, + "plantit": { + "events": "ไบ‹ไปถ", + "plants": "ๆค็‰ฉ", + "photos": "็…ง็‰‡", + "species": "็‰ฉ็จฎ" + }, + "gitea": { + "notifications": "ไฟกๆฏ", + "issues": "ๅ‡บ็‰ˆ", + "pulls": "ๆๅ–่ซ‹ๆฑ‚" + }, + "stash": { + "scenes": "ๅ ดๆ™ฏ", + "scenesPlayed": "ๅทฒๆ’ญๆ”พๅ ดๆ™ฏ", + "playCount": "ๅˆๅ…ฑๆ’ญๆ”พ", + "playDuration": "่ง€็œ‹ๆ™‚ๆ•ธ", + "sceneSize": "ๅ ดๆ™ฏๅคงๅฐ", + "sceneDuration": "ๅ ดๆ™ฏ็‚บๆœŸ", + "images": "ๅœ–็‰‡", + "imageSize": "ๅœ–ๅƒๅคงๅฐ", + "galleries": "็•ซๅปŠ", + "performers": "่กจๆผ”่€…", + "studios": "ๅทฅไฝœๅฎค", + "movies": "้›ปๅฝฑ", + "tags": "ๆจ™็ฑค", + "oCount": "0 ๅ€‹" + }, + "tandoor": { + "users": "ไฝฟ็”จ่€…", + "recipes": "้ฃŸ่ญœ", + "keywords": "้—œ้ตๅญ—" + }, + "homebox": { + "items": "้ …็›ฎ", + "totalWithWarranty": "ๆœ‰ไฟ่จผ", + "locations": "ไฝ็ฝฎ", + "labels": "ๆจ™็ฑค", + "users": "ไฝฟ็”จ่€…", + "totalValue": "็ธฝๅ…ฑ" + }, + "crowdsec": { + "alerts": "่ญฆ็คบ", + "bans": "็ฆๆญข" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "ๅ•Ÿ็”จ", + "disabled": "ๅœ็”จๅ’—", + "total": "ๅ…จ้ƒจ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "ๅปถ้ฒ", + "download": "ไธ‹่ผ‰้€Ÿ็އ", + "upload": "ไธŠๅ‚ณ้€Ÿ็އ" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "้‹่กŒๆ™‚้–“", + "version": "็‰ˆๆœฌ" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ๆจ™็ฑค" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "่ณ‡่จŠ", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ๅ็จฑ", + "address": "ไฝๅ€", + "last_seen": "ไธŠๆฌก้€ฃ็ทš", + "status": "็‹€ๆณ", + "online": "ๅœจ็ทš", + "offline": "้›ข็ทš" + }, + "beszel": { + "name": "ๅ็จฑ", + "systems": "Systems", + "up": "ๅœจ็ทš", + "status": "็‹€ๆณ", + "updated": "ๅทฒๆ›ดๆ–ฐ", + "cpu": "CPU", + "memory": "่จ˜ๆ†ถ้ซ”", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ๅฅๅบท", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "็ผบๅฐ‘", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "ๅ‡บ็‰ˆ", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/zh-Hans/common.json b/public/locales/zh-Hans/common.json index 68e17e85..f0d445c2 100644 --- a/public/locales/zh-Hans/common.json +++ b/public/locales/zh-Hans/common.json @@ -13,12 +13,12 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", - "months": "mo", - "days": "d", - "hours": "h", - "minutes": "m", - "seconds": "s" + "duration": "{{value, duration}}", + "months": "ๆœˆ", + "days": "ๆ—ฅ", + "hours": "ๆ—ถ", + "minutes": "ๅˆ†", + "seconds": "็ง’" }, "widget": { "missing_type": "็ผบๅคฑ็š„็ป„ไปถ็ฑปๅž‹: {{type}}", @@ -50,17 +50,17 @@ "uptime": "่ฟ่กŒๆ—ถ้—ด" }, "unifi": { - "users": "็”จๆˆทๆ•ฐ", + "users": "็”จๆˆท", "uptime": "่ฟ่กŒๆ—ถ้—ด", "days": "ๅคฉ", "wan": "WAN", - "lan": "LAN", - "wlan": "WLAN", + "lan": "ๅฑ€ๅŸŸ็ฝ‘", + "wlan": "ๆ— ็บฟๅฑ€ๅŸŸ็ฝ‘", "devices": "่ฎพๅค‡", - "lan_devices": "LAN่ฎพๅค‡", - "wlan_devices": "WLAN ่ฎพๅค‡", - "lan_users": "LAN ็”จๆˆท", - "wlan_users": "WLAN ็”จๆˆท", + "lan_devices": "LAN ่ฎพๅค‡", + "wlan_devices": "ๆ— ็บฟๅฑ€ๅŸŸ็ฝ‘่ฎพๅค‡", + "lan_users": "ๅฑ€ๅŸŸ็ฝ‘็”จๆˆท", + "wlan_users": "ๆ— ็บฟๅฑ€ๅŸŸ็ฝ‘็”จๆˆท", "up": "่ฟ่กŒๆ—ถ้—ด", "down": "็ฆป็บฟ", "wait": "่ฏท็จๅ€™", @@ -85,41 +85,48 @@ "ping": { "error": "้”™่ฏฏ", "ping": "Ping", - "down": "็ฆป็บฟ", - "up": "ๅœจ็บฟ", + "down": "Down", + "up": "Up", "not_available": "ไธๅฏ็”จ" }, "siteMonitor": { - "http_status": "HTTP status", + "http_status": "HTTP ็Šถๆ€", "error": "้”™่ฏฏ", "response": "ๅ“ๅบ”", - "down": "็ฆป็บฟ", - "up": "ๅœจ็บฟ", + "down": "Down", + "up": "Up", "not_available": "ไธๅฏ็”จ" }, "emby": { - "playing": "ๆญฃๅœจๆ’ญๆ”พ", - "transcoding": "่ฝฌ็ ไธญ", - "bitrate": "็ ็އ", - "no_active": "ๆ— ๆดปๅŠจๆต", + "playing": "ๆ’ญๆ”พไธญ", + "transcoding": "่ฝฌ็ ", + "bitrate": "ๆฏ”็‰น็އ", + "no_active": "ๆš‚ๆ— ๆ’ญๆ”พ", "movies": "็”ตๅฝฑ", - "series": "ๅ‰ง้›†", - "episodes": "้›†", - "songs": "ๆ›ฒ็›ฎ" + "series": "็ณปๅˆ—", + "episodes": "ๅ‰ง้›†", + "songs": "ๆญŒๆ›ฒ" + }, + "esphome": { + "offline": "็ฆป็บฟ", + "offline_alt": "็ฆป็บฟ", + "online": "ๅœจ็บฟ็š„", + "total": "ๆ€ป่ฎก", + "unknown": "ๆœช็Ÿฅ" }, "evcc": { - "pv_power": "ๅ‘็”ต้‡", - "battery_soc": "็”ต้‡", - "grid_power": "็”ต็ฝ‘ๅŠŸ็އ", - "home_power": "ๅ…จๅฑ‹ๅŠŸ็އ", - "charge_power": "ๅ……็”ตๅŠŸ็އ", + "pv_power": "ๆญฃๅผ็Žฏๅขƒ", + "battery_soc": "Battery", + "grid_power": "Grid", + "home_power": "Consumption", + "charge_power": "Charger", "watt_hour": "Wh" }, "flood": { - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "upload": "ไธŠไผ ้€Ÿ็އ", "leech": "ไธ‹่ฝฝไธญ", - "seed": "ๅš็งไธญ" + "seed": "ๅš็ง" }, "freshrss": { "subscriptions": "่ฎข้˜…", @@ -127,61 +134,61 @@ }, "fritzbox": { "connectionStatus": "็Šถๆ€", - "connectionStatusUnconfigured": "Unconfigured", - "connectionStatusConnecting": "Connecting", - "connectionStatusAuthenticating": "Authenticating", - "connectionStatusPendingDisconnect": "Pending Disconnect", - "connectionStatusDisconnecting": "Disconnecting", - "connectionStatusDisconnected": "Disconnected", + "connectionStatusUnconfigured": "ๆœช้…็ฝฎ", + "connectionStatusConnecting": "่ฟžๆŽฅไธญ", + "connectionStatusAuthenticating": "่ฎค่ฏไธญ", + "connectionStatusPendingDisconnect": "็ญ‰ๅพ…ๆ–ญๅผ€่ฟžๆŽฅ", + "connectionStatusDisconnecting": "ๆญฃๅœจๆ–ญๅผ€่ฟžๆŽฅ", + "connectionStatusDisconnected": "ๆœช่ฟžๆŽฅ", "connectionStatusConnected": "ๅทฒ่ฟžๆŽฅ", "uptime": "่ฟ่กŒๆ—ถ้—ด", - "maxDown": "Max. Down", - "maxUp": "Max. Up", - "down": "็ฆป็บฟ", - "up": "ๅœจ็บฟ", - "received": "Received", - "sent": "Sent", - "externalIPAddress": "Ext. IP" + "maxDown": "ๆœ€ๅคงไธ‹่ฝฝ้€Ÿๅบฆ", + "maxUp": "", + "down": "Down", + "up": "Up", + "received": "ๅทฒๆŽฅๆ”ถ", + "sent": "ๅทฒๅ‘้€", + "externalIPAddress": "ๅค–้ƒจIP" }, "caddy": { - "upstreams": "ไธŠ่กŒ", + "upstreams": "ไธŠๆธธ", "requests": "ๅฝ“ๅ‰่ฏทๆฑ‚", "requests_failed": "ๅคฑ่ดฅ่ฏทๆฑ‚" }, "changedetectionio": { - "totalObserved": "ๆ€ป็›‘ๆต‹ๆ•ฐ", - "diffsDetected": "็›‘ๆต‹ๅˆฐ็š„ๅ˜ๆ›ด" + "totalObserved": "่ง‚ๅฏŸๅˆฐ็š„ๆ€ปๆ•ฐ", + "diffsDetected": "ๆฃ€ๆต‹ๅˆฐๅทฎๅผ‚" }, "channelsdvrserver": { - "shows": "ๅ‰ง้›†", - "recordings": "ๅฝ•ๅˆถไธญ", - "scheduled": "ๅทฒ้ข„็บฆ", + "shows": "่Š‚็›ฎ", + "recordings": "ๅฝ•ๅƒ", + "scheduled": "ๅทฒ่ฎกๅˆ’็š„", "passes": "้€š่กŒ่ฏ" }, "tautulli": { - "playing": "ๆญฃๅœจๆ’ญๆ”พ", - "transcoding": "่ฝฌ็ ไธญ", - "bitrate": "็ ็އ", - "no_active": "ๆ— ๆดปๅŠจๆต", - "plex_connection_error": "ๆฃ€ๆŸฅPlex่ฟžๆŽฅ" + "playing": "ๆ’ญๆ”พไธญ", + "transcoding": "่ฝฌ็ ", + "bitrate": "ๆฏ”็‰น็އ", + "no_active": "ๆš‚ๆ— ๆ’ญๆ”พ", + "plex_connection_error": "Check Plex Connection" }, "omada": { - "connectedAp": "ๅทฒ่ฟžๆŽฅ็š„ AP", - "activeUser": "ๆดป่ทƒ็š„่ฎพๅค‡", - "alerts": "่ญฆๅ‘Š", - "connectedGateway": "ๅทฒ่ฟžๆŽฅ็š„็ฝ‘ๅ…ณ", - "connectedSwitches": "ๅทฒ่ฟžๆŽฅ็š„ๅผ€ๅ…ณ" + "connectedAp": "่ฟžๆŽฅไธญ็š„AP", + "activeUser": "ๆดป่ทƒ่ฎพๅค‡", + "alerts": "่ญฆๆŠฅ", + "connectedGateway": "ๅทฒ่ฟžๆŽฅ็ฝ‘ๅ…ณ", + "connectedSwitches": "ๅทฒ่ฟžๆŽฅๅผ€ๅ…ณ" }, "nzbget": { "rate": "้€Ÿ็އ", - "remaining": "ๅ‰ฉไฝ™ๆ—ถ้—ด", - "downloaded": "ๅทฒไธ‹่ฝฝ" + "remaining": "ๅ‰ฉไฝ™", + "downloaded": "ไธ‹่ฝฝ" }, "plex": { "streams": "ๆดปๅŠจๆต", "albums": "ไธ“่พ‘", "movies": "็”ตๅฝฑ", - "tv": "ๅ‰ง้›†" + "tv": "็”ต่ง†่Š‚็›ฎ" }, "sabnzbd": { "rate": "้€Ÿ็އ", @@ -191,86 +198,90 @@ "rutorrent": { "active": "ๆดปๅŠจไธญ", "upload": "ไธŠไผ ้€Ÿ็އ", - "download": "ไธ‹่ฝฝ้€Ÿ็އ" + "download": "ไธ‹่ฝฝ" }, "transmission": { - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "upload": "ไธŠไผ ้€Ÿ็އ", "leech": "ไธ‹่ฝฝไธญ", - "seed": "ๅš็งไธญ" + "seed": "ๅš็ง" }, "qbittorrent": { - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "upload": "ไธŠไผ ้€Ÿ็އ", "leech": "ไธ‹่ฝฝไธญ", - "seed": "ๅš็งไธญ" + "seed": "ๅš็ง" }, "qnap": { - "cpuUsage": "CPU ไฝฟ็”จ็އ", - "memUsage": "ๅ†…ๅญ˜ไฝฟ็”จ็އ", + "cpuUsage": "ๅค„็†ๅ™จ", + "memUsage": "ๅ†…ๅญ˜", "systemTempC": "็ณป็ปŸๆธฉๅบฆ", - "poolUsage": "ๅญ˜ๅ‚จๆฑ ไฝฟ็”จๆƒ…ๅ†ต", - "volumeUsage": "ๅˆ†ๅทไฝฟ็”จ็އ", - "invalid": "ๆ— ๆ•ˆ็š„" + "poolUsage": "ๅญ˜ๅ‚จๆฑ ", + "volumeUsage": "Volume Usage", + "invalid": "Invalid" }, "deluge": { - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "upload": "ไธŠไผ ้€Ÿ็އ", "leech": "ไธ‹่ฝฝไธญ", - "seed": "ๅš็งไธญ" + "seed": "ๅš็ง" + }, + "develancacheui": { + "cachehitbytes": "็ผ“ๅญ˜ๅ‘ฝไธญๅญ—่Š‚", + "cachemissbytes": "็ผ“ๅญ˜Bytesๅคฑ่ดฅ" }, "downloadstation": { - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "upload": "ไธŠไผ ้€Ÿ็އ", "leech": "ไธ‹่ฝฝไธญ", - "seed": "ๅš็งไธญ" + "seed": "ๅš็ง" }, "sonarr": { - "wanted": "ๅ…ณๆณจไธญ", - "queued": "ๅทฒๅŠ ๅ…ฅ้˜Ÿๅˆ—", - "series": "ๅ‰ง้›†", + "wanted": "ๆƒณ็œ‹", + "queued": "ๆŽ’้˜Ÿ", + "series": "็ณปๅˆ—", "queue": "้˜Ÿๅˆ—", "unknown": "ๆœช็Ÿฅ" }, "radarr": { - "wanted": "ๅ…ณๆณจไธญ", - "missing": "็ผบๅคฑ", - "queued": "ๅทฒๅŠ ๅ…ฅ้˜Ÿๅˆ—", + "wanted": "ๆƒณ็œ‹", + "missing": "ไธขๅคฑ", + "queued": "ๆŽ’้˜Ÿ", "movies": "็”ตๅฝฑ", "queue": "้˜Ÿๅˆ—", "unknown": "ๆœช็Ÿฅ" }, "lidarr": { - "wanted": "ๅ…ณๆณจไธญ", - "queued": "ๅทฒๅŠ ๅ…ฅ้˜Ÿๅˆ—", - "artists": "่‰บๆœฏๅฎถ" + "wanted": "ๆƒณ็œ‹", + "queued": "ๆŽ’้˜Ÿ", + "artists": "Artists" }, "readarr": { - "wanted": "ๅ…ณๆณจไธญ", - "queued": "ๅทฒๅŠ ๅ…ฅ้˜Ÿๅˆ—", + "wanted": "ๆƒณ็œ‹", + "queued": "ๆŽ’้˜Ÿ", "books": "ไนฆ็ฑ" }, "bazarr": { - "missingEpisodes": "็ผบๅฐ‘ๅ‰ง้›†", - "missingMovies": "็ผบๅฐ‘็”ตๅฝฑ" + "missingEpisodes": "็ผบๅฐ‘็š„ๅ‰ง้›†", + "missingMovies": "็ผบๅฐ‘็š„็”ตๅฝฑ" }, "ombi": { - "pending": "็ญ‰ๅพ…ไธญ", + "pending": "ๅพ…ๅŠž็š„", "approved": "ๅทฒๆ‰นๅ‡†", "available": "ๅฏ็”จ" }, "jellyseerr": { - "pending": "็ญ‰ๅพ…ไธญ", + "pending": "ๅพ…ๅŠž็š„", "approved": "ๅทฒๆ‰นๅ‡†", "available": "ๅฏ็”จ" }, "overseerr": { - "pending": "็ญ‰ๅพ…ไธญ", + "pending": "ๅพ…ๅŠž็š„", "processing": "ๅค„็†ไธญ", "approved": "ๅทฒๆ‰นๅ‡†", "available": "ๅฏ็”จ" }, - "pialert": { + "netalertx": { "total": "ๆ€ป่ฎก", "connected": "ๅทฒ่ฟžๆŽฅ", "new_devices": "ๆ–ฐ่ฎพๅค‡", @@ -278,71 +289,94 @@ }, "pihole": { "queries": "ๆŸฅ่ฏข", - "blocked": "ๅทฒๅฑ่”ฝ", - "blocked_percent": "ๅทฒๅฑ่”ฝ %", + "blocked": "้˜ปๆญข", + "blocked_percent": "ๆ‹ฆๆˆช %", "gravity": "ๅฑ่”ฝๅˆ—่กจ" }, "adguard": { "queries": "ๆŸฅ่ฏข", - "blocked": "ๅทฒๅฑ่”ฝ", - "filtered": "ๅทฒ่ฟ‡ๆปค", + "blocked": "้˜ปๆญข", + "filtered": "่ฟ‡ๆปค", "latency": "ๅปถ่ฟŸ" }, "speedtest": { "upload": "ไธŠไผ ้€Ÿ็އ", - "download": "ไธ‹่ฝฝ้€Ÿ็އ", + "download": "ไธ‹่ฝฝ", "ping": "Ping" }, "portainer": { "running": "่ฟ่กŒไธญ", - "stopped": "ๅทฒๅœๆญข", + "stopped": "ๅœๆญข", "total": "ๆ€ป่ฎก" }, + "suwayomi": { + "download": "ไธ‹่ฝฝ", + "nondownload": "Non-Downloaded", + "read": "ๅทฒ่ฏป", + "unread": "ๆœช่ฏป", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ๅœฐๅ€", "expires": "ๅคฑๆ•ˆ", - "never": "ไปŽๆœช", + "never": "ไปŽไธ", "last_seen": "ๆœ€ๅŽไธŠ็บฟ", - "now": "ๅฝ“ๅ‰", + "now": "็Žฐๅœจ", "years": "{{number}}ๅนด", "weeks": "{{number}}ๅ‘จ", - "days": "{{number}}ๅคฉ", - "hours": "{{number}}ๆ—ถ", - "minutes": "{{number}}ๅˆ†", - "seconds": "{{number}}็ง’", - "ago": "{{value}} ไน‹ๅ‰" + "days": "{{number}}d", + "hours": "{{number}}h", + "minutes": "{{number}}m", + "seconds": "{{number}}s", + "ago": "{{value}} ไปฅๅ‰" + }, + "technitium": { + "totalQueries": "ๆŸฅ่ฏข", + "totalNoError": "ๆˆๅŠŸ", + "totalServerFailure": "ๅคฑ่ดฅ", + "totalNxDomain": "ๅŸŸ", + "totalRefused": "ๅทฒๆ‹’็ป", + "totalAuthoritative": "ๆƒๅจ", + "totalRecursive": "้€’ๅฝ’", + "totalCached": "็ผ“ๅญ˜", + "totalBlocked": "้˜ปๆญข", + "totalDropped": "ไธขๅผƒ", + "totalClients": "ๅฎขๆˆท็ซฏ" }, "tdarr": { "queue": "้˜Ÿๅˆ—", "processed": "ๅทฒๅค„็†", - "errored": "้”™่ฏฏ", + "errored": "ๅ‡บ้”™", "saved": "ๅทฒไฟๅญ˜" }, "traefik": { - "routers": "่ทฏ็”ฑ", + "routers": "่ทฏ็”ฑๅ™จ", "services": "ๆœๅŠก", "middleware": "ไธญ้—ดไปถ" }, "navidrome": { - "nothing_streaming": "ๆ— ๆดปๅŠจๆต", - "please_wait": "่ฏท็จๅ€™" + "nothing_streaming": "ๆš‚ๆ— ๆ’ญๆ”พ", + "please_wait": "่ฏท็ญ‰ๅพ…" }, "npm": { - "enabled": "ๅฏ็”จ", + "enabled": "ๅทฒๅฏ็”จ", "disabled": "็ฆ็”จ", "total": "ๆ€ป่ฎก" }, "coinmarketcap": { - "configure": "้…็ฝฎไธ€ไธชๆˆ–ๅคšไธชๅŠ ๅฏ†่ดงๅธ่ฟ›่กŒ่ทŸ่ธช", - "1hour": "1 ๅฐๆ—ถ", - "1day": "1 ๅคฉ", - "7days": "7 ๅคฉ", - "30days": "30 ๅคฉ" + "configure": "้…็ฝฎไธ€ไธชๆˆ–ๅคšไธช้œ€่ฆ่ฟฝ่ธช็š„ๅŠ ๅฏ†", + "1hour": "1ๅฐๆ—ถ", + "1day": "1ๅคฉ", + "7days": "7ๅคฉ", + "30days": "30ๅคฉ" }, "gotify": { "apps": "ๅบ”็”จ", "clients": "ๅฎขๆˆท็ซฏ", - "messages": "ๆถˆๆฏ" + "messages": "ไฟกๆฏ" }, "prowlarr": { "enableIndexers": "็ดขๅผ•ๅ™จ", @@ -353,29 +387,29 @@ }, "jackett": { "configured": "ๅทฒ้…็ฝฎ", - "errored": "้”™่ฏฏ" + "errored": "ๅ‡บ้”™" }, "strelaysrv": { "numActiveSessions": "ไผš่ฏ", - "numConnections": "่ฟžๆŽฅๆ•ฐ", + "numConnections": "่ฟžๆŽฅ", "dataRelayed": "ไธญ็ปง", "transferRate": "้€Ÿ็އ" }, "mastodon": { - "user_count": "็”จๆˆทๆ•ฐ", - "status_count": "ๆ–‡็ซ ", - "domain_count": "ๅŸŸๅ" + "user_count": "็”จๆˆท", + "status_count": "ๅธ–ๅญ", + "domain_count": "ๅŸŸ" }, "medusa": { - "wanted": "ๅ…ณๆณจไธญ", - "queued": "ๅทฒๅŠ ๅ…ฅ้˜Ÿๅˆ—", - "series": "ๅ‰ง้›†" + "wanted": "ๆƒณ็œ‹", + "queued": "ๆŽ’้˜Ÿ", + "series": "็ณปๅˆ—" }, "minecraft": { "players": "็Žฉๅฎถ", "version": "็‰ˆๆœฌ", "status": "็Šถๆ€", - "up": "ๅœจ็บฟ", + "up": "ๅœจ็บฟ็š„", "down": "็ฆป็บฟ" }, "miniflux": { @@ -383,67 +417,68 @@ "unread": "ๆœช่ฏป" }, "authentik": { - "users": "็”จๆˆทๆ•ฐ", - "loginsLast24H": "็™ปๅฝ• (24ๅฐๆ—ถ)", - "failedLoginsLast24H": "็™ปๅฝ•ๅคฑ่ดฅ (24ๅฐๆ—ถ)" + "users": "็”จๆˆท", + "loginsLast24H": "็™ปๅฝ• (24h)", + "failedLoginsLast24H": "็™ปๅฝ•ๅคฑ่ดฅ (24h)" }, "proxmox": { "mem": "ๅ†…ๅญ˜", "cpu": "CPU", - "lxc": "LXC", - "vms": "VMs" + "lxc": "ๅฎนๅ™จ", + "vms": "่™šๆ‹Ÿๆœบ" }, "glances": { "cpu": "CPU", "load": "่ดŸ่ฝฝ", "wait": "่ฏท็จๅ€™", "temp": "ๆธฉๅบฆ", - "_temp": "ๆธฉๅบฆ", - "warn": "่ญฆๅ‘Š", + "_temp": "Temp", + "warn": "Warn", "uptime": "่ฟ่กŒๆ—ถ้—ด", "total": "ๆ€ป่ฎก", "free": "็ฉบ้—ฒ", "used": "ๅทฒไฝฟ็”จ", - "days": "d", - "hours": "h", - "crit": "ไธฅ้‡", + "days": "ๆ—ฅ", + "hours": "ๆ—ถ", + "crit": "Crit", "read": "ๅทฒ่ฏป", - "write": "ๅ†™ๅ…ฅ", + "write": "Write", "gpu": "GPU", - "mem": "ๅ†…ๅญ˜", + "mem": "Mem", "swap": "Swap" }, "quicklaunch": { "bookmark": "ไนฆ็ญพ", "service": "ๆœๅŠก", "search": "ๆœ็ดข", - "custom": "่‡ชๅฎšไน‰", + "custom": "่‡ชๅฎš", "visit": "่ฎฟ้—ฎ", - "url": "URL" + "url": "URL", + "searchsuggestion": "ๅปบ่ฎฎ" }, "wmo": { "0-day": "ๆ™ดๅคฉ", "0-night": "ๆ™ดๆœ—", - "1-day": "ๆ™ดๅคฉไธบไธป", - "1-night": "ๆ™ดๆœ—ไธบไธป", - "2-day": "ๅฑ€้ƒจๅคšไบ‘", - "2-night": "ๅฑ€้ƒจๅคšไบ‘", - "3-day": "ๅคšไบ‘", - "3-night": "ๅคšไบ‘", - "45-day": "้›พ", - "45-night": "้›พ", - "48-day": "้›พ", - "48-night": "้›พ", - "51-day": "ๅฐ็ป†้›จ", - "51-night": "ๅฐ็ป†้›จ", - "53-day": "็ป†้›จ", - "53-night": "็ป†้›จ", - "55-day": "ๅคง็ป†้›จ", - "55-night": "ๅคง็ป†้›จ", - "56-day": "ๅฐๅ†ป็ป†้›จ", - "56-night": "ๅฐๅ†ป็ป†้›จ", - "57-day": "ๅ†ป็ป†้›จ", - "57-night": "ๅ†ป็ป†้›จ", + "1-day": "ไธป่ฆๆ˜ฏๆ™ดๅคฉ", + "1-night": "ๅคง้ƒจๆ™ดๆœ—", + "2-day": "ๅคšไบ‘", + "2-night": "ๅคšไบ‘", + "3-day": "้˜ดๅคฉ", + "3-night": "้˜ดๅคฉ", + "45-day": "ๆœ‰้›พ", + "45-night": "ๆœ‰้›พ", + "48-day": "ๆœ‰้›พ", + "48-night": "ๆœ‰้›พ", + "51-day": "ๅฐ้›จ", + "51-night": "ๅฐ้›จ", + "53-day": "ๅฐ้›จ", + "53-night": "ๅฐ้›จ", + "55-day": "ๆฏ›ๆฏ›้›จ", + "55-night": "ๆฏ›ๆฏ›้›จ", + "56-day": "ๅฐๅ†ปๆฏ›้›จ", + "56-night": "ๅฐๅ†ปๆฏ›้›จ", + "57-day": "ๅ†ปๆฏ›้›จ", + "57-night": "ๅ†ปๆฏ›้›จ", "61-day": "ๅฐ้›จ", "61-night": "ๅฐ้›จ", "63-day": "้›จ", @@ -456,14 +491,14 @@ "67-night": "ๅ†ป้›จ", "71-day": "ๅฐ้›ช", "71-night": "ๅฐ้›ช", - "73-day": "้›ช", - "73-night": "้›ช", + "73-day": "ไธญ้›ช", + "73-night": "ไธญ้›ช", "75-day": "ๅคง้›ช", "75-night": "ๅคง้›ช", "77-day": "้›ช็ฒ’", "77-night": "้›ช็ฒ’", - "80-day": "ๅฐ้˜ต้›จ", - "80-night": "ๅฐ้˜ต้›จ", + "80-day": "ๅพฎ้˜ต้›จ", + "80-night": "ๅพฎ้˜ต้›จ", "81-day": "้˜ต้›จ", "81-night": "้˜ต้›จ", "82-day": "ๅผบ้˜ต้›จ", @@ -474,53 +509,53 @@ "86-night": "้˜ต้›ช", "95-day": "้›ท้›จ", "95-night": "้›ท้›จ", - "96-day": "้›ทๆšดๅคนๅ†ฐ้›น", - "96-night": "้›ทๆšดๅคนๅ†ฐ้›น", - "99-day": "้›ทๆšดๅคนๅ†ฐ้›น", - "99-night": "้›ทๆšดๅคนๅ†ฐ้›น" + "96-day": "้›ท้›จไผด้šๅ†ฐ้›น", + "96-night": "้›ท้›จไผด้šๅ†ฐ้›น", + "99-day": "้›ท้›จไผด้šๅ†ฐ้›น", + "99-night": "้›ท้›จไผด้šๅ†ฐ้›น" }, "homebridge": { - "available_update": "็ณป็ปŸ", + "available_update": "System", "updates": "ๆ›ดๆ–ฐ", - "update_available": "ๆœ‰ๅฏ็”จๆ›ดๆ–ฐ", - "up_to_date": "ๅทฒๆ˜ฏๆœ€ๆ–ฐ็‰ˆๆœฌ", + "update_available": "ๆœ‰ๅฏ็”จ็š„ๆ›ดๆ–ฐ", + "up_to_date": "Up to Date", "child_bridges": "ๅญ็ฝ‘ๆกฅ", "child_bridges_status": "{{ok}}/{{total}}", - "up": "ๅœจ็บฟ", - "pending": "็ญ‰ๅพ…ไธญ", - "down": "็ฆป็บฟ" + "up": "Up", + "pending": "ๅพ…ๅŠž็š„", + "down": "Down" }, "healthchecks": { - "new": "ๆ–ฐๅขž", - "up": "ๅœจ็บฟ", - "grace": "ๅค„ไบŽๅฎฝ้™ๆœŸ", - "down": "็ฆป็บฟ", - "paused": "ๅทฒๆš‚ๅœ", + "new": "ๆ–ฐๅปบ็ซ‹", + "up": "Up", + "grace": "ๅปถ็ผ“ไธญ", + "down": "Down", + "paused": "ๆš‚ๅœ", "status": "็Šถๆ€", - "last_ping": "ไธŠๆฌก Ping", - "never": "ๅฐšๆœช Ping" + "last_ping": "ไธŠๆฌกๆฃ€ๆŸฅ", + "never": "ๅฐšๆœชๆฃ€ๆŸฅ" }, "watchtower": { "containers_scanned": "ๅทฒๆ‰ซๆ", - "containers_updated": "ๅทฒๆ›ดๆ–ฐ", + "containers_updated": "ๅทฒๅ‡็บง", "containers_failed": "ๅคฑ่ดฅ" }, "autobrr": { "approvedPushes": "ๅทฒๆ‰นๅ‡†", "rejectedPushes": "ๆ‹’็ป", - "filters": "่ฟ‡ๆปคๅ™จ", + "filters": "Filters", "indexers": "็ดขๅผ•ๅ™จ" }, "tubearchivist": { "downloads": "้˜Ÿๅˆ—", - "videos": "่ง†้ข‘", + "videos": "ๅฝฑ็‰‡", "channels": "้ข‘้“", - "playlists": "ๆ’ญๆ”พๅˆ—่กจ" + "playlists": "ๆ’ญๆ”พๆธ…ๅ•" }, "truenas": { "load": "็ณป็ปŸ่ดŸ่ฝฝ", "uptime": "่ฟ่กŒๆ—ถ้—ด", - "alerts": "่ญฆๅ‘Š" + "alerts": "่ญฆๆŠฅ" }, "pyload": { "speed": "้€Ÿๅบฆ", @@ -530,12 +565,20 @@ }, "gluetun": { "public_ip": "ๅ…ฌ็ฝ‘ IP", - "region": "ๅœฐๅŒบ", + "region": "ๅŒบๅŸŸ", "country": "ๅ›ฝๅฎถ" }, "hdhomerun": { "channels": "้ข‘้“", - "hd": "HD" + "hd": "HD", + "tunerCount": "็”ตๅฐๆ•ฐ", + "channelNumber": "้ข‘้“ๆ•ฐ", + "channelNetwork": "็ฝ‘็ปœ", + "signalStrength": "ๅผบๅบฆ", + "signalQuality": "่ดจ้‡", + "symbolQuality": "่ดจ้‡", + "networkRate": "ๆฏ”็‰น็އ", + "clientIP": "ๅฎขๆˆท็ซฏ" }, "scrutiny": { "passed": "้€š่ฟ‡", @@ -547,94 +590,94 @@ "total": "ๆ€ป่ฎก" }, "peanut": { - "battery_charge": "Battery Charge", - "ups_load": "UPS Load", - "ups_status": "UPS Status", - "online": "ๅœจ็บฟ", - "on_battery": "On Battery", - "low_battery": "Low Battery" + "battery_charge": "ๅ……็”ตไธญ", + "ups_load": "UPS ่ดŸ่ฝฝ", + "ups_status": "UPS ็Šถๆ€", + "online": "ๅœจ็บฟ็š„", + "on_battery": "็”ตๆฑ ไพ›็”ต", + "low_battery": "็”ต้‡ไฝŽ" }, "nextdns": { - "wait": "่ฏท็จๅ€™", - "no_devices": "ๆœชๆ”ถๅˆฐ่ฎพๅค‡ๆ•ฐๆฎ" + "wait": "่ฏท็ญ‰ๅพ…", + "no_devices": "ๆฒกๆœ‰ๆŽฅๆ”ถๅˆฐ่ฎพๅค‡ๆ•ฐๆฎ" }, "mikrotik": { - "cpuLoad": "CPU ่ดŸ่ฝฝ", - "memoryUsed": "ๅ†…ๅญ˜ๅ ็”จ", + "cpuLoad": "ๅค„็†ๅ™จ", + "memoryUsed": "ๅ†…ๅญ˜", "uptime": "่ฟ่กŒๆ—ถ้—ด", "numberOfLeases": "็งŸ็บฆ" }, "xteve": { - "streams_all": "ๆ‰€ๆœ‰ๆต", + "streams_all": "ๆ‰€ๆœ‰ๆ’ญๆ”พๆดปๅŠจ", "streams_active": "ๆดปๅŠจๆต", "streams_xepg": "XEPG ้ข‘้“" }, "opendtu": { - "yieldDay": "ไปŠๆ—ฅ", - "absolutePower": "ๅŠŸ็އ", - "relativePower": "ๅŠŸ็އ %", - "limit": "้™ๅˆถ" + "yieldDay": "Today", + "absolutePower": "Power", + "relativePower": "Power %", + "limit": "Limit" }, "opnsense": { - "cpu": "CPU ่ดŸ่ฝฝ", - "memory": "ๆดปๅŠจๅ†…ๅญ˜", - "wanUpload": "WAN ไธŠไผ ", - "wanDownload": "WAN ไธ‹่ฝฝ" + "cpu": "ๅค„็†ๅ™จ", + "memory": "ๅ†…ๅญ˜", + "wanUpload": "WANไธŠไผ ", + "wanDownload": "WANไธ‹่ฝฝ" }, "moonraker": { "printer_state": "ๆ‰“ๅฐๆœบ็Šถๆ€", "print_status": "ๆ‰“ๅฐ็Šถๆ€", - "print_progress": "่ฟ›ๅบฆ", + "print_progress": "ๆ‰“ๅฐ่ฟ›็จ‹", "layers": "ๅฑ‚" }, "octoprint": { "printer_state": "็Šถๆ€", "temp_tool": "ๅ–ทๅคดๆธฉๅบฆ", - "temp_bed": "็ƒญๅบŠๆธฉๅบฆ", - "job_completion": "ๅฎŒๆˆ" + "temp_bed": "ๅนณๅฐๆธฉๅบฆ", + "job_completion": "ๅฎŒๆˆๅบฆ" }, "cloudflared": { - "origin_ip": "ๆฅๆบ IP", + "origin_ip": "ๆบIP", "status": "็Šถๆ€" }, "pfsense": { "load": "ๅนณๅ‡่ดŸ่ฝฝ", - "memory": "ๅ†…ๅญ˜ไฝฟ็”จ็އ", + "memory": "ๅ†…ๅญ˜", "wanStatus": "WAN ็Šถๆ€", - "up": "ๅœจ็บฟ", - "down": "็ฆป็บฟ", - "temp": "ๆธฉๅบฆ", - "disk": "็ฃ็›˜ไฝฟ็”จ้‡", + "up": "Up", + "down": "Down", + "temp": "Temp", + "disk": "็ฃ็›˜", "wanIP": "WAN IP" }, "proxmoxbackupserver": { "datastore_usage": "ๆ•ฐๆฎๅญ˜ๅ‚จ", - "failed_tasks_24h": "24ๅฐๆ—ถๅ†…ๅคฑ่ดฅไปปๅŠก", + "failed_tasks_24h": "24hๅคฑ่ดฅไปปๅŠก", "cpu_usage": "CPU", "memory_usage": "ๅ†…ๅญ˜" }, "immich": { - "users": "็”จๆˆทๆ•ฐ", + "users": "็”จๆˆท", "photos": "็…ง็‰‡", - "videos": "่ง†้ข‘", - "storage": "ๅญ˜ๅ‚จ็ฉบ้—ด" + "videos": "ๅฝฑ็‰‡", + "storage": "ๅ‚จๅญ˜็ฉบ้—ด" }, "uptimekuma": { "up": "ๅœจ็บฟ็ฝ‘็ซ™", "down": "็ฆป็บฟ็ฝ‘็ซ™", "uptime": "่ฟ่กŒๆ—ถ้—ด", - "incident": "ไบ‹ไปถ", - "m": "m" + "incident": "ไธฅ้‡ไบ‹ไปถ", + "m": "ๅˆ†" }, "atsumeru": { - "series": "ๅ‰ง้›†", - "archives": "ๅญ˜ๆกฃ", - "chapters": "็ซ ่Š‚", - "categories": "็ฑปๅˆซ" + "series": "็ณปๅˆ—", + "archives": "Archives", + "chapters": "Chapters", + "categories": "Categories" }, "komga": { - "libraries": "ๅบ“", - "series": "ๅ‰ง้›†", + "libraries": "ไนฆๅบ“", + "series": "็ณปๅˆ—", "books": "ไนฆ็ฑ" }, "diskstation": { @@ -643,14 +686,14 @@ "volumeAvailable": "ๅฏ็”จ" }, "mylar": { - "series": "ๅ‰ง้›†", - "issues": "ๅ‡บ็‰ˆ", - "wanted": "ๅ…ณๆณจไธญ" + "series": "็ณปๅˆ—", + "issues": "้—ฎ้ข˜", + "wanted": "ๆƒณ็œ‹" }, "photoprism": { "albums": "ไธ“่พ‘", "photos": "็…ง็‰‡", - "videos": "่ง†้ข‘", + "videos": "ๅฝฑ็‰‡", "people": "ไบบ็‰ฉ" }, "fileflows": { @@ -660,29 +703,29 @@ "time": "ๆ—ถ้—ด" }, "grafana": { - "dashboards": "ไปช่กจๆฟ", - "datasources": "ๆ•ฐๆฎๆบ", - "totalalerts": "่ญฆๅ‘Šๆ€ปๆ•ฐ", - "alertstriggered": "่งฆๅ‘่ญฆๅ‘Š" + "dashboards": "ๆŽงๅˆถ้ขๆฟ", + "datasources": "ๆ•ฐๆฎๆฅๆบ", + "totalalerts": "่ญฆๆŠฅๆ€ปๆ•ฐ", + "alertstriggered": "่งฆๅ‘็š„่ญฆๆŠฅ" }, "nextcloud": { "cpuload": "CPU ่ดŸ่ฝฝ", - "memoryusage": "ๅ†…ๅญ˜ไฝฟ็”จ้‡", + "memoryusage": "ๅ†…ๅญ˜", "freespace": "ๅ‰ฉไฝ™็ฉบ้—ด", - "activeusers": "ๆดปๅŠจ็”จๆˆท", - "numfiles": "ๆ–‡ไปถ", - "numshares": "ๅทฒๅ…ฑไบซ้กน็›ฎ" + "activeusers": "ๆดป่ทƒ็”จๆˆท", + "numfiles": "Files", + "numshares": "ๅ…ฑไบซ้กน็›ฎ" }, "kopia": { "status": "็Šถๆ€", "size": "ๅคงๅฐ", - "lastrun": "ไธŠไธ€ๆฌก่ฟ่กŒ", - "nextrun": "ไธ‹ไธ€ๆฌก่ฟ่กŒ", + "lastrun": "ๆœ€ๅŽ่ฟ่กŒ", + "nextrun": "ไธ‹ๆฌก่ฟ่กŒ", "failed": "ๅคฑ่ดฅ" }, "unmanic": { - "active_workers": "ๆดปๅŠจๅทฅไฝœ็จ‹ๅบ", - "total_workers": "ๆ€ปๅทฅไฝœ็จ‹ๅบ", + "active_workers": "ๅœจ็บฟๅทฅไฝœ่Š‚็‚น", + "total_workers": "ๅทฅไฝœ่Š‚็‚นๆ€ปๆ•ฐ", "records_total": "้˜Ÿๅˆ—้•ฟๅบฆ" }, "pterodactyl": { @@ -690,25 +733,30 @@ "nodes": "่Š‚็‚น" }, "prometheus": { - "targets_up": "ไธŠ็บฟ็›ฎๆ ‡", - "targets_down": "็ฆป็บฟ็›ฎๆ ‡", - "targets_total": "็›ฎๆ ‡ๆ€ปๆ•ฐ" + "targets_up": "็›ฎๆ ‡ไธŠ็บฟ", + "targets_down": "็›ฎๆ ‡็ฆป็บฟ", + "targets_total": "ๆ€ป็›ฎๆ ‡" + }, + "gatus": { + "up": "ๅœจ็บฟ็ฝ‘็ซ™", + "down": "็ฆป็บฟ็ฝ‘็ซ™", + "uptime": "่ฟ่กŒๆ—ถ้—ด" }, "ghostfolio": { - "gross_percent_today": "ไปŠๆ—ฅ", - "gross_percent_1y": "1ๅนด", + "gross_percent_today": "Today", + "gross_percent_1y": "ไธ€ๅนด", "gross_percent_max": "ๆ‰€ๆœ‰ๆ—ถ้—ด" }, "audiobookshelf": { "podcasts": "ๆ’ญๅฎข", "books": "ไนฆ็ฑ", - "podcastsDuration": "ๆ—ถ้•ฟ", - "booksDuration": "ๆ—ถ้•ฟ" + "podcastsDuration": "ๆŒ็ปญๆ—ถ้—ด", + "booksDuration": "ๆŒ็ปญๆ—ถ้—ด" }, "homeassistant": { - "people_home": "ๅœจๅฎถไบบๆ•ฐ", - "lights_on": "็ฏๅ…‰ๅผ€ๅฏ", - "switches_on": "ๅผ€ๅ…ณๅผ€ๅฏ" + "people_home": "ๆˆฟ้—ด", + "lights_on": "็…งๆ˜Žๅผ€", + "switches_on": "ๅผ€ๅ…ณๅผ€" }, "whatsupdocker": { "monitoring": "็›‘ๆต‹ไธญ", @@ -717,91 +765,247 @@ "calibreweb": { "books": "ไนฆ็ฑ", "authors": "ไฝœ่€…", - "categories": "็ฑปๅˆซ", - "series": "ๅ‰ง้›†" + "categories": "Categories", + "series": "็ณปๅˆ—" }, "jdownloader": { "downloadCount": "้˜Ÿๅˆ—", - "downloadBytesRemaining": "ๅ‰ฉไฝ™ๆ—ถ้—ด", + "downloadBytesRemaining": "ๅ‰ฉไฝ™", "downloadTotalBytes": "ๅคงๅฐ", "downloadSpeed": "้€Ÿๅบฆ" }, "kavita": { - "seriesCount": "ๅ‰ง้›†", - "totalFiles": "ๆ–‡ไปถ" + "seriesCount": "็ณปๅˆ—", + "totalFiles": "Files" }, "azuredevops": { - "result": "็ป“ๆžœ", + "result": "Result", "status": "็Šถๆ€", - "buildId": "ๆž„ๅปบ ID", - "succeeded": "ๆˆๅŠŸ", - "notStarted": "ๅฐšๆœชๅผ€ๅง‹", + "buildId": "Build ID", + "succeeded": "Succeeded", + "notStarted": "Not Started", "failed": "ๅคฑ่ดฅ", - "canceled": "ๅทฒๅ–ๆถˆ", - "inProgress": "ๅค„็†ไธญ", - "totalPrs": "ๆ€ป PR", - "myPrs": "ๆˆ‘็š„ PR", + "canceled": "Canceled", + "inProgress": "In Progress", + "totalPrs": "Total PRs", + "myPrs": "My PRs", "approved": "ๅทฒๆ‰นๅ‡†" }, "gamedig": { "status": "็Šถๆ€", - "online": "ๅœจ็บฟ", + "online": "ๅœจ็บฟ็š„", "offline": "็ฆป็บฟ", - "name": "ๅ็งฐ", - "map": "ๅœฐๅ›พ", - "currentPlayers": "ๅฝ“ๅ‰็Žฉๅฎถ", + "name": "Name", + "map": "Map", + "currentPlayers": "Current players", "players": "็Žฉๅฎถ", - "maxPlayers": "็ŽฉๅฎถไธŠ้™", - "bots": "ๆœบๅ™จไบบ", + "maxPlayers": "Max players", + "bots": "Bots", "ping": "Ping" }, "urbackup": { - "ok": "ๆˆๅŠŸ", - "errored": "้”™่ฏฏ", - "noRecent": "ๅทฒ่ฟ‡ๆœŸ", - "totalUsed": "ไฝฟ็”จ็š„ๅญ˜ๅ‚จ" + "ok": "Ok", + "errored": "Errors", + "noRecent": "Out of Date", + "totalUsed": "Used Storage" }, "mealie": { - "recipes": "้ฃŸ่ฐฑ", - "users": "็”จๆˆทๆ•ฐ", - "categories": "็ฑปๅˆซ", - "tags": "ๆ ‡็ญพ" + "recipes": "Recipes", + "users": "็”จๆˆท", + "categories": "Categories", + "tags": "Tags" }, "openmediavault": { - "downloading": "ไธ‹่ฝฝไธญ", + "downloading": "Downloading", "total": "ๆ€ป่ฎก", "running": "่ฟ่กŒไธญ", - "stopped": "ๅทฒๅœๆญข", + "stopped": "ๅœๆญข", "passed": "้€š่ฟ‡", "failed": "ๅคฑ่ดฅ" }, + "openwrt": { + "uptime": "่ฟ่กŒๆ—ถ้—ด", + "cpuLoad": "CPU ่ดŸ่ฝฝๅนณๅ‡ๅ€ผ(5m)", + "up": "Up", + "down": "Down", + "bytesTx": "ๅทฒไผ ่พ“", + "bytesRx": "ๅทฒๆŽฅๆ”ถ" + }, "uptimerobot": { "status": "็Šถๆ€", "uptime": "่ฟ่กŒๆ—ถ้—ด", - "lastDown": "ไธŠๆฌกไธ‹็บฟๆ—ถ้—ด", - "downDuration": "ไธ‹็บฟๆ—ถ้•ฟ", + "lastDown": "Last Downtime", + "downDuration": "Downtime Duration", "sitesUp": "ๅœจ็บฟ็ฝ‘็ซ™", "sitesDown": "็ฆป็บฟ็ฝ‘็ซ™", - "paused": "ๅทฒๆš‚ๅœ", - "notyetchecked": "ๅฐšๆœชๆฃ€ๆŸฅ", - "up": "ๅœจ็บฟ", - "seemsdown": "่ฒŒไผผ็ฆป็บฟ", - "down": "็ฆป็บฟ", + "paused": "ๆš‚ๅœ", + "notyetchecked": "Not Yet Checked", + "up": "Up", + "seemsdown": "Seems Down", + "down": "Down", "unknown": "ๆœช็Ÿฅ" }, "calendar": { - "inCinemas": "ไธŠๆ˜ ไธญ", - "physicalRelease": "ๅฎžไฝ“ๅ‘่กŒ", - "digitalRelease": "ๆ•ฐๅญ—ๅ‘่กŒ", + "inCinemas": "In cinemas", + "physicalRelease": "Physical release", + "digitalRelease": "Digital release", "noEventsToday": "ไปŠๅคฉๆฒกๆœ‰ๆดปๅŠจ๏ผ", "noEventsFound": "ๆœชๆ‰พๅˆฐไบ‹ไปถ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ๅนณๅฐ", + "totalRoms": "ๆธธๆˆๆ•ฐ", + "saves": "ๅทฒไฟๅญ˜", + "states": "็Šถๆ€", + "screenshots": "ๅฑๅน•ๆˆชๅ›พ", + "totalfilesize": "ๆ€ปๅคงๅฐ" + }, + "mailcow": { + "domains": "ๅŸŸ", + "mailboxes": "้‚ฎ็ฎฑ", + "mails": "้‚ฎไปถ", + "storage": "ๅ‚จๅญ˜็ฉบ้—ด" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "่ญฆๅ‘Š", + "criticals": "ไธฅ้‡" + }, + "plantit": { + "events": "ไบ‹ไปถ", + "plants": "ๆค็‰ฉ", + "photos": "็…ง็‰‡", + "species": "็‰ฉ็ง" + }, + "gitea": { + "notifications": "้€š็Ÿฅ", + "issues": "้—ฎ้ข˜", + "pulls": "PR" + }, + "stash": { + "scenes": "ๅœบๆ™ฏ", + "scenesPlayed": "ๅทฒๆ’ญๆ”พๅœบๆ™ฏ", + "playCount": "ๆ’ญๆ”พๆ€ปๆ•ฐ", + "playDuration": "ๆ’ญๆ”พๆ—ถ้—ด", + "sceneSize": "ๅœบๆ™ฏๅคงๅฐ", + "sceneDuration": "ๅœบๆ™ฏๆ—ถ้•ฟ", + "images": "ๅ›พ็‰‡", + "imageSize": "ๅ›พๅƒๅคงๅฐ", + "galleries": "ๅ›พๅบ“", + "performers": "ๆผ”ๅ‘˜", + "studios": "ๅทฅไฝœๅฎค", + "movies": "็”ตๅฝฑ", + "tags": "Tags", + "oCount": "O ไธช" + }, + "tandoor": { + "users": "็”จๆˆท", + "recipes": "Recipes", + "keywords": "ๅ…ณ้”ฎ่ฏ" + }, + "homebox": { + "items": "ๆก็›ฎ", + "totalWithWarranty": "ๆœ‰ไฟ่ฏ", + "locations": "ไฝ็ฝฎ", + "labels": "ๆ ‡็ญพ", + "users": "็”จๆˆท", + "totalValue": "ๆ€ป่ฎก" + }, + "crowdsec": { + "alerts": "่ญฆๆŠฅ", + "bans": "็ฆ็”จ" + }, + "wgeasy": { + "connected": "ๅทฒ่ฟžๆŽฅ", + "enabled": "ๅทฒๅฏ็”จ", + "disabled": "็ฆ็”จ", + "total": "ๆ€ป่ฎก" + }, + "swagdashboard": { + "proxied": "ๅทฒไปฃ็†", + "auth": "ไฝฟ็”จ่ฎค่ฏ", + "outdated": "ๅทฒ่ฟ‡ๆœŸ", + "banned": "ๅทฒ็ฆๆญข" + }, + "myspeed": { + "ping": "Ping", + "download": "ไธ‹่ฝฝ", + "upload": "ไธŠไผ ้€Ÿ็އ" + }, + "stocks": { + "stocks": "ๅบ“ๅญ˜", + "loading": "ๆญฃๅœจๅŠ ่ฝฝ", + "open": "ๆ‰“้–‹-็พŽๅ›ฝๅ•†ๅบ—", + "closed": "ๅ…ณ้—ญ-็พŽๅ›ฝๅธ‚ๅœบ", + "invalidConfiguration": "ๆ— ๆ•ˆ้…็ฝฎ" + }, + "frigate": { + "cameras": "ๆ‘„ๅƒๅคด", + "uptime": "่ฟ่กŒๆ—ถ้—ด", + "version": "็‰ˆๆœฌ" + }, + "linkwarden": { + "links": "้“พๆŽฅ", + "collections": "ๆ”ถ่—", + "tags": "Tags" + }, + "zabbix": { + "unclassified": "ๆœชๅˆ†็ฑป", + "information": "ไฟกๆฏ", + "warning": "่ญฆๅ‘Š", + "average": "ๅนณๅ‡็บขๅŒ…", + "high": "้ซ˜", + "disaster": "็พ้šพ" + }, + "lubelogger": { + "vehicle": "่ฝฝๅ…ท", + "vehicles": "ไบค้€šๅทฅๅ…ท", + "serviceRecords": "ไฟๅ…ป่ฎฐๅฝ•", + "reminders": "ๆ็คบ", + "nextReminder": "ไธ‹ๆฌกๆ้†’", + "none": "็ฉบ" + }, + "vikunja": { + "projects": "็งฏๆž็š„้กน็›ฎ", + "tasks7d": "ๆœฌๅ‘จๅˆฐๆœŸ็š„ไปปๅŠก", + "tasksOverdue": "่ฟ‡ๆœŸ็š„ไปปๅŠก", + "tasksInProgress": "ๆญฃๅœจๅค„็†็š„ไปปๅŠก" + }, + "headscale": { + "name": "Name", + "address": "ๅœฐๅ€", + "last_seen": "ๆœ€ๅŽไธŠ็บฟ", + "status": "็Šถๆ€", + "online": "ๅœจ็บฟ็š„", + "offline": "็ฆป็บฟ" + }, + "beszel": { + "name": "Name", + "systems": "Systems", + "up": "Up", + "status": "็Šถๆ€", + "updated": "ๅทฒๅ‡็บง", + "cpu": "CPU", + "memory": "ๅ†…ๅญ˜", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "ๅบ”็”จ็จ‹ๅบ", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ๅฅๅบท", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "ไธขๅคฑ", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "ๆญฃๅœจๅŠ ่ฝฝ" + }, + "gitlab": { + "groups": "Groups", + "issues": "้—ฎ้ข˜", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 08ebe7d5..1a497aab 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -13,7 +13,7 @@ "ms": "{{value, number}}", "date": "{{value, date}}", "relativeDate": "{{value, relativeDate}}", - "uptime": "{{value, uptime}}", + "duration": "{{value, duration}}", "months": "ๆœˆ", "days": "ๅคฉ", "hours": "ๅฐๆ™‚", @@ -32,8 +32,8 @@ "weather": { "current": "็›ฎๅ‰ไฝ็ฝฎ", "allow": "้ปžๆ“Šไปฅๅ…่จฑ", - "updating": "ๆ›ดๆ–ฐไธญ", - "wait": "่ซ‹็จๅพŒ" + "updating": "ๆญฃๅœจๆ›ดๆ–ฐ", + "wait": "่ซ‹็จๅ€™" }, "search": { "placeholder": "ๆœๅฐ‹โ€ฆ" @@ -50,7 +50,7 @@ "uptime": "้‹ไฝœๆ™‚้–“" }, "unifi": { - "users": "ไฝฟ็”จ่€…", + "users": "็”จๆˆถ", "uptime": "้‹่กŒๆ™‚้–“", "days": "ๅคฉ", "wan": "WAN", @@ -63,7 +63,7 @@ "wlan_users": "็„ก็ทšไฝฟ็”จ่€…", "up": "้‹ไฝœๆ™‚้–“", "down": "้›ข็ทš", - "wait": "่ซ‹็จๅพŒ", + "wait": "่ซ‹็จๅ€™", "empty_data": "ๅญ็ณป็ตฑ็‹€ๆ…‹ๆœช็Ÿฅ" }, "docker": { @@ -107,6 +107,13 @@ "episodes": "้›†", "songs": "ๆ›ฒ็›ฎ" }, + "esphome": { + "offline": "้›ข็ทš", + "offline_alt": "้›ข็ทš", + "online": "ๅœจ็ทš", + "total": "ๅ…จ้ƒจ", + "unknown": "ๆœช็Ÿฅ" + }, "evcc": { "pv_power": "ๆญฃๅผ็’ฐๅขƒ", "battery_soc": "้›ปๆฑ ", @@ -133,7 +140,7 @@ "connectionStatusPendingDisconnect": "ๅพ…่พฆ็š„ๆ–ท้–‹", "connectionStatusDisconnecting": "ๆญฃๅœจไธญๆ–ท้€ฃ็ทš", "connectionStatusDisconnected": "้€ฃๆŽฅๅทฒไธญๆ–ท", - "connectionStatusConnected": "ๅทฒ้€ฃ็ทš", + "connectionStatusConnected": "Connected", "uptime": "้‹่กŒๆ™‚้–“", "maxDown": "ๆœ€ๅคงไธ‹่ผ‰้€Ÿ็އ", "maxUp": "ๆœ€ๅคงไธŠๅ‚ณ้€Ÿ็އ", @@ -219,6 +226,10 @@ "leech": "ๆœชๅฎŒๆˆไธ‹่ผ‰", "seed": "ๅทฒๅฎŒๆˆไธ‹่ผ‰" }, + "develancacheui": { + "cachehitbytes": "Cache Hit Bytes", + "cachemissbytes": "Cache Miss Bytes" + }, "downloadstation": { "download": "ไธ‹่ผ‰้€Ÿ็އ", "upload": "ไธŠๅ‚ณ้€Ÿ็އ", @@ -270,11 +281,11 @@ "approved": "ๅทฒๆ ธๅ‡†", "available": "ๅฏ่ง€็œ‹" }, - "pialert": { + "netalertx": { "total": "ๅ…จ้ƒจ", - "connected": "ๅทฒ้€ฃ็ทš", - "new_devices": "ๆ–ฐ่ฃ็ฝฎ", - "down_alerts": "้›ข็ทš่ญฆๅ‘Š" + "connected": "Connected", + "new_devices": "New Devices", + "down_alerts": "Down Alerts" }, "pihole": { "queries": "ๆŸฅ่ฉข", @@ -298,6 +309,16 @@ "stopped": "ๅทฒๅœๆญข", "total": "ๅ…จ้ƒจ" }, + "suwayomi": { + "download": "ๅทฒไธ‹่ผ‰", + "nondownload": "Non-Downloaded", + "read": "ๅทฒ่ฎ€", + "unread": "ๆœช่ฎ€", + "downloadedread": "Downloaded & Read", + "downloadedunread": "Downloaded & Unread", + "nondownloadedread": "Non-Downloaded & Read", + "nondownloadedunread": "Non-Downloaded & Unread" + }, "tailscale": { "address": "ไฝๅ€", "expires": "ๅทฒๅคฑๆ•ˆ", @@ -312,6 +333,19 @@ "seconds": "{{number}} ็ง’", "ago": "{{value}} ๅ‰" }, + "technitium": { + "totalQueries": "ๆŸฅ่ฉข", + "totalNoError": "Success", + "totalServerFailure": "Failures", + "totalNxDomain": "NX Domains", + "totalRefused": "Refused", + "totalAuthoritative": "Authoritative", + "totalRecursive": "Recursive", + "totalCached": "Cached", + "totalBlocked": "ๅทฒ้˜ปๆ“‹", + "totalDropped": "Dropped", + "totalClients": "ๅฎขๆˆถ็ซฏ" + }, "tdarr": { "queue": "ไฝ‡ๅˆ—", "processed": "ๅทฒ่™•็†", @@ -362,7 +396,7 @@ "transferRate": "้€Ÿ็އ" }, "mastodon": { - "user_count": "ไฝฟ็”จ่€…", + "user_count": "็”จๆˆถ", "status_count": "ๆ–‡็ซ ", "domain_count": "็ถฒๅŸŸ" }, @@ -383,7 +417,7 @@ "unread": "ๆœช่ฎ€" }, "authentik": { - "users": "ไฝฟ็”จ่€…", + "users": "็”จๆˆถ", "loginsLast24H": "็™ปๅ…ฅ (้ŽๅŽป 24 ๅฐๆ™‚)", "failedLoginsLast24H": "็™ปๅ…ฅๅคฑๆ•— (้ŽๅŽป 24 ๅฐๆ™‚)" }, @@ -396,7 +430,7 @@ "glances": { "cpu": "CPU", "load": "่ฒ ่ผ‰", - "wait": "่ซ‹็จๅพŒ", + "wait": "่ซ‹็จๅ€™", "temp": "ๆบซๅบฆ", "_temp": "ๆบซๅบฆ", "warn": "่ญฆๅ‘Š", @@ -419,7 +453,8 @@ "search": "ๆœๅฐ‹", "custom": "่‡ช่จ‚", "visit": "้€ ่จช", - "url": "็ถฒๅ€" + "url": "็ถฒๅ€", + "searchsuggestion": "ๅปบ่ญฐ" }, "wmo": { "0-day": "ๆ™ดๅคฉ", @@ -535,7 +570,15 @@ }, "hdhomerun": { "channels": "้ ป้“", - "hd": "้ซ˜็•ซ่ณช" + "hd": "้ซ˜็•ซ่ณช", + "tunerCount": "่ชฟ่ซงๅ™จ", + "channelNumber": "้ ป้“", + "channelNetwork": "็ถฒ็ตก", + "signalStrength": "ๅผทๅบฆ", + "signalQuality": "ๅ“่ณช", + "symbolQuality": "ๅ“่ณช", + "networkRate": "ไฝๅ…ƒ็އ", + "clientIP": "็”จๆˆถ็ซฏ" }, "scrutiny": { "passed": "้€š้Ž", @@ -548,8 +591,8 @@ }, "peanut": { "battery_charge": "ๅ……้›ป", - "ups_load": "UPS Load", - "ups_status": "UPS Status", + "ups_load": "ๅพŒๅ‚™้›ป่ฒ ่ผ‰", + "ups_status": "ๅพŒๅ‚™้›ป็‹€ๆณ", "online": "ๅœจ็ทš", "on_battery": "้›ปๆฑ ไพ›้›ป", "low_battery": "ไฝŽ้›ป้‡" @@ -614,7 +657,7 @@ "memory_usage": "่จ˜ๆ†ถ้ซ”" }, "immich": { - "users": "ไฝฟ็”จ่€…", + "users": "็”จๆˆถ", "photos": "็…ง็‰‡", "videos": "ๅฝฑ็‰‡", "storage": "ๅ„ฒๅญ˜็ฉบ้–“" @@ -694,6 +737,11 @@ "targets_down": "็›ฎๆจ™้›ข็ทš", "targets_total": "็›ฎๆจ™็ธฝๆ•ธ" }, + "gatus": { + "up": "ๅœจ็ทš็ถฒ็ซ™", + "down": "้›ข็ทš็ถฒ็ซ™", + "uptime": "้‹่กŒๆ™‚้–“" + }, "ghostfolio": { "gross_percent_today": "ไปŠๆ—ฅ", "gross_percent_1y": "ไธ€ๅนด", @@ -707,8 +755,8 @@ }, "homeassistant": { "people_home": "ๅœจๅฎถไบบๆ•ธ", - "lights_on": "็‡ˆไบฎ่‘—", - "switches_on": "้–‹้—œ้–‹่‘—" + "lights_on": "็‡ˆๅ…‰้–‹ๅ•Ÿ", + "switches_on": "้–‹้—œ้–‹ๅ•Ÿ" }, "whatsupdocker": { "monitoring": "็›ฃๆธฌไธญ", @@ -763,7 +811,7 @@ }, "mealie": { "recipes": "้ฃŸ่ญœ", - "users": "ไฝฟ็”จ่€…", + "users": "็”จๆˆถ", "categories": "้กžๅˆฅ", "tags": "ๆจ™็ฑค" }, @@ -775,6 +823,14 @@ "passed": "้€š้Ž", "failed": "ๅคฑๆ•—" }, + "openwrt": { + "uptime": "้‹่กŒๆ™‚้–“", + "cpuLoad": "่™•็†ๅ™จๅนณๅ‡่ฒ ่ผ‰(5ๅˆ†้˜)", + "up": "ๅœจ็ทš", + "down": "้›ข็ทš", + "bytesTx": "ๅทฒๅ‚ณ้€", + "bytesRx": "ๅทฒๆŽฅๆ”ถ" + }, "uptimerobot": { "status": "็‹€ๆ…‹", "uptime": "้‹่กŒๆ™‚้–“", @@ -797,11 +853,159 @@ "noEventsFound": "ๆœชๆ‰พๅˆฐไบ‹ไปถ" }, "romm": { - "platforms": "Platforms", - "totalRoms": "Total ROMs" + "platforms": "ๅนณๅฐ", + "totalRoms": "Games", + "saves": "Saves", + "states": "States", + "screenshots": "Screenshots", + "totalfilesize": "Total Size" + }, + "mailcow": { + "domains": "็ถฒๅŸŸ", + "mailboxes": "Mailboxes", + "mails": "Mails", + "storage": "ๅ„ฒๅญ˜็ฉบ้–“" }, "netdata": { - "warnings": "Warnings", - "criticals": "Criticals" + "warnings": "่ญฆๅ‘Š", + "criticals": "ๅšด้‡" + }, + "plantit": { + "events": "ไบ‹ไปถ", + "plants": "ๆค็‰ฉ", + "photos": "็…ง็‰‡", + "species": "็‰ฉ็จฎ" + }, + "gitea": { + "notifications": "ไฟกๆฏ", + "issues": "ๅ‡บ็‰ˆ", + "pulls": "ๆๅ–่ซ‹ๆฑ‚" + }, + "stash": { + "scenes": "ๅ ดๆ™ฏ", + "scenesPlayed": "ๅทฒๆ’ญๆ”พๅ ดๆ™ฏ", + "playCount": "ๅˆๅ…ฑๆ’ญๆ”พ", + "playDuration": "่ง€็œ‹ๆ™‚ๆ•ธ", + "sceneSize": "ๅ ดๆ™ฏๅคงๅฐ", + "sceneDuration": "ๅ ดๆ™ฏ็‚บๆœŸ", + "images": "ๅœ–็‰‡", + "imageSize": "ๅœ–ๅƒๅคงๅฐ", + "galleries": "็•ซๅปŠ", + "performers": "่กจๆผ”่€…", + "studios": "ๅทฅไฝœๅฎค", + "movies": "้›ปๅฝฑ", + "tags": "ๆจ™็ฑค", + "oCount": "0 ๅ€‹" + }, + "tandoor": { + "users": "็”จๆˆถ", + "recipes": "้ฃŸ่ญœ", + "keywords": "้—œ้ตๅญ—" + }, + "homebox": { + "items": "้ …็›ฎ", + "totalWithWarranty": "ๆœ‰ไฟ่จผ", + "locations": "ไฝ็ฝฎ", + "labels": "ๆจ™็ฑค", + "users": "็”จๆˆถ", + "totalValue": "็ธฝๅ…ฑ" + }, + "crowdsec": { + "alerts": "่ญฆ็คบ", + "bans": "็ฆๆญข" + }, + "wgeasy": { + "connected": "Connected", + "enabled": "ๅทฒๅ•Ÿ็”จ", + "disabled": "ๅทฒๅœ็”จ", + "total": "ๅ…จ้ƒจ" + }, + "swagdashboard": { + "proxied": "Proxied", + "auth": "With Auth", + "outdated": "Outdated", + "banned": "Banned" + }, + "myspeed": { + "ping": "ๅปถ้ฒ", + "download": "ไธ‹่ผ‰้€Ÿ็އ", + "upload": "ไธŠๅ‚ณ้€Ÿ็އ" + }, + "stocks": { + "stocks": "Stocks", + "loading": "Loading", + "open": "Open - US Market", + "closed": "Closed - US Market", + "invalidConfiguration": "Invalid Configuration" + }, + "frigate": { + "cameras": "Cameras", + "uptime": "้‹่กŒๆ™‚้–“", + "version": "็‰ˆๆœฌ" + }, + "linkwarden": { + "links": "Links", + "collections": "Collections", + "tags": "ๆจ™็ฑค" + }, + "zabbix": { + "unclassified": "Not classified", + "information": "่ณ‡่จŠ", + "warning": "Warning", + "average": "Average", + "high": "High", + "disaster": "Disaster" + }, + "lubelogger": { + "vehicle": "Vehicle", + "vehicles": "Vehicles", + "serviceRecords": "Service Records", + "reminders": "Reminders", + "nextReminder": "Next Reminder", + "none": "None" + }, + "vikunja": { + "projects": "Active Projects", + "tasks7d": "Tasks Due This Week", + "tasksOverdue": "Overdue Tasks", + "tasksInProgress": "Tasks In Progress" + }, + "headscale": { + "name": "ๅ็จฑ", + "address": "ไฝๅ€", + "last_seen": "ไธŠๆฌก้€ฃ็ทš", + "status": "็‹€ๆ…‹", + "online": "ๅœจ็ทš", + "offline": "้›ข็ทš" + }, + "beszel": { + "name": "ๅ็จฑ", + "systems": "Systems", + "up": "ๅœจ็ทš", + "status": "็‹€ๆ…‹", + "updated": "ๅทฒๆ›ดๆ–ฐ", + "cpu": "CPU", + "memory": "่จ˜ๆ†ถ้ซ”", + "disk": "Disk", + "network": "NET" + }, + "argocd": { + "apps": "Apps", + "synced": "Synced", + "outOfSync": "Out Of Sync", + "healthy": "ๅฅๅบท", + "degraded": "Degraded", + "progressing": "Progressing", + "missing": "็ผบๅฐ‘", + "suspended": "Suspended" + }, + "spoolman": { + "loading": "Loading" + }, + "gitlab": { + "groups": "Groups", + "issues": "ๅ‡บ็‰ˆ", + "merges": "Merge Requests", + "projects": "Projects" } } diff --git a/requirements.txt b/requirements.txt index e0365917..3e2b4c7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,9 +9,9 @@ Jinja2==3.1.2 Markdown==3.4.4 MarkupSafe==2.1.3 mergedeep==1.3.4 -mkdocs==1.5.3 -mkdocs-material==9.5.2 -mkdocs-material-extensions==1.3 +mkdocs==1.6 +mkdocs-material==9.5.26 +mkdocs-material-extensions==1.3.1 packaging==23.1 paginate==0.5.6 pathspec==0.11.2 @@ -27,3 +27,5 @@ six==1.16.0 urllib3==2.0.5 watchdog==3.0.0 pre-commit==3.5.0 +mkdocs-material[imaging]==9.5.26 +mkdocs-redirects==1.2.1 diff --git a/src/components/bookmarks/group.jsx b/src/components/bookmarks/group.jsx index c5e6a2f1..3a9f8323 100644 --- a/src/components/bookmarks/group.jsx +++ b/src/components/bookmarks/group.jsx @@ -1,4 +1,4 @@ -import { useRef } from "react"; +import { useRef, useEffect } from "react"; import classNames from "classnames"; import { Disclosure, Transition } from "@headlessui/react"; import { MdKeyboardArrowDown } from "react-icons/md"; @@ -7,18 +7,23 @@ import ErrorBoundary from "components/errorboundry"; import List from "components/bookmarks/list"; import ResolvedIcon from "components/resolvedicon"; -export default function BookmarksGroup({ bookmarks, layout, disableCollapse }) { +export default function BookmarksGroup({ bookmarks, layout, disableCollapse, groupsInitiallyCollapsed }) { const panel = useRef(); + + useEffect(() => { + if (layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) panel.current.style.height = `0`; + }, [layout, groupsInitiallyCollapsed]); + return (
- + {({ open }) => ( <> {layout?.header !== false && ( diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx index 5d3b351b..69097089 100644 --- a/src/components/bookmarks/item.jsx +++ b/src/components/bookmarks/item.jsx @@ -13,6 +13,7 @@ export default function Item({ bookmark }) { -
-
{bookmark.name}
-
+
+
{bookmark.name}
+
{description}
diff --git a/src/components/filecontent.jsx b/src/components/filecontent.jsx deleted file mode 100644 index 1dd6266a..00000000 --- a/src/components/filecontent.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import useSWR from "swr"; - -export default function FileContent({ path, loadingValue, errorValue, emptyValue = "" }) { - const fetcher = (url) => fetch(url).then((res) => res.text()); - const { data, error, isLoading } = useSWR(`/api/config/${path}`, fetcher); - - if (error) return errorValue; - if (isLoading) return loadingValue; - return data || emptyValue; -} diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index 7fb1460a..9f55f973 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -1,34 +1,62 @@ import { useTranslation } from "react-i18next"; import { useEffect, useState, useRef, useCallback, useContext } from "react"; import classNames from "classnames"; +import useSWR from "swr"; import ResolvedIcon from "./resolvedicon"; +import { getStoredProvider, searchProviders } from "./widgets/search/search"; import { SettingsContext } from "utils/contexts/settings"; -export default function QuickLaunch({ - servicesAndBookmarks, - searchString, - setSearchString, - isOpen, - close, - searchProvider, -}) { +export default function QuickLaunch({ servicesAndBookmarks, searchString, setSearchString, isOpen, close }) { const { t } = useTranslation(); + const { settings } = useContext(SettingsContext); - const { searchDescriptions, hideVisitURL } = settings?.quicklaunch - ? settings.quicklaunch - : { searchDescriptions: false, hideVisitURL: false }; + const { searchDescriptions = false, hideVisitURL = false } = settings?.quicklaunch ?? {}; const searchField = useRef(); const [results, setResults] = useState([]); const [currentItemIndex, setCurrentItemIndex] = useState(null); const [url, setUrl] = useState(null); + const [searchSuggestions, setSearchSuggestions] = useState([]); + + const { data: widgets } = useSWR("/api/widgets"); + const searchWidget = Object.values(widgets).find((w) => w.type === "search"); + + let searchProvider; + + if (settings?.quicklaunch?.provider === "custom" && settings?.quicklaunch?.url?.length > 0) { + searchProvider = settings.quicklaunch; + } else if (settings?.quicklaunch?.provider && settings?.quicklaunch?.provider !== "custom") { + searchProvider = searchProviders[settings.quicklaunch.provider]; + } else if (searchWidget) { + // If there is no search provider in quick launch settings, try to get it from the search widget + if (Array.isArray(searchWidget.options?.provider)) { + // If search provider is a list, try to retrieve from localstorage, fall back to the first + searchProvider = getStoredProvider() ?? searchProviders[searchWidget.options.provider[0]]; + } else if (searchWidget.options?.provider === "custom") { + searchProvider = searchWidget.options; + } else { + searchProvider = searchProviders[searchWidget.options?.provider]; + } + } + + if (searchProvider) { + searchProvider.showSearchSuggestions = !!( + settings?.quicklaunch?.showSearchSuggestions ?? + searchWidget?.options?.showSearchSuggestions ?? + false + ); + } function openCurrentItem(newWindow) { const result = results[currentItemIndex]; - window.open(result.href, newWindow ? "_blank" : result.target ?? settings.target ?? "_blank", "noreferrer"); + window.open( + result.href, + newWindow ? "_blank" : result.target ?? searchProvider?.target ?? settings.target ?? "_blank", + "noreferrer", + ); } const closeAndReset = useCallback(() => { @@ -36,20 +64,23 @@ export default function QuickLaunch({ setTimeout(() => { setSearchString(""); setCurrentItemIndex(null); + setSearchSuggestions([]); }, 200); // delay a little for animations - }, [close, setSearchString, setCurrentItemIndex]); + }, [close, setSearchString, setCurrentItemIndex, setSearchSuggestions]); function handleSearchChange(event) { - const rawSearchString = event.target.value.toLowerCase(); + const rawSearchString = event.target.value; try { if (!/.+[.:].+/g.test(rawSearchString)) throw new Error(); // basic test for probably a url let urlString = rawSearchString; - if (urlString.indexOf("http") !== 0) urlString = `https://${rawSearchString}`; + if (urlString.toLowerCase().indexOf("http") !== 0) urlString = `https://${rawSearchString}`; setUrl(new URL(urlString)); // basic validation + setSearchString(rawSearchString); + return; } catch (e) { setUrl(null); } - setSearchString(rawSearchString); + setSearchString(rawSearchString.toLowerCase()); } function handleSearchKeyDown(event) { @@ -67,6 +98,12 @@ export default function QuickLaunch({ } else if (event.key === "ArrowUp" && currentItemIndex > 0) { setCurrentItemIndex(currentItemIndex - 1); event.preventDefault(); + } else if ( + event.key === "ArrowRight" && + results[currentItemIndex] && + results[currentItemIndex].type === "searchSuggestion" + ) { + setSearchString(results[currentItemIndex].name); } } @@ -90,6 +127,8 @@ export default function QuickLaunch({ } useEffect(() => { + const abortController = new AbortController(); + if (searchString.length === 0) setResults([]); else { let newResults = servicesAndBookmarks.filter((r) => { @@ -109,9 +148,43 @@ export default function QuickLaunch({ if (searchProvider) { newResults.push({ href: searchProvider.url + encodeURIComponent(searchString), - name: `${searchProvider.name ?? t("quicklaunch.custom")} ${t("quicklaunch.search")} `, + name: `${searchProvider.name ?? t("quicklaunch.custom")} ${t("quicklaunch.search")}`, type: "search", }); + + if (searchProvider.showSearchSuggestions && searchProvider.suggestionUrl) { + if (searchString.trim() !== searchSuggestions[0]?.trim()) { + fetch( + `/api/search/searchSuggestion?query=${encodeURIComponent(searchString)}&providerName=${ + searchProvider.name ?? "Custom" + }`, + { signal: abortController.signal }, + ) + .then(async (searchSuggestionResult) => { + const newSearchSuggestions = await searchSuggestionResult.json(); + + if (newSearchSuggestions) { + if (newSearchSuggestions[1].length > 4) { + newSearchSuggestions[1] = newSearchSuggestions[1].splice(0, 4); + } + setSearchSuggestions(newSearchSuggestions); + } + }) + .catch(() => { + // If there is an error, just ignore it. There just will be no search suggestions. + }); + } + + if (searchSuggestions[1]) { + newResults = newResults.concat( + searchSuggestions[1].map((suggestion) => ({ + href: searchProvider.url + encodeURIComponent(suggestion), + name: suggestion, + type: "searchSuggestion", + })), + ); + } + } } if (!hideVisitURL && url) { @@ -128,7 +201,11 @@ export default function QuickLaunch({ setCurrentItemIndex(0); } } - }, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchProvider, url, t]); + + return () => { + abortController.abort(); + }; + }, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchSuggestions, searchProvider, url, t]); const [hidden, setHidden] = useState(true); useEffect(() => { @@ -181,7 +258,7 @@ export default function QuickLaunch({
- + )}
- {r.name} + {r.type !== "searchSuggestion" && {r.name}} + {r.type === "searchSuggestion" && ( +
+ + {r.name.indexOf(searchString) === 0 ? searchString : ""} + + + {r.name.indexOf(searchString) === 0 ? r.name.substring(searchString.length) : r.name} + +
+ )} {r.description && ( {searchDescriptions && r.priority < 2 ? highlightText(r.description) : r.description} diff --git a/src/components/resolvedicon.jsx b/src/components/resolvedicon.jsx index 885bbfac..de29c0cd 100644 --- a/src/components/resolvedicon.jsx +++ b/src/components/resolvedicon.jsx @@ -35,6 +35,35 @@ export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "log // check mdi- or si- prefixed icons const prefix = icon.split("-")[0]; + if (prefix === "sh") { + const iconName = icon.replace("sh-", "").replace(".svg", "").replace(".png", "").replace(".webp", ""); + + let extension; + if (icon.endsWith(".svg")) { + extension = "svg"; + } else if (icon.endsWith(".webp")) { + extension = "webp"; + } else { + extension = "png"; + } + + return ( + {alt} + ); + } + if (prefix in iconSetURLs) { // default to theme setting let iconName = icon.replace(`${prefix}-`, "").replace(".svg", ""); diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx index bcc3ce5d..cdbb89f3 100644 --- a/src/components/services/group.jsx +++ b/src/components/services/group.jsx @@ -1,4 +1,4 @@ -import { useRef } from "react"; +import { useRef, useEffect } from "react"; import classNames from "classnames"; import { Disclosure, Transition } from "@headlessui/react"; import { MdKeyboardArrowDown } from "react-icons/md"; @@ -6,9 +6,21 @@ import { MdKeyboardArrowDown } from "react-icons/md"; import List from "components/services/list"; import ResolvedIcon from "components/resolvedicon"; -export default function ServicesGroup({ group, services, layout, fiveColumns, disableCollapse, useEqualHeights }) { +export default function ServicesGroup({ + group, + services, + layout, + fiveColumns, + disableCollapse, + useEqualHeights, + groupsInitiallyCollapsed, +}) { const panel = useRef(); + useEffect(() => { + if (layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) panel.current.style.height = `0`; + }, [layout, groupsInitiallyCollapsed]); + return (
- + {({ open }) => ( <> {layout?.header !== false && ( diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index 0d0c1b5b..a38dfaa3 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -36,7 +36,6 @@ export default function Item({ service, group, useEqualHeights }) {
) : ( -
+
))} diff --git a/src/components/services/site-monitor.jsx b/src/components/services/site-monitor.jsx index 4e70c80a..3d5ef79e 100644 --- a/src/components/services/site-monitor.jsx +++ b/src/components/services/site-monitor.jsx @@ -12,7 +12,7 @@ export default function SiteMonitor({ group, service, style }) { let statusTitle = t("siteMonitor.http_status"); let statusText = ""; - if (error) { + if (error || (data && data.error)) { colorClass = "text-rose-500"; statusText = t("siteMonitor.error"); statusTitle += ` ${t("siteMonitor.error")}`; diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index e0f74210..3a6f3b33 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -7,33 +7,31 @@ export default function Status({ service, style }) { const { data, error } = useSWR(`/api/docker/status/${service.container}/${service.server || ""}`); let statusLabel = t("docker.unknown"); - let statusTitle = ""; let backgroundClass = "px-1.5 py-0.5 bg-theme-500/10 dark:bg-theme-900/50"; let colorClass = "text-black/20 dark:text-white/40 "; if (error) { - statusTitle = t("docker.error"); + statusLabel = t("docker.error"); colorClass = "text-rose-500/80"; } else if (data) { if (data.status?.includes("running")) { - if (data.health === "starting") { - statusTitle = t("docker.starting"); - colorClass = "text-blue-500/80"; - } - - if (data.health === "unhealthy") { - statusTitle = t("docker.unhealthy"); - colorClass = "text-orange-400/50 dark:text-orange-400/80"; - } + colorClass = "text-emerald-500/80"; if (!data.health) { statusLabel = data.status.replace("running", t("docker.running")); } else { statusLabel = data.health === "healthy" ? t("docker.healthy") : data.health; - } - statusTitle = statusLabel; - colorClass = "text-emerald-500/80"; + if (data.health === "starting") { + statusLabel = t("docker.starting"); + colorClass = "text-blue-500/80"; + } + + if (data.health === "unhealthy") { + statusLabel = t("docker.unhealthy"); + colorClass = "text-orange-400/50 dark:text-orange-400/80"; + } + } } if (data.status === "not found" || data.status === "exited" || data.status?.startsWith("partial")) { @@ -47,13 +45,14 @@ export default function Status({ service, style }) { if (style === "dot") { colorClass = colorClass.replace(/text-/g, "bg-").replace(/\/\d\d/g, ""); backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20"; - statusTitle = statusLabel; } return (
{style !== "dot" ? (
{statusLabel}
diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx index 81423b3f..76e42239 100644 --- a/src/components/services/widget/error.jsx +++ b/src/components/services/widget/error.jsx @@ -12,6 +12,10 @@ function displayData(data) { export default function Error({ error }) { const { t } = useTranslation(); + if (typeof error === "string") { + error = { message: error }; // eslint-disable-line no-param-reassign + } + if (error?.data?.error) { error = error.data.error; // eslint-disable-line no-param-reassign } diff --git a/src/components/tab.jsx b/src/components/tab.jsx index 699b1912..7b718346 100644 --- a/src/components/tab.jsx +++ b/src/components/tab.jsx @@ -3,13 +3,19 @@ import classNames from "classnames"; import { TabContext } from "utils/contexts/tab"; -export function slugify(tabName) { - return tabName !== undefined ? encodeURIComponent(tabName.toString().replace(/\s+/g, "-").toLowerCase()) : ""; +function slugify(tabName) { + return tabName.toString().replace(/\s+/g, "-").toLowerCase(); +} + +export function slugifyAndEncode(tabName) { + return tabName !== undefined ? encodeURIComponent(slugify(tabName)) : ""; } export default function Tab({ tab }) { const { activeTab, setActiveTab } = useContext(TabContext); + const matchesTab = decodeURIComponent(activeTab) === slugify(tab); + return (
  • { - setActiveTab(slugify(tab)); - window.location.hash = `#${slugify(tab)}`; + setActiveTab(slugifyAndEncode(tab)); + window.location.hash = `#${slugifyAndEncode(tab)}`; }} > {tab} diff --git a/src/components/widgets/glances/glances.jsx b/src/components/widgets/glances/glances.jsx index 0834b775..905a179a 100644 --- a/src/components/widgets/glances/glances.jsx +++ b/src/components/widgets/glances/glances.jsx @@ -21,6 +21,7 @@ function convertToFahrenheit(t) { export default function Widget({ options }) { const { t, i18n } = useTranslation(); const { settings } = useContext(SettingsContext); + const diskUnits = options.diskUnits === "bbytes" ? "common.bbytes" : "common.bytes"; const { data, error } = useSWR( `/api/widgets/glances?${new URLSearchParams({ lang: i18n.language, ...options }).toString()}`, @@ -132,9 +133,9 @@ export default function Widget({ options }) { {t(`wmo.${data.current_weather.weathercode}-${timeOfDay}`)} @@ -83,8 +84,6 @@ export default function OpenMeteo({ options }) { } }; - // if (!requesting && !location) requestLocation(); - if (!location) { return ( {options.label && `${options.label}, `} - {t("common.number", { value: data.main.temp, style: "unit", unit })} + {t("common.number", { value: data.main.temp, style: "unit", unit, ...options.format })} {data.weather[0].description} diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx index 96f98096..ef994c65 100644 --- a/src/components/widgets/resources/cputemp.jsx +++ b/src/components/widgets/resources/cputemp.jsx @@ -9,7 +9,7 @@ function convertToFahrenheit(t) { return (t * 9) / 5 + 32; } -export default function CpuTemp({ expanded, units, refresh = 1500 }) { +export default function CpuTemp({ expanded, units, refresh = 1500, tempmin = 0, tempmax = -1 }) { const { t } = useTranslation(); const { data, error } = useSWR(`/api/widgets/resources?type=cputemp`, { @@ -39,7 +39,12 @@ export default function CpuTemp({ expanded, units, refresh = 1500 }) { } const unit = units === "imperial" ? "fahrenheit" : "celsius"; mainTemp = unit === "celsius" ? mainTemp : convertToFahrenheit(mainTemp); - const maxTemp = unit === "celsius" ? data.cputemp.max : convertToFahrenheit(data.cputemp.max); + + const minTemp = tempmin < mainTemp ? tempmin : mainTemp; + let maxTemp = tempmax; + if (maxTemp < minTemp) { + maxTemp = unit === "celsius" ? data.cputemp.max : convertToFahrenheit(data.cputemp.max); + } return ( ); diff --git a/src/components/widgets/resources/disk.jsx b/src/components/widgets/resources/disk.jsx index 4cc86afb..15da7780 100644 --- a/src/components/widgets/resources/disk.jsx +++ b/src/components/widgets/resources/disk.jsx @@ -5,8 +5,9 @@ import { useTranslation } from "next-i18next"; import Resource from "../widget/resource"; import Error from "../widget/error"; -export default function Disk({ options, expanded, refresh = 1500 }) { +export default function Disk({ options, expanded, diskUnits, refresh = 1500 }) { const { t } = useTranslation(); + const diskUnitsName = diskUnits === "bbytes" ? "common.bbytes" : "common.bytes"; const { data, error } = useSWR(`/api/widgets/resources?type=disk&target=${options.disk}`, { refreshInterval: refresh, @@ -36,9 +37,9 @@ export default function Disk({ options, expanded, refresh = 1500 }) { return ( } {options.memory && } {Array.isArray(options.disk) - ? options.disk.map((disk) => ) - : options.disk && } - {options.cputemp && } + ? options.disk.map((disk) => ( + + )) + : options.disk && } + {options.cputemp && ( + + )} {options.uptime && }
  • {options.label && ( diff --git a/src/components/widgets/resources/uptime.jsx b/src/components/widgets/resources/uptime.jsx index 025d1aa5..2fac0fcd 100644 --- a/src/components/widgets/resources/uptime.jsx +++ b/src/components/widgets/resources/uptime.jsx @@ -25,7 +25,7 @@ export default function Uptime({ refresh = 1500 }) { return ( diff --git a/src/components/widgets/search/search.jsx b/src/components/widgets/search/search.jsx index 0e439132..c9391d35 100644 --- a/src/components/widgets/search/search.jsx +++ b/src/components/widgets/search/search.jsx @@ -1,8 +1,8 @@ -import { useState, useEffect, useCallback, Fragment } from "react"; +import { useState, useEffect, Fragment } from "react"; import { useTranslation } from "next-i18next"; import { FiSearch } from "react-icons/fi"; import { SiDuckduckgo, SiMicrosoftbing, SiGoogle, SiBaidu, SiBrave } from "react-icons/si"; -import { Listbox, Transition } from "@headlessui/react"; +import { Listbox, Transition, Combobox } from "@headlessui/react"; import classNames from "classnames"; import ContainerForm from "../widget/container_form"; @@ -12,26 +12,31 @@ export const searchProviders = { google: { name: "Google", url: "https://www.google.com/search?q=", + suggestionUrl: "https://www.google.com/complete/search?client=chrome&q=", icon: SiGoogle, }, duckduckgo: { name: "DuckDuckGo", url: "https://duckduckgo.com/?q=", + suggestionUrl: "https://duckduckgo.com/ac/?type=list&q=", icon: SiDuckduckgo, }, bing: { name: "Bing", url: "https://www.bing.com/search?q=", + suggestionUrl: "https://api.bing.com/osjson.aspx?query=", icon: SiMicrosoftbing, }, baidu: { name: "Baidu", url: "https://www.baidu.com/s?wd=", + suggestionUrl: "http://suggestion.baidu.com/su?&action=opensearch&ie=utf-8&wd=", icon: SiBaidu, }, brave: { name: "Brave", url: "https://search.brave.com/search?q=", + suggestionUrl: "https://search.brave.com/api/suggest?&rich=false&q=", icon: SiBrave, }, custom: { @@ -72,6 +77,7 @@ export default function Search({ options }) { const [selectedProvider, setSelectedProvider] = useState( searchProviders[availableProviderIds[0] ?? searchProviders.google], ); + const [searchSuggestions, setSearchSuggestions] = useState([]); useEffect(() => { const storedProvider = getStoredProvider(); @@ -82,22 +88,58 @@ export default function Search({ options }) { } }, [availableProviderIds]); - const submitCallback = useCallback( - (event) => { - const q = encodeURIComponent(query); - const { url } = selectedProvider; - if (url) { - window.open(`${url}${q}`, options.target || "_blank"); - } else { - window.open(`${options.url}${q}`, options.target || "_blank"); - } + useEffect(() => { + const abortController = new AbortController(); - event.preventDefault(); - event.target.reset(); - setQuery(""); - }, - [options.target, options.url, query, selectedProvider], - ); + if ( + options.showSearchSuggestions && + (selectedProvider.suggestionUrl || options.suggestionUrl) && // custom providers pass url via options + query.trim() !== searchSuggestions[0] + ) { + fetch(`/api/search/searchSuggestion?query=${encodeURIComponent(query)}&providerName=${selectedProvider.name}`, { + signal: abortController.signal, + }) + .then(async (searchSuggestionResult) => { + const newSearchSuggestions = await searchSuggestionResult.json(); + + if (newSearchSuggestions) { + if (newSearchSuggestions[1].length > 4) { + newSearchSuggestions[1] = newSearchSuggestions[1].splice(0, 4); + } + setSearchSuggestions(newSearchSuggestions); + } + }) + .catch(() => { + // If there is an error, just ignore it. There just will be no search suggestions. + }); + } + + return () => { + abortController.abort(); + }; + }, [selectedProvider, options, query, searchSuggestions]); + + let currentSuggestion; + + function doSearch(value) { + const q = encodeURIComponent(value); + const { url } = selectedProvider; + if (url) { + window.open(`${url}${q}`, options.target || "_blank"); + } else { + window.open(`${options.url}${q}`, options.target || "_blank"); + } + + setQuery(""); + currentSuggestion = null; + } + + const handleSearchKeyDown = (event) => { + const useSuggestion = searchSuggestions.length && currentSuggestion; + if (event.key === "Enter") { + doSearch(useSuggestion ? currentSuggestion : event.target.value); + } + }; if (!availableProviderIds) { return null; @@ -109,84 +151,125 @@ export default function Search({ options }) { }; return ( - + -
    +
    - setQuery(s.currentTarget.value)} - required - autoCapitalize="off" - autoCorrect="off" - autoComplete="off" - // eslint-disable-next-line jsx-a11y/no-autofocus - autoFocus={options.focus} - /> - -
    - - - {t("search.search")} - -
    - + { + setQuery(event.target.value); + }} + required + autoCapitalize="off" + autoCorrect="off" + autoComplete="off" + // eslint-disable-next-line jsx-a11y/no-autofocus + autoFocus={options.focus} + onBlur={(e) => e.preventDefault()} + onKeyDown={handleSearchKeyDown} + /> + - + + + {t("search.search")} + +
    + -
    - {availableProviderIds.map((providerId) => { - const p = searchProviders[providerId]; - return ( - - {({ active }) => ( -
  • +
    + {availableProviderIds.map((providerId) => { + const p = searchProviders[providerId]; + return ( + + {({ active }) => ( +
  • + +
  • + )} +
    + ); + })} +
    + +
    + + + {searchSuggestions[1]?.length > 0 && ( + +
    + + {searchSuggestions[1].map((suggestion) => ( + { + doSearch(suggestion); + }} + className="flex w-full" + > + {({ active }) => { + if (active) currentSuggestion = suggestion; + return ( +
    - - - )} - - ); - })} + {suggestion.indexOf(query) === 0 ? query : ""} + + {suggestion.indexOf(query) === 0 ? suggestion.substring(query.length) : suggestion} + +
    + ); + }} +
    + ))}
    - - - +
    + )} +
    diff --git a/src/components/widgets/stocks/stocks.jsx b/src/components/widgets/stocks/stocks.jsx new file mode 100644 index 00000000..8c2c03fd --- /dev/null +++ b/src/components/widgets/stocks/stocks.jsx @@ -0,0 +1,91 @@ +import useSWR from "swr"; +import { useState } from "react"; +import { useTranslation } from "next-i18next"; +import { FaChartLine } from "react-icons/fa6"; + +import Error from "../widget/error"; +import Container from "../widget/container"; +import PrimaryText from "../widget/primary_text"; +import WidgetIcon from "../widget/widget_icon"; +import Raw from "../widget/raw"; + +export default function Widget({ options }) { + const { t, i18n } = useTranslation(); + + const [viewingPercentChange, setViewingPercentChange] = useState(false); + + const { color } = options; + + const { data, error } = useSWR( + `/api/widgets/stocks?${new URLSearchParams({ lang: i18n.language, ...options }).toString()}`, + ); + + if (error || data?.error) { + return ; + } + + if (!data) { + return ( + + + {t("stocks.loading")}... + + ); + } + + if (data) { + return ( + + + + + + ); + } +} diff --git a/src/components/widgets/unifi_console/unifi_console.jsx b/src/components/widgets/unifi_console/unifi_console.jsx index 0031b224..5295dbb7 100644 --- a/src/components/widgets/unifi_console/unifi_console.jsx +++ b/src/components/widgets/unifi_console/unifi_console.jsx @@ -14,8 +14,8 @@ import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Widget({ options }) { const { t } = useTranslation(); - // eslint-disable-next-line no-param-reassign - options.type = "unifi_console"; + // eslint-disable-next-line no-param-reassign, no-multi-assign + options.service_group = options.service_name = "unifi_console"; const { data: statsData, error: statsError } = useWidgetAPI(options, "stat/sites", { index: options.index }); if (statsError) { diff --git a/src/components/widgets/weather/weather.jsx b/src/components/widgets/weather/weather.jsx index 08074ee5..4ebb08c5 100644 --- a/src/components/widgets/weather/weather.jsx +++ b/src/components/widgets/weather/weather.jsx @@ -45,6 +45,7 @@ function Widget({ options }) { value: options.units === "metric" ? data.current.temp_c : data.current.temp_f, style: "unit", unit, + ...options.format, })} {data.current.condition.text} diff --git a/src/components/widgets/widget.jsx b/src/components/widgets/widget.jsx index 93dd2968..85febd6f 100644 --- a/src/components/widgets/widget.jsx +++ b/src/components/widgets/widget.jsx @@ -16,6 +16,7 @@ const widgetMappings = { openmeteo: dynamic(() => import("components/widgets/openmeteo/openmeteo")), longhorn: dynamic(() => import("components/widgets/longhorn/longhorn")), kubernetes: dynamic(() => import("components/widgets/kubernetes/kubernetes")), + stocks: dynamic(() => import("components/widgets/stocks/stocks")), }; export default function Widget({ widget, style }) { diff --git a/src/components/widgets/widget/container.jsx b/src/components/widgets/widget/container.jsx index 442aa084..c9240dd3 100644 --- a/src/components/widgets/widget/container.jsx +++ b/src/components/widgets/widget/container.jsx @@ -16,7 +16,7 @@ export function getAllClasses(options, additionalClassNames = "") { } return classNames( - "flex flex-col justify-center ml-2 mr-2", + "flex flex-col justify-center", "mt-2 m:mb-0 rounded-md shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 dark:bg-white/5 p-2 pl-3 pr-3", additionalClassNames, ); @@ -24,7 +24,7 @@ export function getAllClasses(options, additionalClassNames = "") { let widgetAlignedClasses = "flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap"; if (options?.style?.isRightAligned) { - widgetAlignedClasses = "flex flex-col justify-center first:ml-auto ml-2 mr-2 "; + widgetAlignedClasses = "flex flex-col justify-center"; } return classNames(widgetAlignedClasses, additionalClassNames); diff --git a/src/components/widgets/widget/container_form.jsx b/src/components/widgets/widget/container_form.jsx index 3b2c02e2..68cbd64b 100644 --- a/src/components/widgets/widget/container_form.jsx +++ b/src/components/widgets/widget/container_form.jsx @@ -2,11 +2,7 @@ import { getAllClasses, getInnerBlock, getBottomBlock } from "./container"; export default function ContainerForm({ children = [], options, additionalClassNames = "", callback }) { return ( -
    + {getInnerBlock(children)} {getBottomBlock(children)}
    diff --git a/src/components/widgets/widget/container_link.jsx b/src/components/widgets/widget/container_link.jsx index e6bc4cec..6f157875 100644 --- a/src/components/widgets/widget/container_link.jsx +++ b/src/components/widgets/widget/container_link.jsx @@ -3,7 +3,7 @@ import { getAllClasses, getInnerBlock, getBottomBlock } from "./container"; export default function ContainerLink({ children = [], options, additionalClassNames = "", target }) { return (
    diff --git a/src/pages/_document.jsx b/src/pages/_document.jsx index 64dd7306..bfe3fc93 100644 --- a/src/pages/_document.jsx +++ b/src/pages/_document.jsx @@ -8,7 +8,7 @@ export default function Document() { name="description" content="A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations." /> - + diff --git a/src/pages/api/config/[path].js b/src/pages/api/config/[path].js index 7f3b6a07..6cb04698 100644 --- a/src/pages/api/config/[path].js +++ b/src/pages/api/config/[path].js @@ -28,7 +28,7 @@ export default async function handler(req, res) { res.setHeader("Content-Type", mimeType); return res.status(200).send(fileContent); } catch (error) { - logger.error(error); + if (error) logger.error(error); return res.status(500).end("Internal Server Error"); } } diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js index 715e5188..e92bad7c 100644 --- a/src/pages/api/docker/stats/[...service].js +++ b/src/pages/api/docker/stats/[...service].js @@ -80,7 +80,7 @@ export default async function handler(req, res) { error: "not found", }); } catch (e) { - logger.error(e); + if (e) logger.error(e); return res.status(500).send({ error: { message: e?.message ?? "Unknown error" }, }); diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js index 96c6bea6..f9dc640b 100644 --- a/src/pages/api/docker/status/[...service].js +++ b/src/pages/api/docker/status/[...service].js @@ -108,7 +108,7 @@ export default async function handler(req, res) { status: "not found", }); } catch (e) { - logger.error(e); + if (e) logger.error(e); return res.status(500).send({ error: { message: e?.message ?? "Unknown error" }, }); diff --git a/src/pages/api/kubernetes/stats/[...service].js b/src/pages/api/kubernetes/stats/[...service].js index 90a67bec..b1bf8345 100644 --- a/src/pages/api/kubernetes/stats/[...service].js +++ b/src/pages/api/kubernetes/stats/[...service].js @@ -106,7 +106,7 @@ export default async function handler(req, res) { stats, }); } catch (e) { - logger.error(e); + if (e) logger.error(e); res.status(500).send({ error: "unknown error", }); diff --git a/src/pages/api/kubernetes/status/[...service].js b/src/pages/api/kubernetes/status/[...service].js index 1ca19126..e50d726c 100644 --- a/src/pages/api/kubernetes/status/[...service].js +++ b/src/pages/api/kubernetes/status/[...service].js @@ -43,12 +43,13 @@ export default async function handler(req, res) { if (pods.length === 0) { res.status(404).send({ - error: `no pods found with namespace=${namespace} and labelSelector=${labelSelector}`, + status: "not found", }); + logger.error(`no pods found with namespace=${namespace} and labelSelector=${labelSelector}`); return; } - const someReady = pods.find((pod) => pod.status.phase === "Running"); - const allReady = pods.every((pod) => pod.status.phase === "Running"); + const someReady = pods.find((pod) => ["Succeeded", "Running"].includes(pod.status.phase)); + const allReady = pods.every((pod) => ["Succeeded", "Running"].includes(pod.status.phase)); let status = "down"; if (allReady) { status = "running"; @@ -59,7 +60,7 @@ export default async function handler(req, res) { status, }); } catch (e) { - logger.error(e); + if (e) logger.error(e); res.status(500).send({ error: "unknown error", }); diff --git a/src/pages/api/search/searchSuggestion.js b/src/pages/api/search/searchSuggestion.js new file mode 100644 index 00000000..fa8eba0d --- /dev/null +++ b/src/pages/api/search/searchSuggestion.js @@ -0,0 +1,23 @@ +import { searchProviders } from "components/widgets/search/search"; +import cachedFetch from "utils/proxy/cached-fetch"; +import { widgetsFromConfig } from "utils/config/widget-helpers"; + +export default async function handler(req, res) { + const { query, providerName } = req.query; + + const provider = Object.values(searchProviders).find(({ name }) => name === providerName); + + if (provider.name === "Custom") { + const widgets = await widgetsFromConfig(); + const searchWidget = widgets.find((w) => w.type === "search"); + + provider.url = searchWidget.options.url; + provider.suggestionUrl = searchWidget.options.suggestionUrl; + } + + if (!provider.suggestionUrl) { + return res.json([query, []]); // Responde with the same array format but with no suggestions. + } + + return res.send(await cachedFetch(`${provider.suggestionUrl}${encodeURIComponent(query)}`, 5, "Mozilla/5.0")); +} diff --git a/src/pages/api/services/proxy.js b/src/pages/api/services/proxy.js index 80856419..90280c3d 100644 --- a/src/pages/api/services/proxy.js +++ b/src/pages/api/services/proxy.js @@ -2,22 +2,36 @@ import { formatApiCall } from "utils/proxy/api-helpers"; import createLogger from "utils/logger"; import genericProxyHandler from "utils/proxy/handlers/generic"; import widgets from "widgets/widgets"; +import calendarProxyHandler from "widgets/calendar/proxy"; +import getServiceWidget from "utils/config/service-helpers"; const logger = createLogger("servicesProxy"); export default async function handler(req, res) { try { - const { type } = req.query; + const { service, group } = req.query; + const serviceWidget = await getServiceWidget(group, service); + let type = serviceWidget?.type; + + // exceptions + if (type === "calendar") type = "ical"; + else if (service === "unifi_console" && group === "unifi_console") type = "unifi_console"; + const widget = widgets[type]; if (!widget) { logger.debug("Unknown proxy service type: %s", type); - return res.status(403).json({ error: "Unkown proxy service type" }); + return res.status(403).json({ error: "Unknown proxy service type" }); } const serviceProxyHandler = widget.proxyHandler || genericProxyHandler; if (serviceProxyHandler instanceof Function) { + // quick return for no endpoint services, calendar is an exception + if (!req.query.endpoint || serviceProxyHandler === calendarProxyHandler) { + return serviceProxyHandler(req, res); + } + // map opaque endpoints to their actual endpoint if (widget?.mappings) { const mapping = widget?.mappings?.[req.query.endpoint]; @@ -27,6 +41,11 @@ export default async function handler(req, res) { const endpoint = mapping?.endpoint; const endpointProxy = mapping?.proxyHandler || serviceProxyHandler; + if (mapping.method && mapping.method !== req.method) { + logger.debug("Unsupported method: %s", req.method); + return res.status(403).json({ error: "Unsupported method" }); + } + if (!endpoint) { logger.debug("Unsupported service endpoint: %s", type); return res.status(403).json({ error: "Unsupported service endpoint" }); @@ -38,6 +57,17 @@ export default async function handler(req, res) { if (req.query.segments) { const segments = JSON.parse(req.query.segments); + let validSegments = true; + Object.keys(segments).forEach((key) => { + if (!mapping.segments.includes(key)) { + logger.debug("Unsupported segment: %s", key); + validSegments = false; + } else if (segments[key].includes("/") || segments[key].includes("\\") || segments[key].includes("..")) { + logger.debug("Unsupported segment value: %s", segments[key]); + validSegments = false; + } + }); + if (!validSegments) return res.status(403).json({ error: "Unsupported segment" }); req.query.endpoint = formatApiCall(endpoint, segments); } @@ -66,13 +96,20 @@ export default async function handler(req, res) { return serviceProxyHandler(req, res, map); } - return serviceProxyHandler(req, res); + if (widget.allowedEndpoints instanceof RegExp) { + if (widget.allowedEndpoints.test(req.query.endpoint)) { + return serviceProxyHandler(req, res); + } + } + + logger.debug("Unmapped proxy request."); + return res.status(403).json({ error: "Unmapped proxy request." }); } logger.debug("Unknown proxy service type: %s", type); - return res.status(403).json({ error: "Unkown proxy service type" }); - } catch (ex) { - logger.error(ex); + return res.status(403).json({ error: "Unknown proxy service type" }); + } catch (e) { + if (e) logger.error(e); return res.status(500).send({ error: "Unexpected error" }); } } diff --git a/src/pages/api/widgets/glances.js b/src/pages/api/widgets/glances.js index 0d87a9ae..199c133e 100644 --- a/src/pages/api/widgets/glances.js +++ b/src/pages/api/widgets/glances.js @@ -13,7 +13,7 @@ async function retrieveFromGlancesAPI(privateWidgetOptions, endpoint) { throw new Error(errorMessage); } - const apiUrl = `${url}/api/3/${endpoint}`; + const apiUrl = `${url}/api/${privateWidgetOptions.version}/${endpoint}`; const headers = { "Accept-Encoding": "application/json", }; @@ -42,9 +42,10 @@ async function retrieveFromGlancesAPI(privateWidgetOptions, endpoint) { } export default async function handler(req, res) { - const { index, cputemp: includeCpuTemp, uptime: includeUptime, disk: includeDisks } = req.query; + const { index, cputemp: includeCpuTemp, uptime: includeUptime, disk: includeDisks, version } = req.query; const privateWidgetOptions = await getPrivateWidgetOptions("glances", index); + privateWidgetOptions.version = version ?? 3; try { const cpuData = await retrieveFromGlancesAPI(privateWidgetOptions, "cpu"); diff --git a/src/pages/api/widgets/kubernetes.js b/src/pages/api/widgets/kubernetes.js index b55b02d7..778a6aa1 100644 --- a/src/pages/api/widgets/kubernetes.js +++ b/src/pages/api/widgets/kubernetes.js @@ -22,11 +22,12 @@ export default async function handler(req, res) { .then((response) => response.body) .catch((error) => { logger.error("Error getting ingresses: %d %s %s", error.statusCode, error.body, error.response); + logger.debug(error); return null; }); if (!nodes) { return res.status(500).send({ - error: "unknown error", + error: "An error occurred while fetching nodes, check logs for more details.", }); } let cpuTotal = 0; @@ -94,7 +95,7 @@ export default async function handler(req, res) { nodes: Object.entries(nodeMap).map(([name, node]) => ({ name, ...node })), }); } catch (e) { - logger.error("exception %s", e); + if (e) logger.error(e); return res.status(500).send({ error: "unknown error", }); diff --git a/src/pages/api/widgets/openmeteo.js b/src/pages/api/widgets/openmeteo.js index b34938b1..e63847b4 100644 --- a/src/pages/api/widgets/openmeteo.js +++ b/src/pages/api/widgets/openmeteo.js @@ -2,7 +2,7 @@ import cachedFetch from "utils/proxy/cached-fetch"; export default async function handler(req, res) { const { latitude, longitude, units, cache, timezone } = req.query; - const degrees = units === "imperial" ? "fahrenheit" : "celsius"; + const degrees = units === "metric" ? "celsius" : "fahrenheit"; const timezeone = timezone ?? "auto"; const apiUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=sunrise,sunset¤t_weather=true&temperature_unit=${degrees}&timezone=${timezeone}`; return res.send(await cachedFetch(apiUrl, cache)); diff --git a/src/pages/api/widgets/openweathermap.js b/src/pages/api/widgets/openweathermap.js index a2070997..089ee804 100644 --- a/src/pages/api/widgets/openweathermap.js +++ b/src/pages/api/widgets/openweathermap.js @@ -1,9 +1,11 @@ import cachedFetch from "utils/proxy/cached-fetch"; import { getSettings } from "utils/config/config"; +import { getPrivateWidgetOptions } from "utils/config/widget-helpers"; export default async function handler(req, res) { - const { latitude, longitude, units, provider, cache, lang } = req.query; - let { apiKey } = req.query; + const { latitude, longitude, units, provider, cache, lang, index } = req.query; + const privateWidgetOptions = await getPrivateWidgetOptions("openweathermap", index); + let { apiKey } = privateWidgetOptions; if (!apiKey && !provider) { return res.status(400).json({ error: "Missing API key or provider" }); diff --git a/src/pages/api/widgets/resources.js b/src/pages/api/widgets/resources.js index 92495d93..66449bff 100644 --- a/src/pages/api/widgets/resources.js +++ b/src/pages/api/widgets/resources.js @@ -1,5 +1,9 @@ import { existsSync } from "fs"; +import createLogger from "utils/logger"; + +const logger = createLogger("resources"); + const si = require("systeminformation"); export default async function handler(req, res) { @@ -23,26 +27,31 @@ export default async function handler(req, res) { } const fsSize = await si.fsSize(); - + logger.debug("fsSize:", JSON.stringify(fsSize)); return res.status(200).json({ drive: fsSize.find((fs) => fs.mount === target) ?? fsSize.find((fs) => fs.mount === "/"), }); } if (type === "memory") { + const memory = await si.mem(); + logger.debug("memory:", JSON.stringify(memory)); return res.status(200).json({ - memory: await si.mem(), + memory, }); } if (type === "cputemp") { + const cputemp = await si.cpuTemperature(); + logger.debug("cputemp:", JSON.stringify(cputemp)); return res.status(200).json({ - cputemp: await si.cpuTemperature(), + cputemp, }); } if (type === "uptime") { const timeData = await si.time(); + logger.debug("timeData:", JSON.stringify(timeData)); return res.status(200).json({ uptime: timeData.uptime, }); diff --git a/src/pages/api/widgets/stocks.js b/src/pages/api/widgets/stocks.js new file mode 100644 index 00000000..d80842e1 --- /dev/null +++ b/src/pages/api/widgets/stocks.js @@ -0,0 +1,76 @@ +import cachedFetch from "utils/proxy/cached-fetch"; +import { getSettings } from "utils/config/config"; + +export default async function handler(req, res) { + const { watchlist, provider, cache } = req.query; + + if (!watchlist) { + return res.status(400).json({ error: "Missing watchlist" }); + } + + const watchlistArr = watchlist.split(",") || [watchlist]; + + if (!watchlistArr.length || watchlistArr[0] === "null" || !watchlistArr[0]) { + return res.status(400).json({ error: "Missing watchlist" }); + } + + if (watchlistArr.length > 8) { + return res.status(400).json({ error: "Max items in watchlist is 8" }); + } + + const hasDuplicates = new Set(watchlistArr).size !== watchlistArr.length; + + if (hasDuplicates) { + return res.status(400).json({ error: "Watchlist contains duplicates" }); + } + + if (!provider) { + return res.status(400).json({ error: "Missing provider" }); + } + + if (provider !== "finnhub") { + return res.status(400).json({ error: "Invalid provider" }); + } + + const providersInConfig = getSettings()?.providers; + + let apiKey; + Object.entries(providersInConfig).forEach(([key, val]) => { + if (key === provider) apiKey = val; + }); + + if (typeof apiKey === "undefined") { + return res.status(400).json({ error: "Missing or invalid API Key for provider" }); + } + + if (provider === "finnhub") { + // Finnhub allows up to 30 calls/second + // https://finnhub.io/docs/api/rate-limit + const results = await Promise.all( + watchlistArr.map(async (ticker) => { + if (!ticker) { + return { ticker: null, currentPrice: null, percentChange: null }; + } + // https://finnhub.io/docs/api/quote + const apiUrl = `https://finnhub.io/api/v1/quote?symbol=${ticker}&token=${apiKey}`; + // Finnhub free accounts allow up to 60 calls/minute + // https://finnhub.io/pricing + const { c, dp } = await cachedFetch(apiUrl, cache || 1); + + // API sometimes returns 200, but values returned are `null` + if (c === null || dp === null) { + return { ticker, currentPrice: null, percentChange: null }; + } + + // Rounding percentage, but we want it back to a number for comparison + return { ticker, currentPrice: c.toFixed(2), percentChange: parseFloat(dp.toFixed(2)) }; + }), + ); + + return res.send({ + stocks: results, + }); + } + + return res.status(400).json({ error: "Invalid configuration" }); +} diff --git a/src/pages/api/widgets/weather.js b/src/pages/api/widgets/weather.js index 5cba47ba..9d0451ce 100644 --- a/src/pages/api/widgets/weather.js +++ b/src/pages/api/widgets/weather.js @@ -1,9 +1,11 @@ import cachedFetch from "utils/proxy/cached-fetch"; import { getSettings } from "utils/config/config"; +import { getPrivateWidgetOptions } from "utils/config/widget-helpers"; export default async function handler(req, res) { - const { latitude, longitude, provider, cache, lang } = req.query; - let { apiKey } = req.query; + const { latitude, longitude, provider, cache, lang, index } = req.query; + const privateWidgetOptions = await getPrivateWidgetOptions("weatherapi", index); + let { apiKey } = privateWidgetOptions; if (!apiKey && !provider) { return res.status(400).json({ error: "Missing API key or provider" }); diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 92833117..dd0df95f 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -1,6 +1,7 @@ /* eslint-disable react/no-array-index-key */ import useSWR, { SWRConfig } from "swr"; import Head from "next/head"; +import Script from "next/script"; import dynamic from "next/dynamic"; import classNames from "classnames"; import { useTranslation } from "next-i18next"; @@ -9,8 +10,7 @@ import { BiError } from "react-icons/bi"; import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { useRouter } from "next/router"; -import Tab, { slugify } from "components/tab"; -import FileContent from "components/filecontent"; +import Tab, { slugifyAndEncode } from "components/tab"; import ServicesGroup from "components/services/group"; import BookmarksGroup from "components/bookmarks/group"; import Widget from "components/widgets/widget"; @@ -26,7 +26,6 @@ import { bookmarksResponse, servicesResponse, widgetsResponse } from "utils/conf import ErrorBoundary from "components/errorboundry"; import themes from "utils/styles/themes"; import QuickLaunch from "components/quicklaunch"; -import { getStoredProvider, searchProviders } from "components/widgets/search/search"; const ThemeToggle = dynamic(() => import("components/toggles/theme"), { ssr: false, @@ -65,7 +64,7 @@ export async function getStaticProps() { }, }; } catch (e) { - if (logger) { + if (logger && e) { logger.error(e); } return { @@ -161,10 +160,10 @@ function Index({ initialSettings, fallback }) { const headerStyles = { boxed: - "m-6 mb-0 sm:m-9 sm:mb-0 rounded-md shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 dark:bg-white/5 p-3", - underlined: "m-6 mb-0 sm:m-9 sm:mb-1 border-b-2 pb-4 border-theme-800 dark:border-theme-200/50", - clean: "m-6 mb-0 sm:m-9 sm:mb-0", - boxedWidgets: "m-6 mb-0 sm:m-9 sm:mb-0 sm:mt-1", + "m-5 mb-0 sm:m-9 sm:mb-0 rounded-md shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 dark:bg-white/5 p-3", + underlined: "m-5 mb-0 sm:m-9 sm:mb-1 border-b-2 pb-4 border-theme-800 dark:border-theme-200/50", + clean: "m-5 mb-0 sm:m-9 sm:mb-0", + boxedWidgets: "m-5 mb-0 sm:m-9 sm:mb-0 sm:mt-1", }; function Home({ initialSettings }) { @@ -204,27 +203,17 @@ function Home({ initialSettings }) { const [searching, setSearching] = useState(false); const [searchString, setSearchString] = useState(""); - let searchProvider = null; - const searchWidget = Object.values(widgets).find((w) => w.type === "search"); - if (searchWidget) { - if (Array.isArray(searchWidget.options?.provider)) { - // if search provider is a list, try to retrieve from localstorage, fall back to the first - searchProvider = getStoredProvider() ?? searchProviders[searchWidget.options.provider[0]]; - } else if (searchWidget.options?.provider === "custom") { - searchProvider = { - url: searchWidget.options.url, - }; - } else { - searchProvider = searchProviders[searchWidget.options?.provider]; - } - } const headerStyle = settings?.headerStyle || "underlined"; useEffect(() => { function handleKeyDown(e) { if (e.target.tagName === "BODY" || e.target.id === "inner_wrapper") { if ( - (e.key.length === 1 && e.key.match(/(\w|\s)/g) && !(e.altKey || e.ctrlKey || e.metaKey || e.shiftKey)) || + (e.key.length === 1 && + e.key.match(/(\w|\s|[ร -รผ]|[ร€-รœ]|[\w\u0430-\u044f])/gi) && + !(e.altKey || e.ctrlKey || e.metaKey || e.shiftKey)) || + // accented characters and the bang may require modifier keys + e.key.match(/([ร -รผ]|[ร€-รœ]|!)/g) || (e.key === "v" && (e.ctrlKey || e.metaKey)) ) { setSearching(true); @@ -255,13 +244,13 @@ function Home({ initialSettings }) { useEffect(() => { if (!activeTab) { - const initialTab = decodeURI(asPath.substring(asPath.indexOf("#") + 1)); - setActiveTab(initialTab === "/" ? slugify(tabs["0"]) : initialTab); + const initialTab = asPath.substring(asPath.indexOf("#") + 1); + setActiveTab(initialTab === "/" ? slugifyAndEncode(tabs["0"]) : initialTab); } }); const servicesAndBookmarksGroups = useMemo(() => { - const tabGroupFilter = (g) => g && [activeTab, ""].includes(slugify(settings.layout?.[g.name]?.tab)); + const tabGroupFilter = (g) => g && [activeTab, ""].includes(slugifyAndEncode(settings.layout?.[g.name]?.tab)); const undefinedGroupFilter = (g) => settings.layout?.[g.name] === undefined; const layoutGroups = Object.keys(settings.layout ?? {}) @@ -279,7 +268,7 @@ function Home({ initialSettings }) { return ( <> {tabs.length > 0 && ( -
    +
      ) : ( ), )} @@ -330,6 +321,7 @@ function Home({ initialSettings }) { layout={settings.layout?.[group.name]} fiveColumns={settings.fiveColumns} disableCollapse={settings.disableCollapse} + groupsInitiallyCollapsed={settings.groupsInitiallyCollapsed} /> ))}
    @@ -342,6 +334,7 @@ function Home({ initialSettings }) { bookmarks={group} layout={settings.layout?.[group.name]} disableCollapse={settings.disableCollapse} + groupsInitiallyCollapsed={settings.groupsInitiallyCollapsed} /> ))}
    @@ -358,6 +351,7 @@ function Home({ initialSettings }) { settings.disableCollapse, settings.useEqualHeights, settings.cardBlur, + settings.groupsInitiallyCollapsed, initialSettings.layout, ]); @@ -382,19 +376,11 @@ function Home({ initialSettings }) { )} + + {/* eslint-disable-line @next/next/no-css-tags */} - - - -