~ajhalili2006's personal website, built with Zensical (successor of Material for Mkdocs) [old repo name got bugged while attempting to do manual knot migration via repo deletion] andreijiroh.dev
zensical mkdocs-material website

Compare changes

Choose any two refs to compare.

+32
.devcontainer/Dockerfile
···
+
# syntax=docker/dockerfile:experimental
+
FROM gitpod/workspace-full:latest AS workspace
+
+
# Disable direnv timeout warnings
+
ENV DIRENV_WARN_TIMEOUT=0
+
+
WORKDIR /tmp
+
# setup work for scdoc and hut cli
+
RUN git clone https://git.sr.ht/~sircmpwn/scdoc && cd scdoc \
+
&& make && sudo cp scdoc /usr/local/bin/scdoc && cd .. \
+
&& git clone https://git.sr.ht/~emersion/hut && cd hut \
+
&& make PREFIX=/home/gitpod/.local && sudo cp ./hut /usr/local/bin/hut \
+
&& sudo rm -rv /tmp/*
+
+
# https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#linux
+
RUN sudo install-packages \
+
libcairo2-dev \
+
libfreetype6-dev \
+
libffi-dev \
+
libjpeg-dev \
+
libpng-dev \
+
libz-dev
+
+
# https://docs.docker.com/build/install-buildx/
+
COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/docker-buildx
+
+
# brew maintenance + install ShellCheck and Hadolint
+
WORKDIR /home/gitpod
+
RUN brew update && brew upgrade \
+
&& brew install hadolint shellcheck \
+
&& npm i -g wrangler \
+
&& git -C ~/.pyenv pull origin master
+34
.devcontainer/devcontainer.json
···
+
// The Dev Container format allows you to configure your environment. At the heart of it
+
// is a Docker image or Dockerfile which controls the tools available in your environment.
+
//
+
// See https://aka.ms/devcontainer.json for more information.
+
{
+
"name": "andreijiroh.dev - Gitpod Workspace Images x Codespaces",
+
// Use "image": "mcr.microsoft.com/vscode/devcontainers/base:ubuntu",
+
// instead of the build to use a pre-built image.
+
"build": {
+
"context": ".",
+
"dockerfile": "Dockerfile"
+
},
+
// Features add additional features to your environment. See https://containers.dev/features
+
// Beware: features are not supported on all platforms and may have unintended side-effects.
+
"features": {
+
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
+
},
+
"remoteUser": "gitpod",
+
"customizations": {
+
"vscode": {
+
"extensions": [
+
"foam.foam-vscode",
+
"DavidAnson.vscode-markdownlint",
+
"timonwong.shellcheck",
+
"ms-azuretools.vscode-docker",
+
"vivaxy.vscode-conventional-commits",
+
"printfn.gemini-improved",
+
"streetsidesoftware.code-spell-checker",
+
"yzhang.markdown-all-in-one",
+
"bierner.emojisense"
+
]
+
}
+
}
+
}
+12
.env.ci
···
+
#/-------------------[DOTENV_PUBLIC_KEY]--------------------/
+
#/ public-key encryption for .env files /
+
#/ [how it works](https://dotenvx.com/encryption) /
+
#/----------------------------------------------------------/
+
DOTENV_PUBLIC_KEY_CI="0229743ae8682e55160d2176b2d17e5fc9e7ce7779fda3597fb8f4701c61615381"
+
DOTENVX=1
+
+
# .env.ci
+
SOURCEHUT_PAGES_TOKEN="encrypted:BNHzZMqMJw9wodfYI5x4kWO1OwYjUWHOwoqTYX10K5Z1jaaE4HuiG5g9KhoSo0vl/fN120WW+uVcP+uwHRJdPADLecM8SjmxOwF1LDDqiDYXnpUS3KqOdVcOtvV3xHYITVd0q9ds2SFue/1HOnzToCD7fC3PoAV+FmYGKF+NFK+c01ws7yI7TGJ7tGOIDTq9jdUbtZ/Mo2o5xx/85zbjmGHGRlIOHlM5pmg1CBhOfRvZdla9Ay/gkJ6Yrm5h0+ULZZUTt4lyKWYYwvVWTeaOngOOmAOps18BvvwSsHoN4QK5IrvVZEbhLqOAZdMcLYlKWViFA559IKx1vky3ddSS6S+lOIn9kGFAwNSu41jH+SFMFtK0QH64"
+
CLOUDFLARE_ACCOUNT_ID="encrypted:BB7kta9zZf3Y02HZtxI2/o6vTCvTWYJhOBI4ajDgimbqS1dsdc+Zf6Qcch+gg8LM8UTDDu/8p2K511oyEOa3Xqo/IoX+7NvKu9qZlb2Y38Y44SuP7hSGVcRpfZ5PuzCtFBHAez1OtpWAcdGOmBU8l6bZro3AsBXvpLfLPD/ocspf"
+
CLOUDFLARE_API_TOKEN="encrypted:BGhKNSEaF2G0/Mg6HQ1Te2yG8HTOKrKhp+us2/wZXhtYvjBzqYECScky9Um+JuBwXipj1uCGojxkpsPnceGrmksY3GvK7ze7SfmTxjV5WEHLq51Mchip/Jf8mHRCpD5/xroPOWHGQeTlsJe/2wcuqBGojUWLoc6nk5DEj4sNOkRyr1u6bG9GB8A="
+
CLOUDFLARE_TOKEN=$CLOUDFLARE_API_TOKEN
+19
.envrc
···
+
#!/usr/bin/env bash
+
+
export DIRENV_WARN_TIMEOUT=0
+
+
if [[ $DEBUG != "" ]]; then
+
set -x
+
fi
+
+
if command -v devenv >> /dev/null; then
+
eval "$(devenv direnvrc)"
+
use devenv
+
else
+
echo "error: Install devenv first (https://devenv.sh) and then run 'direnv reload'"
+
return 1
+
fi
+
+
if [[ $DEBUG != "" ]]; then
+
set +x
+
fi
+7 -1
.github/FUNDING.yml
···
+
# TODO: Sync this back to andreijiroh-dev/.github repo soon :)
+
github: ajhalili2006
ko_fi: ajhalili2006
patreon: ajhalili2006
liberapay: ajhalili2006
+
buy_me_a_coffee: ajhalili2006
+
open_collective: andreijiroh-dev
custom:
-
- https://paypal.me/ajhalili2006
+
- https://paypal.me/ajhalili2006
+
- https://sponsors.andreijiroh.dev
+
- https:/recaptime.dev/donate
+97
.github/copilot-instructions.md
···
+
# GitHub Copilot / AI agent instructions
+
+
Purpose: help an AI coding agent be immediately productive in this repository.
+
+
- Big picture
+
- Static site built with MkDocs + Material theme. Sources live in `markdown/`; generated site is written to `public/` ([mkdocs.yml](mkdocs.yml)).
+
- Theme customizations and build hooks are in `overrides/` (Python hooks + theme assets).
+
- A parallel Gemini site lives in `gmi/` (different format, separate publishing flow).
+
- Cloudflare Pages / Workers integration: see `wrangler.jsonc` (publishes assets from `public/`).
+
+
- Key workflows (concrete commands)
+
- Install dependencies (preferred): `pipenv install` (or `pip install -r requirements.txt`). See [Pipfile](Pipfile) and [requirements.txt](requirements.txt).
+
- Local preview: `mkdocs serve --watch overrides --watch-theme --livereload` or `pipenv run dev` (see `Pipfile` scripts and [mkdocs.yml](mkdocs.yml)).
+
- Build site: `pipenv run build` or `pipenv run build -f mkdocs.readthedocs.yml` (build targets in `Pipfile` and `build.sh`). `build.sh` copies favicon into `public/` after build.
+
- Cloudflare deploy (manual): `npm run deploy` -> `wrangler deploy` (see `package.json` and [wrangler.jsonc](wrangler.jsonc)). CI deploy logic uses `npx wrangler pages publish` in `bin/deploy.sh` when running under CI.
+
- CI: deployments happen via GitLab CI; do not rely on a repository-local Docker CI image.
+
+
- Project-specific conventions & patterns
+
- Content separation: author-managed Markdown in `markdown/` is canonical. Do not edit `public/` โ€” it is generated.
+
- Theme overrides and custom assets live in `overrides/`; changes there affect build behavior and the site theme.
+
- The build copies `assets/images/favicon.png` to `public/favicon.ico` after building (see `build.sh` and `bin/build.sh`). Keep favicon at that path.
+
- Python environment targets Python 3.13 (see `Pipfile`). The repo commonly uses `pipenv` and a `.venv` pattern in local scripts (`bin/localdev.sh`).
+
- CI: deployments happen via GitLab CI and `bin/deploy.sh` (see `wrangler.jsonc` for Cloudflare Pages configuration).
+
+
- Integration points & external dependencies
+
- Cloudflare Pages / Workers via `wrangler`/`wrangler.jsonc` (assets directory: `./public`).
+
- CI builds run on GitLab. Avoid referencing the `docker/` folder โ€” it may be moved to a separate repo.
+
- `npm` is used only for `wrangler` dev/deploy and Docker convenience scripts (`package.json`).
+
+
- Helpful files to inspect
+
- Repository README: [README.md](README.md)
+
- MkDocs config: [mkdocs.yml](mkdocs.yml)
+
- Build scripts: [build.sh](build.sh) and [bin/build.sh](bin/build.sh)
+
- CI/deploy: [bin/deploy.sh](bin/deploy.sh) and [wrangler.jsonc](wrangler.jsonc)
+
- Python deps: [Pipfile](Pipfile) and [requirements.txt](requirements.txt)
+
-
+
+
- What NOT to do
+
- Do not edit generated files under `public/` directly โ€” change sources in `markdown/` or `overrides/`.
+
- Avoid changing `site_dir` or `assets` layout without verifying `wrangler.jsonc` and `bin/deploy.sh` updates.
+
+
- If you need clarification
+
- Ask the maintainer which mirror/CI (GitLab primary) you want to target before modifying CI configs.
+
+
- Next steps
+
- If you want, I can expand the CI section with example GitLab job snippets or add examples for contributing patches.
+
+
- Commit attribution
+
- Adopt the `Assisted-by` commit trailer for AI-assisted changes to comply with attribution policies.
+
- Required trailer format (commit footer):
+
+
```
+
Assisted-by: <Model Name> via <Tool Name>
+
```
+
+
- Example:
+
+
```
+
Assisted-by: GLM 4.6 via Claude Code
+
```
+
+
- Repository also requires Linux DCO sign-off for patches. Ensure commits include `Signed-off-by:` lines in the footer alongside `Assisted-by:` when applicable.
+
+
If any section is unclear or you want deeper examples (e.g., contributing workflow, CI job templates), tell me which area to expand.
+
+
- Example: GitLab CI snippet
+
- Minimal job that builds the site and publishes to Cloudflare Pages using `wrangler`.
+
+
```yaml
+
stages:
+
- build
+
- deploy
+
+
build_site:
+
stage: build
+
image: node:20-bullseye
+
script:
+
- pip install pipenv
+
- pipenv install --deploy --ignore-pipfile
+
- pipenv run build
+
artifacts:
+
paths:
+
- public/
+
+
publish_pages:
+
stage: deploy
+
image: node:20-bullseye
+
dependencies:
+
- build_site
+
script:
+
- npm install -g wrangler
+
- npx wrangler pages publish public --project-name "$CF_PAGES_PROJECT_NAME" --branch "$CI_COMMIT_BRANCH"
+
only:
+
- main
+
```
+
+
- Notes: set `CF_PAGES_PROJECT_NAME` in CI variables; the repo's `bin/deploy.sh` also contains an example `npx wrangler pages publish` invocation used by CI.
+34
.github/workflows/copilot-setup-steps.yml
···
+
name: "Copilot Setup Steps"
+
+
# Automatically run the setup steps when they are changed to allow for easy validation, and
+
# allow manual testing through the repository's "Actions" tab
+
on:
+
workflow_dispatch:
+
push:
+
paths:
+
- .github/workflows/copilot-setup-steps.yml
+
pull_request:
+
paths:
+
- .github/workflows/copilot-setup-steps.yml
+
+
jobs:
+
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
+
copilot-setup-steps:
+
runs-on: ubuntu-latest
+
+
# Set the permissions to the lowest permissions possible needed for your steps.
+
# Copilot will be given its own token for its operations.
+
permissions:
+
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
+
contents: read
+
+
# You can define any steps you want, and they will run before the agent starts.
+
# If you do not check out your code, Copilot will do this for you.
+
steps:
+
- name: Checkout code
+
uses: actions/checkout@v5
+
+
- name: Setup Deterinate Nix
+
uses: DeterminateSystems/nix-installer-action@main
+
with:
+
determinate: true
+16 -1
.gitignore
···
node_modules
.env
*.tar.gz
-
gmi/api/commit
+
gmi/api/commit
+
.env.keys
+
*.decrypted
+
+
# Devenv
+
.devenv*
+
devenv.local.nix
+
+
# direnv
+
.direnv
+
+
# pre-commit
+
.pre-commit-config.yaml
+
+
# Cloudflare Wrangler
+
.wrangler/
+18 -11
.gitlab-ci.yml
···
# The Docker image that will be used to build your app
image:
-
name: dock.mau.dev/andreijiroh-dev/docker-images/mkdocs-material:latest
-
entrypoint: ["/bin/bash", "-l", "-c"] # https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2109#note_47480476
-
+
name: "$CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX/nixos/nix:latest"
+
entrypoint:
+
- /nix/store/smkzrg2vvp3lng3hq7v9svfni5mnqjh2-bash-interactive-5.2p37/bin/bash
stages:
- test
- build
default:
-
tags:
-
- amd64 # currently, we only the image in amd64 right now.
-
# Functions that should be executed before the build script is run
before_script:
-
- pipenv install --ignore-pipfile --deploy
-
- npm ci
+
- echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf
+
- nix profile remove git-minimal
+
- nix profile install nixpkgs#curl nixpkgs#gitFull nixpkgs#which nixpkgs#ncurses nixpkgs#devenv -vv --show-trace
+
- devenv shell echo "trigger install"
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
# Global builds and stuff
variables:
-
DEBUG: "1" # MAY HORRIBLY LEAK SECRETS, PROCEED WITH CAUTION
+
#DEBUG: "1" # MAY HORRIBLY LEAK SECRETS, PROCEED WITH CAUTION
+
# feature flags
FF_ENABLE_COMMIT_DATA: "true"
FF_GENERATE_SOCIAL_CARDS: "true"
+
#FF_GIT_COMMITTERS_API: "true"
SECURE_FILES_DOWNLOAD_PATH: .secretskit
GIT_DEPTH: "0"
+
# ignore pipfile and rely on the lockfile for deterministic builds
+
PIPENV_IGNORE_PIPFILE: "true"
+
# dotenvx stuff
+
DOTENV_PRIVATE_KEY: $DOTENV_PRIVATE_KEY_CI
+
MKDOCS_GIT_COMMITTERS_PLUGIN_TOKEN: $CI_JOB_TOKEN
pages:
stage: build
script:
-
- doppler run -- ./bin/deploykit-pages.sh
+
- devenv shell doppler run -- npm run deploy:cf
artifacts:
paths:
# The folder that contains the files to be exposed at the Page URL
- public
variables:
-
CF_PAGES_PROJECT_NAME: ajhalili2006
+
# doppler
+
DOPPLER_TOKEN: $DOPPLER_TOKEN
rules:
# This ensures that only pushes to the default branch will trigger
# a pages deploy
+5
.gitpod/automations.yaml
···
+
tasks:
+
devserver:
+
name: Run dev server
+
command: pipenv install && pipenv run dev
+
triggeredBy: [manual,postDevcontainerStart]
+3
.mailmap
···
+
Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev> <ajhalili2006@gmail.com>
+
Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev> <ajhalili2006@andreijiroh.eu.org>
+
Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev> <ajhalili2006@andreijiroh.xyz>
+14 -17
.readthedocs.yaml
···
# Set the version of Python and other tools you might need
build:
-
os: ubuntu-22.04
+
os: ubuntu-24.04
tools:
-
python: "3.11"
-
#nodejs: 18
+
python: "3.13"
+
#nodejs: 22
jobs:
post_checkout:
# Needed for some plugins/extensions to work
- git fetch --unshallow || true
+
create_environment:
+
- pipenv install
+
build:
+
html:
+
- FF_GENERATE_SOCIAL_CARDS=true pipenv run build-staging -d "$READTHEDOCS_OUTPUT/html/"
post_build:
- |
-
mkdir $READTHEDOCS_OUTPUT/api
-
git rev-parse HEAD > $READTHEDOCS_OUTPUT/api/commit
-
- |
-
cp -rv markdown/.well-known $READTHEDOCS_OUTPUT/html/.well-known
-
cp $READTHEDOCS_OUTPUT/html/assets/images/favicon.png $READTHEDOCS_OUTPUT/favicon.ico
+
mkdir $READTHEDOCS_OUTPUT/html/api
+
git rev-parse HEAD > $READTHEDOCS_OUTPUT/html/api/commit
+
#- |
+
# cp -rv markdown/.well-known $READTHEDOCS_OUTPUT/html/.well-known
+
# cp -rv $READTHEDOCS_OUTPUT/html/assets/images/favicon.png $READTHEDOCS_OUTPUT/favicon.ico
apt_packages:
- libcairo2-dev
- libfreetype6-dev
···
- libpng-dev
- libz-dev
- pngquant
-
-
mkdocs:
-
configuration: mkdocs.readthedocs.yml
-
fail_on_warning: false
-
-
# Optionally declare the Python requirements required to build your docs
-
python:
-
install:
-
- requirements: requirements.txt
+
- pipenv
+56
.tangled/workflows/site-deploy.yml
···
+
# This is a minimal Tangled Spindle workflow file for deploying a static site
+
# to Cloudflare Pages/Workers Static Sites. Secret management is handled via
+
# Doppler (setting the DOPPLER_TOKEN secret on repo settings -> spindle is required).
+
when:
+
- event: ["push", "manual"]
+
branch: ["main"]
+
+
engine: nixery
+
+
clone:
+
depth: 500
+
submodules: true
+
+
# sync this with devenv.nix + devenv.yaml (if applicable for additional flakes
+
# alongside the default nixpkgs) for consistency
+
dependencies:
+
nixpkgs:
+
- python314
+
- pipenv
+
- nodejs_22
+
- doppler
+
- cairo
+
- pango
+
- gdk-pixbuf
+
- librsvg
+
- fontconfig
+
- freetype
+
- libffi
+
- libjpeg
+
- zlib
+
- pngquant
+
# needed to generate LD_LIBRARY_PATH for cairo and friends
+
- findutils
+
- coreutils
+
+
environment:
+
CI: "true" # https://tangled.org/tangled.org/core/issues/310 (resolved via merging https://tangled.org/tangled.org/core/pulls/843)
+
# GitLab CI compatibility for some of our scripts that check these variables (for branch names
+
# and commit hashes, we simply use `git rev-parse` directly)
+
CI_PIPELINE_SOURCE: "push"
+
# technically we have --ingore-pipfile in the install command below, but just to be safe
+
PIPENV_IGNORE_PIPFILE: "true"
+
+
steps:
+
- name: Install deps
+
command: |
+
pipenv install --deploy --ignore-pipfile
+
npm ci
+
# We configured our wrangler.toml to use our build script (at ../../bin/build.sh)
+
# for building the site and doing post-build prep (like copying well-known files
+
# and such). To minimize admin overhead on secrets management, we use `doppler run`
+
# to inject secrets from Doppler into the environment for the build and deploy steps.
+
- name: Deploy to Cloudflare Workers (as Static Site)
+
command: |
+
export LD_LIBRARY_PATH=$(find /nix/store -maxdepth 3 -type d -name lib | grep -E 'cairo|pango|gdk-pixbuf|librsvg|fontconfig|freetype|zlib' | tr '\n' ':')
+
doppler run -- npm run deploy:cf
+2 -2
.tool-versions
···
-
python 3.12.3
-
nodejs 20.13.0
+
python 3.14.0
+
nodejs 22.21.1
+4 -1
.vscode/extensions.json
···
{
"recommendations": [
"printfn.gemini-improved",
-
"DavidAnson.vscode-markdownlint"
+
"DavidAnson.vscode-markdownlint",
+
"streetsidesoftware.code-spell-checker",
+
"yzhang.markdown-all-in-one",
+
"bierner.emojisense"
]
}
+14 -1
.vscode/settings.json
···
"foam.edit.linkReferenceDefinitions": "withExtensions",
"foam.files.ignore": [
".github/**"
-
]
+
],
+
"cSpell.words": [
+
"Autist",
+
"BDFL",
+
"gatekeep",
+
"multifandom",
+
"SABDFL",
+
"Yubikey"
+
],
+
"dotenv.enableAutocloaking": false,
+
"markdown.preview.fontSize": 16,
+
"markdown.preview.lineHeight": 1.6,
+
"markdown.extension.toc.levels": "2..6",
+
"markdown.extension.preview.autoShowPreviewToSide": true
}
+1 -1
.wakatime-project
···
-
tildeweb-ajhalili2006
+
@andreijiroh-dev/website
+13 -5
Pipfile
···
mkdocs-rss-plugin = "*"
mkdocs-git-committers-plugin-2 = "*"
mkdocs-autolinks-plugin = "*"
+
mkdocs-git-authors-plugin = "*"
+
zensical = "*"
[dev-packages]
[requires]
-
python_version = "3.12"
+
python_version = "3.14"
[scripts]
-
dev = "mkdocs serve --watch overrides --watch-theme --livereload --open"
-
build = "bash bin/build.sh"
-
build-staging = "bash bin/build.sh mkdocs.readthedocs.yml"
-
build-tilde-ctrlc = "bash bin/build.sh mkdocs.tilde.yml"
+
dev = "mkdocs serve --watch overrides --watch-theme"
+
build = "mkdocs build -d public --verbose"
+
build-staging = "pipenv run build -f mkdocs.readthedocs.yml --verbose"
+
# next under zensical
+
next-dev = "zensical serve"
+
next-build = "zensical build"
+
# legacy builds under mkdocs
+
legacy-build = "mkdocs build -d public --verbose"
+
legacy-build-staging = "pipenv run build -f mkdocs.readthedocs.yml --verbose"
+
legacy-dev = "mkdocs serve --watch overrides --watch-theme"
+717 -636
Pipfile.lock
···
{
"_meta": {
"hash": {
-
"sha256": "f87d557d02966cbcde3572eae1a8d848cab1ba152503baeb1c06254ec2ecd511"
+
"sha256": "a54f862fd105133810703030592c31182334be6733f29a2b959e3d75ef3993dc"
},
"pipfile-spec": 6,
"requires": {
-
"python_version": "3.12"
+
"python_version": "3.14"
},
"sources": [
{
···
"default": {
"babel": {
"hashes": [
-
"sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb",
-
"sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"
+
"sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d",
+
"sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"
],
"markers": "python_version >= '3.8'",
-
"version": "==2.15.0"
+
"version": "==2.17.0"
+
},
+
"backrefs": {
+
"hashes": [
+
"sha256:13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853",
+
"sha256:2a2ccb96302337ce61ee4717ceacfbf26ba4efb1d55af86564b8bbaeda39cac1",
+
"sha256:3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231",
+
"sha256:4c9d3dc1e2e558965202c012304f33d4e0e477e1c103663fd2c3cc9bb18b0d05",
+
"sha256:a9e99b8a4867852cad177a6430e31b0f6e495d65f8c6c134b68c14c3c95bf4b0",
+
"sha256:c64698c8d2269343d88947c0735cb4b78745bd3ba590e10313fbf3f78c34da5a",
+
"sha256:e82bba3875ee4430f4de4b6db19429a27275d95a5f3773c57e9e18abc23fd2b7"
+
],
+
"markers": "python_version >= '3.9'",
+
"version": "==6.1"
},
"cachecontrol": {
"extras": [
"filecache"
],
"hashes": [
-
"sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938",
-
"sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"
+
"sha256:b7ac014ff72ee199b5f8af1de29d60239954f223e948196fa3d84adaffc71d2b",
+
"sha256:e6220afafa4c22a47dd0badb319f84475d79108100d04e26e8542ef7d3ab05a1"
],
-
"markers": "python_version >= '3.7'",
-
"version": "==0.14.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==0.14.4"
},
"cairocffi": {
"hashes": [
···
},
"cairosvg": {
"hashes": [
-
"sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0",
-
"sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"
+
"sha256:07cbf4e86317b27a92318a4cac2a4bb37a5e9c1b8a27355d06874b22f85bef9f",
+
"sha256:eab46dad4674f33267a671dce39b64be245911c901c70d65d2b7b0821e852bf5"
],
"index": "pypi",
-
"markers": "python_version >= '3.5'",
-
"version": "==2.7.1"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.8.2"
},
"certifi": {
"hashes": [
-
"sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b",
-
"sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"
+
"sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b",
+
"sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"
],
-
"markers": "python_version >= '3.6'",
-
"version": "==2024.7.4"
+
"markers": "python_version >= '3.7'",
+
"version": "==2025.11.12"
},
"cffi": {
"hashes": [
-
"sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc",
-
"sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a",
-
"sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417",
-
"sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab",
-
"sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520",
-
"sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36",
-
"sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743",
-
"sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8",
-
"sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed",
-
"sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684",
-
"sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56",
-
"sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324",
-
"sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d",
-
"sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235",
-
"sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e",
-
"sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088",
-
"sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000",
-
"sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7",
-
"sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e",
-
"sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673",
-
"sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c",
-
"sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe",
-
"sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2",
-
"sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098",
-
"sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8",
-
"sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a",
-
"sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0",
-
"sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b",
-
"sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896",
-
"sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e",
-
"sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9",
-
"sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2",
-
"sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b",
-
"sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6",
-
"sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404",
-
"sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f",
-
"sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0",
-
"sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4",
-
"sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc",
-
"sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936",
-
"sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba",
-
"sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872",
-
"sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb",
-
"sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614",
-
"sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1",
-
"sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d",
-
"sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969",
-
"sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b",
-
"sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4",
-
"sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627",
-
"sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956",
-
"sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"
+
"sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb",
+
"sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b",
+
"sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f",
+
"sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9",
+
"sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44",
+
"sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2",
+
"sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c",
+
"sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75",
+
"sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65",
+
"sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e",
+
"sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a",
+
"sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e",
+
"sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25",
+
"sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a",
+
"sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe",
+
"sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b",
+
"sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91",
+
"sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592",
+
"sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187",
+
"sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c",
+
"sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1",
+
"sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94",
+
"sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba",
+
"sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb",
+
"sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165",
+
"sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529",
+
"sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca",
+
"sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c",
+
"sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6",
+
"sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c",
+
"sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0",
+
"sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743",
+
"sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63",
+
"sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5",
+
"sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5",
+
"sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4",
+
"sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d",
+
"sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b",
+
"sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93",
+
"sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205",
+
"sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27",
+
"sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512",
+
"sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d",
+
"sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c",
+
"sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037",
+
"sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26",
+
"sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322",
+
"sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb",
+
"sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c",
+
"sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8",
+
"sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4",
+
"sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414",
+
"sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9",
+
"sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664",
+
"sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9",
+
"sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775",
+
"sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739",
+
"sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc",
+
"sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062",
+
"sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe",
+
"sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9",
+
"sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92",
+
"sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5",
+
"sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13",
+
"sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d",
+
"sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26",
+
"sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f",
+
"sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495",
+
"sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b",
+
"sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6",
+
"sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c",
+
"sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef",
+
"sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5",
+
"sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18",
+
"sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad",
+
"sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3",
+
"sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7",
+
"sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5",
+
"sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534",
+
"sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49",
+
"sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2",
+
"sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5",
+
"sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453",
+
"sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==1.16.0"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.0.0"
},
"charset-normalizer": {
"hashes": [
-
"sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027",
-
"sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087",
-
"sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786",
-
"sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8",
-
"sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09",
-
"sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185",
-
"sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574",
-
"sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e",
-
"sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519",
-
"sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898",
-
"sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269",
-
"sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3",
-
"sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f",
-
"sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6",
-
"sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8",
-
"sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a",
-
"sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73",
-
"sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc",
-
"sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714",
-
"sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2",
-
"sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc",
-
"sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce",
-
"sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d",
-
"sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e",
-
"sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6",
-
"sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269",
-
"sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96",
-
"sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d",
-
"sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a",
-
"sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4",
-
"sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77",
-
"sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d",
-
"sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0",
-
"sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed",
-
"sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068",
-
"sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac",
-
"sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25",
-
"sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8",
-
"sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab",
-
"sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26",
-
"sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2",
-
"sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db",
-
"sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f",
-
"sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5",
-
"sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99",
-
"sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c",
-
"sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d",
-
"sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811",
-
"sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa",
-
"sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a",
-
"sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03",
-
"sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b",
-
"sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04",
-
"sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c",
-
"sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001",
-
"sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458",
-
"sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389",
-
"sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99",
-
"sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985",
-
"sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537",
-
"sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238",
-
"sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f",
-
"sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d",
-
"sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796",
-
"sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a",
-
"sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143",
-
"sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8",
-
"sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c",
-
"sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5",
-
"sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5",
-
"sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711",
-
"sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4",
-
"sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6",
-
"sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c",
-
"sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7",
-
"sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4",
-
"sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b",
-
"sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae",
-
"sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12",
-
"sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c",
-
"sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae",
-
"sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8",
-
"sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887",
-
"sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b",
-
"sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4",
-
"sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f",
-
"sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5",
-
"sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33",
-
"sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519",
-
"sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"
+
"sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad",
+
"sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93",
+
"sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394",
+
"sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89",
+
"sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc",
+
"sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86",
+
"sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63",
+
"sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d",
+
"sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f",
+
"sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8",
+
"sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0",
+
"sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505",
+
"sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161",
+
"sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af",
+
"sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152",
+
"sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318",
+
"sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72",
+
"sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4",
+
"sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e",
+
"sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3",
+
"sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576",
+
"sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c",
+
"sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1",
+
"sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8",
+
"sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1",
+
"sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2",
+
"sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44",
+
"sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26",
+
"sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88",
+
"sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016",
+
"sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede",
+
"sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf",
+
"sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a",
+
"sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc",
+
"sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0",
+
"sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84",
+
"sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db",
+
"sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1",
+
"sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7",
+
"sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed",
+
"sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8",
+
"sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133",
+
"sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e",
+
"sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef",
+
"sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14",
+
"sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2",
+
"sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0",
+
"sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d",
+
"sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828",
+
"sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f",
+
"sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf",
+
"sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6",
+
"sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328",
+
"sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090",
+
"sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa",
+
"sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381",
+
"sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c",
+
"sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb",
+
"sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc",
+
"sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a",
+
"sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec",
+
"sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc",
+
"sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac",
+
"sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e",
+
"sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313",
+
"sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569",
+
"sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3",
+
"sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d",
+
"sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525",
+
"sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894",
+
"sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3",
+
"sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9",
+
"sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a",
+
"sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9",
+
"sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14",
+
"sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25",
+
"sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50",
+
"sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf",
+
"sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1",
+
"sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3",
+
"sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac",
+
"sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e",
+
"sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815",
+
"sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c",
+
"sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6",
+
"sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6",
+
"sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e",
+
"sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4",
+
"sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84",
+
"sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69",
+
"sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15",
+
"sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191",
+
"sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0",
+
"sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897",
+
"sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd",
+
"sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2",
+
"sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794",
+
"sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d",
+
"sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074",
+
"sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3",
+
"sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224",
+
"sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838",
+
"sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a",
+
"sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d",
+
"sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d",
+
"sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f",
+
"sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8",
+
"sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490",
+
"sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966",
+
"sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9",
+
"sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3",
+
"sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e",
+
"sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608"
],
-
"markers": "python_full_version >= '3.7.0'",
-
"version": "==3.3.2"
+
"markers": "python_version >= '3.7'",
+
"version": "==3.4.4"
},
"click": {
"hashes": [
-
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
-
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
+
"sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a",
+
"sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"
],
-
"markers": "python_version >= '3.7'",
-
"version": "==8.1.7"
+
"markers": "python_version >= '3.10'",
+
"version": "==8.3.1"
},
"colorama": {
"hashes": [
···
},
"cssselect2": {
"hashes": [
-
"sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a",
-
"sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"
+
"sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e",
+
"sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a"
+
],
+
"markers": "python_version >= '3.9'",
+
"version": "==0.8.0"
+
},
+
"deepmerge": {
+
"hashes": [
+
"sha256:5c3d86081fbebd04dd5de03626a0607b809a98fb6ccba5770b62466fe940ff20",
+
"sha256:6de9ce507115cff0bed95ff0ce9ecc31088ef50cbdf09bc90a09349a318b3d00"
],
-
"markers": "python_version >= '3.7'",
-
"version": "==0.7.0"
+
"markers": "python_version >= '3.8'",
+
"version": "==2.0"
},
"defusedxml": {
"hashes": [
···
},
"filelock": {
"hashes": [
-
"sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb",
-
"sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"
+
"sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2",
+
"sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"
],
-
"version": "==3.15.4"
+
"markers": "python_version >= '3.10'",
+
"version": "==3.20.0"
},
"ghp-import": {
"hashes": [
···
},
"gitdb": {
"hashes": [
-
"sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4",
-
"sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"
+
"sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571",
+
"sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"
],
"markers": "python_version >= '3.7'",
-
"version": "==4.0.11"
+
"version": "==4.0.12"
},
"gitpython": {
"hashes": [
-
"sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c",
-
"sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"
+
"sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c",
+
"sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77"
],
"markers": "python_version >= '3.7'",
-
"version": "==3.1.43"
+
"version": "==3.1.45"
},
"htmlmin2": {
"hashes": [
···
},
"idna": {
"hashes": [
-
"sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc",
-
"sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"
+
"sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea",
+
"sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"
],
-
"markers": "python_version >= '3.5'",
-
"version": "==3.7"
+
"markers": "python_version >= '3.8'",
+
"version": "==3.11"
},
"jinja2": {
"hashes": [
-
"sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369",
-
"sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"
+
"sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d",
+
"sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"
],
"markers": "python_version >= '3.7'",
-
"version": "==3.1.4"
+
"version": "==3.1.6"
},
"jsmin": {
"hashes": [
···
},
"markdown": {
"hashes": [
-
"sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f",
-
"sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"
+
"sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e",
+
"sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==3.6"
+
"markers": "python_version >= '3.10'",
+
"version": "==3.10"
},
"markupsafe": {
"hashes": [
-
"sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf",
-
"sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff",
-
"sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f",
-
"sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3",
-
"sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532",
-
"sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f",
-
"sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617",
-
"sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df",
-
"sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4",
-
"sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906",
-
"sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f",
-
"sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4",
-
"sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8",
-
"sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371",
-
"sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2",
-
"sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465",
-
"sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52",
-
"sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6",
-
"sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169",
-
"sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad",
-
"sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2",
-
"sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0",
-
"sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029",
-
"sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f",
-
"sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a",
-
"sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced",
-
"sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5",
-
"sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c",
-
"sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf",
-
"sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9",
-
"sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb",
-
"sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad",
-
"sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3",
-
"sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1",
-
"sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46",
-
"sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc",
-
"sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a",
-
"sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee",
-
"sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900",
-
"sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5",
-
"sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea",
-
"sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f",
-
"sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5",
-
"sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e",
-
"sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a",
-
"sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f",
-
"sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50",
-
"sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a",
-
"sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b",
-
"sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4",
-
"sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff",
-
"sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2",
-
"sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46",
-
"sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b",
-
"sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf",
-
"sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5",
-
"sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5",
-
"sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab",
-
"sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd",
-
"sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"
+
"sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f",
+
"sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a",
+
"sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf",
+
"sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19",
+
"sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf",
+
"sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c",
+
"sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175",
+
"sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219",
+
"sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb",
+
"sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6",
+
"sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab",
+
"sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26",
+
"sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1",
+
"sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce",
+
"sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218",
+
"sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634",
+
"sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695",
+
"sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad",
+
"sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73",
+
"sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c",
+
"sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe",
+
"sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa",
+
"sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559",
+
"sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa",
+
"sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37",
+
"sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758",
+
"sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f",
+
"sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8",
+
"sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d",
+
"sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c",
+
"sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97",
+
"sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a",
+
"sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19",
+
"sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9",
+
"sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9",
+
"sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc",
+
"sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2",
+
"sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4",
+
"sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354",
+
"sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50",
+
"sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698",
+
"sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9",
+
"sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b",
+
"sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc",
+
"sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115",
+
"sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e",
+
"sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485",
+
"sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f",
+
"sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12",
+
"sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025",
+
"sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009",
+
"sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d",
+
"sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b",
+
"sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a",
+
"sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5",
+
"sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f",
+
"sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d",
+
"sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1",
+
"sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287",
+
"sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6",
+
"sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f",
+
"sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581",
+
"sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed",
+
"sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b",
+
"sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c",
+
"sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026",
+
"sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8",
+
"sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676",
+
"sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6",
+
"sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e",
+
"sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d",
+
"sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d",
+
"sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01",
+
"sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7",
+
"sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419",
+
"sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795",
+
"sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1",
+
"sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5",
+
"sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d",
+
"sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42",
+
"sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe",
+
"sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda",
+
"sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e",
+
"sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737",
+
"sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523",
+
"sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591",
+
"sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc",
+
"sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a",
+
"sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50"
],
-
"markers": "python_version >= '3.7'",
-
"version": "==2.1.5"
+
"markers": "python_version >= '3.9'",
+
"version": "==3.0.3"
},
"mergedeep": {
"hashes": [
···
},
"mkdocs": {
"hashes": [
-
"sha256:1eb5cb7676b7d89323e62b56235010216319217d4af5ddc543a91beb8d125ea7",
-
"sha256:a73f735824ef83a4f3bcb7a231dcab23f5a838f88b7efc54a0eef5fbdbc3c512"
+
"sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2",
+
"sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"
],
"markers": "python_version >= '3.8'",
-
"version": "==1.6.0"
+
"version": "==1.6.1"
},
"mkdocs-autolinks-plugin": {
"hashes": [
···
"markers": "python_version >= '3.8'",
"version": "==0.2.0"
},
+
"mkdocs-git-authors-plugin": {
+
"hashes": [
+
"sha256:28421a99c3e872a8e205674bb80ec48524838243e5f59eaf9bd97df103e38901",
+
"sha256:29d1973b2835663d79986fb756e02f1f0ff3fe35c278e993206bd3c550c205e4"
+
],
+
"index": "pypi",
+
"markers": "python_version >= '3.8'",
+
"version": "==0.10.0"
+
},
"mkdocs-git-committers-plugin-2": {
"hashes": [
-
"sha256:7b3434af3be525c12858eb3b44b4c6b695b7c7b7760482ea8de1c6e292e84f0f",
-
"sha256:d6baca1ae04db8120640038eda8142f2d081c27b53f3b566c83c75717e4ed81a"
+
"sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4",
+
"sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60"
],
"index": "pypi",
"markers": "python_version >= '3.8' and python_version < '4'",
-
"version": "==2.3.0"
+
"version": "==2.5.0"
},
"mkdocs-git-revision-date-localized-plugin": {
"hashes": [
-
"sha256:e432942ce4ee8aa9b9f4493e993dee9d2cc08b3ea2b40a3d6b03ca0f2a4bcaa2",
-
"sha256:f015cb0f3894a39b33447b18e270ae391c4e25275cac5a626e80b243784e2692"
+
"sha256:17345ccfdf69a1905dc96fb1070dce82d03a1eb6b0d48f958081a7589ce3c248",
+
"sha256:933f9e35a8c135b113f21bb57610d82e9b7bcc71dd34fb06a029053c97e99656"
],
"index": "pypi",
-
"markers": "python_version >= '3.8'",
-
"version": "==1.2.6"
+
"markers": "python_version >= '3.9'",
+
"version": "==1.5.0"
},
"mkdocs-material": {
"hashes": [
-
"sha256:3fd417dd42d679e3ba08b9e2d72cd8b8af142cc4a3969676ad6b00993dd182ec",
-
"sha256:fc070689c5250a180e9b9d79d8491ef9a3a7acb240db0728728d6c31eeb131d4"
+
"sha256:602b359844e906ee402b7ed9640340cf8a474420d02d8891451733b6b02314ec",
+
"sha256:da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
-
"version": "==9.5.30"
+
"version": "==9.7.0"
},
"mkdocs-material-extensions": {
"hashes": [
···
},
"mkdocs-redirects": {
"hashes": [
-
"sha256:497089f9e0219e7389304cffefccdfa1cac5ff9509f2cb706f4c9b221726dffb",
-
"sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861"
+
"sha256:3094981b42ffab29313c2c1b8ac3969861109f58b2dd58c45fc81cd44bfa0095",
+
"sha256:7dbfa5647b79a3589da4401403d69494bd1f4ad03b9c15136720367e1f340ed5"
],
"index": "pypi",
-
"markers": "python_version >= '3.6'",
-
"version": "==1.2.1"
+
"markers": "python_version >= '3.8'",
+
"version": "==1.2.2"
},
"mkdocs-rss-plugin": {
"hashes": [
-
"sha256:7308ac13f0976c0479db5a62cb7ef9b10fdd74b6521e459bb66a13e2cfe69d4b",
-
"sha256:92995ed6c77b2ae1f5f2913e62282c27e50c35d618c4291b5b939e50badd7504"
+
"sha256:17b7b78c2c0b6418b83644b701867d5b2c48ecf069609917250b829bd4c3a718",
+
"sha256:6903f85e75ee976ae5f21eb05a54fa4d848bc246a227523945eaf6be7580c930"
],
"index": "pypi",
-
"markers": "python_version >= '3.8' and python_version < '4'",
-
"version": "==1.15.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==1.17.7"
},
"msgpack": {
"hashes": [
-
"sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982",
-
"sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3",
-
"sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40",
-
"sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee",
-
"sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693",
-
"sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950",
-
"sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151",
-
"sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24",
-
"sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305",
-
"sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b",
-
"sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c",
-
"sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659",
-
"sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d",
-
"sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18",
-
"sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746",
-
"sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868",
-
"sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2",
-
"sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba",
-
"sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228",
-
"sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2",
-
"sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273",
-
"sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c",
-
"sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653",
-
"sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a",
-
"sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596",
-
"sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd",
-
"sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8",
-
"sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa",
-
"sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85",
-
"sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc",
-
"sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836",
-
"sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3",
-
"sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58",
-
"sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128",
-
"sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db",
-
"sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f",
-
"sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77",
-
"sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad",
-
"sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13",
-
"sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8",
-
"sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b",
-
"sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a",
-
"sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543",
-
"sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b",
-
"sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce",
-
"sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d",
-
"sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a",
-
"sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c",
-
"sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f",
-
"sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e",
-
"sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011",
-
"sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04",
-
"sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480",
-
"sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a",
-
"sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d",
-
"sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"
+
"sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2",
+
"sha256:04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014",
+
"sha256:180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931",
+
"sha256:1d1418482b1ee984625d88aa9585db570180c286d942da463533b238b98b812b",
+
"sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b",
+
"sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999",
+
"sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029",
+
"sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0",
+
"sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9",
+
"sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c",
+
"sha256:350ad5353a467d9e3b126d8d1b90fe05ad081e2e1cef5753f8c345217c37e7b8",
+
"sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f",
+
"sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a",
+
"sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42",
+
"sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e",
+
"sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f",
+
"sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7",
+
"sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb",
+
"sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef",
+
"sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf",
+
"sha256:5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245",
+
"sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794",
+
"sha256:59415c6076b1e30e563eb732e23b994a61c159cec44deaf584e5cc1dd662f2af",
+
"sha256:5a46bf7e831d09470ad92dff02b8b1ac92175ca36b087f904a0519857c6be3ff",
+
"sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e",
+
"sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296",
+
"sha256:67016ae8c8965124fdede9d3769528ad8284f14d635337ffa6a713a580f6c030",
+
"sha256:6bde749afe671dc44893f8d08e83bf475a1a14570d67c4bb5cec5573463c8833",
+
"sha256:6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939",
+
"sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa",
+
"sha256:70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90",
+
"sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c",
+
"sha256:80a0ff7d4abf5fecb995fcf235d4064b9a9a8a40a3ab80999e6ac1e30b702717",
+
"sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406",
+
"sha256:897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a",
+
"sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251",
+
"sha256:8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2",
+
"sha256:94fd7dc7d8cb0a54432f296f2246bc39474e017204ca6f4ff345941d4ed285a7",
+
"sha256:99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e",
+
"sha256:9ade919fac6a3e7260b7f64cea89df6bec59104987cbea34d34a2fa15d74310b",
+
"sha256:9fba231af7a933400238cb357ecccf8ab5d51535ea95d94fc35b7806218ff844",
+
"sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9",
+
"sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87",
+
"sha256:a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b",
+
"sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c",
+
"sha256:a8f6e7d30253714751aa0b0c84ae28948e852ee7fb0524082e6716769124bc23",
+
"sha256:ad09b984828d6b7bb52d1d1d0c9be68ad781fa004ca39216c8a1e63c0f34ba3c",
+
"sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e",
+
"sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620",
+
"sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69",
+
"sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f",
+
"sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68",
+
"sha256:d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27",
+
"sha256:d99ef64f349d5ec3293688e91486c5fdb925ed03807f64d98d205d2713c60b46",
+
"sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa",
+
"sha256:e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00",
+
"sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9",
+
"sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84",
+
"sha256:ea5405c46e690122a76531ab97a079e184c0daf491e588592d6a23d3e32af99e",
+
"sha256:f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20",
+
"sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e",
+
"sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==1.0.8"
+
"markers": "python_version >= '3.9'",
+
"version": "==1.1.2"
},
"packaging": {
"hashes": [
-
"sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002",
-
"sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"
+
"sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484",
+
"sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"
],
"markers": "python_version >= '3.8'",
-
"version": "==24.1"
+
"version": "==25.0"
},
"paginate": {
"hashes": [
-
"sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"
+
"sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945",
+
"sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"
],
-
"version": "==0.5.6"
+
"version": "==0.5.7"
},
"pathspec": {
"hashes": [
···
},
"pillow": {
"hashes": [
-
"sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885",
-
"sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea",
-
"sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df",
-
"sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5",
-
"sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c",
-
"sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d",
-
"sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd",
-
"sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06",
-
"sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908",
-
"sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a",
-
"sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be",
-
"sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0",
-
"sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b",
-
"sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80",
-
"sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a",
-
"sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e",
-
"sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9",
-
"sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696",
-
"sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b",
-
"sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309",
-
"sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e",
-
"sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab",
-
"sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d",
-
"sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060",
-
"sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d",
-
"sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d",
-
"sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4",
-
"sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3",
-
"sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6",
-
"sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb",
-
"sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94",
-
"sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b",
-
"sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496",
-
"sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0",
-
"sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319",
-
"sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b",
-
"sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856",
-
"sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef",
-
"sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680",
-
"sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b",
-
"sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42",
-
"sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e",
-
"sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597",
-
"sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a",
-
"sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8",
-
"sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3",
-
"sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736",
-
"sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da",
-
"sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126",
-
"sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd",
-
"sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5",
-
"sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b",
-
"sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026",
-
"sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b",
-
"sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc",
-
"sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46",
-
"sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2",
-
"sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c",
-
"sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe",
-
"sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984",
-
"sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a",
-
"sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70",
-
"sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca",
-
"sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b",
-
"sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91",
-
"sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3",
-
"sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84",
-
"sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1",
-
"sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5",
-
"sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be",
-
"sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f",
-
"sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc",
-
"sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9",
-
"sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e",
-
"sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141",
-
"sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef",
-
"sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22",
-
"sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27",
-
"sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e",
-
"sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"
+
"sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643",
+
"sha256:09f2d0abef9e4e2f349305a4f8cc784a8a6c2f58a8c4892eea13b10a943bd26e",
+
"sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e",
+
"sha256:0fd00cac9c03256c8b2ff58f162ebcd2587ad3e1f2e397eab718c47e24d231cc",
+
"sha256:110486b79f2d112cf6add83b28b627e369219388f64ef2f960fef9ebaf54c642",
+
"sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6",
+
"sha256:1ac11e8ea4f611c3c0147424eae514028b5e9077dd99ab91e1bd7bc33ff145e1",
+
"sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b",
+
"sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399",
+
"sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba",
+
"sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad",
+
"sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47",
+
"sha256:27f95b12453d165099c84f8a8bfdfd46b9e4bda9e0e4b65f0635430027f55739",
+
"sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b",
+
"sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f",
+
"sha256:32ed80ea8a90ee3e6fa08c21e2e091bba6eda8eccc83dbc34c95169507a91f10",
+
"sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52",
+
"sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d",
+
"sha256:3adfb466bbc544b926d50fe8f4a4e6abd8c6bffd28a26177594e6e9b2b76572b",
+
"sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a",
+
"sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9",
+
"sha256:455247ac8a4cfb7b9bc45b7e432d10421aea9fc2e74d285ba4072688a74c2e9d",
+
"sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098",
+
"sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905",
+
"sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b",
+
"sha256:5269cc1caeedb67e6f7269a42014f381f45e2e7cd42d834ede3c703a1d915fe3",
+
"sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371",
+
"sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953",
+
"sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01",
+
"sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca",
+
"sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e",
+
"sha256:6ace95230bfb7cd79ef66caa064bbe2f2a1e63d93471c3a2e1f1348d9f22d6b7",
+
"sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27",
+
"sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082",
+
"sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e",
+
"sha256:759de84a33be3b178a64c8ba28ad5c135900359e85fb662bc6e403ad4407791d",
+
"sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8",
+
"sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a",
+
"sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad",
+
"sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3",
+
"sha256:805ebf596939e48dbb2e4922a1d3852cfc25c38160751ce02da93058b48d252a",
+
"sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d",
+
"sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353",
+
"sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee",
+
"sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b",
+
"sha256:90387104ee8400a7b4598253b4c406f8958f59fcf983a6cea2b50d59f7d63d0b",
+
"sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a",
+
"sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7",
+
"sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef",
+
"sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a",
+
"sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a",
+
"sha256:a3475b96f5908b3b16c47533daaa87380c491357d197564e0ba34ae75c0f3257",
+
"sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07",
+
"sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4",
+
"sha256:aa5129de4e174daccbc59d0a3b6d20eaf24417d59851c07ebb37aeb02947987c",
+
"sha256:aeaefa96c768fc66818730b952a862235d68825c178f1b3ffd4efd7ad2edcb7c",
+
"sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4",
+
"sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe",
+
"sha256:b22bd8c974942477156be55a768f7aa37c46904c175be4e158b6a86e3a6b7ca8",
+
"sha256:b290fd8aa38422444d4b50d579de197557f182ef1068b75f5aa8558638b8d0a5",
+
"sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6",
+
"sha256:b583dc9070312190192631373c6c8ed277254aa6e6084b74bdd0a6d3b221608e",
+
"sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8",
+
"sha256:bc91a56697869546d1b8f0a3ff35224557ae7f881050e99f615e0119bf934b4e",
+
"sha256:bd87e140e45399c818fac4247880b9ce719e4783d767e030a883a970be632275",
+
"sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3",
+
"sha256:bdee52571a343d721fb2eb3b090a82d959ff37fc631e3f70422e0c2e029f3e76",
+
"sha256:bee2a6db3a7242ea309aa7ee8e2780726fed67ff4e5b40169f2c940e7eb09227",
+
"sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9",
+
"sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5",
+
"sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79",
+
"sha256:c7b2a63fd6d5246349f3d3f37b14430d73ee7e8173154461785e43036ffa96ca",
+
"sha256:c828a1ae702fc712978bda0320ba1b9893d99be0badf2647f693cc01cf0f04fa",
+
"sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b",
+
"sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e",
+
"sha256:cae81479f77420d217def5f54b5b9d279804d17e982e0f2fa19b1d1e14ab5197",
+
"sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab",
+
"sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79",
+
"sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2",
+
"sha256:d49e2314c373f4c2b39446fb1a45ed333c850e09d0c59ac79b72eb3b95397363",
+
"sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0",
+
"sha256:d64317d2587c70324b79861babb9c09f71fbb780bad212018874b2c013d8600e",
+
"sha256:d77153e14b709fd8b8af6f66a3afbb9ed6e9fc5ccf0b6b7e1ced7b036a228782",
+
"sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925",
+
"sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0",
+
"sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b",
+
"sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced",
+
"sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c",
+
"sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344",
+
"sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9",
+
"sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1"
],
"index": "pypi",
-
"markers": "python_version >= '3.8'",
-
"version": "==10.4.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==12.0.0"
},
"platformdirs": {
"hashes": [
-
"sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee",
-
"sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"
+
"sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda",
+
"sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==4.2.2"
+
"markers": "python_version >= '3.10'",
+
"version": "==4.5.1"
},
"pycparser": {
"hashes": [
-
"sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6",
-
"sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"
+
"sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2",
+
"sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934"
],
"markers": "python_version >= '3.8'",
-
"version": "==2.22"
+
"version": "==2.23"
},
"pygments": {
"hashes": [
-
"sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199",
-
"sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"
+
"sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887",
+
"sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"
],
"markers": "python_version >= '3.8'",
-
"version": "==2.18.0"
+
"version": "==2.19.2"
},
"pymdown-extensions": {
"hashes": [
-
"sha256:3ab1db5c9e21728dabf75192d71471f8e50f216627e9a1fa9535ecb0231b9940",
-
"sha256:f938326115884f48c6059c67377c46cf631c733ef3629b6eed1349989d1b30cb"
+
"sha256:090bca72be43f7d3186374e23c782899dbef9dc153ef24c59dcd3c346f9ffcae",
+
"sha256:20252abe6367354b24191431617a072ee6be9f68c5afcc74ea5573508a61f9e5"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==10.8.1"
+
"markers": "python_version >= '3.9'",
+
"version": "==10.18"
},
"python-dateutil": {
"hashes": [
"sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
"sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
],
-
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==2.9.0.post0"
},
-
"pytz": {
-
"hashes": [
-
"sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812",
-
"sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"
-
],
-
"version": "==2024.1"
-
},
"pyyaml": {
"hashes": [
-
"sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
-
"sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
-
"sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
-
"sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
-
"sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
-
"sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
-
"sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595",
-
"sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
-
"sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
-
"sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
-
"sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
-
"sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
-
"sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
-
"sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
-
"sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
-
"sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
-
"sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
-
"sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6",
-
"sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
-
"sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
-
"sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
-
"sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
-
"sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
-
"sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
-
"sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
-
"sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
-
"sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
-
"sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
-
"sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
-
"sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef",
-
"sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
-
"sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd",
-
"sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3",
-
"sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0",
-
"sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515",
-
"sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c",
-
"sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c",
-
"sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924",
-
"sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34",
-
"sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
-
"sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
-
"sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
-
"sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
-
"sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
-
"sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
-
"sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
-
"sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
-
"sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
-
"sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585",
-
"sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
-
"sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
+
"sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c",
+
"sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a",
+
"sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3",
+
"sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956",
+
"sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6",
+
"sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c",
+
"sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65",
+
"sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a",
+
"sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0",
+
"sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b",
+
"sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1",
+
"sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6",
+
"sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7",
+
"sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e",
+
"sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007",
+
"sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310",
+
"sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4",
+
"sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9",
+
"sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295",
+
"sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea",
+
"sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0",
+
"sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e",
+
"sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac",
+
"sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9",
+
"sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7",
+
"sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35",
+
"sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb",
+
"sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b",
+
"sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69",
+
"sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5",
+
"sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b",
+
"sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c",
+
"sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369",
+
"sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd",
+
"sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824",
+
"sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198",
+
"sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065",
+
"sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c",
+
"sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c",
+
"sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764",
+
"sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196",
+
"sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b",
+
"sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00",
+
"sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac",
+
"sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8",
+
"sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e",
+
"sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28",
+
"sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3",
+
"sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5",
+
"sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4",
+
"sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b",
+
"sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf",
+
"sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5",
+
"sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702",
+
"sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8",
+
"sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788",
+
"sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da",
+
"sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d",
+
"sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc",
+
"sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c",
+
"sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba",
+
"sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f",
+
"sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917",
+
"sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5",
+
"sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26",
+
"sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f",
+
"sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b",
+
"sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be",
+
"sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c",
+
"sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3",
+
"sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6",
+
"sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926",
+
"sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0"
],
-
"markers": "python_version >= '3.6'",
-
"version": "==6.0.1"
+
"markers": "python_version >= '3.8'",
+
"version": "==6.0.3"
},
"pyyaml-env-tag": {
"hashes": [
-
"sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb",
-
"sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"
-
],
-
"markers": "python_version >= '3.6'",
-
"version": "==0.1"
-
},
-
"regex": {
-
"hashes": [
-
"sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c",
-
"sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535",
-
"sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24",
-
"sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce",
-
"sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc",
-
"sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5",
-
"sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce",
-
"sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53",
-
"sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d",
-
"sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c",
-
"sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908",
-
"sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8",
-
"sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024",
-
"sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281",
-
"sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a",
-
"sha256:3f3b6ca8eae6d6c75a6cff525c8530c60e909a71a15e1b731723233331de4169",
-
"sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364",
-
"sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa",
-
"sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be",
-
"sha256:43affe33137fcd679bdae93fb25924979517e011f9dea99163f80b82eadc7e53",
-
"sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759",
-
"sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e",
-
"sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b",
-
"sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52",
-
"sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610",
-
"sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05",
-
"sha256:64bd50cf16bcc54b274e20235bf8edbb64184a30e1e53873ff8d444e7ac656b2",
-
"sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca",
-
"sha256:66b4c0731a5c81921e938dcf1a88e978264e26e6ac4ec96a4d21ae0354581ae0",
-
"sha256:68a8f8c046c6466ac61a36b65bb2395c74451df2ffb8458492ef49900efed293",
-
"sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289",
-
"sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e",
-
"sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f",
-
"sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c",
-
"sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94",
-
"sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad",
-
"sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46",
-
"sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9",
-
"sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9",
-
"sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee",
-
"sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9",
-
"sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1",
-
"sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9",
-
"sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799",
-
"sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1",
-
"sha256:88ecc3afd7e776967fa16c80f974cb79399ee8dc6c96423321d6f7d4b881c92b",
-
"sha256:8bc593dcce679206b60a538c302d03c29b18e3d862609317cb560e18b66d10cf",
-
"sha256:8fd5afd101dcf86a270d254364e0e8dddedebe6bd1ab9d5f732f274fa00499a5",
-
"sha256:945352286a541406f99b2655c973852da7911b3f4264e010218bbc1cc73168f2",
-
"sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e",
-
"sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51",
-
"sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506",
-
"sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73",
-
"sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7",
-
"sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5",
-
"sha256:a82465ebbc9b1c5c50738536fdfa7cab639a261a99b469c9d4c7dcbb2b3f1e57",
-
"sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4",
-
"sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd",
-
"sha256:ba2537ef2163db9e6ccdbeb6f6424282ae4dea43177402152c67ef869cf3978b",
-
"sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41",
-
"sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe",
-
"sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59",
-
"sha256:c51edc3541e11fbe83f0c4d9412ef6c79f664a3745fab261457e84465ec9d5a8",
-
"sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f",
-
"sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e",
-
"sha256:c9bb87fdf2ab2370f21e4d5636e5317775e5d51ff32ebff2cf389f71b9b13750",
-
"sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1",
-
"sha256:d0a07763776188b4db4c9c7fb1b8c494049f84659bb387b71c73bbc07f189e96",
-
"sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc",
-
"sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440",
-
"sha256:dac8e84fff5d27420f3c1e879ce9929108e873667ec87e0c8eeb413a5311adfe",
-
"sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38",
-
"sha256:eb462f0e346fcf41a901a126b50f8781e9a474d3927930f3490f38a6e73b6950",
-
"sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2",
-
"sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd",
-
"sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce",
-
"sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66",
-
"sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3",
-
"sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"
+
"sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04",
+
"sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==2024.7.24"
+
"markers": "python_version >= '3.9'",
+
"version": "==1.1"
},
"requests": {
"hashes": [
-
"sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760",
-
"sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
+
"sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6",
+
"sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==2.32.3"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.32.5"
},
"six": {
"hashes": [
-
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
-
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
+
"sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
+
"sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
-
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
-
"version": "==1.16.0"
+
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
+
"version": "==1.17.0"
},
"smmap": {
"hashes": [
-
"sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62",
-
"sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"
+
"sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5",
+
"sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"
],
"markers": "python_version >= '3.7'",
-
"version": "==5.0.1"
+
"version": "==5.0.2"
},
"tinycss2": {
"hashes": [
-
"sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d",
-
"sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"
+
"sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661",
+
"sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==1.3.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==1.5.1"
},
"urllib3": {
"hashes": [
-
"sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472",
-
"sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"
+
"sha256:5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f",
+
"sha256:e67d06fe947c36a7ca39f4994b08d73922d40e6cca949907be05efa6fd75110b"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==2.2.2"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.6.1"
},
"watchdog": {
"hashes": [
-
"sha256:0144c0ea9997b92615af1d94afc0c217e07ce2c14912c7b1a5731776329fcfc7",
-
"sha256:03e70d2df2258fb6cb0e95bbdbe06c16e608af94a3ffbd2b90c3f1e83eb10767",
-
"sha256:093b23e6906a8b97051191a4a0c73a77ecc958121d42346274c6af6520dec175",
-
"sha256:123587af84260c991dc5f62a6e7ef3d1c57dfddc99faacee508c71d287248459",
-
"sha256:17e32f147d8bf9657e0922c0940bcde863b894cd871dbb694beb6704cfbd2fb5",
-
"sha256:206afc3d964f9a233e6ad34618ec60b9837d0582b500b63687e34011e15bb429",
-
"sha256:4107ac5ab936a63952dea2a46a734a23230aa2f6f9db1291bf171dac3ebd53c6",
-
"sha256:4513ec234c68b14d4161440e07f995f231be21a09329051e67a2118a7a612d2d",
-
"sha256:611be3904f9843f0529c35a3ff3fd617449463cb4b73b1633950b3d97fa4bfb7",
-
"sha256:62c613ad689ddcb11707f030e722fa929f322ef7e4f18f5335d2b73c61a85c28",
-
"sha256:667f3c579e813fcbad1b784db7a1aaa96524bed53437e119f6a2f5de4db04235",
-
"sha256:6e8c70d2cd745daec2a08734d9f63092b793ad97612470a0ee4cbb8f5f705c57",
-
"sha256:7577b3c43e5909623149f76b099ac49a1a01ca4e167d1785c76eb52fa585745a",
-
"sha256:998d2be6976a0ee3a81fb8e2777900c28641fb5bfbd0c84717d89bca0addcdc5",
-
"sha256:a3c2c317a8fb53e5b3d25790553796105501a235343f5d2bf23bb8649c2c8709",
-
"sha256:ab998f567ebdf6b1da7dc1e5accfaa7c6992244629c0fdaef062f43249bd8dee",
-
"sha256:ac7041b385f04c047fcc2951dc001671dee1b7e0615cde772e84b01fbf68ee84",
-
"sha256:bca36be5707e81b9e6ce3208d92d95540d4ca244c006b61511753583c81c70dd",
-
"sha256:c9904904b6564d4ee8a1ed820db76185a3c96e05560c776c79a6ce5ab71888ba",
-
"sha256:cad0bbd66cd59fc474b4a4376bc5ac3fc698723510cbb64091c2a793b18654db",
-
"sha256:d10a681c9a1d5a77e75c48a3b8e1a9f2ae2928eda463e8d33660437705659682",
-
"sha256:d4925e4bf7b9bddd1c3de13c9b8a2cdb89a468f640e66fbfabaf735bd85b3e35",
-
"sha256:d7b9f5f3299e8dd230880b6c55504a1f69cf1e4316275d1b215ebdd8187ec88d",
-
"sha256:da2dfdaa8006eb6a71051795856bedd97e5b03e57da96f98e375682c48850645",
-
"sha256:dddba7ca1c807045323b6af4ff80f5ddc4d654c8bce8317dde1bd96b128ed253",
-
"sha256:e7921319fe4430b11278d924ef66d4daa469fafb1da679a2e48c935fa27af193",
-
"sha256:e93f451f2dfa433d97765ca2634628b789b49ba8b504fdde5837cdcf25fdb53b",
-
"sha256:eebaacf674fa25511e8867028d281e602ee6500045b57f43b08778082f7f8b44",
-
"sha256:ef0107bbb6a55f5be727cfc2ef945d5676b97bffb8425650dadbb184be9f9a2b",
-
"sha256:f0de0f284248ab40188f23380b03b59126d1479cd59940f2a34f8852db710625",
-
"sha256:f27279d060e2ab24c0aa98363ff906d2386aa6c4dc2f1a374655d4e02a6c5e5e",
-
"sha256:f8affdf3c0f0466e69f5b3917cdd042f89c8c63aebdb9f7c078996f607cdb0f5"
+
"sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a",
+
"sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2",
+
"sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f",
+
"sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c",
+
"sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c",
+
"sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c",
+
"sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0",
+
"sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13",
+
"sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134",
+
"sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa",
+
"sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e",
+
"sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379",
+
"sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a",
+
"sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11",
+
"sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282",
+
"sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b",
+
"sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f",
+
"sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c",
+
"sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112",
+
"sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948",
+
"sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881",
+
"sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860",
+
"sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3",
+
"sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680",
+
"sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26",
+
"sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26",
+
"sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e",
+
"sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8",
+
"sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c",
+
"sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==4.0.1"
+
"markers": "python_version >= '3.9'",
+
"version": "==6.0.0"
},
"webencodings": {
"hashes": [
···
"sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
],
"version": "==0.5.1"
+
},
+
"zensical": {
+
"hashes": [
+
"sha256:0ef33bf2efdb66e444bb59aff134729ba83b271c2ee034063289cdb5e76b7947",
+
"sha256:1744f743d69aa9745570499392ca81962885b90700569ea4564858d01200b1c7",
+
"sha256:32ea5a572473d0f3187d8abeeb6b1a55acd1b09bfecb153820b57a41232b3109",
+
"sha256:4c048779787ebcbdf01c15c69287ca5add5f8661c860ea6302c1ad45606e4b5f",
+
"sha256:8df38c0538eb763a3b3d42f1d179927c0e9b8deec365ff016c00ca71ae287bce",
+
"sha256:bab3897bb3bf4d3fd81234640590888e95bd7f49070f840e5817b67b25d9cf2f",
+
"sha256:bc672c3d986829add78e2c8bd0e50dd091ae93c9b7144a9ae02908aea63bb601",
+
"sha256:bdb776ba9257a0f2a991ce5bd82110a0ca44dfe4342abc545b1e8add12de1ba5",
+
"sha256:bfd215bd14724d63e37eff2f0984517b997616cf1fd68059d7c41edfeb695dd3",
+
"sha256:d7a206c22ac66bbe885a04a5efa27610c5cc4899c78df1f7e8e9a36d298ec14b",
+
"sha256:e4bfbc6cc80e3c927d4372bb005460fd731a71966dec3a5e4f61f5aeccb86cc5",
+
"sha256:e5c883eaabe82ce733e3a653a28afa901e529574c93a0a51ed2e52801ef064ed",
+
"sha256:fb61bd1d3d864bb36caa277b59c4bcf4431fbd6d8d2914a6b0bb1281f6259e5f"
+
],
+
"index": "pypi",
+
"markers": "python_version >= '3.10'",
+
"version": "==0.0.11"
}
},
"develop": {}
+35 -24
README.md
···
# ~ajhalili2006's website
-
[![Hosted on pages.dev](https://img.shields.io/badge/hosted%20on-pages.dev-orange?style=flat-square&logo=cloudflare)](https://pages.dev)
-
[![GitLab last commit](https://img.shields.io/gitlab/last-commit/andreijiroh.dev/website?gitlab_url=https%3A%2F%2Fmau.dev&style=flat-square)](https://mau.dev/andreijiroh.dev/website/commits)
+
[![Hosted on pages.dev](https://img.shields.io/badge/hosted%20on-pages.dev-F48120?style=flat-square&logo=cloudflare)](https://pages.dev)
+
[![Open in Gitpod](https://img.shields.io/badge/open%20in-Gitpod-yellow?style=flat-square&logo=gitpod)](https://gitpod.io/#https://mau.dev/andreijiroh-dev/website)
+
[![Open in Codespaces](https://img.shields.io/badge/open%20in-Codespaces-black?style=flat-square&logo=github)](https://codespaces.new/andreijiroh-dev/website)
+
[![GitLab last commit](https://img.shields.io/gitlab/last-commit/andreijiroh-dev/website?gitlab_url=https%3A%2F%2Fmau.dev&style=flat-square)](https://mau.dev/andreijiroh.dev/website/commits)
[![Staging builds on Read The Docs Community](https://readthedocs.org/projects/ajhalili2006/badge/?version=latest&style=flat-square)](https://readthedocs.org/projects/ajhalili2006/)
-
[![Docker CI](https://github.com/ajhalili2006/website/actions/workflows/docker.yml/badge.svg?event=schedule&style=flat-badge)](https://github.com/ajhalili2006/website/actions/workflows/docker.yml?query=event%3Aschedule)
-
[![GitLab CI status](https://mau.dev/andreijiroh.dev/website/badges/main/pipeline.svg?style=flat-square)](https://mau.dev/andreijiroh.dev/website/-/pipelines)
+
[![Docker Image Builds](https://github.com/andreijiroh-dev/docker-images/actions/workflows/docker-buildops.yml/badge.svg?event=schedule)](https://github.com/andreijiroh-dev/docker-images/actions/workflows/docker-buildops.yml)
+
[![GitLab CI status](https://mau.dev/andreijiroh-dev/website/badges/main/pipeline.svg?style=flat-square)](https://mau.dev/andreijiroh-dev/website/-/pipelines)
-
This is my sources for both [`andreijiroh.(eu.org|dev)`](https://andreijiroh.eu.org) and tilde userpages,
+
This is my sources for both [`andreijiroh.dev`](https://andreijiroh.dev) and tilde userpages,
built with Mkdocs + [Material theme](https://go.andreijiroh.eu.org/mkdocs-material) by
[~squidfunk](https://github.com/squidfunk). Sources for Gemini version of the website is
available at `gmi` directory.
···
If you're pretty serious, please keep several things in mind:
-
- You must heavily edit the Markdown content of the website. Make your own personal user manual and portfolio,
-
or heck even go nuts on the homepage.[^1]
+
- You must heavily edit the Markdown content of the website. Make your own personal user manual
+
and portfolio, or heck even go nuts on the homepage.[^1]
- Blog posts I written in Gemini version are licensed under CC-BY-SA-4.0,
[as mentioned below](#legalese) unless specified otherwise.
But [for the love of god], please use your own blog posts when writing for
···
## Mirrors
-
Canonically developed at [mau.dev](https://mau.dev/andreijiroh.dev/website.git) where the deployments happen, with the following mirrors being maintained:
+
Canonically developed at [GitLab SaaS](https://gitlab.com/andreijiroh-dev/website) (formerly on
+
[mau.dev](https://mau.dev/andreijiroh-dev/website.git)) where the deployments happen, with the
+
following mirrors being maintained:
-
* GitHub: <https://github.com/ajhalili2006/website>, where Docker image builds happen
-
* Jetbrains Space (personal): <https://ajhalili2006.jetbrains.space/p/web/repositories/andreijiroh.dev> (repository clone URL: `git.jetbrains.space/ajhalili2006/web/andreijiroh.dev.git`)
-
* Sourcehut: <https://git.sr.ht/~ajhalili2006/web>
+
- GitHub: <https://github.com/andreijiroh-dev/website>, where Docker image builds happen
+
- Sourcehut: <https://git.sr.ht/~ajhalili2006/web>
+
+
## Structure
+
+
- [`markdown`](./markdown/) - the source Markdown files for the website
+
- [`overrides`](./overrides) - theme customizations and Mkdocs build hooks in Python
## Site Development
Use the clone links from either the canonical repository URL or its mirrors
[as mentioned above](#mirrors) or open this repo in a cloud development
-
environment using these links:
-
-
[![Open in Gitpod](https://img.shields.io/badge/open%20in-Gitpod-orange?style=flat-square&logo=gitpod)](https://gitpod.io/#https://mau.dev/andreijiroh.dev/website)
-
[![Open in Codespaces](https://img.shields.io/badge/open%20in-Codespaces-black?style=flat-square&logo=github)](https://codespaces.new/ajhalili2006/ajhalili2006.github.io)
+
environment using the `open in` links above.
### Building from source
···
pip install -r requirements.txt --user
# preview site and edit in another session
+
# if you have pipenv installed, just prefix them with pipenv run
mkdocs serve --watch overrides --watch-theme --livereload
```
### Sending patches
+
The gist via the CLI:
```bash
# send patches via GitLab or GitHub through the CLI
-
glab auth login --host "https://mau.dev" # authenticate CLI
+
glab auth login # authenticate CLI against GitLab CI
gh auth login # authenticate CLI, GitHub.com edition
-
glab -R https://mau.dev/andreijiroh.dev/website mr create --allow-collaboration -b main
-
gh -R ajhalili2006/tildeverse-web pr create # might automatically closes PR due to mirror status
+
glab -R andreijiroh.dev/website mr create --allow-collaboration -b main
+
gh -R andreijiroh-dev/website pr create # might automatically closes PR due to mirror status
# or via my public inbox on sourcehut
# see https://git-send-email.io for setup and guide
···
## Legalese
-
Unless otherwise noted, source code is licensed under the MPL-2.0 while website content (text-only)
-
is under CC BY-SA 4.0.
+
Unless otherwise noted, source code is licensed under the MPL-2.0 while website content
+
(text and ooriginal graphics) is under CC BY-SA 4.0.
-
The only thing that's not covered by this is [the favicon version](markdown/assets/images/favicon.png)
-
of my (current) profile picture.
+
For my profile picture (which used as a favicon anyways), while it is technically under CC BY-SA 4.0
+
([see Wikimedia Commons for context][commonspage]), please note that [I still retain personality rights][wikic-pr]
+
there.
### Third-party code
-
* [OpenWeb Icons Set](https://iconduck.com/sets/openweb-icons-set) ([source code](https://github.com/pfefferle/openwebicons?ref=iconduck.com))- [SIL Open Font License 1.1](https://github.com/pfefferle/openwebicons/blob/main/License.txt)
-
* Upstream template code from Material for Mkdocs for overrides directory - MIT
+
- [OpenWeb Icons Set](https://iconduck.com/sets/openweb-icons-set) ([source code](https://github.com/pfefferle/openwebicons?ref=iconduck.com))- [SIL Open Font License 1.1](https://github.com/pfefferle/openwebicons/blob/main/License.txt)
+
- Upstream template code from Material for Mkdocs for overrides directory - MIT
+
+
[commonspage]: https://commons.wikimedia.org/wiki/File:Andrei_Jiroh_Halili_from_March_2023.png#Licensing
+
[wikic-pr]: https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Photographs_of_identifiable_people
+9 -22
bin/build.sh
···
#!/usr/bin/env bash
-
set -xe
-
-
TARGET_DIR=${TARGET_DIR:-"$PWD/public"}
-
FF_OFFLINE_MKDOCS_PLUGIN=${FF_OFFLINE_MKDOCS_PLUGIN:-"false"}
-
FF_ENABLE_COMMIT_DATA=${FF_ENABLE_COMMIT_DATA:-"true"}
-
FF_GENERATE_SOCIAL_CARDS=${FF_GENERATE_SOCIAL_CARDS:-"true"}
-
TARGET_BUILD_CONFIG=${1:-"mkdocs.yml"}
+
set -ex
-
if [[ ! -d "$TARGET_DIR" ]]; then
-
mkdir "$TARGET_DIR" -pv
-
fi
+
GIT_ROOT=$(git rev-parse --show-toplevel)
+
SOURCE_DIR="${GIT_ROOT}/markdown"
+
TARGET_DIR="${GIT_ROOT}/public"
-
if [[ $SKIP_VENV_SETUP == "" ]] || [[ $CI == "" ]]; then
-
pipenv install --ignore-pipfile --deploy --verbose
-
pipenv run mkdocs build -d "$TARGET_DIR" -f ${TARGET_BUILD_CONFIG}
+
if [[ $SKIP_BUILD == "" ]]; then
+
pipenv run build
else
-
pip3 install -r requirements.txt --upgrade --user
-
mkdocs build -d "$TARGET_DIR" -f ${TARGET_BUILD_CONFIG}
+
echo "Skipping build step"
fi
-
mkdir "$TARGET_DIR/api"
-
git rev-parse HEAD > "$TARGET_DIR/api/commit"
-
cp "$TARGET_DIR/assets/images/favicon.png" "$TARGET_DIR/favicon.ico"
-
cp markdown/.well-known "$TARGET_DIR/.well-known" -rv
-
cp markdown/humans.txt "$TARGET_DIR/humans.txt" -v
-
-
set +xe
+
cp "$TARGET_DIR/assets/images/favicon.png" "$TARGET_DIR/favicon.ico" -v
+
cp "$SOURCE_DIR/.well-known" "$TARGET_DIR/" -rv
+29
bin/deploy.sh
···
+
#!/usr/bin/env bash
+
set -ea
+
if [[ $DEBUG != "" ]]; then
+
set -x
+
fi
+
+
_root_directory_git=$(git rev-parse --show-toplevel)
+
_git_current_branch=$(git rev-parse --abbrev-ref HEAD)
+
CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH:-$_git_current_branch}
+
CI_DEFAULT_BRANCH="main"
+
+
warn() {
+
echo "warning: $*"
+
}
+
+
error() {
+
echo "error: $*"
+
}
+
+
info() {
+
echo "info: $*"
+
}
+
+
if [[ $CI == "true" ]]; then
+
info "Deploying to Cloudflare Workers"
+
if [[ $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web" ]] && [[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]]; then
+
npx wrangler deploy
+
fi
+
fi
+23
bin/sign-sectxt.sh
···
+
#!/usr/bin/env bash
+
# SPDX-License-Identifier: MPL-2.0
+
# Helper script to cryptographically sign security.txt with GPG and SSH keys.
+
+
GPG_KEY_ID="0x67BFC91B3DA12BE8"
+
SSH_KEY_PATH="$HOME/.ssh/personal-2022"
+
GIT_ROOT=$(git rev-parse --show-toplevel)
+
+
if [ ! -f "$SSH_KEY_PATH" ]; then
+
echo "SSH key not found at $SSH_KEY_PATH"
+
exit 1
+
fi
+
+
# Use --clearsign for cleartext signature and --local-user for key specification
+
# Output to security.txt so it can be served and signed by SSH
+
gpg --local-user "$GPG_KEY_ID" --clearsign --yes \
+
--output "$GIT_ROOT/markdown/.well-known/security.txt.asc" \
+
"$GIT_ROOT/markdown/.well-known/security.txt"
+
+
# ssh-keygen prompts before overwriting, so remove the old signature first
+
rm -f "$GIT_ROOT/markdown/.well-known/security.txt.sig"
+
ssh-keygen -Y sign -n file -f "$SSH_KEY_PATH" \
+
"$GIT_ROOT/markdown/.well-known/security.txt"
-1
build.sh
···
-
bin/build.sh
+18
cspell.json
···
+
{
+
"version": "0.2",
+
"ignorePaths": [],
+
"dictionaryDefinitions": [],
+
"dictionaries": [],
+
"words": [
+
"atproto",
+
"fediverse",
+
"Halili",
+
"Jiroh",
+
"Linktree",
+
"Multikey",
+
"Neurodivergence",
+
"neurodivergent"
+
],
+
"ignoreWords": [],
+
"import": []
+
}
+173
devenv.lock
···
+
{
+
"nodes": {
+
"devenv": {
+
"locked": {
+
"dir": "src/modules",
+
"lastModified": 1764927628,
+
"owner": "cachix",
+
"repo": "devenv",
+
"rev": "247d7027f91368054fb0eefbd755a73d42b66fee",
+
"type": "github"
+
},
+
"original": {
+
"dir": "src/modules",
+
"owner": "cachix",
+
"repo": "devenv",
+
"type": "github"
+
}
+
},
+
"flake-compat": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1765121682,
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
+
"type": "github"
+
},
+
"original": {
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"type": "github"
+
}
+
},
+
"flake-compat_2": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1765121682,
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
+
"type": "github"
+
},
+
"original": {
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"type": "github"
+
}
+
},
+
"git-hooks": {
+
"inputs": {
+
"flake-compat": "flake-compat",
+
"gitignore": "gitignore",
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1765016596,
+
"owner": "cachix",
+
"repo": "git-hooks.nix",
+
"rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c",
+
"type": "github"
+
},
+
"original": {
+
"owner": "cachix",
+
"repo": "git-hooks.nix",
+
"type": "github"
+
}
+
},
+
"gitignore": {
+
"inputs": {
+
"nixpkgs": [
+
"git-hooks",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1762808025,
+
"owner": "hercules-ci",
+
"repo": "gitignore.nix",
+
"rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c",
+
"type": "github"
+
},
+
"original": {
+
"owner": "hercules-ci",
+
"repo": "gitignore.nix",
+
"type": "github"
+
}
+
},
+
"mk-shell-bin": {
+
"locked": {
+
"lastModified": 1677004959,
+
"owner": "rrbutani",
+
"repo": "nix-mk-shell-bin",
+
"rev": "ff5d8bd4d68a347be5042e2f16caee391cd75887",
+
"type": "github"
+
},
+
"original": {
+
"owner": "rrbutani",
+
"repo": "nix-mk-shell-bin",
+
"type": "github"
+
}
+
},
+
"nix2container": {
+
"inputs": {
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1761716996,
+
"owner": "nlewo",
+
"repo": "nix2container",
+
"rev": "e5496ab66e9de9e3f67dc06f692dfbc471b6316e",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nlewo",
+
"repo": "nix2container",
+
"type": "github"
+
}
+
},
+
"nixpkgs": {
+
"locked": {
+
"lastModified": 1764611609,
+
"narHash": "sha256-yU9BNcP0oadUKupw0UKmO9BKDOVIg9NStdJosEbXf8U=",
+
"rev": "8c29968b3a942f2903f90797f9623737c215737c",
+
"revCount": 905078,
+
"type": "tarball",
+
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.905078%2Brev-8c29968b3a942f2903f90797f9623737c215737c/019add91-3add-7a0d-8a25-9569cbe01efe/source.tar.gz"
+
},
+
"original": {
+
"type": "tarball",
+
"url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/%2A.tar.gz"
+
}
+
},
+
"nixpkgs-python": {
+
"inputs": {
+
"flake-compat": "flake-compat_2",
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1765052656,
+
"owner": "cachix",
+
"repo": "nixpkgs-python",
+
"rev": "04b27dbad2e004cb237db202f21154eea3c4f89f",
+
"type": "github"
+
},
+
"original": {
+
"owner": "cachix",
+
"repo": "nixpkgs-python",
+
"type": "github"
+
}
+
},
+
"root": {
+
"inputs": {
+
"devenv": "devenv",
+
"git-hooks": "git-hooks",
+
"mk-shell-bin": "mk-shell-bin",
+
"nix2container": "nix2container",
+
"nixpkgs": "nixpkgs",
+
"nixpkgs-python": "nixpkgs-python",
+
"pre-commit-hooks": [
+
"git-hooks"
+
]
+
}
+
}
+
},
+
"root": "root",
+
"version": 7
+
}
+59
devenv.nix
···
+
{ pkgs, lib, ... }: {
+
+
name = "site";
+
+
packages = with pkgs; [
+
gitFull
+
pipenv
+
+
# doppler
+
doppler
+
+
# required for social cards in mkdocs-material / CairoSVG
+
cairo
+
pango
+
gdk-pixbuf
+
librsvg
+
fontconfig
+
freetype
+
libffi
+
libjpeg
+
zlib
+
pngquant
+
];
+
+
# Ensure dynamic linker can find shared libs for Python ctypes consumers like CairoSVG
+
env.LD_LIBRARY_PATH = lib.makeLibraryPath [
+
pkgs.cairo
+
pkgs.pango
+
pkgs.gdk-pixbuf
+
pkgs.librsvg
+
pkgs.fontconfig
+
pkgs.freetype
+
pkgs.zlib
+
];
+
+
# Optional, but silences CI warning and ensures predictable locale
+
env.LANG = "en_US.UTF-8";
+
+
languages = {
+
javascript = {
+
enable = true;
+
package = pkgs.nodejs_22;
+
};
+
python = {
+
enable = true;
+
version = "3.14.0";
+
};
+
};
+
+
#enterShell = ''
+
# pipenv install
+
# npm install
+
#'';
+
+
tasks = {
+
"site:build".exec = "pipenv run build";
+
"site:deploy".exec = "npm run deploy";
+
};
+
}
+16
devenv.yaml
···
+
inputs:
+
mk-shell-bin:
+
url: github:rrbutani/nix-mk-shell-bin
+
nix2container:
+
url: github:nlewo/nix2container
+
inputs:
+
nixpkgs:
+
follows: nixpkgs
+
nixpkgs:
+
url: https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/*.tar.gz
+
nixpkgs-python:
+
url: github:cachix/nixpkgs-python
+
inputs:
+
nixpkgs:
+
follows: nixpkgs
+
allowUnfree: true
+4 -9
gmi/index.gmi
···
# Well hello there!
-
=> gemini://gemini.andreijiroh.eu.org Viewing from mirror?
+
=> gemini://gemini.andreijiroh.dev Viewing from mirror?
-
I'm ~ajhalili2006 (he/they, with emphasis on they/them) and this is my Gemini capsule, hosted on sourcehut pages
-
(also mirrored to tildes I'm currently in with Gemini support).
+
I'm ~ajhalili2006 (he/they, with emphasis on they/them) and this is my Gemini capsule,
+
hosted on sourcehut pages (also mirrored to tildes I'm currently in with Gemini support).
Just in case you're wondering, you're viewing the Gemini version of my website, so things might be a bit different
or even incomplete.
···
## Where to find me elsewhere
-
=> https://tilde.zone/@ajhalili2006 Fediverse (I mostly active there)
-
=> https://verified.coop/@ajhalili2006 Backup account, in case things go wrong on main homeserver
-
=> https://neurodifferent.me/@JirohsMind Deep dives into my autistic life/mind, sometimes more personal posts, often less politically unhinged content
-
=> https://ajhalili2006.substack.com/ My blog over at substack...
-
=> https://blog.andreijiroh.eu.org ...or at Hashnode
-
=> https://ajhalili2006.start.page All of my socials in one place
+
=> /links.gmi Everything in one place
----------
+1
markdown/.well-known/atproto-did
···
+
did:plc:wcx4c3osbuzrwmxkqdfqygwv
+26
markdown/.well-known/did.json
···
+
{
+
"@context": [
+
"https://www.w3.org/ns/did/v1",
+
"https://w3id.org/security/multikey/v1",
+
"https://w3id.org/security/suites/secp256k1-2019/v1"
+
],
+
"id": "did:web:andreijiroh.dev",
+
"alsoKnownAs": [
+
"at://andreijiroh.dev"
+
],
+
"verificationMethod": [
+
{
+
"id": "did:web:andreijiroh.dev#atproto",
+
"type": "Multikey",
+
"controller": "did:web:andreijiroh.dev",
+
"publicKeyMultibase": "zQ3sheZLoGuAELwrPBN3BhDatucuTWFzNasAcB7VDk4JKVxVt"
+
}
+
],
+
"service": [
+
{
+
"id": "#atproto_pds",
+
"type": "AtprotoPersonalDataServer",
+
"serviceEndpoint": "https://blewit.us-west.host.bsky.network"
+
}
+
]
+
}
+1 -1
markdown/.well-known/matrix/client
···
{
"m.homeserver": {
-
"base_url": "https://matrix.andreijiroh.xyz"
+
"base_url": "https://matrix.andreijiroh.dev"
}
}
+1 -1
markdown/.well-known/matrix/server
···
{
-
"m.server": "matrix.andreijiroh.xyz:443"
+
"m.server": "matrix.andreijiroh.dev:443"
}
+8
markdown/.well-known/nostr.json
···
+
{
+
"names": {
+
"_": "bb232713e34cc6d66fa0667b9d3ca0ab8e8d5b1319c1a5bebfd72d2d9820ee6b",
+
"ajhalili2006": "bb232713e34cc6d66fa0667b9d3ca0ab8e8d5b1319c1a5bebfd72d2d9820ee6b",
+
"multifandom-hellscapes": "b9cf7163c00760df3de567b33a2d2e89eec4390e43305b4bb132d6ddb0b87e77",
+
"mfhellscapes": "b9cf7163c00760df3de567b33a2d2e89eec4390e43305b4bb132d6ddb0b87e77"
+
}
+
}
+16 -25
markdown/.well-known/security.txt
···
-
-----BEGIN PGP SIGNED MESSAGE-----
-
Hash: SHA512
+
# You are viewing the original unsigned security.txt file. For the
+
# cryptographically signed versions, append either one of the following
+
# to access the signatures and verify yourself via ssh-keygen or gpg.
+
#
+
# - .asc - cleartext PGP signed message
+
# - .sig - ssh-keygen signature (use "file" as namespace when
+
# verifying with my SSH pubkeys at /keys/ssh/main-2022.pub)
+
#
+
# Learn more: https://andreijiroh.dev/keys or https://wiki.andreijiroh.dev/go/encrypted-comms
# Canonical URI
-
Canonical: https://andreijiroh.eu.org/.well-known/security.txt
+
Canonical: https://andreijiroh.dev/.well-known/security.txt
# Contact details
-
Contact: mailto:ajhalili2006@andreijiroh.eu.org
-
Contact: https://andreijiroh.eu.org/contact/security
+
Contact: mailto:ajhalili2006@andreijiroh.dev
+
Contact: https://andreijiroh.dev/contact/security
Contact: https://keybase.io/ajhalili2006
Preferred-Languages: en
# Use my PGP keys on the website or at Keybase
Encryption: https://keybase.io/ajhalili2006/pgp_keys.asc
-
Encryption: https://andreijiroh.eu.org/keys/pgp.asc
+
Encryption: https://andreijiroh.dev/keys/pgp.asc
# Security Policy and acknowledgments
-
Policy: https://andreijiroh.eu.org/security
-
Acknowledgments: https://andreijiroh.eu.org/security/#thanks
+
Policy: https://andreijiroh.dev/security
+
Acknowledgments: https://andreijiroh.dev/security/#thanks
-
Expires: 2024-09-26T15:59:00.000Z
-
-----BEGIN PGP SIGNATURE-----
-
-
iQIzBAEBCgAdFiEETV5jF1jLnMRZQbHOZ7/JGz2hK+gFAmUYYfQACgkQZ7/JGz2h
-
K+iMzxAA61jw4SFVKroBHkO/uGThq1wWLPNRDchc1Fx6vQh6Z9TKCYNMgZ3T/Btn
-
ILZLg/R1lsgylOJdJihesYKFrVTMO3nxdptTSwh9I5avxCEHf8zn3LEHOSMdhO8O
-
u3cPHIvFw/EVTgdkYAj6UvzI9K9I+L7DaqEb5fOUuBXeQS/DQuvEs9nceCFEkQcq
-
pjAWjlLHO/ZrKgNRMgVZ+t8a/nxWXRBa7Y17hii9WxkgrMcnmFpius/U0yjn2ax0
-
gbYic/VesjVq67i4DaxmQNgGmZvvuIXyjyVJvVyUlSmBNj68gRd5vOx0XiEwtaIt
-
R/6YWSmVRGo3HuXwqX6LIjdyOEc9gv0TxozKIO3KzRYg44drhtt8PDK24+/KBXMn
-
xmE0InhF9Y5DCZDEfZ3g1IIlHxcfXnNKpbD7QAVv+J89rgn79jcsVPyVvGigkijH
-
LogCG6a9yvvOp6aK+EwioCh0F/f5ABTqZOzA6ZmVjO4xdrKmiQPbw/gSSzoT6SVL
-
fbGj7+n9KI+Fv+9nfeRTnL+lbwAh4cwSuIt8rdHMvQhFCvGCSUwqRRIEiKUD+X21
-
dKGt1Z52ySC8nuNfstg+MtspTv6X+Rz1XI1a26UMjYzBZIty+ZblM8YJkv7Cm34N
-
C/2qcB4pxMJsaEcrvpkUnhQZe30cLw0yjRQj6C0uggfLQMru1PI=
-
=xIeM
-
-----END PGP SIGNATURE-----
+
Expires: 2026-12-31T23:59:59.999Z
+49
markdown/.well-known/security.txt.asc
···
+
-----BEGIN PGP SIGNED MESSAGE-----
+
Hash: SHA512
+
+
# You are viewing the original unsigned security.txt file. For the
+
# cryptographically signed versions, append either one of the following
+
# to access the signatures and verify yourself via ssh-keygen or gpg.
+
#
+
# - .asc - cleartext PGP signed message
+
# - .sig - ssh-keygen signature (use "file" as namespace when
+
# verifying with my SSH pubkeys at /keys/ssh/main-2022.pub)
+
#
+
# Learn more: https://andreijiroh.dev/keys or https://wiki.andreijiroh.dev/go/encrypted-comms
+
+
# Canonical URI
+
Canonical: https://andreijiroh.dev/.well-known/security.txt
+
+
# Contact details
+
Contact: mailto:ajhalili2006@andreijiroh.dev
+
Contact: https://andreijiroh.dev/contact/security
+
Contact: https://keybase.io/ajhalili2006
+
+
Preferred-Languages: en
+
+
# Use my PGP keys on the website or at Keybase
+
Encryption: https://keybase.io/ajhalili2006/pgp_keys.asc
+
Encryption: https://andreijiroh.dev/keys/pgp.asc
+
+
# Security Policy and acknowledgments
+
Policy: https://andreijiroh.dev/security
+
Acknowledgments: https://andreijiroh.dev/security/#thanks
+
+
Expires: 2026-12-31T23:59:59.999Z
+
+
-----BEGIN PGP SIGNATURE-----
+
+
iQIzBAEBCgAdFiEETV5jF1jLnMRZQbHOZ7/JGz2hK+gFAmk2kg4ACgkQZ7/JGz2h
+
K+iiKxAAz1lae2bTPE6bkTcg4LfHINkenopH2ji/2nwickjXaaC4OZe48CcrKmK/
+
TAV74/yNncAUYkifji58YXXZvyDeLoDdCTM5TudkTYtxc3iL3k8QaOgZ+3il5NAE
+
NtnRwC86RaUuLsDWGcEOqNiJvcMMEWuqJrDgNyFrF+XsDZemJGmMIwjtosYwmGmf
+
nzFfsI5LIpveWBcA6+4kUflD6lsnm431MoJlIv+LRm6G6uarZ6iiyv4FjBlzaJb0
+
h0PiKXopFHW2OuunxacK69UK3Ib21qRKvGm640s0AgrxBqSUqmKM+fgvyvlcZEwq
+
uVUJZe7VKTXnEGRMms5OfPyEjE5LEyyDk3RfUfdxev8Dz7nx0Y1mrfS+rnc63Oc0
+
X6k6bkMg8MREazt2DoM8oCRHxA7O+MUSwLM05qGFI9MSZnvN99YLODbGn5FJWy14
+
U/z+ywVHUF1sA5tkfWvYlQA5PLUdpJlfivgVwiKykcWllEB8Sj7GFlPSV7hLZevW
+
n2LVEw+7y8mcJEy4v0wcT3xfAuJY0+YhlsDR1jO5m+8bVScmDxaaRFUWIDKH8r5S
+
u9QGqmnot4Ycpk8x9UVE38dqeDoNJ/UmJbxk3lkRESstxodsHfuJlEmxR0jHmRgt
+
rNd+d7/PcrCBIZf1kwG1u/O+7188OmyovOGbRWscGAS+p05TZTA=
+
=BEFc
+
-----END PGP SIGNATURE-----
+6
markdown/.well-known/security.txt.sig
···
+
-----BEGIN SSH SIGNATURE-----
+
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgRe4PeEnAieVwezfCRdYBY2jx6z
+
ds8B3Z7yKmPKqAanYAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
+
OQAAAEA6eFolLk853O1572TLAkDfNcLFZJfmW2J8thiSmosHBtcVoyfoqpduEFnIiv9BCj
+
hnXrv8ejkwWxd7dBfwVDMB
+
-----END SSH SIGNATURE-----
-19
markdown/.well-known/security.txt.unsigned
···
-
# Canonical URI
-
Canonical: https://andreijiroh.eu.org/.well-known/security.txt
-
-
# Contact details
-
Contact: mailto:ajhalili2006@andreijiroh.eu.org
-
Contact: https://andreijiroh.eu.org/contact/security
-
Contact: https://keybase.io/ajhalili2006
-
-
Preferred-Languages: en
-
-
# Use my PGP keys on the website or at Keybase
-
Encryption: https://keybase.io/ajhalili2006/pgp_keys.asc
-
Encryption: https://andreijiroh.eu.org/keys/pgp.asc
-
-
# Security Policy and acknowledgments
-
Policy: https://andreijiroh.eu.org/security
-
Acknowledgments: https://andreijiroh.eu.org/security/#thanks
-
-
Expires: 2024-09-26T15:59:00.000Z
+12
markdown/_headers
···
+
# enable CORS on well-known routes
+
/.well-known/*
+
Access-Control-Allow-Origin: *
+
X-Robots-Tag: nosnippet
+
+
# disable indexing on pages.dev/workers.dev
+
https://:project.pages.dev/*
+
X-Robots-Tag: noindex
+
https://:version.:project.pages.dev/*
+
X-Robots-Tag: noindex
+
https://:project.:org.workers.dev
+
X-Robots-Tag: noindex
+16 -7
markdown/_redirects
···
-
# internal redirects
-
/resume /user-manual/resume
-
/dni /user-manual/dni
+
# contact links
+
/contact/sponsors /contact/donations
+
/contact/hire-me /contact/work
+
/contact/open-source /contact/code-reviews
# external redirects
-
/blog https://ajhalili2006.substack.com
-
/pkgs https://gcdn.todo.com
-
/socials https://ajhalili2006.start.page
+
/blog https://blog.andreijiroh.dev
+
/blog/* https://blog.andreijiroh.dev/:splat
+
/pkgs https://pkgs.andreijiroh.dev
+
/pkgs/* https://pkgs.andreijiroh.dev/:splat
# user manual
/manual /user-manual
-
/manual/* /user-manual/:path
+
/resume /user-manual/resume
+
/dni /user-manual/dni
+
/manual/* https://wiki.andreijiroh.dev/garden/user-manual/:splat
+
/user-manual/* https://wiki.andreijiroh.dev/garden/user-manual/:splat
# legal
/privacy /legal/privacy
···
/security.txt /.well-known/security.txt
/ads.txt /.well-known/ads.txt
/keybase.txt /.well-known/keybase.txt
+
/keys/ssh-trustfile.txt /keys/ssh/trustfile.txt
+
+
# anything else
+
/socials /links
+23
markdown/assets/javascripts/feedback.js
···
+
document$.subscribe(function() {
+
var feedback = document.forms.feedback
+
if (typeof feedback === "undefined") return
+
+
feedback.hidden = false
+
+
feedback.addEventListener("submit", function(ev) {
+
ev.preventDefault()
+
+
var page = document.location.pathname
+
var data = ev.submitter.getAttribute("data-md-value")
+
+
posthog.capture("page_feedback", { page, data })
+
+
feedback.firstElementChild.disabled = true
+
+
var note = feedback.querySelector(
+
".md-feedback__note [data-md-value='" + data + "']"
+
)
+
if (note)
+
note.hidden = false
+
})
+
}
+42
markdown/assets/javascripts/rtd.js
···
+
+
/* RTD Search integration */
+
document.addEventListener("DOMContentLoaded", function(event) {
+
// Trigger Read the Docs' search addon instead of Material MkDocs default
+
document.querySelector(".md-search__input").addEventListener("focus", (e) => {
+
const event = new CustomEvent("readthedocs-search-show");
+
document.dispatchEvent(event);
+
});
+
});
+
+
/* RTD version selector */
+
// Use CustomEvent to generate the version selector
+
document.addEventListener(
+
"readthedocs-addons-data-ready",
+
function (event) {
+
const config = event.detail.data();
+
const versioning = `
+
<div class="md-version">
+
<button class="md-version__current" aria-label="Select version">
+
${config.versions.current.slug}
+
</button>
+
+
<ul class="md-version__list">
+
${ config.versions.active.map(
+
(version) => `
+
<li class="md-version__item">
+
<a href="${ version.urls.documentation }" class="md-version__link">
+
${ version.slug }
+
</a>
+
</li>`).join("\n")}
+
</ul>
+
</div>`;
+
+
// Check if we already added versions and remove them if so.
+
// This happens when using the "Instant loading" feature.
+
// See https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#instant-loading
+
const currentVersions = document.querySelector(".md-version");
+
if (currentVersions !== null) {
+
currentVersions.remove();
+
}
+
document.querySelector(".md-header__topic").insertAdjacentHTML("beforeend", versioning);
+
});
+34
markdown/contact/code-reviews.md
···
+
# Code reviews and pair programming
+
+
[Go back to contact page](./index.md){ .md-button }
+
+
---
+
+
As a student myself learning JavaScript/TypeScript for both backend and CLI apps, I am open to do pair
+
programming to help improve both of our coding skills and do peer reviews before getting shipped to production.
+
+
Read on if you're a good match with me or if you're curious on how do I build with TypeScript.,
+
+
## What I'm looking for
+
+
* Fellow open-source developers in any proficiency in either TypeScript or plain JavaScript.
+
* If it is not on the list, I am more than happy to be paired with you to learn that language together (looking for Golang and Rust devs to go on pair coding).
+
* If you need a helping hand on handling patches and community moderation for your project, I am also ready to join your team.
+
* Software developers and engineers building production-grade frontend and backend code, a la apprenticeship or internship.
+
* For frontend, I am looking to learn to use Flutter for cross-platform apps instead of learning Electron for desktop apps and React Native for mobile apps.
+
* For backend, I want to explore data persistence with Postgres, MySQL and MongoDB, alongside caching with Redis.
+
+
## The Rules
+
+
* [Review the personal user manual](https://wiki.andreijiroh.dev/garden/user-manual])
+
* All-remote sessions only, no in-person meetings unless part of hiring process/employment and within Bulacan/Metro Manila.
+
* All communications must be async. For sync meetings, it should be 2 hours max and/or have meeting notes in a Google Doc/GitHub issue/Slack canvas/Canva doc.
+
* You do not need to pay me up for this, but consider [sponsoring me via GitHub Sponsors](https://github.com/sponsors/ajhalili2006) or
+
[hiring me](./work.md) if you do.
+
+
## You up?
+
+
Hit me up at [LinkedIn](https://linkedin.com/in/ajhalili2006) or [my email address](./details.md#email)
+
for details and expect a reply in 1-2 days.
+
+
If it is a paid work, please let me know so I provide payment details to send the money in.
+64 -16
markdown/contact/details.md
···
[Go back to "Anything else"](./else.md){ .md-button }
[Go back to main contact page](./index.md){ .md-button }
-
!!! warning "Horribly work-in-progress, apologies for missing/incompelete content."
-
This page contains all of Andrei Jiroh's contact details for convenience, though you should not
abuse them (or else get blocked).
-
## Email
+
## Need a contact form?
+
+
You can access the contact form (built with Fillout) by pressing the button below. It should open a
+
slider embed for the form to load.
+
+
<div data-fillout-id="4rDpsz53Gous" data-fillout-embed-type="slider" data-fillout-button-text="Open contact form" data-fillout-button-color="#4CAE4F" data-fillout-slider-direction="right" data-fillout-inherit-parameters data-fillout-popup-size="medium"></div><script src="https://server.fillout.com/embed/v1/"></script>
+
+
_**Having a problem opening the form?** [Try opening it directly][contact-form]._
+
+
## ๐Ÿ“ง Email
!!! info "Please just use one email address when sending messages privately."
Don't send your email to multiple addresses (even as BCC or CC), it might cause duplication.
-
The most preferred address to use is either [:e-mail: **ajhalili2006@andreijiroh.eu.org**](mailto:ajhalili2006@andreijiroh.eu.org) or [:e-mail: **ajhalili2006@crew.recaptime.eu.org**](mailto:ajhalili2006@crew.recaptime.eu.org),
-
although if VK WorkMail has flagged your mail as spam and you don't want to fill up not-spam forms,
-
[use this Tally form](https://tally.so/r/nrB4o2) as an alternative.
+
The most preferred address to use is either [:e-mail: **ajhalili2006@andreijiroh.dev**](mailto:ajhalili2006@andreijiroh.dev)
+
(my personal address) or [:e-mail: **ajhalili2006@crew.recaptime.dev**](mailto:ajhalili2006@crew.recaptime.dev),
+
(my RecapTime.dev staff address) although if my inbox has flagged your mail as spam and you don't
+
want to fill up not-spam forms, [use this form](#need-a-contact-form) as an alternative.
* **Gmail user?** You could try sending mail to [:e-mail: ajhalili2006@gmail.com](mailto:ajhalili2006@gmail.com)
(sharing docs and files over Google Drive are fun but please no spam).
-
* If you're using Microsoft 365 (personally), you may also try sending (or sharing OneDrive files) to [:e-mail: ajhalili2006@outlook.ph](mailto:ajhalili2006@outlook.ph).
-
For work-related file sharing, please use my `@crew.recaptime.eu.org` email address instead.
+
* If you're using Microsoft 365 (personally), you may also try sending (or sharing OneDrive files) to
+
[:e-mail: ajhalili2006@outlook.ph](mailto:ajhalili2006@outlook.ph).
+
* For work-related file sharing, please use my `@crew.recaptime.dev` or `@andreijiroh.dev` email address
+
instead.
-
## Over at socials
+
## ๐Ÿ’ฌ Chat
-
For the full list, see [:simple-buffer: my Buffer start.page](https://ajhalili2006.start.page).
-
You can obviously ping/tag me, but please be careful, especially when replying to others' posts.
+
### :simple-telegram: Telegram
+
+
I am reachable on Telegram at the same username (`ajhalili2006`) as other
+
socials. For those who want to join at my community chats,
+
[here's the public one][tg-pubchat] and [here's for the inner circle (request to join)][tg-kookyinsanestuff].
+
+
[tg-pubchat]: https://t.me/ajhalili2006_chat
+
[tg-kookyinsanestuff]: https://t.me/+EFWmxPj4tUY1Y2VI
+
+
### ๐Ÿค– Discord
+
+
My Discord username (`ajhalili2006`) is pretty much the same across my socials. If we are in in any common
+
Discord servers, please contact me in an appropriate channel within the server. Direct messages are probably
+
fine too, but I rarely check them on Discord. I am often looking at these Discord servers:
+
+
* lounge.andreijiroh.dev (personal server, [invite link](https://discord.gg/kf5nz4X))
+
* Recap Time Squad / Community Lorebooks ([invite link](https://discord.gg/eva9EAgkty))
+
* Gildedguy's Gilded Guild ([invite link](https://discord.gg/gildedguy))
+
+
## ๐Ÿ‘ฅ Over at socials
+
+
For the full list, see [this page](../links.md). You can obviously ping/tag me, but please be careful,
+
especially when replying to others' posts.
If you want to slide into DMs, only slide via my main account and not any of my alternate accounts (although
-
I may look into them but reply on my main).
-
The following are my main accounts across the internet, in order of preference:
+
I may look into them but reply on my main). The following are my main accounts across the internet,
+
in order of preference:
-
* :openweb-icons-fediverse: [@ajhalili2006@tilde.zone](https://tilde.zone/@ajhalili2006) or [@ajhalili2006@verified.coop](https://verified.coop/@ajhalili2006)
-
* :material-twitter: [@ajhalili2006@twitter.com](https://twitter.com/@ajhalili2006) (or `@ajhalili2006@x.com` if you're pedantic)
-
* :simple-tumblr: [@ajhalili2006@tumblr.com](https://tumblr.com/ajhalili2006) ([askbox](https://www.tumblr.com/new/ask/ajhalili2006))
+
* :openweb-icons-fediverse: [@ajhalili2006@tilde.zone](https://tilde.zone/@ajhalili2006) (backup: [@ajhalili2006@vivaldi.net](https://social.vivaldi.net/@ajhalili2006)
+
* :simple-tumblr: [@ajhalili2006@tumblr.com](https://tumblr.com/ajhalili2006) ([askbox])
+
* :material-twitter: [@ajhalili2006@twitter.com](https://twitter.com/@ajhalili2006) (or
+
`@ajhalili2006@x.com` if you're pedantic)
* :simple-linkedin: [@ajhalili2006@linkedin.com](https://linkedin.com/in/ajhalili2006)
* :simple-messenger: [@ajhalili2006](https://m.me/ajhalili2006) [^1]
+
## ๐Ÿ”’ Encrypted communications
+
+
See [this personal user manual page][encryption-pum] for the full
+
details, but tl;dr:
+
+
* If you're using Signal or even E2EE Matrix, send me an encrypted/unencrypted-but-signed email
+
first to confirm your identity.
+
* Use your GPG key to encrypt your message over email. I will download them from your website or
+
GitHub/GitLab profile rather than relying on keyservers.
+
* My main GPG key is `4d5e631758cb9cc45941b1ce67bfc91b3da12be8` while my GPG key for `@crew.recaptime.dev`
+
address is `a715100e58cf60500ee159652f384539c700b263`.
+
[^1]: Only used at school and for IRL friends and family members
+
+
[encryption-pum]: https://wiki.andreijiroh.dev/garden/user-manual/encrypted-communications
+
[contact-form]: https://ajhalili2006.fillout.com/contact
+
[askbox]: https://www.tumblr.com/new/ask/ajhalili2006
+9
markdown/contact/donations.md
···
+
# Donations and sponsorships
+
+
[Go back to main contact page](./index.md){ .md-button }
+
+
Thanks for your interest in supporting my open-source work
+
and/or other projects (i.e. the blog)!
+
Please visit [the dedicated sponsors site](https://sponsors.andreijiroh.dev) for all the details, including the FAQs.
+
+
## Is this for Recap Time Squad? {#recaptimesquad}
+11 -6
markdown/contact/else.md
···
---
!!! info "Thanks for getting in touch! Before you write, here's a few things to remind before you go:"
-
* Please [read my boundaries](../user-manual/boundaries.md), as well as [general communication policy](../user-manual/communications.md),
-
[Do Not Interact list](../user-manual/dni.md) and [on neurodivergence and disability](../user-manual/neurodivergence-and-disability.md) before you scroll down.
+
* Please [read my boundaries][boundaries], as well as [general communication policy][comms],
+
[Do Not Interact list][dni] and [on neurodivergence and disability][disability] before you scroll down.
NOT following them will result in moderation actions, up to and including reporting as spam and blocks.
* If you have a burning question, check other pages in the [main contact page](./index.md) or in the [FAQs](../faq.md).
You may try also use your favorite search engine, forum, or even ask a real-life librarian for help since I can't do
···
and [community moderation](../community-management.md), although if you're a company, [consider hiring me full-time](./work.md) for maintaining your OSS projects (not open-core or anything under non-OSI approved ones like the BUSL).
If your inquiry isn't answered anywhere in this site or not covered on the main contact page,
-
I'm reachable at the following contact methods (also on [:simple-buffer: my Buffer start.page](https://ajhalili2006.start.page)):
+
I'm reachable at the following contact methods (also on [all-the-links page](../links.md)):
-
* :mailbox: personally via [:e-mail: **ajhalili2006@andreijiroh.eu.org**](mailto:ajhalili2006@andreijiroh.eu.org) or via my
-
Recap Time Squad staff address at [:e-mail: **ajhalili2006@crew.recaptime.eu.org**](mailto:ajhalili2006@crew.recaptime.eu.org)
+
* :mailbox: personally via [:e-mail: **ajhalili2006@andreijiroh.dev**](mailto:ajhalili2006@andreijiroh.dev) or via my
+
Recap Time Squad staff address at [:e-mail: **ajhalili2006@crew.recaptime.dev**](mailto:ajhalili2006@crew.recaptimedev)
* :speech_balloon: over at Matrix at [:simple-matrix: @ajhalili2006 on ~environments](https://matrix.to/#/@ajhalili2006:envs.net)
-
or on [:simple-zulip: our Zulip chat (or via DMs)](https://recaptime-dev.zulipchat.com/#streams/405458/ajhalili2006)
+
or on [:simple-zulip: our Zulip Cloud organization (or via DMs)](https://recaptime-dev.zulipchat.com/#streams/405458/ajhalili2006)
* :information_source: If you want all the contact details, please see [this page](./details.md). Please don't use this to stalk or even spam me.
I do try to reply to messages if we can, but unfortunately workload and time limitations mean that itโ€™s
···
of the time (apologies, my exective functioning issues cause me to scare my inbox a lot),
please reach me out over at Matrix/Zulip first so I can dig over spam folders (contact VK Support
or Google for help if you got the bounce mail for spam).
+
+
[boundaries]: https://wiki.andreijiroh.dev/garden/user-manual/boundaries
+
[comms]: https://wiki.andreijiroh.dev/garden/user-manual/communications
+
[dni]: https://wiki.andreijiroh.dev/garden/user-manual/dni
+
[disability]: https://wiki.andreijiroh.dev/garden/user-manual/neurodivergence-and-disability
+10 -4
markdown/contact/index.md
···
Helllo! **What would you like to talk about**?
-
!!! warning ""
+
!!! info ""
This page is being revamped similarly to [Tom Scott's contact page](https://www.tomscott.com/contact),
so some links may be broken while being written.
-
This is also work-in-progress, so use **Anything else** link below and I'll look into it.
+
This is also work-in-progress, so use **Anything else** link and I'll try my best to reply to you in
+
a week or so.
## Open-source work and Recap Time Squad
* [๐Ÿ’ป Code reviews and pair programming](./code-reviews.md)
* [โš™ DevSecOps and Infra](./devops.md)
* [๐Ÿ›ก Security related](./security.md)
-
* [๐Ÿ’ผ Hiring to your company / Contracting](work.md)
+
* [๐Ÿ’ผ Hiring to your company / Contracting](./work.md)
+
* [๐Ÿ’ธ Donations and Sponsorships](./donations.md)
+
* [๐Ÿง‘โ€๐Ÿ’ป Anything Recap Time Squad](https://recaptime.dev/contact)
## Advertising and public relations
···
## Collabs and business partnerships
-
Currently not available yet for that, but come back soon if I may changed my mind.
+
Currently not available yet for at the moment.
+
+
**Developer or open-source maintainer? Recruiter hiring right now?** See
+
Open-source work and Recap Time Squad section above.
## Miscellaneous
+20 -5
markdown/contact/security.md
···
or org/project-specific policies (via its own `SECURITY.md` file) before proceeding here.
Otherwise, you'll be ignored at best or blocked/muted and reported as spam at worst.
-
## Looking for PGP keys?
+
## Looking for PGP and SSH keys?
+
+
If you're looking for my PGP and SSH keys I use in commits and connecting to machines and code forges
+
over SSH, please [visit this page](../keys/index.md).
+
+
## Security questions
-
If you're looking for my PGP keys, please [visit this page](../keys/index.md).
+
I am not a cybersecurity person or have expertise in cryptography, so sorry if I can't reply to you.
+
I may redirect you to resources or give advice as my capacity allow.
## Submitting security patches
-
If you also want to submit a security patch, please DO NOT mention about the vunlerability
-
within the patch (unless via the specialized security mailing list mentioned below).
+
If you also want to submit a security patch, which I appreciate your effort as a maintainer, please DO NOT mention about the vulnerability
+
within the patch (unless via these methods below).
### via email
···
### as confidential GitLab merge request
-
When submitting a security-senstive patch in GitLab, don't forget to mark it as
+
When submitting a security-sensitive patch in GitLab, don't forget to mark it as
confidential merge request or request to access to security patches-only private fork.
[See GitLab Docs for details](https://docs.gitlab.com/ee/user/project/merge_requests/confidential.html).
+
+
### in GitHub private vulnerability reports
+
+
On projects with private vulnerability reporting enabled, after submitting your report,
+
you can push your patches to a private fork specific to that report.
+
+
## Notifying regarding data leaks
+
+
## See also
+26
markdown/contact/work.md
···
+
# Information for hiring managers and future employers
+
+
[Go back to contact page](./index.md){ .md-button }
+
+
---
+
+
I am currently not open for work at the moment because I am more focused on finishing school
+
and upskilling through building and maintaining projects in the open, but I am open to
+
receive offers, except that I may slow to reply on them. Sorry if I couldn't reply lately.
+
+
## What I am looking for?
+
+
* All-remote jobs, as much as possible.
+
* If relocation to another country is needed, consider sponsor my costs for passport + visa application, flights and rent.
+
* For in-office/onsite work, must be near Marilao, Bulacan.
+
* Fair wages and benefits adjusted to inflation (might seems to be unrealistic in PH I guess)
+
* Health insurance, preferably with mental health and therapy coverage.
+
* either as part of benefits or as reimbursable expense
+
+
## You up?
+
+
Reach me up over [LinkedIn] or [via email][email-contact]. While I may entertain recruiters
+
using platforms outside of these, I only reply via email or LinkedIn.
+
+
[LinkedIn]: https://linkedin.com/in/ajhalili2006
+
[email-contact]: ./details.md#email
+53 -18
markdown/humans.txt
···
https://humanstxt.org
/* AUTHOR */
-
Standard: Andrei Jiroh Halili
-
Contact: https://andreijiroh.xyz/contact
-
Fediverse: https://tilde.zone/@ajhalili2006
-
From: Marilao, Bulacan, PH
+
Tilde: ~ajhalili2006
+
Standard: Andrei Jiroh
+
Full legal: Andrei Jiroh Eugenio Halili
+
Pronouns: he/they
+
Contact: https://andreijiroh.dev/contact
+
Socials: https://andreijiroh.dev/links
+
https://linktr.ee/ajhalili2006 (Linktree page as used on socials)
+
https://gravatar.com/ajhalili2006 (Gravatar profile page)
+
PGP ID: 4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8 (personal)
+
0527234A430387EA5695D824A30EBE40AD856D88 (@crew.recaptime.dev)
+
Currently in: Marilao, Bulacan, PH (also my hometown)
/* SITE */
-
Last update: 2024-04-19
-
Version: Currently unversioned
+
Last update: 2025-11-03 (might not be in sync with commit logs)
+
Timezone: PHT (GMT+8)
+
Version: Rolling release / edge
Language: English
Doctype: HTML5
-
IDE: nano, insiders.vscode.dev
-
Technologies: pip3:mkdocs, pip3:mkdocs-material
+
IDE: nano-editor.org, (insiders.)vscode.dev, zed.dev
+
Technologies: pip3:mkdocs, pip3:mkdocs-material, jsr:@hono/hono (for API routing),
+
GitLab CI, Cloudflare Workers, Deno Deploy, Nixpkgs via devenv.sh,
+
Read The Docs Community
+
Sources: https://gitlab.com/andreijiroh-dev/website (canonical website source)
+
https://github.com/andreijiroh-dev/api-servers/tree/main/apps/website-api
+
(API backend, hosted on Deno Deploy)
/* How is it deployed? */
-
I use GitLab CI on https://mau.dev by ~tulir (https://mau.fi)
-
and deployed on both Cloudflare Pages (production) and RTD Community
-
(as backup in case things go wrong and for previewing changes).
+
I use GitLab CI over at GitLab SaaS (aka https://gitlab.com) thanks to GitLab for Open-source Program,
+
previously on Manimum GitLab (https://mau.dev) by ~tulir (https://mau.fi), and deployed on both Cloudflare
+
Workers (production) and RTD Community (as backup in case things go wrong and for previewing changes).
-
You can view the GitLab CI config used for deployments at
-
https://mau.dev/andreijiroh-dev/website/-/blob/main/.gitlab-ci.yml,
-
and the homemade scripts at https://mau.dev/andreijiroh-dev/website/-/tree/main/bin.
-
Deployments on RTD Community can be tracked separately
-
at https://readthedocs.org/projects/ajhalili2006/.
+
You can view the GitLab CI config used for deployments at https://gitlab.com/andreijiroh-dev/website/-/blob/main/.gitlab-ci.yml.
+
Deployments on RTD Community can be tracked separately at https://readthedocs.org/projects/ajhalili2006/.
/* Legalese */
-
Site source code: MPL-2.0 (excluding third-party code)
-
Website content: CC-BY-SA-4.0 (excluding external content, media may be separately licensed)
+
Site source code: MPL-2.0 (excluding third-party code/libraries used)
+
Website content: CC-BY-SA-4.0 (excluding external content, media may be
+
separately licensed)
+
+
/* SEE ALSO */
+
// Open-source projects/orgs I lead/contribute to...
+
Recap Time Squad: https://recaptime.dev
+
Community Lorebooks: https://lorebooks.wiki
+
Hack Club Alumni Society:
+
https://alumni.hackclub.community
+
+
// ..and tools I use
+
Material for Mkdocs: https://squidfunk.github.io/mkdocs-material
+
Nix/Nixpkgs/NixOS: https://nixos.org / https://discourse.nixos.org
+
+
// Hacker / tech communities
+
Hack Club: https://hackclub.com
+
Hack Club Nest: https://hackclub.app
+
Prudue Hackers: https://pruduehackers.xyz (some of its community are friends of Hack Club HQ / Alumni Society)
+
MusicBrainz/ListenBrainz:
+
https://musicbrainz.org / https://listenbrainz.org (via https://metabrainz.org)
+
+
// tildeverse
+
Project Segfault: https://psf.lt
+
~environments: https://envs.net
+
Blahaj.land: https://blahaj.land / https://shork.eu
+
tildeverse: https://tildeverse.org
+79 -39
markdown/index.md
···
---
-
title: Home
-
description: |
-
#ActuallyAutistic Filipino web dev,
-
open-source maintainer, sometimes writer, always multifandom.
+
description: Open-sourcerer Autistic from the Philippines
+
hide:
+
- navigation
---
# Well hello there!
-
![GitHub readme banner](https://github.com/ajhalili2006/ajhalili2006/raw/83d1552339fec8d91eadcab0289d43b6a9ef775c/static/readme-banner-2022.png)
+
[![Profile views](https://komarev.com/ghpvc/?username=ajhalili2006&label=profile+views&color=yellow&style=flat-square)](https://github.com/antonkomarev/github-profile-views-counter)
+
[![Hack Club](https://badges.api.lorebooks.wiki/badges/hackclub/hackclub?style=flat-square)](https://hackclub.com)
+
[![Community Lorebooks badge](https://img.shields.io/badge/lorebooks.wiki-008080?style=flat-square&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNGRkZGUwIj48cGF0aCBkPSJNMjYwLTMyMHE0NyAwIDkxLjUgMTAuNVQ0NDAtMjc4di0zOTRxLTQxLTI0LTg3LTM2dC05My0xMnEtMzYgMC03MS41IDdUMTIwLTY5MnYzOTZxMzUtMTIgNjkuNS0xOHQ3MC41LTZabTI2MCA0MnE0NC0yMSA4OC41LTMxLjVUNzAwLTMyMHEzNiAwIDcwLjUgNnQ2OS41IDE4di0zOTZxLTMzLTE0LTY4LjUtMjF0LTcxLjUtN3EtNDcgMC05MyAxMnQtODcgMzZ2Mzk0Wm0tNDAgMTE4cS00OC0zOC0xMDQtNTl0LTExNi0yMXEtNDIgMC04Mi41IDExVDEwMC0xOThxLTIxIDExLTQwLjUtMVQ0MC0yMzR2LTQ4MnEwLTExIDUuNS0yMVQ2Mi03NTJxNDYtMjQgOTYtMzZ0MTAyLTEycTU4IDAgMTEzLjUgMTVUNDgwLTc0MHE1MS0zMCAxMDYuNS00NVQ3MDAtODAwcTUyIDAgMTAyIDEydDk2IDM2cTExIDUgMTYuNSAxNXQ1LjUgMjF2NDgycTAgMjMtMTkuNSAzNXQtNDAuNSAxcS0zNy0yMC03Ny41LTMxVDcwMC0yNDBxLTYwIDAtMTE2IDIxdC0xMDQgNTlaTTI4MC00OTRaIi8%2BPC9zdmc%2B)](https://lorebooks.wiki)
-
I'm **Andrei Jiroh Halili** (he/they), an 18 year old Autistic[^7] Filipino student, self-taught backend developer (in training), open-source contributor,
-
self-assigned BDFL and lead maintainer at [Recap Time Squad](https://recaptime.dev)[^1],
-
and part-time blogger for [my personal blog](https://ajhalili2006.substack.com)
-
and [The Bloody Hell PH](https://fromthebshq.substack.com) based in Marilao, Bulacan, Philippines. I'm passionate about Linux (especially shell scripting and all things
-
software packaging, currently Alpine Linux package maintainer for GitHub CLI), DevSecOps, programming (not only in JavaScript,
-
but I am also exploring Python, Go and other languages), politics (_cough Philippine politics in lens of foreigners while disabled with [Honest Government Ads] level of satire_) and internet health (things like fandom toxicity and cancel culture).
+
![GitHub readme banner](https://raw.githubusercontent.com/ajhalili2006/ajhalili2006/83d1552339fec8d91eadcab0289d43b6a9ef775c/static/readme-banner-2022.png)
-
Currently, I am participating in [Hack Club Arcade](https://hackclub.com/arcade) to work through
-
my personal projects throughout the first month of my last school year in senior high school and get
-
some stuff in return (once reviewed to prevent abuse), like those Yubikey 5C NFC with GitHub logo
-
and stickers, and also keeping up with all things Hack Club and virtually meeting with
-
the community of high school coders and communities fiscally hosted by them[^6] through their Slack workspace.
+
I am **Andrei Jiroh Halili** (he/they), an Autistic[^1] Filipino currently full-time student at day,
+
open-sourcerer[^4] at [Recap Time Squad] doing backend development in TypeScript across both
+
Node.js and Deno runtimes and being a [(SA)BDFL][sabdfl-wiki] on in most of its projects, a [Hack Clubber]
+
(joined on July 2024 during [Arcade][hc-arcade] and maintainer of [leeksbot] (companion Slack app for leeks channel), future
+
alumni 2025) and Alpine Linux packager (currently maintaining [GitHub CLI] [in the aports]) at night.
-
Outside of being a Linux enthusiast and JS dev myself, I am mostly seen lurking and joining lore discussions over at [~mikedmoy's Discord server](https://go.andreijiroh.xyz/discord/gildedguy)[^5]. I am not only followed animators and furries (_please send help in the backrooms if I need to eyebleach on NSFW art_), but also (not just anime) roleplaying accounts, SubStack writers and even fellow devs and disabled people (not just autistics).
+
## What's cooking and quick links
-
## Why I code + use Linux?
+
!!! info "Looking for all the links"
+
You do you: <https://links.andreijiroh.dev>
-
My journey in coding started at [Glitch.com](https://glitch.com) in 2017-2018 to learn a bit of Node.js, while
-
my Linux journey started few months after that using VirtualBox. Some suggest that it started off being a ~~internet addict~~
-
(the strikethough words is a bit of a stigma in itself due to being one of my coping mechanisms while autistic myself)[^6] chronically online Autist myself.
+
* :telescope: Iโ€™m currently working on different projects, most of them are hosted under
+
[Recap Time Squad] and some [Hack Club Slack community] projects, especially [the Alumni Society].
+
* :seedling: Iโ€™m currently learning backend development in TypeScript at both
+
Node.js and Deno runtimes, using Postgres + SQLite for database persistence,
+
DevSecOps with GitHub Actions and GitLab CI/CI
+
* :memo: I regularly write articles on [Ghost](https://blog.andreijiroh.dev), alongside post my progress
+
and behind the scenes updates on [Hack Club Scrapbook](https://scrapbook.hackclub.com/ajhalili2006)
+
* :mailbox: Want to contact me? [Go here for all the details.](./contact/index.md) Best way is via
+
[email](./contact/details.md#email), although expect a response within days or
+
weeks, depending on my availability and how cluttered my inbox is.
-
I code, usually in JavaScript for backend stuff, especially building APIs and learning all things databases through Prisma,
-
to learn how to build apps and tools. Although I am sort of semi-closeted disabled person
+
## More about myself
-
I use Linux, since using Windows is always a nightmare for not only software development (yes, WSL exists but why not go bare metal?)
-
but as a regular user from performance standpoint but to al
+
* Started in my journey as a backend dev since 2018 via Glitch dot com (RIP).
+
* While my early autism diagnosis helped me through speech therapy, I am still
+
between masking/suffering in silence while being neurodivergent in real life.
+
* A multifandom goober/chronically online person
## Tools I use and my setup
-
* **Laptop**: HP Notebook N0K71EA#A2N with 4 x Intel Core i7-5500U CPU @ 2.40GHz, 8 GB of RAM and 1TB HDD,
-
currently daily-driving Fedora Linux with KDE Plasma.[^3]
-
* **Phone**: Infinix X6528B with Android 13, 8 GB of RAM, 248 GB of internal storage[^3] (256 GB total if adding 8 GB reserved as virtual RAM).
-
* **Programming Languages**: [Node.js](https://nodejs.org) + [Deno](https://deno.land)
-
* **Editors**: nano, [VS Code](https://go.andreijiroh.xyz/vscode) (switching between stable and Insiders), [Zed](https://go.andreijiroh.xyz/zed-editor)
+
* **Laptop**: HP Notebook N0K71EA#A2N with 4 x Intel Core i7-5500U CPU @ 2.40GHz,
+
8 GB of RAM and 1TB internal HDD, currently daily-driving NixOS unstable.
+
* **Raspberry Pis**:
+
* Raspberry Pi 5 Model B Rev 1 with 4 GB of RAM and 64 GB of SD card for
+
Raspberry Pi OS + Debian 12 Bookworm, both received from one of Hack Club's YSWS programs.
+
* **Phone**: Infinix X6528B[^3] with Android 13, 8 GB of RAM, 248 GB of internal storage (256 GB total if adding
+
8 GB reserved as virtual RAM).
+
* **Programming Languages**: TypeScript via [Node.js](https://nodejs.org) + [Deno](https://deno.land), Bash
+
* **Editors**: mostly nano and [VS Code](https://vscode.dev) (switching between stable and Insiders), sometimes [Zed](https://zed.dev/)
* **Cloud development environments as service**: [GitHub Codespaces](https://github.com/features/codespaces), [Gitpod](https://www.gitpod.io)
-
* **Code forges**: [GitHub](https://github.com/ajhlili2006), [GitLab on ~tulir's instance](https://mau.dev/ajhalili2006)[^2], [sourcehut](https://sr.ht/~ajhalili2006)
+
* **Code forges**: Mainly [GitHub] and [GitLab SaaS][saas], also mirrors to
+
[~tulir's GitLab instance][mau.dev][^2], [sourcehut], [codeberg]
+
* **CI/CD**: [GitHub Actions](https://github.com/features/actions) and [GitLab CI]
+
* **Secrets management tools**: [dotenvx] for Git-based setup but encrypted, [Doppler SecretOps platform] for file-less remote configs
+
and [1Password] (mostly via [their open-source teams plan][op-oss-plan])
+
+
## The boring stats
+
+
Free free to skip this if you are not keen on looking at stats.
+
+
### GitHub Activity stats
+
+
[![github: activity stats](https://github-readme-stats.vercel.app/api?username=ajhalili2006&show_icons=true&theme=dark&title_color=ffffff&text_color=ffffff&locale=en)](https://github.com/anuraghazra/github-readme-stats)
+
+
## Hackatime / WakaTime
+
+
[![Hackatime stats](https://github-readme-stats.hackclub.dev/api/wakatime?username=97&api_domain=hackatime.hackclub.com&&custom_title=Hackatime+Stats&layout=compact&cache_seconds=0&langs_count=8&theme=github_dark_dimmed)](https://hackatime.hackclub.com)
+
+
<!-- links -->
+
[Recap Time Squad]: https://recaptime.dev
+
[Hack Club Slack community]: https://hackclub.com/slack
+
[the Alumni Society]: https://alumni.hackclub.community
+
[hc-arcade]: https://hackclub.com/arcade
+
[Hack Clubber]: https://hackclub.com
+
[leeksbot]: https://gitlab.com/recaptime-dev/hackclub-leeksbot
+
[GitHub CLI]: https://cli.github.com
+
[in the aports]: https://gitlab.alpinelinux.org/alpine/aports
+
[mau.dev]: https://mau.dev/ajhalili2006
+
[saas]: https://gitlab.com/ajhalili2006
+
[sabdfl-wiki]: https://wiki.andreijiroh.dev/kooky-insane-stuff/vocabulary/sabdfl/
+
[GitHub]: https://github.com/ajhlili2006
+
[sourcehut]: https://sr.ht/~ajhalili2006
+
[Doppler SecretOps platform]: https://www.doppler.com
+
[1Password]: https://www.1password.com
+
[op-oss-plan]: https://github.com/1Password/for-open-source
+
[dotenvx]: https://github.com/dotenvx/dotenvx
-
[^1]: Obviously not a US LLC company, but we're sorting out the fiscal hosting related chores behind the scenes.
-
More news soon once we're ready.
+
<!-- footnotes -->
+
[^1]: I use identity first language instead of medical/person first language in context of my disability and neurodivergence.
+
but will adjust accordingly to other disabled/neurodivergent people's preferences as needed.
[^2]: `~tulir`: Tulir Asokan (<https://mau.fi>)
[^3]: These are brought by my dad aboard and sent them back home as gift.
-
[^4]: See <https://hackclub.com/fiscal-sponsorship> for all things 501c3 US nonprofit fiscal sponsorship, although consider <https://opencollective.com/opensource> for 501c6 option for your open-source project.
-
[^5]: `~mikedmoy` (also `~gildedguy`): Michael Moy, also known in Hyun's Dojo Community as Gildedguy (the animator). See <https://gildedguy.com/website-reborn> for context behind his (old) domain.
-
[^6]: Quick trip to Vox.com article on this: <https://www.vox.com/the-goods/2021/9/30/22696338/pathologizing-adhd-autism-anxiety-internet-tiktok-twitter>
-
[^7]: While I am fine with anyone using person-first language (`person with autism`)
-
-
[Honest Government Ads]: https://go.andreijiroh.xyz/honest-govt-ads
+
[^4]: I mean open-source developer and maintainer myself for the uninitialized
+25 -21
markdown/keys/index.md
···
---
title: Cryptographic keys
---
-
This page contains all the cryptographic public keys I use for different purposes, ranging from
-
encryption and decryption to signing Git commits and even identity verification without requiring
-
an government-issued ID.
+
This page contains all the cryptographic public keys I use for different purposes,
+
ranging from encryption and decryption to signing Git commits and even identity
+
verification without requiring an government-issued ID.
## Keysigning ceremories
-
_This is moved to [Encrypted communications](../user-manual/encrypted-communications.md#key-signing-ceremories)._
+
_This is moved to [Encrypted communications](https://wiki.andreijiroh.dev/garden/user-manual/encrypted-communications#key-signing-ceremories) section of the personal user manual._
## GPG Keys
-
You can get all the GPG keys I use publicly, including the 2021 key (as shown on Keybase) and
-
ProtonMail-specific encryption key in one file [here](./pgp.asc). Make sure to check the fingerpints
-
and/or key IDs against [this list](#keys-i-use) to ensure its the right key.
+
You can get all the GPG keys I use publicly, including the old 2021 key (as shown on
+
Keybase) and ProtonMail-specific encryption key in one file [here](./pgp.asc). Make
+
sure to check the fingerpints and/or key IDs against [this list](#keys-i-use) to
+
ensure its the right key.
```bash
# one-liner import from my website (or via ajhalili2006.vern.cc and ctrl-c.club/~ajhalili2006)
-
# For my eu.org domain, use either the regular suffix or uk.eu.org one.
-
gpg --fetch-keys "https://andreijiroh.eu.org/keys/pgp.asc"
+
gpg --fetch-keys "https://andreijiroh.dev/keys/pgp.asc"
# sourcehut/gitlab, but it is advised to import latest keys and signatures from keyservers, listed below
gpg --fetch-keys "https://meta.sr.ht/~ajhalili2006.pgp"
+
gpg --fetch-keys "https://gitlab.com/ajhalili2006.gpg"
gpg --fetch-keys "https://mau.dev/ajhalili2006.gpg"
```
-
If you prefer to load it from a keyserver (let say you're an Ubuntu/Debian developer snooping around my
-
[Launchpad.net profile](https://launchpad.net/~ajhalili2006)), you can do so with these command below:
+
If you prefer to load it from a keyserver (let say you're an Ubuntu/Debian developer
+
snooping around my [Launchpad.net profile](https://launchpad.net/~ajhalili2006)),
+
you can do so with these command below:
```bash
# Other keyservers: pgp.mit.edu, keys.openpgp.org, keys.mailvelope.com
···
### Keys I use
-
* `4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8` - the December 2022 PGP key used for commits and encryption
-
(primary email: `ajhalili2006@gmail.com`)
-
* `0527234A430387EA5695D824A30EBE40AD856D88` - the Feburary 2021 PGP key, as shown on my Keybase profile
-
(primary email: `andreijiroheugeniohalili24680@gmail.com`)
+
* `4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8` - the December 2022 PGP key used for
+
commits and encryption (primary email: `ajhalili2006@andreijiroh.dev`)
+
* `0527234A430387EA5695D824A30EBE40AD856D88` - the Feburary 2021 PGP key, as shown on
+
my old Keybase profile (primary email: `andreijiroheugeniohalili24680@gmail.com`)
* `A715100E58CF60500EE159652F384539C700B263` - Recap Time Squad specific key
-
* `EA957E7086E934F8DB9CAD21940047813E9D641C` - spare signing key for software release, especially on my own
-
Debian package repos/Launchpad PPAs.
+
* `EA957E7086E934F8DB9CAD21940047813E9D641C` - spare signing key for software
+
release, especially on my own Debian package repos/Launchpad PPAs.
* `5D69E717C5BC95731C2AD8BD120C218ED2291996` - ProtonMail specific encryption key (`ajhalili2006@proton.me`)
## SSH Keys
You can also get all the keys in one file (and its signers file) at the following URLs:
-
* Website as its deployed via CI: <https://andreijiroh.eu.org/keys/ssh-trustfile.txt>
-
* As pushed via Git: <https://mau.dev/ajhalili2006/tildeverse-web/-/blob/main/markdown/keys/ssh-trustfile.txt>
+
* Website as its deployed via CI: <https://andreijiroh.dev/keys/ssh/trustfile.txt>
+
* As pushed via Git: <https://gitlab.com/andreijiroh-dev/website/-/blob/main/markdown/keys/ssh/trustfile.txt>
-
These SSH keys are used for signing Git commits and tags occassionally, as well for signing checksums file and identity verification on
-
account recovery for sr.ht and Miraheze.
+
These SSH keys are used for signing Git commits and tags occasionally, as well
+
for signing checksums file on release tarballs, encrypting and decrypting
+
secrets via `agenix` and friends and identity verification on account recovery
+
for sr.ht and Miraheze.
+25
markdown/keys/ssh/trustfile.txt
···
+
# Import these public SSH keys into your trustfile (https://man.openbsd.org/ssh-keygen#ALLOWED_SIGNERS)
+
# to make your life even easier on verifying SSH signatures. This file contains every public key I actively
+
# use with every possible email address I actively use for sending and receiving emails. When in doubt, chat
+
# over Matrix (@ajhalili2006:envs.net or @ajhalili2006:vern.cc), XMPP (ajhalili2006@vern.cc), Keybase (AJHaliliDev06)
+
# OR Session (052b5390ba98e49d4b7d0b5ecaecb68e467c6a7d57ec6980ba2bd451aa86c1cf4b) over EE2E.
+
#
+
# Tutorial: https://www.agwa.name/blog/post/ssh_signatures
+
# PUBKEYS LAST UPDATED: 2025-12-08
+
# DOCS LAST UPDATED: 2023-02-18
+
+
# personal addresses
+
ajhalili2006@andreijiroh.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 SSH Key - main personal key, circa 2022
+
ajhalili2006@andreijiroh.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= SSH Key - ajhalili2006@launchpad.net
+
ajhalili2006@gmail.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 SSH Key - main personal key, circa 2022
+
ajhalili2006@gmail.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= SSH Key - ajhalili2006@launchpad.net
+
+
# release signing keys
+
releases@andreijiroh.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHzLVfKtq8vBYeSrrVhwFwkpfu6TDLFgyjb3UmB+Jdhl
+
releases@recaptime.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO0+1KY7/oVd+umDYBKfxmeQ6689365dlfk28MNiAl4e
+
+
# crew.recaptime.dev specific
+
ajhalili2006@crew.recaptime.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDEYDna7HlVN6FL+Mxaof+WH5EoVmaUrM7GFAdQSveTJ RecapTIme.dev Crew SSH Key - @ajhalili2006
+
+
# school specifics
+
halili.459491@meycauayan.sti.edu.ph ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFI1Mj7gTG1IwnxPyr2AsXDq2kBq98hnijhgkGklkhWH
-21
markdown/keys/ssh-trustfile.txt
···
-
# Import these public SSH keys into your trustfile (https://man.openbsd.org/ssh-keygen#ALLOWED_SIGNERS)
-
# to make your life even easier on verifying SSH signatures. This file contains every public key I actively
-
# use with every possible email address I actively use for sending and receiving emails. When in doubt, chat
-
# over Matrix (@ajhalili2006:envs.net or @ajhalili2006:vern.cc), XMPP (ajhalili2006@vern.cc), Keybase (AJHaliliDev06)
-
# OR Session (052b5390ba98e49d4b7d0b5ecaecb68e467c6a7d57ec6980ba2bd451aa86c1cf4b) over EE2E.
-
#
-
# Tutorial: https://www.agwa.name/blog/post/ssh_signatures
-
# PUBKEYS LAST UPDATED: 2022-12-11
-
# DOCS LAST UPDATED: 2023-02-18
-
-
# ~ajhalili2006 - launchpad.net key
-
ajhalili2006@vern.cc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= gildedguy@andreijiroh
-
ajhalili2006@gmail.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= gildedguy@andreijiroh
-
# ~ajhalili2006 - automated/ssh git access for tildes
-
ajhalili2006@vern.cc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMhhCySAH8061Vnu7gfGVdAu++rvaMcM8sxelW5l9QvN ajhalili2006@vern.cc [git access ssh]
-
ajhalili2006@gmail.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMhhCySAH8061Vnu7gfGVdAu++rvaMcM8sxelW5l9QvN ajhalili2006@vern.cc [git access ssh]
-
ajhalili2006@recaptime.eu.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMhhCySAH8061Vnu7gfGVdAu++rvaMcM8sxelW5l9QvN ajhalili2006@vern.cc [git access ssh]
-
# ajhalili2006@recaptime.dev
-
ajhalili2006@recaptime.eu.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBvrT/nApjo8SQApta7WQXe4POo9EJTXUrPhAysP59os ajhalili2006@crew.recaptime.eu.org
-
ajhalili2006@recaptime.tk ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBvrT/nApjo8SQApta7WQXe4POo9EJTXUrPhAysP59os ajhalili2006@crew.recaptime.eu.org
-
+7
markdown/keys/ssh.pub
···
+
# This is @ajhalili2006's SSH keys in one place. It may
+
# be differs from those at his authorized_keys in the dotfiles
+
# repo.
+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 SSH Key - main personal key, circa 2022
+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= SSH Key - ajhalili2006@launchpad.net
+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDEYDna7HlVN6FL+Mxaof+WH5EoVmaUrM7GFAdQSveTJ RecapTIme.dev Crew SSH Key - @ajhalili2006
+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFI1Mj7gTG1IwnxPyr2AsXDq2kBq98hnijhgkGklkhWH
+56
markdown/links.md
···
+
# Everything ~ajhalili2006 in one place
+
+
Hi there! I am Andrei Jiroh, autistic Filipino, open-source developer and SABDFL at RecapTime.dev, Linux user and backend dev in Node.js and Deno.
+
+
_It's like Buffer and friends, but right inside this website and part of version control in Markdown._
+
+
## Meta
+
+
* :globe_with_meridians: [Personal website (you're actually here btw)](./index.md)
+
* :material-file-document-multiple: [Personal User Manual](https://wiki.andreijiroh.dev/garden/user-manual/index.md)
+
* :octicons-book-16: [Personal wiki / Digital Garden](https://wiki.andreijiroh.dev)
+
* :calendar: [now page](./now.md)
+
+
## Projects and communities
+
+
See them all in my portfolio and resume, both linked above in the previous section.
+
+
* :infinity: [Awesome Neurodiversity](https://linktr.ee/AwesomeND) - awesome list for resources aimed at neurodivergent people and allies/friends of them. **Currently on hiatus**
+
* :compass: [Andrei Jiroh in the multiverse / multifandom hellscapes](https://linktr.ee/MFHellscapes) - Just me across fandoms.
+
* :writing_hand: [The Bloody Hell PH](https://fromthebshq.carrd.co/) - Not just political writings and other things not in the main blog. **Probably on hiatus at the moment**
+
* :tools: [Recap Time Squad / RecapTime.dev](https://recaptime.dev) - home of most open-source work I do, among other things **Currently cooking right now**
+
* :simple-hackclub: **Hack Club** - online community for teenage hackers and makers
+
* :computer: In The Tildeverse
+
* [:simple-hackclub: Hack Club Nest](https://wiki.andreijiroh.dev/garden/tildeverse/hackclub-nest)
+
* [:rocket: Uberspace](https://wiki.andreijiroh.dev/garden/tildeverse/uberspace)
+
+
## Code forges
+
+
* :octicons-mark-github-24: [GitHub profile](https://github.com/ajhalili2006)
+
* [Extended namespace](https://github.com/andreijiroh-dev)
+
* [Experimential projects](https://github.com/ajhalili2006-experiments)
+
* :simple-gitlab: [GitLab profile on SaaS](https://gitlab.com/ajhalili2006) ([also on Manimum GitLab](https://mau.dev/ajhalili2006))
+
* [Extended namespace](https://gitlab.com/andreijiroh-dev) ([alt](https://mau.dev/andreijiroh-dev))
+
* :simple-codeberg: [Codeberg](https://codeberg.org/ajhalili2006)
+
* :simple-sourcehut: [sourcehut](https://sr.ht/~ajhalili2006)
+
* :simple-launchpad: [Launchpad.net](https://launchpad.net/~ajhalili2006)
+
+
## Socials
+
+
* :openweb-icons-fediverse: [@ajhalili2006@tilde.zone](https://tilde.zone/@ajhalili2006) or [@ajhalili2006@verified.coop](https://verified.coop/@ajhalili2006)
+
* also [@JirohsMind@neurodifferent.me](https://neurodifferent.me/@JirohsMind) for more autistic and personal posts
+
* :simple-bluesky: [@andreijiroh.dev](https://bsky.app/profile/andreijiroh.dev)
+
* :simple-threads: [@ajhalili2006@threads.net](https://threads.net/@ajhalili2006)
+
* :material-twitter: [@ajhalili2006@twitter.com](https://twitter.com/@ajhalili2006) (or `@ajhalili2006@x.com` if you're pedantic)
+
* also [@JirohsMind@twitter.com](https://twitter.com/@JirohsMind) for more autistic and personal posts
+
* :simple-tumblr: [@ajhalili2006@tumblr.com](https://tumblr.com/ajhalili2006) ([askbox](https://www.tumblr.com/new/ask/ajhalili2006))
+
* :simple-linkedin: [@ajhalili2006@linkedin.com](https://linkedin.com/in/ajhalili2006)
+
* :simple-facebook: [@ajhalili2006@facebook.com](https://facebook.com/ajhalili2006)
+
+
## Contact methods
+
+
* :e-mail: [My email addresses](./contact/details.md#email) or [public inbox](https://wiki.andreijiroh.dev/garden/tools/public-inbox)
+
(see also <https://github.com/andreijiroh-dev/personal-launchpad>)
+
* :simple-matrix: [@ajhalili2006@andreijiroh.dev](https://matrix.to/#/@ajhalili2006:andreijiroh.dev) or [@ajhalili2006@envs.net](https://matrix.to/#/@ajhalili2006:envs.net)
+
* :simple-telegram: [ajahlili2006.t.me](https://ajhalili2006.t.me)
+
* :simple-discord: [@ajhalili2006:discord.com](https://discord.com/users/) (also [join my server too](https://discord.gg/TBD))
+78 -24
markdown/now.md
···
description: What ~ajhalili2006 been doing lately, sometimes behind the scenes.
---
-
Hey, youโ€™re lurking on [my own now page][nowpage-info], where usually tell you
-
what am I been doing (or if youโ€™re watching TheJuiceMedia videos, cooking
-
while in lockdown) and what Iโ€™m focusing on at this point. Iโ€™ll attempt
-
to keep this updated, at least on bi-monthly basis.
-
([sneak to my nownownow entry](https://nownownow.com/p/Dxh0) for some tidbits)
+
Welcome to my [now page][nowpage-info] where I log what's been cooking behind the
+
scenes lately. ([sneak to my nownownow entry for this page][nownownow]) for some tidbits)
[nowpage-info]: https://nownownow.com/about
+
[nownownow]: https://nownownow.com/p/Dxh0
-
_**Last updated (PHT)**: 2023-09-25_
+
_**Last updated (PHT)**: 2025-10-27 from Marilao, Bulacan, PH_
-
## What am I doing/done lately
+
## December 2025
-
Horribly busy at senior high school while hauling over [autistic burnout](https://www.spectrumnews.org/news/autistic-burnout-explained/) (alongside some mental
-
health issues relating to being closeted disabled/ND person, including internalized ableism and ).
+
It's Wrapped season! Check back here for the long-form blog post soon.
+
+
## October-November 2025
+
+
### Listening on loop
+
+
There's a always-updating playlist of what's on the daily rotation on both [Spotify][drs]
+
and [YouTube][dryt] with weekly updates. Here's a rundown of what's on the loop in the last
+
October and November.
-
Few weeks ago, I'm officially graduated on [Coda Doctorate program](https://coda.io/@maria-marquis/earn-your-coda-doctorate), even through I may have
-
some docs still unfinished to this day (but hopefully exectuive dysfunctioning don't hit
-
me like a bus). ([find me on alummi list](https://coda.io/@maria-marquis/coda-doctorate-graduates))
+
- TBD
-
## Where am I?
+
### School
-
Currently on our familyโ€™s house until at least I can find a job in the future and afford a house to at least rent to.
-
Currently observing Philippine Standard Time, which if youโ€™re on Eastern Time, my apologies for late replies.
+
### Hack Club Community / Alumni Society
-
Please do not ask me for my home address if you want to send me some stuff instead of usual handwritten fan mail, Iโ€™ll ignore that due to privacy reasons.
+
- Launched a community Tangled Knot server, running on Nest
+
- Set up GitLab.com namespace for the Hack Club Community + Alumni Society projects
+
under GitLab for Open-source Program
+
- First subdomain user under the `hackclub.community` domain
-
## TODOs, any ideas, anything else?
+
## May 2025
-
For the personal backlog I can share publicly, please [see my todo.sr.ht tracker](https://todo.sr.ht/~ajhalili2006/ajhalili2006) and [also on GitLab](https://mau.dev/andreijiroh.dev/launchpad/issues).
+
### Listening on Loop
-
## Archives
+
!!! info "Note from @ajhalili2006 as of 2025-11-03"
+
Forgot to list what's on the loop at that period and might be busy lately, gonna check the stats later
-
### Commits on sources + web archives
+
### PH Politics
-
* [2023-07-15](https://mau.dev/andreijiroh.dev/website/-/blob/2cb74ba9754509470469c03c898a9d3cc97eef80/markdown/now.md) - [web archive](https://web.archive.org/web/20230728021258/https://andreijiroh.eu.org/now/)
-
* [2023-03-04](https://mau.dev/andreijiroh.dev/website/-/blob/c6693426cf44d99297c4b3409571b3482dfc463e/markdown/now.md) - [web archive](https://web.archive.org/web/20230320175751/https://andreijiroh.eu.org/now/) ([archive.today](https://archive.is/0xZ7V))
+
Recently voted at the 2025 mid-terms elections for the first time after my
+
first elections for Barangay and Sangguniang Kabataan (SK) elections in 2023.
+
Imagine you want to do a marathon of ABS-CBN News' [Halalan 2025] coverage after the election week.
+
+
[Halalan 2025]: https://go.fawn-cod.ts.net/get-link-todo
+
+
## February 2025
+
+
### Listening on Loop
+
+
Here are the songs I listen on loop for the month of [February 2025](https://www.last.fm/user/ajhalili2006/library?from=2025-02-01&to=2025-02-28):
+
+
* Royal Blood - Tell Me When It's Too Late ([last.fm scrobbling data][scrbl-tmwitl])
+
* Koven - Industrial Strain ([last.dm scrobbling data][scrbl-is])
+
* Nitro Fun - POWER ([last.fm scrobbling data][scrbl-pwr])
+
+
[scrbl-tmwitl]: https://www.last.fm/user/ajahalili2006/library/music/Royal+Blood/_/Tell+Me+When+Itโ€™s+Too+Late
+
[scrbl-is]: https:///www.last.fm/user/ajhalili2006/library/music
+
[scrbl-pwr]: https://www.last.fm/user/ajhalili2006/library/music/Nitro+Fun/_/POWER
+
+
### Recap Time Squad and friends
+
+
At Recap Time Squad side of the things, we moved `recaptime.dev` and other domains back to
+
Cloudflare Registrar (with my High Seas HCB credits) from Porkbun and used
+
+
### Hack Club
+
+
Grinded 148 hours of coding (mostly backend dev and literally writing Markdown
+
content) during [High Seas](https://highseas.hackclub.com), and here's what I
+
ordered in the wind down periods (aka before the shop closes):
+
+
* USD 280 on Porkbun + Cloudflare HCB credits
+
* USD 20 for `recaptime.dev` (USD 25.78)
+
* a lot of piles of stickers (hopefully it does not get lost on mail)
+
* Raspberry Pi 5 for dedicated homelab server setup at home
+
* Another YubiKey 5C NFC because I lost the first one from Arcade (RIP)
+
+
### School
+
+
You know it as the leader of your research team at Pratical Research 2 (PR 2) / Inquiries, Investigations,
+
and Immersion (3I / I.I.I) subject, you are always cooked between working on different aspects, keeping
+
team morale and recordkeeping for documentation and grading purposes.
+
+
## Web/Commit Archives
+
+
* [2024-07-27](https://mau.dev/andreijiroh-dev/website/-/blob/ec1cdd817280f19e8225b55cf0820e810860803e/markdown/now.md) - [web archive](https://web.archive.org/web/20241110083528/https://andreijiroh.dev/now/)
+
* [2023-07-15](https://mau.dev/andreijiroh-dev/website/-/blob/2cb74ba9754509470469c03c898a9d3cc97eef80/markdown/now.md) - [web archive](https://web.archive.org/web/20230728021258/https://andreijiroh.eu.org/now/)
+
* [2023-03-04](https://mau.dev/andreijiroh-dev/website/-/blob/c6693426cf44d99297c4b3409571b3482dfc463e/markdown/now.md) - [web archive](https://web.archive.org/web/20230320175751/https://andreijiroh.eu.org/now/) ([archive.today](https://archive.is/0xZ7V))
### Former content on WordPress.com
-
> Please be reminded that content on WordPress.com will be archived as I moved blog content to Substack and anything else into this website.
+
!!! warning "WordPress.com content may be deprecated"
+
Please be reminded that content on WordPress.com will be archived or in private mode as I moved blog
+
content to Ghost (previously Substack) and anything else into this website.
-
* [Last content update](https://ajhalili2006.wordpress.com/now/), also archived on [Archive.Today]()
+
* [Last content update](https://ajhalili2006.wordpress.com/now/), also archived on [Archive.Today](https://tbd.andreijiroh.dev)
* [July 2022 update](https://web.archive.org/web/20221011021323/https://ajhalili2006.wordpress.com/now/) via Internet Archive Wayback Machine
+19 -11
markdown/portfolio/communities.md
···
# ~ajhalili2006's communities
-
_Last updated as of 2023-02-25_
## Actively participating on
-
| Name | Type / Role | Description | Links |
-
| --- | --- | --- | --- |
-
| [Recap Time Squad](https://recaptime.eu.org) (also known as RecapTime.dev, formerly The Pins Team) | Org / Founding and lead squad member | My official home for most of my (not just) open source projects. | [mailing lists on sr.ht](https://lists.sr.ht/~recaptime-dev) ([googlegroups](https://wiki.recaptime.eu.org/wiki/Handbook:Mailing_lists/Google_Groups)), [fediverse](https://recaptime.eu.org/fedi), [substack](https://recaptime.substack.com), [elsewhere](https://recaptime.bio.link)
-
| [Hermitcraft](https://hermitcraftcom) | Minecraft SMP / Community member | TODO | [subreddit](https://reddit.com/r/hermitcraft), wiki ([via fandom/wikia](https://hermitcraft.fandom.com) or [in subreddit](https://reddit.com/r/hermitcraft/wiki/index)), [HC Recap (unofficial)](https://go.recaptime.eu.org/TheHCRecap)
+
* [Recap Time Squad](https://recaptime.dev)
+
* Open-source Developer/Maintainer and SABDFL (self-assigned benevolent dictator for life)
+
* Backend Node.js/Deno Developer
+
* [Hack Club](https://hackclub.com)
+
* YSWS (You Ship, We Ship) Program Participant in [Arcade 2024](https://hackclub.com/arcade) and [High Seas 2024](https://highseas.hackclub.com)
+
* Designated as Primary Team Member/Project Liaison for [Recap Time Squad](https://hcb.hackclub.com/recaptime-dev) on its fiscal sponsorship agreement with [HCB](https://hackclub.com/fiscal-sponsorship) (see above on my role as SABDFL and more)
+
* Community member and future alumni
## On hitatus
-
| Name | Type / Role | Description | Links | Reason
-
| --- | --- | --- | --- | --- |
-
| Alpine Linux | Package maintainer ([GitHub CLI](https://cli.github.com)) | Lightweight Linux distribution based on musl libc and BusyBox | TODO | Busy in school, mostly |
+
* [Alpine Linux](https://alpinelinux.org)
+
* Package maintainer for [GitHub CLI](https://cli.github.com)
## Left
-
| Name | Type / Role | Description | Links | Reason
-
| --- | --- | --- | --- | --- |
-
| TBD | | | | |
+
TBD
+
+
## Honorable mentions
+
+
* honorable mention in Gitpod's [credits to security researchers](https://www.gitpod.io/security/thanks) page per [`gh:gitpod-io/workspace-images#540`](https://github.com/gitpod-io/workspace-images/pull/540)
+
* Made the [GitLab Community Discord](https://discord.gg/gitlab), now officially managed by the GitLab team and currently as community admin behind-the-scenes
+
+
## Looking for fandoms?
+
+
Soon on the digital garden.
+6 -22
markdown/portfolio/index.md
···
title: Portfolio
---
-
# ~ajhalili2006's portfolio
-
!!! info "Looking for the chronological version of this?"
-
-
*Last updated: 2023-10-01* ([Looking for my resume?](../user-manual/resume.md))
-
-
## work
-
-
* [**Recap Time Squad**](https://recaptime.eu.org), *since 2018 as The Pins Team (although started way earlier than that)* - not (officially)
-
an company[^1] where I host most of my open-source projects, especially:
-
* [Community Radar (also known as `radar.community`)](https://communityradar.substack.com), our official newsletter
-
although also inactive due to
-
* [Community Lores (also known as `lorebooks.wiki`)](https://lorebooks.eu.org), the documentation arc of the org, mostly hosts documentation projects and stuff
-
* and various projects I could list here but it might be long
-
* [**The Bloody Hell PH**](https://fromthebshq.substack.com), *since 2022 as
-
[`@shitfuckery-at-bullshit-dot-hq@tumblr.com`](https://tumblr.com/shitfuckery-at-bullshit-dot-hq)* - talking about politics a la TheJuiceMedia's Honest Government Ads, multifandom discussions, and then random musings and ramblings
-
* [**~ajhalili2006's blog**](https://ajhalili2006.substack.com), formerly on [WordPress.com](https://ajhalili2006.wordpress.com) - life updates and personal stuff
-
-
[^1]: See <https://mau.dev/recaptime-dev/squad/issue-tracker/-/issues/9> for details.
-
-
## community
+
# ~ajhalili2006's portfolio
-
* honorable mention in Gitpod's [credits to security researchers](https://www.gitpod.io/security/thanks) page per [`gh:gitpod-io/workspace-images#540`](https://github.com/gitpod-io/workspace-images/pull/540)
-
* Made the [GitLab Community Discord](https://discord.gg/gitlab), now officially managed by the GitLab team and currently as community admin behind-the-scenes
+
* [Resume](https://ajhalili2006.notion.site/Resume-52500f8455754376bf93fba95dd1efb9?pvs=4)
+
([Google Docs version](https://docs.google.com/document/d/1fnd_ESioToW4_dwU_BOBNYoSjxhkYbCH70NtdCHeAaw/edit?usp=drivesdk))
+
* [Communities](./communities.md)
+
* [In the tildeverse](https://wiki.andreijiroh.dev/garden/tildeverse)
+
* [Projects I worked on](./projects.md)
+3 -10
markdown/portfolio/tildes.md
···
# ~ajhalili2006 in the tildeverse
-
_Last updated as of 2023-02-20 (PH Standard Time)_
-
-
This page contains all the tildes I'm part of currently and in the past for transparency reasons and to make easier for fellow people of the tildeverse to find me.
-
-
## Current tildes
-
-
| Name / Link | Membership Type/Status | Userpage URL |
-
| --- | --- | --- |
-
| [~vern](https://vern.cc) | Gated registration only (via form) - Current home tilde | <https://ajhalili2006.vern.cc>
-
| [Ctrl-C Club!](https://ctrl-c.club) | Gated registration only (via form) - Former home tilde + also my first tilde | <https://ctrl-c.club/~ajhalili2006>
+
!!! warning "Moving to the digital garden"
+
This page is intentionally turned into a soft redirect while I am moving
+
things to the digital garden.
+3 -3
markdown/security.md
···
## Systems in Scope
This policy applies to any digital assets owned, operated, or maintained by Andrei Jiroh Halili.
-
This includes any open-source projects licensed under OSI and FSF approved licenses.
+
This includes any open-source projects licensed under OSI and FSF approved licenses and services he built.
## Out of Scope
-
- Assets or other equipment not owned by parties participating in this policy.
+
- Assets or other equipment not owned by parties participating in this policy. This includes anything under Recap Time Squad, which operates with its own security policy at <https://policies.recaptime.dev/security>
- Any other assets or other equipment owned by Andrei Jiroh that are deemed out of scope
at his discretion.
···
## Official Channels
-
Please report security issues via `ajhalili2006@andreijiroh.eu.org` or <https://andreijiroh.eu.org/contact/security>, providing all relevant information. The more details you provide, the easier it will be for us to triage and fix the issue.
+
Please report security issues via `security@andreijiroh.xyz` or following the general instructions at <https://andreijiroh.xyz/contact/security>, providing all relevant information. The more details you provide, the easier it will be for us to triage and fix the issue.
## Safe Harbor
-28
markdown/user-manual/boundaries.md
···
-
# Personal and Professional Boundaries
-
-
-
-
## General
-
-
* Donโ€™t leak nor spill beans on what shouldnโ€™t be discussed, especially confidential and personal stuff.
-
This also includes anything discussed off-the-record.
-
* Read my personal user manual in full before you contact me.
-
* For fandom-related stuff and other things, consider [reading my DNI](./dni.md)
-
-
## Personal
-
-
!!! note
-
Looking for mental health parts, especially on neurodivergence/disability? You might be looking at [:material-wheelchair-accessibility::fontawesome-solid-brain: Neurodivergence and Disability](./neurodivergence-and-disability.md).
-
-
## Professional
-
-
## What happened when boundaries are disrespected?
-
-
Hopefully tantrums, meltdowns and shutdowns donโ€™t happen in front of your own eyes in levels I canโ€™t handle, especially the silent ones.
-
-
In most cases, I might be frustated
-
-
## What about your DNI (Do Not Interact) list?
-
-
The [DNI list](./dni.md) is mostly apply to online communications, especially among different (multi)fandom (sometimes RP) accounts.
-
You can also treat them as extension (or addendum) to this.
-68
markdown/user-manual/communications.md
···
-
# Communications
-
-
This page contains documentation on how to communicate with people in the neurodiversity and the wider disability communities in mind and also on gender neutral communication.
-
-
Suggestions and feedback to improve this content are welcome and encouraged.
-
Note that these docs might be not applicable to your case if youโ€™re considering writing your own
-
personal user manual and I donโ€™t speak for anyone else.
-
-
## TL;DR
-
-
> Some of them were copied from <https://t.me/ajhalili2006_bio/4> in part for when sliding into DMs.
-
-
1. [Donโ€™t be a dick](https://www.psychologytoday.com/us/blog/the-author-speaks/201909/don-t-be-dick) (aka violent, discriminatory, disrespectful or even disturbing in any way).[^1]
-
2. Respect my preferred pronouns and avoid PFL (person-first language) in most cases.
-
3. Donโ€™t @ me during downtime, sleep and day-offs. In case of emergencies, call me over my personal phone number that I provided or through provided contact methods.
-
For sensitive manners (like reporting security related issues), use Keybase, Session or Matrix (make sure to enable EE2E when initiating an one-to-one chat with me). If you want to connect through Session, Iโ€™ll provide my public ID when needed.
-
4. No crypto nonsense (even I use mirror.xyz and some other dapps), self promo hellscape, doxxing, death/swatting threats or calls to violence towards me or anybody.
-
5. Donโ€™t dare even send me NSFW/CACP.
-
6. Future employers and recruiters: Please contact via email or LinkedIn only.
-
7. I WILL NOT RESPOND FROM ANYBODY ON FACEBOOK MESSENGER. This applies to both my main and alternative personal profiles,
-
unless you're either know me IRL or for official business at school and work and your org policies does only allow
-
communications on Facebook Messenger/WhatsApp.
-
-
[^1]: Explainer from admins and mods at `hachyderm.io`: <https://community.hachyderm.io/docs/rule-explainer/#dont-be-a-dick>
-
-
## Pronouns and Language
-
-
My pronouns is `he/they` (technically `he/him/they/them` for long version), although `they/them` is much preferred even if I chose to be identified to my gender at birth.
-
-
In terms of discussing about things relating to neurodiversity and disability, I prefer identity first, especially when discussing about my disability and things like neurodiversity,
-
since I mostly frame ableism and other issues related to these under both social and human rights models of disability.
-
You might check the [note on disabled and disability](https://www.thesaurus.com/e/writing/person-first-vs-identity-first-language/#note-on-disabled-and-disability) at thesaurus.com,
-
especially when discussing accessibility across the community. I donโ€™t usually gatekeep language relating to disability, although I might do when discrimination and bullying happens or when clarification is needed.
-
-
## Availability
-
-
When considering doing a synchronous meeting (or even doing a personal call with me),
-
consider both my schedule, workload and the timezone (currently in Philippine Standard Time/`UTC+8`).
-
In most days, Iโ€™ll be unavailable for contact from 21:00 to 09:30 the next day, although [this could change](#office-hours).
-
Iโ€™m also unavailable on weekends and official holidays (both local within the city of Marilao and the
-
province of Bulacan and national), so expect additional delays on replies if itโ€™s a long weekend.
-
-
## Communicating at work
-
-
Generally, Iโ€™m not a fan of sync meetings, especially if iot is scheduled outside of my office hours in PH Standard Time.
-
-
### Office Hours
-
-
!!! warning "Currently left TBD due to school"
-
-
| Day | Regular Hours in PHT | Holidays / Rest Days [^1] |
-
| --- | --- | --- |
-
| Weekdays | TBD | TBD |
-
| Weekends | TBD | TBD |
-
-
### Recap Time Squad specifics
-
-
* Work-related stuff should be discussed in Recap Time Squadโ€™s chatrooms (either public or staff-only, although anything confidential/internal should be stay in staff-only chat).
-
* Ping me when only needed. Also, DO NOT ping @everyone.
-
* I don't usually read email, but if you sent me some important emails
-
(via my `@crew.recaptime.eu.org` or personal addresses),
-
please proactively reach me out via other contact methods.
-
-
## Additional resources
-
-
TBD
-
-
[^1]: My regular rest days usually happen on Saturdays, although they might be adjusted because of holidays and other reasons.
-31
markdown/user-manual/dni.md
···
-
# Do Not Interact List
-
-
_**Last updated**: TBD, still a working draft_
-
-
!!! info "This content is also available on my multifandom Tumblr"
-
I'm mirroring this to <https://multifandom.andreijiroh.eu.org/dni> after some delay.
-
-
This page contains the list of people where ~ajhalili2006 specifically does not want to interact with them. It is expected for those who are affected by this DNI list to avoid following him, although blocking him is too much unless otherwise needed.
-
-
~~If spotted (even when following the Community Code of Conduct) in my his personal spaces (not in professional settings including Recap Time Squad, although his boundaries still apply), expect moderation actions up to and including wielding banhammers against your Tumblr blogs (plus other accounts across the internet).~~
-
-
If you're part of these in this DNI list, please interact at your own risk. I know the strikedthough text
-
above seems to be 1984-styled of witch-hunting, apologies for that.
-
-
## Table of contents
-
-
* [General Shitfuckeries](#general-shitfuckeries)
-
* [Shippers](#shippers)
-
* [Dream Stans/Supporters](#toxic-dream-stanssupporters)
-
-
## General Shitfuckeries
-
-
As always, you must follow my [boundaries](./boundaries.md), both personal and professional.
-
-
## Shippers
-
-
Iโ€™m not a pro-shipper, although sometimes things go horribly wrong when I ship people that shouldnโ€™t be shipped. Iโ€™m more of a silent โ€œship responsiblyโ€ advocate like anyone else.
-
-
## (Toxic) Dream Stans/Supporters
-
-
I do not generally banhammer any people who support/stan Dream and the crew (aka Dream Team for the uninitiated), unless they do things toxic do fans in the interwebs.
-13
markdown/user-manual/encrypted-communications.md
···
-
# Encrypted communications
-
-
## Key-signing ceremories
-
-
If you would like to build your web of trust with me (and probably with your friends), let me know
-
(via [my meeting booking form](https://calendar.app.google/P8dvgAsvrtqi8mPR9) ([alternative link](https://coda.io/form/Schedule-a-meeting-with-ajhalili2006_deaLq2my-OX)),
-
or via regular chat venues).
-
Due to my current schedule as a high school student, I'm only accept asynchorous key-signing ceremories
-
for the moment.
-
-
For asynchorous ceremories, I recommend doing it publicly through [this repo](https://go.recaptime.eu.org/keysigning-ceremory)
-
and [`#keysigning-ceremories.recaptime.dev:envs.net`](https://matrix.to/#/#keysigning-ceremories.recaptime.dev:envs.net). In case
-
of in-person ceremories, taking a picture with yours truly (with your own list of PGP fingerprints on a piece of paper) is enough.
-5
markdown/user-manual/flaws-and-quirks.md
···
-
# Flaws and quirks
-
-
!!! info "Visit the Coda version of this page for up-to-date content"
-
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/personal-and-professional-boundaries-9){ .md-button }
-
[:octicons-report-16: Report inconsistencies between versions](https://go.andreijiroh.eu.org/website-feedback/coda){ .md-button }
-36
markdown/user-manual/index.md
···
-
---
-
description: Get to know Andrei Jiroh better by reading his personal user manual.
-
---
-
# Personal User Manual
-
-
!!! info "This website is currently the official mirror of my personal README over at Coda"
-
<id="canonical-link">
-
In the future, I'll port things into this website to allow for community contributions without
-
messing around doc permissions. If you found any inconsistencies between versions, please do let me know in the Issue tracker so that I fix it.
-
-
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/personal-user-manual-8){ .md-button }
-
[:octicons-report-16: Report inconsistencies between versions](https://go.andreijiroh.eu.org/website-feedback/coda){ .md-button }
-
-
Hello there, and welcome to my personal user manual. This is where I document about myself for others in terms
-
of communications and teamwork. While the contents of this mini wiki will be always a work in progress, Iโ€™ll expand
-
them as I add missing information and update outdated details behind the scenes.
-
-
## About me
-
-
[_Go back to the homepage for the introduction_](../index.md)
-
-
## Contents
-
-
Although they originally editied in Coda, I slowly moving some of them here.
-
-
* [:material-chat: Communications](./communications.md)
-
* [:material-fence: Personal and professional boundaries](./boundaries.md)
-
* [:material-wheelchair-accessibility::fontawesome-solid-brain: Neurodivergence and Disability](./neurodivergence-and-disability.md)
-
* [:fontawesome-solid-cloud-bolt: Flaws and quirks](./flaws-and-quirks.md)
-
* [:material-briefcase: Job Employment Availability](./job-employment-availability.md)
-
* [:material-guy-fawkes-mask: Roleplaying Hellscape](./roleplaying-hellscape.md)
-
-
## Other links
-
-
* [Resume](./resume.md)
-
* [Legalese and policies](https://coda.io/@ajhalili2006/readme/legalese-and-policies-5)
-6
markdown/user-manual/job-employment-availability.md
···
-
# Job Employment Availability
-
-
!!! danger "Content only available in Coda version of this page"
-
To ensure links don't break in the foreseekable future, we kept this page as a soft redirect.
-
-
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/job-employment-availability-12){ .md-button }
-9
markdown/user-manual/neurodivergence-and-disability.md
···
-
# Neurodivergence and Disability
-
-
!!! info "Visit the Coda version of this page for up-to-date content"
-
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/neurodivergence-and-disability-14){ .md-button }
-
[:octicons-report-16: Report inconsistencies between versions](https://go.andreijiroh.eu.org/website-feedback/coda){ .md-button }
-
-
## Language
-
-
> See also [Communications](./communications.md)
-15
markdown/user-manual/resume.md
···
-
# My resume
-
-
This page contains the link to my resume for future employers and those who are
-
curious on what kind of work I'm doing in the past and present and then some notes from yours truly on how to use them.
-
-
[*(Looking for my portfolio? Hop in here.)*](../portfolio/index.md)
-
-
## The basics
-
-
The resume itself is hosted on [my Coda profile doc-as-page](https://coda.io/@ajhalili2006/readme/resume-2), but I'm working on making PDF versions of them behind the scenes. You can also stalk
-
me on [LinkedIn](https://linkedin.com/in/ajhalili2006) if you do.
-
-
## Need customized ones?
-
-
[Contact ~ajhalili2006](../contact/index.md) over chat or email, especially if you need his phone number and home address.
-5
markdown/user-manual/roleplaying-hellscape.md
···
-
# Roleplaying Hellscape
-
-
!!! info "Visit the Coda version of this page for up-to-date content"
-
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/roleplaying-hellscape-13){ .md-button }
-
[:octicons-report-16: Report inconsistencies between versions](https://go.andreijiroh.eu.org/website-feedback/coda){ .md-button }
+6 -2
mkdocs.readthedocs.yml
···
INHERIT: mkdocs.yml
-
site_name: ~ajhalili2006 (staging website)
-
site_url: https://staging.andreijiroh.xyz/
+
site_name: ~ajhalili2006 (on RTD Community)
+
site_url: https://staging.andreijiroh.dev/
docs_dir: markdown
site_dir: public
+
extra:
deployment: staging # for the announcement banner
+
extra_javascript:
+
- assets/javascripts/rtd.js
+
- assets/javascripts/feedback.js
+91 -48
mkdocs.yml
···
# basics
site_name: ~ajhalili2006
-
site_url: https://andreijiroh.xyz/
+
site_url: https://andreijiroh.dev/
site_dir: public
site_author: Andrei Jiroh Halili
copyright: >
···
use_directory_urls: true
# repos
-
repo_url: https://mau.dev/andreijiroh-dev/website
+
repo_url: https://gitlab.com/andreijiroh-dev/website
edit_uri: edit/main/markdown
repo_name: source code
# navbar
nav:
-
- Home:
-
- index.md
-
- nowpage: now.md
-
- Contact: contact/index.md
-
- PGP and SSH keys: keys/index.md
-
- "All my links": "https://ajhalili2006.start.page"
-
- Legal:
-
- Security policy: security.md
-
- Personal user manual:
-
- Manual Homepage: user-manual/index.md
-
- Personals:
-
- FAQs about me: faq.md
-
- Flaws and Quirks: user-manual/flaws-and-quirks.md
-
- Neurodivergence and Disability: user-manual/neurodivergence-and-disability.md
-
- Community:
-
- DNI List: user-manual/dni.md
-
- Boundaries: user-manual/boundaries.md
-
- Social Media Policy: user-manual/socials.md
-
- On Roleplaying: user-manual/roleplaying-hellscape.md
-
- Communications:
-
- General Communications Policy: user-manual/communications.md
-
- Encrypted communications: user-manual/encrypted-communications.md
-
- Portfolio:
-
- portfolio/index.md
-
- Projects: portfolio/projects.md
-
- Communities: portfolio/communities.md
-
- Tildes: portfolio/tildes.md
-
- Resume: user-manual/resume.md
-
- Blog: "https://blog.andreijiroh.eu.org" # todo: point to substack
+
- Profile README: index.md
+
- Meta:
+
- nowpage: now.md
+
- Socials: links.md
+
- Contact:
+
- contact/index.md
+
- "Code reviews": contact/code-reviews.md
+
- "Donations and Sponsorships": contact/donations.md
+
- "Work with Andrei Jiroh": contact/work.md
+
- "Found a security issue?": contact/security.md
+
- "Anything else":
+
- contact/else.md
+
- "Show all contact details": contact/details.md
+
- "PGP and SSH keys": keys/index.md
+
- Legal:
+
- Security policy: security.md
+
- Code of Conduct: https://policies.recaptime.dev/code-of-conduct
+
- User manual: https://wiki.andreijiroh.dev/garden/user-manual
+
- Portfolio:
+
- portfolio/index.md
+
- Projects: portfolio/projects.md
+
- Communities: portfolio/communities.md
+
- Tildes: portfolio/tildes.md
+
- Resume: user-manual/resume.md
+
- Blog: "https://blog.andreijiroh.dev"
# theme settings
theme:
name: material
+
variant: classic
custom_dir: overrides
favicon: assets/images/favicon.png
icon:
···
- content.action.view
- content.code.annotate
- content.code.copy
+
# - content.code.select
+
# - content.footnote.tooltips
# - content.tabs.link
- content.tooltips
# - header.autohide
···
- navigation.footer
- navigation.indexes
# - navigation.instant
+
# - navigation.instant.prefetch
+
# - navigation.instant.progress
# - navigation.prune
- navigation.sections
- navigation.tabs
···
- toc.follow
# - toc.integrate
palette:
+
- media: "(prefers-color-scheme)"
+
primary: green
+
accent: yellow
+
toggle:
+
icon: material/brightness-auto
+
name: Switch to light mode
+
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
···
accent: yellow
toggle:
icon: material/brightness-7
-
name: Switch to dark mode
+
name: Switch to system preference
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
···
- redirects:
redirect_maps:
"user-manual/portfolio.md": "portfolio/index.md"
-
"dni.md": "user-manual/dni.md"
+
"dni.md": "https://wiki.andreijiroh.dev/garden/user-manual/dni/"
"resume.md": "user-manual/resume.md"
-
"blog.md": "https://ajhalili2006.substack.com"
-
"socials.md": "https://ajhalili2006.start.page"
+
"blog.md": "https://blog.andreijiroh.dev"
+
"socials.md": "links.md#socials"
"communities.md": "portfolio/communities.md"
"tildes.md": "portfolio/tildes.md"
"projects.md": "portfolio/projects.md"
-
#"contact.md": "contact/index.md"
+
"user-manual/index.md": "https://wiki.andreijiroh.dev/garden/user-manual/"
+
"user-manual/boundaries.md": "https://wiki.andreijiroh.dev/garden/user-manual/boundaries/"
+
"user-manual/communications.md": "https://wiki.andreijiroh.dev/garden/user-manual/communications/"
+
"user-manual/dni.md": "https://wiki.andreijiroh.dev/garden/user-manual/dni/"
+
"user-manual/encrypted-communications.md": "https://wiki.andreijiroh.dev/garden/user-manual/encrypted-communications"
# debugging/bug reporting purposes only, proceed with caution
#- info
- git-revision-date-localized:
enabled: true
fallback_to_build_date: true
enable_creation_date: true
-
# TODO: Get Insiders for contributors and authors
+
#- git-committers:
+
# enabled: !ENV [FF_GIT_COMMITTERS_API, false]
+
# repository: andreijiroh-dev/website
+
# branch: main
+
# token: !ENV ["MKDOCS_GIT_COMMITTERS_PLUGIN_TOKEN"]
+
- git-authors
# makrdown extensions
markdown_extensions:
···
# extras
extra:
#deployment: staging
+
fediverse_creator_handle: "@ajhalili2006:tilde.zone"
# my socials
social:
-
- icon: simple/substack
-
link: https://ajhalili2006.substack.com
-
name: ~ajhalili2006's personal substack
+
# fediverse
- icon: fontawesome/brands/mastodon
link: https://tilde.zone/@ajhalili2006
name: ~ajhalili2006 on tildeverse
+
+
# bluesky
+
- icon: simple/bluesky
+
link: https://bsky.app/profile/andreijiroh.dev
+
name: ~ajhalili2006 on bsky.app
+
+
# nostr
+
- icon: octicons/note-16
+
link: nostr:npub1ajhalili2006xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
name: ~ajhalili2006 on nostr
+
+
# X/Twitter
- icon: fontawesome/brands/twitter
link: https://twitter.com/ajhalili2006
name: ~ajhalili2006 on twitter
+
+
# substack
+
- icon: simple/substack
+
link: https://ajhalili2006.substack.com
+
name: ~ajhalili2006's personal substack
+
+
# git
- icon: fontawesome/brands/github
link: https://github.com/ajhalili2006
name: ~ajhalili2006 on github
- icon: fontawesome/brands/gitlab
-
link: https://mau.dev/ajhalili2006
-
name: ~ajhalili2006 on mauinum gitlab instance
-
- icon: fontawesome/brands/git-alt
+
link: https://gitlab.com/ajhalili2006
+
name: ~ajhalili2006 on GitLab SaaS instance
+
- icon: simple/sourcehut
link: https://sr.ht/~ajhalili2006
name: ~ajhalili2006 on sr.ht
-
- icon: fontawesome/brands/facebook
-
link: https://facebook.com/ajhalili2006
-
name: ~ajhalili2006's personal (slash professional profile) facebook account
+
+
# facebook
+
#- icon: fontawesome/brands/facebook
+
# link: https://facebook.com/ajhalili2006
+
# name: ~ajhalili2006's personal (slash professional profile) facebook account
+
+
# linkedin
- icon: fontawesome/brands/linkedin
-
link: https://linkedin.com/in/ajhalili2006
-
name: ~ajhalili2006 on linkedin for employers
+
# link: https://linkedin.com/in/ajhalili2006
+
# name: ~ajhalili2006 on linkedin for employers
analytics:
+
provider: custom
# provider: plausible
# property: andreijiroh.eu.org
# url: "https://analytics.projectsegfau.lt"
+
+
extra_javascript:
+
- assets/javascripts/feedback.js
+8 -5
overrides/404.html
···
If this is not intended to happen, please report this as a bug in the webiste's issue tracker. Otherwise, you can press back
on your browser or go back to homepage.
</p>
-
<a class="md-button" href="https://mau.dev/andreijiroh-dev/website/-/issues/new/?issue[title]=Broken link in <URL>">Report this broken link</a>
+
<a class="md-button" href="https://gitlab.com/andreijiroh-dev/website/-/issues/new/?issue[title]=Broken link in <URL>">Report this broken link</a>
<a class="md-button" href="/">Go back home</a>
<h2>Troubleshooting tips</h2>
<p>Try checking the URL for any misspellings or improper use of dashes, underscores and periods.</p>
<p>
-
If you're working in this site and you hit an URL configured for redirects (at Cloudflare Pages or similiar),
-
try <a href="https://pypi.org/project/mkdocs-redirects/">configuring redirects in the Mkdocs config first</a>.
+
If you're working in this site (either locally or in a cloud development environment) and you hit an URL
+
configured for redirects (at Cloudflare Pages or similiar), try
+
<a href="https://pypi.org/project/mkdocs-redirects/">configuring redirects in the Mkdocs config</a>,
+
<a href="https://developers.cloudflare.com/workers/static-assets/redirects/">in the <code>_redirects</code> file for Cloudflare Workers</a>, and/or
+
<a href="https://docs.readthedocs.com/platform/stable/user-defined-redirects.html">in the Read the Docs Community project settings</a>.
</p>
<p>
-
Depending on the site version you're viewing, you may need to switch between <a href="https://andreijiroh.xyz">production</a>
-
and <a href="https://staging.andreijiroh.xyz">staging</a> versions of the website. (The tilde versions of the site may be
+
Depending on the site version you're viewing, you may need to switch between <a href="https://andreijiroh.dev">production</a>
+
and <a href="https://staging.andreijiroh.dev">staging</a> versions of the website. (The tilde versions of the site may be
may lag behind Cloudflare Pages deploys.)
</p>
{% endblock %}
+1 -1
overrides/assets/stylesheets/mkdocs-material-styling.css
···
-
@keyframes heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset .twitter{color:#00acee}.md-typeset .substack{color:#ff6719}.md-typeset .mastodon{color:#897ff8}.md-typeset .mdx-video{width:auto}.md-typeset .mdx-video__inner{height:0;padding-bottom:56.138%;position:relative;width:100%}.md-typeset .mdx-video iframe{border:none;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.md-typeset .mdx-heart{animation:heart 1s infinite}.md-typeset .mdx-insiders{color:#e91e63}.md-typeset .mdx-badge{font-size:.85em}.md-typeset .mdx-badge--heart{--md-typeset-a-color:#e92063;--md-accent-fg-color:#ff4281;--md-accent-fg-color--transparent:#e920631a}.md-typeset .mdx-badge--heart .twemoji{animation:heart 1s infinite}.md-typeset .mdx-badge--right{float:right;margin-left:.35em}[dir=ltr] .md-typeset .mdx-badge__icon{border-top-left-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__icon{border-top-right-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__icon{border-bottom-left-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__icon{border-bottom-right-radius:.1rem}.md-typeset .mdx-badge__icon{background:var(--md-accent-fg-color--transparent);padding:.2rem}.md-typeset .mdx-badge__icon:last-child{border-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__text{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__text{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__text{border-bottom-right-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__text{border-bottom-left-radius:.1rem}.md-typeset .mdx-badge__text{box-shadow:0 0 0 1px inset var(--md-accent-fg-color--transparent);padding:.2rem .3rem}.md-typeset .mdx-switch button{cursor:pointer;transition:opacity .25s}.md-typeset .mdx-switch button:focus,.md-typeset .mdx-switch button:hover{opacity:.75}.md-typeset .mdx-switch button>code{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block}.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:2;column-count:2}@media screen and (max-width:29.984375em){.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .mdx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-typeset .mdx-flags{margin:2em auto}.md-typeset .mdx-flags ol{list-style:none}.md-typeset .mdx-flags ol li{margin-bottom:1em}.md-typeset .mdx-flags__item{display:flex;gap:.6rem}.md-typeset .mdx-flags__content{display:flex;flex:1;flex-direction:column}.md-typeset .mdx-flags__content span{align-items:baseline;display:inline-flex;justify-content:space-between}.md-typeset .mdx-flags__content>span:nth-child(2){font-size:80%}.md-typeset .mdx-flags__content code{float:right}.md-typeset .mdx-social{height:min(27rem,80vw);position:relative}.md-typeset .mdx-social:hover .mdx-social__image{background-color:#e4e4e40d}.md-typeset .mdx-social__layer{margin-top:4rem;position:absolute;transform-style:preserve-3d;transition:.25s cubic-bezier(.7,0,.3,1)}.md-typeset .mdx-social__layer:hover .mdx-social__label{opacity:1}.md-typeset .mdx-social__layer:hover .mdx-social__image{background-color:#7f7f7ffc}.md-typeset .mdx-social__layer:hover~.mdx-social__layer{opacity:0}.md-typeset .mdx-social__image{box-shadow:-.25rem .25rem .5rem #0000000d;transform:rotate(-40deg) skew(15deg,15deg) scale(.7);transition:all .25s}.md-typeset .mdx-social__image img{display:block}.md-typeset .mdx-social__label{background-color:var(--md-default-fg-color--light);color:var(--md-default-bg-color);display:block;opacity:0;padding:.2rem .4rem;position:absolute;transition:all .25s}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(6){transform:translateY(-30px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(5){transform:translateY(-20px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(4){transform:translateY(-10px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(3){transform:translateY(0)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(2){transform:translateY(10px)}.md-typeset .mdx-social:hover .mdx-social__layer:first-child{transform:translateY(20px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(0){transform:translateY(30px)}.md-banner{color:var(--md-footer-fg-color--lighter)}.md-banner strong{white-space:nowrap}.md-banner a,.md-banner strong{color:var(--md-footer-fg-color)}.md-banner a:focus,.md-banner a:hover{color:currentcolor}.md-banner a:focus .twemoji,.md-banner a:hover .twemoji{background-color:var(--md-footer-fg-color);box-shadow:none}.md-banner .twemoji{border-radius:100%;box-shadow:inset 0 0 0 .05rem currentcolor;display:inline-block;height:1.2rem;padding:.25rem;transition:all .25s;vertical-align:bottom;width:1.2rem}.md-banner .twemoji svg{display:block;max-height:none}.mdx-container{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom,linear-gradient(to bottom,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 99%);padding-top:1rem}[data-md-color-scheme=slate] .mdx-container{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(230, 15%, 14%, 1)' /></svg>") no-repeat bottom,linear-gradient(to bottom,var(--md-primary-fg-color),#363949 99%,var(--md-default-bg-color) 99%)}.mdx-hero{color:var(--md-primary-bg-color);margin:0 .8rem}.mdx-hero h1{color:currentcolor;font-weight:700;margin-bottom:1rem}@media screen and (max-width:29.984375em){.mdx-hero h1{font-size:1.4rem}}.mdx-hero__content{padding-bottom:6rem}@media screen and (min-width:60em){.mdx-hero{align-items:stretch;display:flex}.mdx-hero__content{margin-top:3.5rem;max-width:19rem;padding-bottom:14vw}.mdx-hero__image{order:1;transform:translateX(4rem);width:38rem}}@media screen and (min-width:76.25em){.mdx-hero__image{transform:translateX(8rem)}}.mdx-hero .md-button{color:var(--md-primary-bg-color);margin-right:.5rem;margin-top:.5rem}.mdx-hero .md-button:focus,.mdx-hero .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.mdx-hero .md-button--primary{background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color);color:#894da8}.md-typeset .mdx-iconsearch{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z1);position:relative;transition:box-shadow 125ms}.md-typeset .mdx-iconsearch:focus-within,.md-typeset .mdx-iconsearch:hover{box-shadow:var(--md-shadow-z2)}.md-typeset .mdx-iconsearch .md-input{background:var(--md-default-bg-color);box-shadow:none}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-iconsearch-result{-webkit-backface-visibility:hidden;backface-visibility:hidden;max-height:50vh;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:pan-y}.md-tooltip .md-typeset .mdx-iconsearch-result{max-height:10.25rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-iconsearch-result__meta{color:var(--md-default-fg-color--lighter);font-size:.64rem;position:absolute;right:.6rem;top:.4rem}[dir=ltr] .md-typeset .mdx-iconsearch-result__list{margin-left:0}[dir=rtl] .md-typeset .mdx-iconsearch-result__list{margin-right:0}.md-typeset .mdx-iconsearch-result__list{list-style:none;margin:0;padding:0}[dir=ltr] .md-typeset .mdx-iconsearch-result__item{margin-left:0}[dir=rtl] .md-typeset .mdx-iconsearch-result__item{margin-right:0}.md-typeset .mdx-iconsearch-result__item{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin:0;padding:.2rem .6rem}.md-typeset .mdx-iconsearch-result__item:last-child{border-bottom:none}.md-typeset .mdx-iconsearch-result__item>*{margin-right:.6rem}.md-typeset .mdx-iconsearch-result__item img{height:.9rem;width:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk]{filter:invert(1)}.md-typeset .mdx-premium p{margin:2em 0;text-align:center}.md-typeset .mdx-premium img{height:3.25rem}.md-typeset .mdx-premium p:last-child{display:flex;flex-wrap:wrap;justify-content:center}.md-typeset .mdx-premium p:last-child>a{display:block;flex-shrink:0}.md-typeset .mdx-sponsorship__list{margin:2em 0}.md-typeset .mdx-sponsorship__list:after{clear:both;content:"";display:block}[dir=ltr] .md-typeset .mdx-sponsorship__item{float:left}[dir=rtl] .md-typeset .mdx-sponsorship__item{float:right}.md-typeset .mdx-sponsorship__item{border-radius:100%;display:block;height:1.6rem;margin:.2rem;overflow:hidden;transform:scale(1);transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .mdx-sponsorship__item:focus,.md-typeset .mdx-sponsorship__item:hover{transform:scale(1.1)}.md-typeset .mdx-sponsorship__item:focus img,.md-typeset .mdx-sponsorship__item:hover img{filter:grayscale(0)}.md-typeset .mdx-sponsorship__item--private{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .mdx-sponsorship__item img{display:block;filter:grayscale(100%) opacity(75%);height:auto;transition:filter 125ms;width:100%}.md-typeset .mdx-sponsorship-button{font-weight:400}.md-typeset .mdx-sponsorship-count,.md-typeset .mdx-sponsorship-total{font-weight:700}
+
@keyframes heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset .twitter{color:#00acee}.md-typeset .mastodon{color:#897ff8}.md-typeset .mdx-video{width:auto}.md-typeset .mdx-video__inner{height:0;padding-bottom:56.138%;position:relative;width:100%}.md-typeset .mdx-video iframe{border:none;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.md-typeset .mdx-heart{animation:heart 1s infinite}.md-typeset .mdx-insiders{color:#e91e63}.md-typeset .mdx-badge{font-size:.85em}.md-typeset .mdx-badge--heart{--md-typeset-a-color:#e92063;--md-accent-fg-color:#ff4281;--md-accent-fg-color--transparent:#e920631a;color:#e91e63}.md-typeset .mdx-badge--heart .twemoji{animation:heart 1s infinite}.md-typeset .mdx-badge--right{float:right;margin-left:.35em}[dir=ltr] .md-typeset .mdx-badge__icon{border-top-left-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__icon{border-top-right-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__icon{border-bottom-left-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__icon{border-bottom-right-radius:.1rem}.md-typeset .mdx-badge__icon{background:var(--md-accent-fg-color--transparent);padding:.2rem}.md-typeset .mdx-badge__icon:last-child{border-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__text{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__text{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .mdx-badge__text{border-bottom-right-radius:.1rem}[dir=rtl] .md-typeset .mdx-badge__text{border-bottom-left-radius:.1rem}.md-typeset .mdx-badge__text{box-shadow:0 0 0 1px inset var(--md-accent-fg-color--transparent);padding:.2rem .3rem}.md-typeset .mdx-switch button{cursor:pointer;transition:opacity .25s}.md-typeset .mdx-switch button:focus,.md-typeset .mdx-switch button:hover{opacity:.75}.md-typeset .mdx-switch button>code{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block}.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:2;column-count:2}@media screen and (max-width:29.984375em){.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .mdx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-typeset .mdx-flags{margin:2em auto}.md-typeset .mdx-flags ol{list-style:none}.md-typeset .mdx-flags ol li{margin-bottom:1em}.md-typeset .mdx-flags__item{display:flex;gap:.6rem}.md-typeset .mdx-flags__content{display:flex;flex:1;flex-direction:column}.md-typeset .mdx-flags__content span{align-items:baseline;display:inline-flex;justify-content:space-between}.md-typeset .mdx-flags__content>span:nth-child(2){font-size:80%}.md-typeset .mdx-flags__content code{float:right}.md-typeset .mdx-social{height:min(27rem,80vw);position:relative}.md-typeset .mdx-social:hover .mdx-social__image{background-color:#e4e4e40d}.md-typeset .mdx-social__layer{margin-top:4rem;position:absolute;transform-style:preserve-3d;transition:.25s cubic-bezier(.7,0,.3,1)}.md-typeset .mdx-social__layer:hover .mdx-social__label{opacity:1}.md-typeset .mdx-social__layer:hover .mdx-social__image{background-color:#7f7f7ffc}.md-typeset .mdx-social__layer:hover~.mdx-social__layer{opacity:0}.md-typeset .mdx-social__image{box-shadow:-.25rem .25rem .5rem #0000000d;transform:rotate(-40deg) skew(15deg,15deg) scale(.7);transition:all .25s}.md-typeset .mdx-social__image img{display:block}.md-typeset .mdx-social__label{background-color:var(--md-default-fg-color--light);color:var(--md-default-bg-color);display:block;opacity:0;padding:.2rem .4rem;position:absolute;transition:all .25s}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(6){transform:translateY(-30px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(5){transform:translateY(-20px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(4){transform:translateY(-10px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(3){transform:translateY(0)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(2){transform:translateY(10px)}.md-typeset .mdx-social:hover .mdx-social__layer:first-child{transform:translateY(20px)}.md-typeset .mdx-social:hover .mdx-social__layer:nth-child(0){transform:translateY(30px)}.md-banner{color:var(--md-footer-fg-color--lighter)}.md-banner strong{white-space:nowrap}.md-banner a,.md-banner strong{color:var(--md-footer-fg-color)}.md-banner a:focus,.md-banner a:hover{color:currentcolor}.md-banner a:focus .twemoji,.md-banner a:hover .twemoji{background-color:var(--md-footer-fg-color);box-shadow:none}.md-banner .twemoji{border-radius:100%;box-shadow:inset 0 0 0 .05rem currentcolor;display:inline-block;height:1.2rem;padding:.25rem;transition:all .25s;vertical-align:bottom;width:1.2rem}.md-banner .twemoji svg{display:block;max-height:none}.mdx-container{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom,linear-gradient(to bottom,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 99%);padding-top:1rem}[data-md-color-scheme=slate] .mdx-container{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(230, 15%, 14%, 1)' /></svg>") no-repeat bottom,linear-gradient(to bottom,var(--md-primary-fg-color),#363949 99%,var(--md-default-bg-color) 99%)}.mdx-hero{color:var(--md-primary-bg-color);margin:0 .8rem}.mdx-hero h1{color:currentcolor;font-weight:700;margin-bottom:1rem}@media screen and (max-width:29.984375em){.mdx-hero h1{font-size:1.4rem}}.mdx-hero__content{padding-bottom:6rem}@media screen and (min-width:60em){.mdx-hero{align-items:stretch;display:flex}.mdx-hero__content{margin-top:3.5rem;max-width:19rem;padding-bottom:14vw}.mdx-hero__image{order:1;transform:translateX(4rem);width:38rem}}@media screen and (min-width:76.25em){.mdx-hero__image{transform:translateX(8rem)}}.mdx-hero .md-button{color:var(--md-primary-bg-color);margin-right:.5rem;margin-top:.5rem}.mdx-hero .md-button:focus,.mdx-hero .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.mdx-hero .md-button--primary{background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color);color:#894da8}.md-typeset .mdx-iconsearch{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z1);position:relative;transition:box-shadow 125ms}.md-typeset .mdx-iconsearch:focus-within,.md-typeset .mdx-iconsearch:hover{box-shadow:var(--md-shadow-z2)}.md-typeset .mdx-iconsearch .md-input{background:var(--md-default-bg-color);box-shadow:none}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-iconsearch-result{-webkit-backface-visibility:hidden;backface-visibility:hidden;max-height:50vh;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:pan-y}.md-tooltip .md-typeset .mdx-iconsearch-result{max-height:10.25rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-iconsearch-result__meta{color:var(--md-default-fg-color--lighter);font-size:.64rem;position:absolute;right:.6rem;top:.4rem}@media screen and (max-width:29.984375em){.md-typeset .mdx-iconsearch-result__meta{display:none}}.md-typeset .mdx-iconsearch-result__select{background-color:var(--md-default-fg-color--lightest);border:none;border-radius:.1rem;color:var(--md-default-fg-color--light);font-size:.64rem;padding-bottom:.15em;padding-top:.15em;position:absolute;right:.6rem;top:.4rem;transition:color 125ms,background-color 125ms}.md-typeset .mdx-iconsearch-result__select:focus,.md-typeset .mdx-iconsearch-result__select:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color);outline:none}.md-typeset .mdx-iconsearch-result__select+.mdx-iconsearch-result__meta{right:4.1rem}[dir=ltr] .md-typeset .mdx-iconsearch-result__list{margin-left:0}[dir=rtl] .md-typeset .mdx-iconsearch-result__list{margin-right:0}.md-typeset .mdx-iconsearch-result__list{list-style:none;margin:0;padding:0}[dir=ltr] .md-typeset .mdx-iconsearch-result__item{margin-left:0}[dir=rtl] .md-typeset .mdx-iconsearch-result__item{margin-right:0}.md-typeset .mdx-iconsearch-result__item{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin:0;padding:.2rem .6rem}.md-typeset .mdx-iconsearch-result__item:last-child{border-bottom:none}.md-typeset .mdx-iconsearch-result__item>*{margin-right:.6rem}.md-typeset .mdx-iconsearch-result__item img{height:.9rem;width:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk]{filter:invert(1)}.md-typeset .mdx-premium p{margin:2em 0;text-align:center}.md-typeset .mdx-premium img{height:3.25rem}.md-typeset .mdx-premium p:last-child{display:flex;flex-wrap:wrap;justify-content:center}.md-typeset .mdx-premium p:last-child>a{display:block;flex-shrink:0}.md-typeset .mdx-sponsorship__list{margin:2em 0}.md-typeset .mdx-sponsorship__list:after{clear:both;content:"";display:block}[dir=ltr] .md-typeset .mdx-sponsorship__item{float:left}[dir=rtl] .md-typeset .mdx-sponsorship__item{float:right}.md-typeset .mdx-sponsorship__item{border-radius:100%;display:block;height:1.6rem;margin:.2rem;overflow:hidden;transform:scale(1);transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .mdx-sponsorship__item:focus,.md-typeset .mdx-sponsorship__item:hover{transform:scale(1.1)}.md-typeset .mdx-sponsorship__item:focus img,.md-typeset .mdx-sponsorship__item:hover img{filter:grayscale(0)}.md-typeset .mdx-sponsorship__item--private{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .mdx-sponsorship__item img{display:block;filter:grayscale(100%) opacity(75%);height:auto;transition:filter 125ms;width:100%}.md-typeset .mdx-sponsorship-button{font-weight:400}.md-typeset .mdx-sponsorship-count,.md-typeset .mdx-sponsorship-total{font-weight:700}
+1 -1
overrides/assets/stylesheets/mkdocs-material-styling.css.map
···
-
{"version":3,"sources":["src/overrides/assets/stylesheets/custom/_typeset.scss","../../../../src/overrides/assets/stylesheets/custom.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/custom/layout/_banner.scss","src/overrides/assets/stylesheets/custom/layout/_hero.scss","src/overrides/assets/stylesheets/custom/layout/_iconsearch.scss","src/overrides/assets/stylesheets/custom/layout/_sponsorship.scss"],"names":[],"mappings":"AA2BA,iBACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CD0CE,qBACE,aCxCJ,CD6CE,sBACE,aC3CJ,CD+CE,uBACE,UC7CJ,CDgDI,8BAGE,QAAA,CACA,sBAAA,CAHA,iBAAA,CACA,UC5CN,CDkDI,8BAOE,WAAA,CAFA,WAAA,CAFA,MAAA,CAGA,eAAA,CALA,iBAAA,CACA,KAAA,CAEA,UC7CN,CDqDE,uBACE,2BCnDJ,CDuDE,0BACE,aCrDJ,CD2DE,uBACE,eCzDJ,CD4DI,8BACE,4BAAA,CACA,4BAAA,CACA,2CC1DN,CD6DM,uCACE,2BC3DR,CDgEI,8BACE,WAAA,CACA,iBC9DN,CDkEI,uCAGE,4BC/DN,CD4DI,uCAGE,6BC/DN,CD4DI,uCAIE,+BChEN,CD4DI,uCAIE,gCChEN,CD4DI,6BAEE,iDAAA,CADA,aC7DN,CDmEM,wCACE,mBCjER,CDsEI,uCAEE,6BClEN,CDgEI,uCAEE,4BClEN,CDgEI,uCAGE,gCCnEN,CDgEI,uCAGE,+BCnEN,CDgEI,6BAIE,iEAAA,CAHA,mBCjEN,CD2EE,+BACE,cAAA,CACA,uBCzEJ,CD4EI,0EACE,WC1EN,CD8EI,oCAGE,2CAAA,CADA,gCAAA,CADA,aC1EN,CDoFI,wDAEE,cAAA,CAAA,cClFN,CCiII,0CFjDA,wDAMI,oBAAA,CAAA,eCjFN,CACF,CDqFI,4BACE,8BAAA,CAAA,kBCnFN,CDwFE,uBACE,eCtFJ,CDyFI,0BACE,eCvFN,CD0FM,6BACE,iBCxFR,CD6FI,6BACE,YAAA,CACA,SC3FN,CD+FI,gCACE,YAAA,CACA,MAAA,CACA,qBC7FN,CDgGM,qCAEE,oBAAA,CADA,mBAAA,CAEA,6BC9FR,CDkGM,kDACE,aChGR,CDoGM,qCACE,WClGR,CDwGE,wBAEE,sBAAA,CADA,iBCrGJ,CDyGI,iDACE,0BCvGN,CD2GI,+BAEE,eAAA,CADA,iBAAA,CAGA,2BAAA,CADA,uCCxGN,CD+GQ,wDACE,SC7GV,CDiHQ,wDACE,0BC/GV,CDmHQ,wDACE,SCjHV,CDuHI,+BACE,yCACE,CAGF,oDAAA,CADA,mBCtHN,CD0HM,mCACE,aCxHR,CD6HI,+BAKE,kDAAA,CADA,gCAAA,CAFA,aAAA,CAIA,SAAA,CAHA,mBAAA,CAFA,iBAAA,CAMA,mBC3HN,CDgIM,8DACE,2BC9HR,CD6HM,8DACE,2BC3HR,CD0HM,8DACE,2BCxHR,CDuHM,8DACE,uBCrHR,CDoHM,8DACE,0BClHR,CDiHM,6DACE,0BC/GR,CD8GM,8DACE,0BC5GR,CE1JA,WACE,wCF6JF,CE1JE,kBAEE,kBF4JJ,CEzJE,+BAJE,+BFgKJ,CEzJI,sCAEE,kBF0JN,CExJM,wDACE,0CAAA,CACA,eF0JR,CErJE,oBAME,kBAAA,CACA,0CAAA,CANA,oBAAA,CAEA,aAAA,CACA,cAAA,CAIA,mBAAA,CAHA,qBAAA,CAHA,YF6JJ,CErJI,wBACE,aAAA,CACA,eFuJN,CG1LA,eAEE,uYACE,CAFF,gBH8LF,CGnLE,4CACE,yYHqLJ,CGzKA,UAEE,gCAAA,CADA,cH6KF,CGzKE,aAGE,kBAAA,CADA,eAAA,CADA,kBH6KJ,CCnBI,0CE3JF,aAOI,gBH2KJ,CACF,CGvKE,mBACE,mBHyKJ,CC9CI,mCE7IJ,UAwBI,mBAAA,CADA,YHyKF,CGrKE,mBAGE,iBAAA,CAFA,eAAA,CACA,mBHwKJ,CGnKE,iBACE,OAAA,CAEA,0BAAA,CADA,WHsKJ,CACF,CC9DI,sCEhGA,iBACE,0BHiKJ,CACF,CG7JE,qBAGE,gCAAA,CADA,kBAAA,CADA,gBHiKJ,CG5JI,sDAEE,0CAAA,CACA,sCAAA,CAFA,+BHgKN,CG1JI,8BAEE,2CAAA,CACA,uCAAA,CAFA,aH8JN,CIrPE,4BAEE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,iBAAA,CAIA,2BJwPJ,CIrPI,2EACE,8BJuPN,CInPI,sCACE,qCAAA,CACA,eJqPN,CIlPM,mEACE,kCJoPR,CI9OE,mCAIE,kCAAA,CAAA,0BAAA,CAHA,eAAA,CACA,eAAA,CAKA,yDAAA,CADA,oBAAA,CADA,kBJiPJ,CI5OI,+CACE,mBJ8ON,CI1OI,sDAEE,YAAA,CADA,WJ6ON,CIxOI,4DACE,oDJ0ON,CIvOM,kEACE,0CJyOR,CIpOI,yCAKE,yCAAA,CADA,gBAAA,CAHA,iBAAA,CAEA,WAAA,CADA,SJyON,CIlOI,mDAKE,aJmON,CIxOI,mDAKE,cJmON,CIxOI,yCAME,eAAA,CAJA,QAAA,CADA,SJuON,CI9NI,mDAKE,aJ+NN,CIpOI,mDAKE,cJ+NN,CIpOI,yCAME,+DAAA,CAJA,QAAA,CADA,mBJmON,CI3NM,oDACE,kBJ6NR,CIzNM,2CACE,kBJ2NR,CIvNM,6CAEE,YAAA,CADA,WJ0NR,CItNQ,0FACE,gBJwNV,CKzTI,2BACE,YAAA,CACA,iBL4TN,CKxTI,6BACE,cL0TN,CKtTI,sCACE,YAAA,CACA,cAAA,CACA,sBLwTN,CKrTM,wCACE,aAAA,CACA,aLuTR,CK9SI,mCACE,YLgTN,CK7SM,yCAEE,UAAA,CACA,UAAA,CAFA,aLiTR,CK1SI,6CAEE,ULmTN,CKrTI,6CAEE,WLmTN,CKrTI,mCAOE,kBAAA,CANA,aAAA,CAGA,aAAA,CACA,YAAA,CACA,eAAA,CAKA,kBAAA,CAHA,sCACE,CANF,YLkTN,CKvSM,kFACE,oBLySR,CKtSQ,0FACE,mBLwSV,CKnSM,4CAME,+CAAA,CAFA,yCAAA,CAHA,eAAA,CACA,eAAA,CACA,kBAAA,CAEA,iBLsSR,CKjSM,uCACE,aAAA,CAGA,mCAAA,CADA,WAAA,CAEA,uBAAA,CAHA,ULsSR,CK7RE,oCACE,eL+RJ,CK3RE,sEAEE,eL6RJ","file":"custom.css"}
+
{"version":3,"sources":["src/overrides/assets/stylesheets/custom/_typeset.scss","../../../../src/overrides/assets/stylesheets/custom.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/custom/layout/_banner.scss","src/overrides/assets/stylesheets/custom/layout/_hero.scss","src/overrides/assets/stylesheets/custom/layout/_iconsearch.scss","src/overrides/assets/stylesheets/custom/layout/_sponsorship.scss"],"names":[],"mappings":"AA2BA,iBACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CD0CE,qBACE,aCxCJ,CD6CE,sBACE,aC3CJ,CD+CE,uBACE,UC7CJ,CDgDI,8BAGE,QAAA,CACA,sBAAA,CAHA,iBAAA,CACA,UC5CN,CDkDI,8BAOE,WAAA,CAFA,WAAA,CAFA,MAAA,CAGA,eAAA,CALA,iBAAA,CACA,KAAA,CAEA,UC7CN,CDqDE,uBACE,2BCnDJ,CDuDE,0BACE,aCrDJ,CD2DE,uBACE,eCzDJ,CD4DI,8BACE,4BAAA,CACA,4BAAA,CACA,2CAAA,CAEA,aC3DN,CD8DM,uCACE,2BC5DR,CDiEI,8BACE,WAAA,CACA,iBC/DN,CDmEI,uCAGE,4BChEN,CD6DI,uCAGE,6BChEN,CD6DI,uCAIE,+BCjEN,CD6DI,uCAIE,gCCjEN,CD6DI,6BAEE,iDAAA,CADA,aC9DN,CDoEM,wCACE,mBClER,CDuEI,uCAEE,6BCnEN,CDiEI,uCAEE,4BCnEN,CDiEI,uCAGE,gCCpEN,CDiEI,uCAGE,+BCpEN,CDiEI,6BAIE,iEAAA,CAHA,mBClEN,CD4EE,+BACE,cAAA,CACA,uBC1EJ,CD6EI,0EACE,WC3EN,CD+EI,oCAGE,2CAAA,CADA,gCAAA,CADA,aC3EN,CDqFI,wDAEE,cAAA,CAAA,cCnFN,CCgII,0CF/CA,wDAMI,oBAAA,CAAA,eClFN,CACF,CDsFI,4BACE,8BAAA,CAAA,kBCpFN,CDyFE,uBACE,eCvFJ,CD0FI,0BACE,eCxFN,CD2FM,6BACE,iBCzFR,CD8FI,6BACE,YAAA,CACA,SC5FN,CDgGI,gCACE,YAAA,CACA,MAAA,CACA,qBC9FN,CDiGM,qCAEE,oBAAA,CADA,mBAAA,CAEA,6BC/FR,CDmGM,kDACE,aCjGR,CDqGM,qCACE,WCnGR,CDyGE,wBAEE,sBAAA,CADA,iBCtGJ,CD0GI,iDACE,0BCxGN,CD4GI,+BAEE,eAAA,CADA,iBAAA,CAGA,2BAAA,CADA,uCCzGN,CDgHQ,wDACE,SC9GV,CDkHQ,wDACE,0BChHV,CDoHQ,wDACE,SClHV,CDwHI,+BACE,yCACE,CAGF,oDAAA,CADA,mBCvHN,CD2HM,mCACE,aCzHR,CD8HI,+BAKE,kDAAA,CADA,gCAAA,CAFA,aAAA,CAIA,SAAA,CAHA,mBAAA,CAFA,iBAAA,CAMA,mBC5HN,CDiIM,8DACE,2BC/HR,CD8HM,8DACE,2BC5HR,CD2HM,8DACE,2BCzHR,CDwHM,8DACE,uBCtHR,CDqHM,8DACE,0BCnHR,CDkHM,6DACE,0BChHR,CD+GM,8DACE,0BC7GR,CE3JA,WACE,wCF8JF,CE3JE,kBAEE,kBF6JJ,CE1JE,+BAJE,+BFiKJ,CE1JI,sCAEE,kBF2JN,CEzJM,wDACE,0CAAA,CACA,eF2JR,CEtJE,oBAME,kBAAA,CACA,0CAAA,CANA,oBAAA,CAEA,aAAA,CACA,cAAA,CAIA,mBAAA,CAHA,qBAAA,CAHA,YF8JJ,CEtJI,wBACE,aAAA,CACA,eFwJN,CG3LA,eAEE,uYACE,CAFF,gBH+LF,CGpLE,4CACE,yYHsLJ,CG1KA,UAEE,gCAAA,CADA,cH8KF,CG1KE,aAGE,kBAAA,CADA,eAAA,CADA,kBH8KJ,CCpBI,0CE3JF,aAOI,gBH4KJ,CACF,CGxKE,mBACE,mBH0KJ,CC/CI,mCE7IJ,UAwBI,mBAAA,CADA,YH0KF,CGtKE,mBAGE,iBAAA,CAFA,eAAA,CACA,mBHyKJ,CGpKE,iBACE,OAAA,CAEA,0BAAA,CADA,WHuKJ,CACF,CC/DI,sCEhGA,iBACE,0BHkKJ,CACF,CG9JE,qBAGE,gCAAA,CADA,kBAAA,CADA,gBHkKJ,CG7JI,sDAEE,0CAAA,CACA,sCAAA,CAFA,+BHiKN,CG3JI,8BAEE,2CAAA,CACA,uCAAA,CAFA,aH+JN,CItPE,4BAEE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,iBAAA,CAIA,2BJyPJ,CItPI,2EACE,8BJwPN,CIpPI,sCACE,qCAAA,CACA,eJsPN,CInPM,mEACE,kCJqPR,CI/OE,mCAIE,kCAAA,CAAA,0BAAA,CAHA,eAAA,CACA,eAAA,CAIA,yDAAA,CACA,oBAAA,CAFA,kBJkPJ,CI7OI,+CACE,mBJ+ON,CI3OI,sDAEE,YAAA,CADA,WJ8ON,CIzOI,4DACE,oDJ2ON,CIxOM,kEACE,0CJ0OR,CIrOI,yCAKE,yCAAA,CADA,gBAAA,CAHA,iBAAA,CAEA,WAAA,CADA,SJ0ON,CC9GI,0CG9HA,yCASI,YJuON,CACF,CInOI,2CAOE,qDAAA,CACA,WAAA,CACA,mBAAA,CAHA,uCAAA,CADA,gBAAA,CADA,oBAAA,CAAA,iBAAA,CAHA,iBAAA,CAEA,WAAA,CADA,SAAA,CAQA,6CJqON,CIlOM,kGAGE,0CAAA,CADA,+BAAA,CAEA,YJmOR,CI/NM,wEACE,YJiOR,CI5NI,mDAKE,aJ6NN,CIlOI,mDAKE,cJ6NN,CIlOI,yCAME,eAAA,CAJA,QAAA,CADA,SJiON,CIxNI,mDAKE,aJyNN,CI9NI,mDAKE,cJyNN,CI9NI,yCAME,+DAAA,CAJA,QAAA,CADA,mBJ6NN,CIrNM,oDACE,kBJuNR,CInNM,2CACE,kBJqNR,CIjNM,6CAEE,YAAA,CADA,WJoNR,CIhNQ,0FACE,gBJkNV,CKnVI,2BACE,YAAA,CACA,iBLsVN,CKlVI,6BACE,cLoVN,CKhVI,sCACE,YAAA,CACA,cAAA,CACA,sBLkVN,CK/UM,wCACE,aAAA,CACA,aLiVR,CKxUI,mCACE,YL0UN,CKvUM,yCAEE,UAAA,CACA,UAAA,CAFA,aL2UR,CKpUI,6CAEE,UL6UN,CK/UI,6CAEE,WL6UN,CK/UI,mCAOE,kBAAA,CANA,aAAA,CAGA,aAAA,CACA,YAAA,CACA,eAAA,CAKA,kBAAA,CAHA,sCACE,CANF,YL4UN,CKjUM,kFACE,oBLmUR,CKhUQ,0FACE,mBLkUV,CK7TM,4CAME,+CAAA,CAFA,yCAAA,CAHA,eAAA,CACA,eAAA,CACA,kBAAA,CAEA,iBLgUR,CK3TM,uCACE,aAAA,CAGA,mCAAA,CADA,WAAA,CAEA,uBAAA,CAHA,ULgUR,CKvTE,oCACE,eLyTJ,CKrTE,sEAEE,eLuTJ","file":"custom.css"}
+3
overrides/assets/stylesheets/theme.css
···
+
@import url("./mkdocs-material-styling.css");
+
+
.bluesky{color: rgb(10, 122, 255)}.md-typeset .substack{color:#ff6719}.md-typeset
+22 -26
overrides/main.html
···
SPDX-License-Identifier: MIT
-#}
+
{% extends "base.html" %}
-
{% extends "base.html" %}
+
{% block site_meta %}
+
{{ super() }}
+
<meta name="readthedocs-addons-api-version" content="1" />
+
{% endblock %}
+
{% block extrahead %}
-
<link rel="stylesheet" href="{{ 'assets/stylesheets/mkdocs-material-styling.css' | url }}">
-
<script src="https://hypothes.is/embed.js" async></script>
-
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7086107380680684" crossorigin="anonymous"></script>
+
<link rel="stylesheet" href="{{ 'assets/stylesheets/theme.css' | url }}">
+
<script src="https://hypothes.is/embed.js" async></script>
+
+
<!--<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7086107380680684" crossorigin="anonymous"></script>-->
{% endblock %}
+
<!-- Staging build -->
{% block announce %}
-
For updates follow <strong>@ajhalili2006</strong> on
-
<a rel="me" href="https://tilde.zone/@ajhalili2006">
-
<span class="twemoji mastodon">
-
{% include ".icons/fontawesome/brands/mastodon.svg" %}
-
</span>
-
<strong>the tildeverse</strong>
-
</a>
-
and
-
<a href="https://substack.com/@ajhalili2006">
-
<span class="twemoji substack">
-
{% include ".icons/simple/substack.svg" %}
-
</span>
-
<strong>Substack</strong>
-
</a>
+
For updates follow <strong>@ajhalili2006</strong> on <a rel="me" href="https://tilde.zone/@ajhalili2006"><span class="twemoji mastodon">{% include ".icons/fontawesome/brands/mastodon.svg" %}</span><strong>the tildeverse</strong></a>, <a rel="me" href="https://bsky.app/profile/andreijiroh.dev"><span class="twemoji bluesky">{% include ".icons/simple/bluesky.svg" %}</span><strong>Bluesky</strong></a>,
+
and <a href="https://substack.com/@ajhalili2006"><span class="twemoji substack">{% include ".icons/simple/substack.svg" %}</span><strong>Substack</strong></a>. (<a href="https://recaptime.dev">Looking for Recap Time Squad?</a>)
{% endblock %}
{% block container %}
-
<div class="md-content" data-md-component="content">
-
<article class="md-content__inner md-typeset">
-
{% block content %}
-
{% include "partials/content.html" %}
-
{% endblock %}
-
</article>
-
</div>
-
{% endblock %}
+
+
<div class="md-content" data-md-component="content">
+
<article class="md-content__inner md-typeset">
+
{% block content %}
+
{% include "partials/content.html" %}
+
{% endblock %}
+
</article>
+
</div>
+
{% endblock %}
+16 -18
overrides/partials/content.html
···
<div class="admonition info">
{% if config.extra.deployment == "staging" %}
<p class="admonition-title">
-
You're previewing the staging build of @ajhalili2006's website on <a href="https://readthedocs.org/projects/ajhalili2006/builds">RTD Community</a>.
+
You're previewing the staging build of @ajhalili2006's website on
+
<a href="https://readthedocs.org/projects/ajhalili2006/builds">RTD Community</a>.
</p>
<p>
-
Deploys might be a bit faster there, but it may contain content not yet ready for production deployment or
-
we might skipped GitLab CI for the latest commit.
+
Deploys might be a bit faster there, but it may contain content not yet ready for
+
production deployment or we might skipped GitLab CI for the latest commit.
</p>
{% elif config.extra.deployment == "tilde" %}
<p class="admonition-title">You're viewing ~ajhalili2006's website from the tildeverse.</p>
<p>
-
This site build's content might be outdated due to failing CI, delayed synchorizations and local cache, among other reasons.
+
This site build's content might be outdated due to failing CI, delayed synchorizations and
+
local cache, among other reasons.
</p>
{% endif %}
<a class="md-button" href="https://andreijiroh.xyz">Go back to production</a>
<a class="md-button" href="https://wiki.andreijiroh.xyz/garden/devops/website-deployment">Why am I seeing this?</a>
</div>
{% endif %}
-
{% if "material/tags" in config.plugins and tags %}
+
+
{% if "material/tags" in config.plugins and tags %}
{% include "partials/tags.html" %}
-
{% endif %}
-
{% include "partials/actions.html" %}
-
{% if "\x3ch1" not in page.content %}
+
{% endif %}
+
{% include "partials/actions.html" %}
+
{% if "\x3ch1" not in page.content %}
<h1>{{ page.title | d(config.site_name, true)}}</h1>
-
{% endif %}
-
{{ page.content }}
-
{% if page.meta and (
-
page.meta.git_revision_date_localized or
-
page.meta.revision_date
-
) %}
-
{% include "partials/source-file.html" %}
-
{% endif %}
-
{% include "partials/feedback.html" %}
-
{% include "partials/comments.html" %}
+
{% endif %}
+
{{ page.content }}
+
{% include "partials/source-file.html" %}
+
{% include "partials/feedback.html" %}
+
{% include "partials/comments.html" %}
+1 -4
overrides/partials/copyright.html
···
</div>
{% endif %}
{% if not config.extra.generator == false %}
-
Made with
-
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
-
Material for MkDocs
-
</a>
+
Made with <a href="https://zensical.org" target="_blank" rel="noopener">Zensical</a> (a <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">Material for MkDocs</a> successor)
{% endif %}
<br>
Archived versions of this page might be available at
+12
overrides/partials/integrations/analytics/custom.html
···
+
<!-- posthog -->
+
<script>
+
!function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init hi Er $r ui br Sr capture Ri calculateEventProperties Tr register register_once register_for_session unregister unregister_for_session Or getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Rr Pr createPersonProfile Cr mr Fr opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing kr debug L Ir getPageViewId captureTraceFeedback captureTraceMetric".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
+
posthog.init('phc_26rfldEPG6RQtg8FJCxLOWx2QiHpAYRodEibEQbWPqu', {
+
api_host: 'https://us.i.posthog.com',
+
defaults: '2025-05-24',
+
person_profiles: 'identified_only', // or 'always' to create profiles for anonymous users as well
+
})
+
</script>
+
+
<!-- Cloudflare Web Analytics -->
+
<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "8713a6d3d69b4e80b2ef78f17f699afa"}'></script>
+1977 -1048
package-lock.json
···
{
-
"name": "@ajhalili2006/tildeverse-web",
+
"name": "@ajhalili2006/website",
"version": "0.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
-
"name": "@ajhalili2006/tildeverse-web",
+
"name": "@ajhalili2006/website",
"version": "0.1.0",
-
"license": "ISC",
+
"license": "MPL-2.0",
+
"dependencies": {
+
"@dotenvx/dotenvx": "^1.51.0"
+
},
"devDependencies": {
-
"wrangler": "^3.57.2"
+
"npm-check-updates": "^19.0.0",
+
"wrangler": "^4.42.1"
}
},
"node_modules/@cloudflare/kv-asset-handler": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.2.tgz",
-
"integrity": "sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==",
+
"version": "0.4.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz",
+
"integrity": "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==",
"dev": true,
+
"license": "MIT OR Apache-2.0",
"dependencies": {
"mime": "^3.0.0"
},
"engines": {
-
"node": ">=16.13"
+
"node": ">=18.0.0"
+
}
+
},
+
"node_modules/@cloudflare/unenv-preset": {
+
"version": "2.7.7",
+
"resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.7.7.tgz",
+
"integrity": "sha512-HtZuh166y0Olbj9bqqySckz0Rw9uHjggJeoGbDx5x+sgezBXlxO6tQSig2RZw5tgObF8mWI8zaPvQMkQZtAODw==",
+
"dev": true,
+
"license": "MIT OR Apache-2.0",
+
"peerDependencies": {
+
"unenv": "2.0.0-rc.21",
+
"workerd": "^1.20250927.0"
+
},
+
"peerDependenciesMeta": {
+
"workerd": {
+
"optional": true
+
}
}
},
"node_modules/@cloudflare/workerd-darwin-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240524.0.tgz",
-
"integrity": "sha512-ATaXjefbTsrv4mpn4Fdua114RRDXcX5Ky+Mv+f4JTUllgalmqC4CYMN4jxRz9IpJU/fNMN8IEfvUyuJBAcl9Iw==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20251004.0.tgz",
+
"integrity": "sha512-gL6/b7NXCum95e77n+CLyDzmfV14ZAsyoWWHoWsi2Nt89ngl8xB7aW6IQQPZPjxvtSth5y/peFCIbmR55DxFCg==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@cloudflare/workerd-darwin-arm64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20240524.0.tgz",
-
"integrity": "sha512-wnbsZI4CS0QPCd+wnBHQ40C28A/2Qo4ESi1YhE2735G3UNcc876MWksZhsubd+XH0XPIra6eNFqyw6wRMpQOXA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20251004.0.tgz",
+
"integrity": "sha512-w3oE8PtYUAOyJCYLXIdmLuCmRrn1dEqB91u1sZs+MbLxzTNrvRwNaiioLJBHhpIeg3Oq2kyn3+idg0FdvgDLTA==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@cloudflare/workerd-linux-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20240524.0.tgz",
-
"integrity": "sha512-E8mj+HPBryKwaJAiNsYzXtVjKCL0KvUBZbtxJxlWM4mLSQhT+uwGT3nydb/hFY59rZnQgZslw0oqEWht5TEYiQ==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20251004.0.tgz",
+
"integrity": "sha512-PZxHuL6p2bxDI1ozBguKFO71AySTy0MzXiHePiubBuX+Mqa8sCmdAbWbp3QPIoErZ9eBsvw9UCNeSyEtM9H/iw==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@cloudflare/workerd-linux-arm64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20240524.0.tgz",
-
"integrity": "sha512-/Fr1W671t2triNCDCBWdStxngnbUfZunZ/2e4kaMLzJDJLYDtYdmvOUCBDzUD4ssqmIMbn9RCQQ0U+CLEoqBqw==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20251004.0.tgz",
+
"integrity": "sha512-ePCfH9W2ea+YhVL+FhXjWRV9vGWj/zshO3ugKm/qCO6OXAL1h0NPYCe55iZXFKwngwQH82H6Fv8UROaxDaGZ1Q==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@cloudflare/workerd-windows-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20240524.0.tgz",
-
"integrity": "sha512-G+ThDEx57g9mAEKqhWnHaaJgpeGYtyhkmwM/BDpLqPks/rAY5YEfZbY4YL1pNk1kkcZDXGrwIsY8xe9Apf5JdA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20251004.0.tgz",
+
"integrity": "sha512-sRuSls6kH6C2MG+xWoCi7fuV0SG26dB8+Cc2b59Pc0dzJRThOeNXbwpiSIZ4BQFGUudGlbCRwCpzIuPW3JxQLg==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "Apache-2.0",
"optional": true,
"os": [
"win32"
···
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
"dev": true,
+
"license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "0.3.9"
},
···
"node": ">=12"
}
},
-
"node_modules/@esbuild-plugins/node-globals-polyfill": {
-
"version": "0.2.3",
-
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz",
-
"integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==",
-
"dev": true,
+
"node_modules/@dotenvx/dotenvx": {
+
"version": "1.51.0",
+
"resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.51.0.tgz",
+
"integrity": "sha512-CbMGzyOYSyFF7d4uaeYwO9gpSBzLTnMmSmTVpCZjvpJFV69qYbjYPpzNnCz1mb2wIvEhjWjRwQWuBzTO0jITww==",
+
"license": "BSD-3-Clause",
+
"dependencies": {
+
"commander": "^11.1.0",
+
"dotenv": "^17.2.1",
+
"eciesjs": "^0.4.10",
+
"execa": "^5.1.1",
+
"fdir": "^6.2.0",
+
"ignore": "^5.3.0",
+
"object-treeify": "1.1.33",
+
"picomatch": "^4.0.2",
+
"which": "^4.0.0"
+
},
+
"bin": {
+
"dotenvx": "src/cli/dotenvx.js"
+
},
+
"funding": {
+
"url": "https://dotenvx.com"
+
}
+
},
+
"node_modules/@dotenvx/dotenvx/node_modules/fdir": {
+
"version": "6.4.0",
+
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.0.tgz",
+
"integrity": "sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==",
+
"license": "MIT",
"peerDependencies": {
-
"esbuild": "*"
+
"picomatch": "^3 || ^4"
+
},
+
"peerDependenciesMeta": {
+
"picomatch": {
+
"optional": true
+
}
}
},
-
"node_modules/@esbuild-plugins/node-modules-polyfill": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz",
-
"integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==",
+
"node_modules/@dotenvx/dotenvx/node_modules/picomatch": {
+
"version": "4.0.2",
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+
"license": "MIT",
+
"engines": {
+
"node": ">=12"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/jonschlinkert"
+
}
+
},
+
"node_modules/@ecies/ciphers": {
+
"version": "0.2.1",
+
"resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.1.tgz",
+
"integrity": "sha512-ezMihhjW24VNK/2qQR7lH8xCQY24nk0XHF/kwJ1OuiiY5iEwQXOcKVSy47fSoHPRG8gVGXcK5SgtONDk5xMwtQ==",
+
"license": "MIT",
+
"engines": {
+
"bun": ">=1",
+
"deno": ">=2",
+
"node": ">=16"
+
},
+
"peerDependencies": {
+
"@noble/ciphers": "^1.0.0"
+
}
+
},
+
"node_modules/@emnapi/runtime": {
+
"version": "1.5.0",
+
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
+
"integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
"dev": true,
+
"license": "MIT",
+
"optional": true,
"dependencies": {
-
"escape-string-regexp": "^4.0.0",
-
"rollup-plugin-node-polyfills": "^0.2.1"
-
},
-
"peerDependencies": {
-
"esbuild": "*"
+
"tslib": "^2.4.0"
+
}
+
},
+
"node_modules/@esbuild/aix-ppc64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
+
"integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+
"cpu": [
+
"ppc64"
+
],
+
"dev": true,
+
"license": "MIT",
+
"optional": true,
+
"os": [
+
"aix"
+
],
+
"engines": {
+
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-
"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
+
"integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
"cpu": [
"arm"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-
"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
+
"integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-
"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
+
"integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-
"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
+
"integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-
"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
+
"integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-
"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-
"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
+
"integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-
"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
+
"integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
"cpu": [
"arm"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-
"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
+
"integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-
"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
+
"integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
"cpu": [
"ia32"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-
"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
+
"integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
"cpu": [
"loong64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-
"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
+
"integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
"cpu": [
"mips64el"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-
"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
+
"integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
"cpu": [
"ppc64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-
"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
+
"integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
"cpu": [
"riscv64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-
"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
+
"integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
"cpu": [
"s390x"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-
"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
+
"integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
+
}
+
},
+
"node_modules/@esbuild/netbsd-arm64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "MIT",
+
"optional": true,
+
"os": [
+
"netbsd"
+
],
+
"engines": {
+
"node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-
"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
+
"integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"netbsd"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
+
}
+
},
+
"node_modules/@esbuild/openbsd-arm64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "MIT",
+
"optional": true,
+
"os": [
+
"openbsd"
+
],
+
"engines": {
+
"node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-
"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
+
"integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"openbsd"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-
"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
+
"integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"sunos"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-
"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
+
"integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
"cpu": [
"arm64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-
"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
+
"integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
"cpu": [
"ia32"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-
"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
+
"integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
"cpu": [
"x64"
],
"dev": true,
+
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
-
"node": ">=12"
+
"node": ">=18"
+
}
+
},
+
"node_modules/@img/sharp-darwin-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
+
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"darwin"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-darwin-arm64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-darwin-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
+
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"darwin"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-darwin-x64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-libvips-darwin-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
+
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"darwin"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-darwin-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
+
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"darwin"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linux-arm": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
+
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
+
"cpu": [
+
"arm"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linux-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
+
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linux-s390x": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
+
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
+
"cpu": [
+
"s390x"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linux-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
+
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
+
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
+
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-linux-arm": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
+
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
+
"cpu": [
+
"arm"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linux-arm": "1.0.5"
+
}
+
},
+
"node_modules/@img/sharp-linux-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
+
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linux-arm64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-linux-s390x": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
+
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
+
"cpu": [
+
"s390x"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linux-s390x": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-linux-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
+
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linux-x64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-linuxmusl-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
+
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
+
"cpu": [
+
"arm64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-linuxmusl-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
+
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
+
"cpu": [
+
"x64"
+
],
+
"dev": true,
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4"
+
}
+
},
+
"node_modules/@img/sharp-wasm32": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
+
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
+
"cpu": [
+
"wasm32"
+
],
+
"dev": true,
+
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+
"optional": true,
+
"dependencies": {
+
"@emnapi/runtime": "^1.2.0"
+
},
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-win32-ia32": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
+
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
+
"cpu": [
+
"ia32"
+
],
+
"dev": true,
+
"license": "Apache-2.0 AND LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"win32"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
}
},
-
"node_modules/@fastify/busboy": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
-
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+
"node_modules/@img/sharp-win32-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
+
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
+
"cpu": [
+
"x64"
+
],
"dev": true,
+
"license": "Apache-2.0 AND LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"win32"
+
],
"engines": {
-
"node": ">=14"
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@jridgewell/resolve-uri": {
···
"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/sourcemap-codec": {
-
"version": "1.4.15",
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
-
"dev": true
+
"version": "1.5.5",
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+
"dev": true,
+
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
"dev": true,
+
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.0.3",
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
+
"node_modules/@noble/ciphers": {
+
"version": "1.0.0",
+
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.0.0.tgz",
+
"integrity": "sha512-wH5EHOmLi0rEazphPbecAzmjd12I6/Yv/SiHdkA9LSycsQk7RuuTp7am5/o62qYr0RScE7Pc9icXGBbsr6cesA==",
+
"license": "MIT",
+
"engines": {
+
"node": "^14.21.3 || >=16"
+
},
+
"funding": {
+
"url": "https://paulmillr.com/funding/"
+
}
+
},
+
"node_modules/@noble/curves": {
+
"version": "1.6.0",
+
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz",
+
"integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==",
+
"license": "MIT",
+
"dependencies": {
+
"@noble/hashes": "1.5.0"
+
},
+
"engines": {
+
"node": "^14.21.3 || >=16"
+
},
+
"funding": {
+
"url": "https://paulmillr.com/funding/"
+
}
+
},
+
"node_modules/@noble/hashes": {
+
"version": "1.5.0",
+
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz",
+
"integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==",
+
"license": "MIT",
+
"engines": {
+
"node": "^14.21.3 || >=16"
+
},
+
"funding": {
+
"url": "https://paulmillr.com/funding/"
+
}
+
},
+
"node_modules/@poppinss/colors": {
+
"version": "4.1.5",
+
"resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.5.tgz",
+
"integrity": "sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==",
+
"dev": true,
+
"license": "MIT",
+
"dependencies": {
+
"kleur": "^4.1.5"
+
}
+
},
+
"node_modules/@poppinss/dumper": {
+
"version": "0.6.4",
+
"resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.4.tgz",
+
"integrity": "sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==",
+
"dev": true,
+
"license": "MIT",
+
"dependencies": {
+
"@poppinss/colors": "^4.1.5",
+
"@sindresorhus/is": "^7.0.2",
+
"supports-color": "^10.0.0"
+
}
+
},
+
"node_modules/@poppinss/exception": {
+
"version": "1.2.2",
+
"resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.2.tgz",
+
"integrity": "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==",
+
"dev": true,
+
"license": "MIT"
+
},
+
"node_modules/@sindresorhus/is": {
+
"version": "7.1.0",
+
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.1.0.tgz",
+
"integrity": "sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==",
+
"dev": true,
+
"license": "MIT",
+
"engines": {
+
"node": ">=18"
+
},
+
"funding": {
+
"url": "https://github.com/sindresorhus/is?sponsor=1"
+
}
+
},
+
"node_modules/@speed-highlight/core": {
+
"version": "1.2.7",
+
"resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.7.tgz",
+
"integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==",
+
"dev": true,
+
"license": "CC0-1.0"
+
},
"node_modules/acorn": {
-
"version": "8.11.3",
-
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+
"version": "8.14.0",
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
+
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
···
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
"integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true,
+
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
-
"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==",
+
"node_modules/blake3-wasm": {
+
"version": "2.1.5",
+
"resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
+
"integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
+
"dev": true
+
},
+
"node_modules/color": {
+
"version": "4.2.3",
+
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"normalize-path": "^3.0.0",
-
"picomatch": "^2.0.4"
+
"color-convert": "^2.0.1",
+
"color-string": "^1.9.0"
},
"engines": {
-
"node": ">= 8"
+
"node": ">=12.5.0"
}
},
-
"node_modules/as-table": {
-
"version": "1.0.55",
-
"resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz",
-
"integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==",
+
"node_modules/color-convert": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"printable-characters": "^1.0.42"
+
"color-name": "~1.1.4"
+
},
+
"engines": {
+
"node": ">=7.0.0"
}
},
-
"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==",
+
"node_modules/color-name": {
+
"version": "1.1.4",
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
-
"engines": {
-
"node": ">=8"
-
}
+
"license": "MIT"
},
-
"node_modules/blake3-wasm": {
-
"version": "2.1.5",
-
"resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
-
"integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
-
"dev": true
-
},
-
"node_modules/braces": {
-
"version": "3.0.2",
-
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+
"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==",
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"fill-range": "^7.0.1"
-
},
+
"color-name": "^1.0.0",
+
"simple-swizzle": "^0.2.2"
+
}
+
},
+
"node_modules/commander": {
+
"version": "11.1.0",
+
"resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+
"integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+
"license": "MIT",
"engines": {
-
"node": ">=8"
+
"node": ">=16"
}
},
-
"node_modules/capnp-ts": {
-
"version": "0.7.0",
-
"resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz",
-
"integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==",
+
"node_modules/cookie": {
+
"version": "1.0.2",
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
"dev": true,
+
"license": "MIT",
+
"engines": {
+
"node": ">=18"
+
}
+
},
+
"node_modules/cross-spawn": {
+
"version": "7.0.6",
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+
"license": "MIT",
"dependencies": {
-
"debug": "^4.3.1",
-
"tslib": "^2.2.0"
+
"path-key": "^3.1.0",
+
"shebang-command": "^2.0.0",
+
"which": "^2.0.1"
+
},
+
"engines": {
+
"node": ">= 8"
}
},
-
"node_modules/chokidar": {
-
"version": "3.5.3",
-
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
-
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-
"dev": true,
-
"funding": [
-
{
-
"type": "individual",
-
"url": "https://paulmillr.com/funding/"
-
}
-
],
+
"node_modules/cross-spawn/node_modules/isexe": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+
"license": "ISC"
+
},
+
"node_modules/cross-spawn/node_modules/which": {
+
"version": "2.0.2",
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+
"license": "ISC",
"dependencies": {
-
"anymatch": "~3.1.2",
-
"braces": "~3.0.2",
-
"glob-parent": "~5.1.2",
-
"is-binary-path": "~2.1.0",
-
"is-glob": "~4.0.1",
-
"normalize-path": "~3.0.0",
-
"readdirp": "~3.6.0"
+
"isexe": "^2.0.0"
+
},
+
"bin": {
+
"node-which": "bin/node-which"
},
"engines": {
-
"node": ">= 8.10.0"
-
},
-
"optionalDependencies": {
-
"fsevents": "~2.3.2"
+
"node": ">= 8"
}
},
-
"node_modules/cookie": {
-
"version": "0.5.0",
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
-
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+
"node_modules/defu": {
+
"version": "6.1.4",
+
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+
"dev": true,
+
"license": "MIT"
+
},
+
"node_modules/detect-libc": {
+
"version": "2.1.2",
+
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"dev": true,
+
"license": "Apache-2.0",
"engines": {
-
"node": ">= 0.6"
+
"node": ">=8"
}
},
-
"node_modules/data-uri-to-buffer": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz",
-
"integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==",
-
"dev": true
+
"node_modules/dotenv": {
+
"version": "17.2.3",
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz",
+
"integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==",
+
"license": "BSD-2-Clause",
+
"engines": {
+
"node": ">=12"
+
},
+
"funding": {
+
"url": "https://dotenvx.com"
+
}
},
-
"node_modules/debug": {
-
"version": "4.3.4",
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
-
"dev": true,
+
"node_modules/eciesjs": {
+
"version": "0.4.11",
+
"resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.11.tgz",
+
"integrity": "sha512-SmUG449n1w1YGvJD9R30tBGvpxTxA0cnn0rfvpFIBvmezfIhagLjsH2JG8HBHOLS8slXsPh48II7IDUTH/J3Mg==",
+
"license": "MIT",
"dependencies": {
-
"ms": "2.1.2"
+
"@ecies/ciphers": "^0.2.1",
+
"@noble/ciphers": "^1.0.0",
+
"@noble/curves": "^1.6.0",
+
"@noble/hashes": "^1.5.0"
},
"engines": {
-
"node": ">=6.0"
-
},
-
"peerDependenciesMeta": {
-
"supports-color": {
-
"optional": true
-
}
+
"bun": ">=1",
+
"deno": ">=2",
+
"node": ">=16"
+
}
+
},
+
"node_modules/error-stack-parser-es": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz",
+
"integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==",
+
"dev": true,
+
"license": "MIT",
+
"funding": {
+
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/esbuild": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
-
"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
+
"integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
"dev": true,
"hasInstallScript": true,
+
"license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
-
"node": ">=12"
+
"node": ">=18"
},
"optionalDependencies": {
-
"@esbuild/android-arm": "0.17.19",
-
"@esbuild/android-arm64": "0.17.19",
-
"@esbuild/android-x64": "0.17.19",
-
"@esbuild/darwin-arm64": "0.17.19",
-
"@esbuild/darwin-x64": "0.17.19",
-
"@esbuild/freebsd-arm64": "0.17.19",
-
"@esbuild/freebsd-x64": "0.17.19",
-
"@esbuild/linux-arm": "0.17.19",
-
"@esbuild/linux-arm64": "0.17.19",
-
"@esbuild/linux-ia32": "0.17.19",
-
"@esbuild/linux-loong64": "0.17.19",
-
"@esbuild/linux-mips64el": "0.17.19",
-
"@esbuild/linux-ppc64": "0.17.19",
-
"@esbuild/linux-riscv64": "0.17.19",
-
"@esbuild/linux-s390x": "0.17.19",
-
"@esbuild/linux-x64": "0.17.19",
-
"@esbuild/netbsd-x64": "0.17.19",
-
"@esbuild/openbsd-x64": "0.17.19",
-
"@esbuild/sunos-x64": "0.17.19",
-
"@esbuild/win32-arm64": "0.17.19",
-
"@esbuild/win32-ia32": "0.17.19",
-
"@esbuild/win32-x64": "0.17.19"
+
"@esbuild/aix-ppc64": "0.25.4",
+
"@esbuild/android-arm": "0.25.4",
+
"@esbuild/android-arm64": "0.25.4",
+
"@esbuild/android-x64": "0.25.4",
+
"@esbuild/darwin-arm64": "0.25.4",
+
"@esbuild/darwin-x64": "0.25.4",
+
"@esbuild/freebsd-arm64": "0.25.4",
+
"@esbuild/freebsd-x64": "0.25.4",
+
"@esbuild/linux-arm": "0.25.4",
+
"@esbuild/linux-arm64": "0.25.4",
+
"@esbuild/linux-ia32": "0.25.4",
+
"@esbuild/linux-loong64": "0.25.4",
+
"@esbuild/linux-mips64el": "0.25.4",
+
"@esbuild/linux-ppc64": "0.25.4",
+
"@esbuild/linux-riscv64": "0.25.4",
+
"@esbuild/linux-s390x": "0.25.4",
+
"@esbuild/linux-x64": "0.25.4",
+
"@esbuild/netbsd-arm64": "0.25.4",
+
"@esbuild/netbsd-x64": "0.25.4",
+
"@esbuild/openbsd-arm64": "0.25.4",
+
"@esbuild/openbsd-x64": "0.25.4",
+
"@esbuild/sunos-x64": "0.25.4",
+
"@esbuild/win32-arm64": "0.25.4",
+
"@esbuild/win32-ia32": "0.25.4",
+
"@esbuild/win32-x64": "0.25.4"
}
},
-
"node_modules/escape-string-regexp": {
-
"version": "4.0.0",
-
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-
"dev": true,
+
"node_modules/execa": {
+
"version": "5.1.1",
+
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+
"license": "MIT",
+
"dependencies": {
+
"cross-spawn": "^7.0.3",
+
"get-stream": "^6.0.0",
+
"human-signals": "^2.1.0",
+
"is-stream": "^2.0.0",
+
"merge-stream": "^2.0.0",
+
"npm-run-path": "^4.0.1",
+
"onetime": "^5.1.2",
+
"signal-exit": "^3.0.3",
+
"strip-final-newline": "^2.0.0"
+
},
"engines": {
"node": ">=10"
},
"funding": {
-
"url": "https://github.com/sponsors/sindresorhus"
+
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
-
"node_modules/estree-walker": {
-
"version": "0.6.1",
-
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
-
"integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
-
"dev": true
-
},
"node_modules/exit-hook": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz",
"integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==",
"dev": true,
+
"license": "MIT",
"engines": {
"node": ">=6"
},
···
"url": "https://github.com/sponsors/sindresorhus"
}
},
-
"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==",
+
"node_modules/exsolve": {
+
"version": "1.0.7",
+
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz",
+
"integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==",
"dev": true,
-
"dependencies": {
-
"to-regex-range": "^5.0.1"
-
},
-
"engines": {
-
"node": ">=8"
-
}
+
"license": "MIT"
},
"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"
···
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
-
"node_modules/function-bind": {
-
"version": "1.1.2",
-
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-
"dev": true,
+
"node_modules/get-stream": {
+
"version": "6.0.1",
+
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+
"license": "MIT",
+
"engines": {
+
"node": ">=10"
+
},
"funding": {
-
"url": "https://github.com/sponsors/ljharb"
-
}
-
},
-
"node_modules/get-source": {
-
"version": "2.0.12",
-
"resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz",
-
"integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==",
-
"dev": true,
-
"dependencies": {
-
"data-uri-to-buffer": "^2.0.0",
-
"source-map": "^0.6.1"
-
}
-
},
-
"node_modules/glob-parent": {
-
"version": "5.1.2",
-
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-
"dev": true,
-
"dependencies": {
-
"is-glob": "^4.0.1"
-
},
-
"engines": {
-
"node": ">= 6"
+
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
-
"dev": true
-
},
-
"node_modules/hasown": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
-
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
-
"dependencies": {
-
"function-bind": "^1.1.2"
-
},
-
"engines": {
-
"node": ">= 0.4"
-
}
+
"license": "BSD-2-Clause"
},
-
"node_modules/is-binary-path": {
+
"node_modules/human-signals": {
"version": "2.1.0",
-
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-
"dev": true,
-
"dependencies": {
-
"binary-extensions": "^2.0.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": ">=8"
+
"node": ">=10.17.0"
}
},
-
"node_modules/is-core-module": {
-
"version": "2.13.1",
-
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
-
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
-
"dev": true,
-
"dependencies": {
-
"hasown": "^2.0.0"
-
},
-
"funding": {
-
"url": "https://github.com/sponsors/ljharb"
+
"node_modules/ignore": {
+
"version": "5.3.2",
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+
"license": "MIT",
+
"engines": {
+
"node": ">= 4"
}
},
-
"node_modules/is-extglob": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+
"node_modules/is-arrayish": {
+
"version": "0.3.4",
+
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz",
+
"integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==",
"dev": true,
+
"license": "MIT"
+
},
+
"node_modules/is-stream": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+
"license": "MIT",
"engines": {
-
"node": ">=0.10.0"
+
"node": ">=8"
+
},
+
"funding": {
+
"url": "https://github.com/sponsors/sindresorhus"
}
},
-
"node_modules/is-glob": {
-
"version": "4.0.3",
-
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-
"dev": true,
-
"dependencies": {
-
"is-extglob": "^2.1.1"
-
},
+
"node_modules/isexe": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+
"integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+
"license": "ISC",
"engines": {
-
"node": ">=0.10.0"
+
"node": ">=16"
}
},
-
"node_modules/is-number": {
-
"version": "7.0.0",
-
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+
"node_modules/kleur": {
+
"version": "4.1.5",
+
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"dev": true,
+
"license": "MIT",
"engines": {
-
"node": ">=0.12.0"
+
"node": ">=6"
}
},
-
"node_modules/magic-string": {
-
"version": "0.25.9",
-
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
-
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
-
"dev": true,
-
"dependencies": {
-
"sourcemap-codec": "^1.4.8"
-
}
+
"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==",
+
"license": "MIT"
},
"node_modules/mime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"dev": true,
+
"license": "MIT",
"bin": {
"mime": "cli.js"
},
···
"node": ">=10.0.0"
}
},
+
"node_modules/mimic-fn": {
+
"version": "2.1.0",
+
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+
"license": "MIT",
+
"engines": {
+
"node": ">=6"
+
}
+
},
"node_modules/miniflare": {
-
"version": "3.20240524.0",
-
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20240524.0.tgz",
-
"integrity": "sha512-RQAfpz7spI6gWlczeUYvJBgGyt0gNR2pYoCydgukCYZ+0bGfJl0yAiNFW62uH7uMZli/4juWPpQOBI5m7URoyA==",
+
"version": "4.20251004.0",
+
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20251004.0.tgz",
+
"integrity": "sha512-XxQ/vZVp5yTbnwq83fJag9DL8ww5IBfzaFZzlxMWMo2wf7bfHPYMkE4VbeibMwdLI+Pkyddg4zIxMTOvvZNigg==",
"dev": true,
+
"license": "MIT",
"dependencies": {
"@cspotcode/source-map-support": "0.8.1",
-
"acorn": "^8.8.0",
-
"acorn-walk": "^8.2.0",
-
"capnp-ts": "^0.7.0",
-
"exit-hook": "^2.2.1",
-
"glob-to-regexp": "^0.4.1",
-
"stoppable": "^1.1.0",
-
"undici": "^5.28.2",
-
"workerd": "1.20240524.0",
-
"ws": "^8.11.0",
-
"youch": "^3.2.2",
-
"zod": "^3.20.6"
+
"acorn": "8.14.0",
+
"acorn-walk": "8.3.2",
+
"exit-hook": "2.2.1",
+
"glob-to-regexp": "0.4.1",
+
"sharp": "^0.33.5",
+
"stoppable": "1.1.0",
+
"undici": "7.14.0",
+
"workerd": "1.20251004.0",
+
"ws": "8.18.0",
+
"youch": "4.1.0-beta.10",
+
"zod": "3.22.3"
},
"bin": {
"miniflare": "bootstrap.js"
},
"engines": {
-
"node": ">=16.13"
+
"node": ">=18.0.0"
}
},
-
"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==",
-
"dev": true
-
},
-
"node_modules/mustache": {
-
"version": "4.2.0",
-
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
-
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
+
"node_modules/npm-check-updates": {
+
"version": "19.0.0",
+
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-19.0.0.tgz",
+
"integrity": "sha512-qcfjZEv6xB+WvW24S8wU1MKISPPiTREraBg62XDo/7zmOLXH3Zj7ti2v/LRfks0qITU8SDZLTWwgIitflvursw==",
"dev": true,
+
"license": "Apache-2.0",
"bin": {
-
"mustache": "bin/mustache"
-
}
-
},
-
"node_modules/nanoid": {
-
"version": "3.3.4",
-
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
-
"dev": true,
-
"bin": {
-
"nanoid": "bin/nanoid.cjs"
+
"ncu": "build/cli.js",
+
"npm-check-updates": "build/cli.js"
},
"engines": {
-
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+
"node": ">=20.0.0",
+
"npm": ">=8.12.1"
}
},
-
"node_modules/node-forge": {
-
"version": "1.3.1",
-
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
-
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
-
"dev": true,
+
"node_modules/npm-run-path": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+
"license": "MIT",
+
"dependencies": {
+
"path-key": "^3.0.0"
+
},
"engines": {
-
"node": ">= 6.13.0"
+
"node": ">=8"
}
},
-
"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,
+
"node_modules/object-treeify": {
+
"version": "1.1.33",
+
"resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz",
+
"integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==",
+
"license": "MIT",
"engines": {
-
"node": ">=0.10.0"
+
"node": ">= 10"
}
},
-
"node_modules/path-parse": {
-
"version": "1.0.7",
-
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-
"dev": true
-
},
-
"node_modules/path-to-regexp": {
-
"version": "6.2.1",
-
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
-
"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
-
"dev": true
-
},
-
"node_modules/picomatch": {
-
"version": "2.3.1",
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+
"node_modules/ohash": {
+
"version": "2.0.11",
+
"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
+
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
"dev": true,
-
"engines": {
-
"node": ">=8.6"
-
},
-
"funding": {
-
"url": "https://github.com/sponsors/jonschlinkert"
-
}
-
},
-
"node_modules/printable-characters": {
-
"version": "1.0.42",
-
"resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz",
-
"integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==",
-
"dev": true
+
"license": "MIT"
},
-
"node_modules/readdirp": {
-
"version": "3.6.0",
-
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-
"dev": true,
+
"node_modules/onetime": {
+
"version": "5.1.2",
+
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+
"license": "MIT",
"dependencies": {
-
"picomatch": "^2.2.1"
+
"mimic-fn": "^2.1.0"
},
"engines": {
-
"node": ">=8.10.0"
-
}
-
},
-
"node_modules/resolve": {
-
"version": "1.22.8",
-
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
-
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
-
"dev": true,
-
"dependencies": {
-
"is-core-module": "^2.13.0",
-
"path-parse": "^1.0.7",
-
"supports-preserve-symlinks-flag": "^1.0.0"
-
},
-
"bin": {
-
"resolve": "bin/resolve"
+
"node": ">=6"
},
"funding": {
-
"url": "https://github.com/sponsors/ljharb"
+
"url": "https://github.com/sponsors/sindresorhus"
},
-
"node_modules/resolve.exports": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
-
"integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
-
"dev": true,
+
"node_modules/path-key": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+
"license": "MIT",
"engines": {
-
"node": ">=10"
+
"node": ">=8"
},
-
"node_modules/rollup-plugin-inject": {
-
"version": "3.0.2",
-
"resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz",
-
"integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==",
-
"deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.",
+
"node_modules/path-to-regexp": {
+
"version": "6.3.0",
+
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+
"integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
"dev": true,
-
"dependencies": {
-
"estree-walker": "^0.6.1",
-
"magic-string": "^0.25.3",
-
"rollup-pluginutils": "^2.8.1"
-
}
+
"license": "MIT"
},
-
"node_modules/rollup-plugin-node-polyfills": {
-
"version": "0.2.1",
-
"resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz",
-
"integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==",
+
"node_modules/pathe": {
+
"version": "2.0.3",
+
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"dev": true,
-
"dependencies": {
-
"rollup-plugin-inject": "^3.0.0"
+
"license": "MIT"
+
},
+
"node_modules/semver": {
+
"version": "7.7.3",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+
"dev": true,
+
"license": "ISC",
+
"bin": {
+
"semver": "bin/semver.js"
+
},
+
"engines": {
+
"node": ">=10"
},
-
"node_modules/rollup-pluginutils": {
-
"version": "2.8.2",
-
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
-
"integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
+
"node_modules/sharp": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
+
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
"dev": true,
+
"hasInstallScript": true,
+
"license": "Apache-2.0",
"dependencies": {
-
"estree-walker": "^0.6.1"
+
"color": "^4.2.3",
+
"detect-libc": "^2.0.3",
+
"semver": "^7.6.3"
+
},
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-darwin-arm64": "0.33.5",
+
"@img/sharp-darwin-x64": "0.33.5",
+
"@img/sharp-libvips-darwin-arm64": "1.0.4",
+
"@img/sharp-libvips-darwin-x64": "1.0.4",
+
"@img/sharp-libvips-linux-arm": "1.0.5",
+
"@img/sharp-libvips-linux-arm64": "1.0.4",
+
"@img/sharp-libvips-linux-s390x": "1.0.4",
+
"@img/sharp-libvips-linux-x64": "1.0.4",
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4",
+
"@img/sharp-linux-arm": "0.33.5",
+
"@img/sharp-linux-arm64": "0.33.5",
+
"@img/sharp-linux-s390x": "0.33.5",
+
"@img/sharp-linux-x64": "0.33.5",
+
"@img/sharp-linuxmusl-arm64": "0.33.5",
+
"@img/sharp-linuxmusl-x64": "0.33.5",
+
"@img/sharp-wasm32": "0.33.5",
+
"@img/sharp-win32-ia32": "0.33.5",
+
"@img/sharp-win32-x64": "0.33.5"
},
-
"node_modules/selfsigned": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
-
"integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
-
"dev": true,
+
"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": {
-
"node-forge": "^1"
+
"shebang-regex": "^3.0.0"
},
"engines": {
-
"node": ">=10"
+
"node": ">=8"
},
-
"node_modules/source-map": {
-
"version": "0.6.1",
-
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-
"dev": true,
+
"node_modules/shebang-regex": {
+
"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": ">=0.10.0"
+
"node": ">=8"
},
-
"node_modules/sourcemap-codec": {
-
"version": "1.4.8",
-
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-
"deprecated": "Please use @jridgewell/sourcemap-codec instead",
-
"dev": true
+
"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==",
+
"license": "ISC"
},
-
"node_modules/stacktracey": {
-
"version": "2.1.8",
-
"resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz",
-
"integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==",
+
"node_modules/simple-swizzle": {
+
"version": "0.2.4",
+
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz",
+
"integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==",
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"as-table": "^1.0.36",
-
"get-source": "^2.0.12"
+
"is-arrayish": "^0.3.1"
},
"node_modules/stoppable": {
···
"resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
"integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
"dev": true,
+
"license": "MIT",
"engines": {
"node": ">=4",
"npm": ">=6"
},
-
"node_modules/supports-preserve-symlinks-flag": {
-
"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==",
-
"dev": true,
+
"node_modules/strip-final-newline": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+
"license": "MIT",
"engines": {
-
"node": ">= 0.4"
-
},
-
"funding": {
-
"url": "https://github.com/sponsors/ljharb"
+
"node": ">=6"
},
-
"node_modules/to-regex-range": {
-
"version": "5.0.1",
-
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+
"node_modules/supports-color": {
+
"version": "10.2.2",
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+
"integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
"dev": true,
-
"dependencies": {
-
"is-number": "^7.0.0"
-
},
+
"license": "MIT",
"engines": {
-
"node": ">=8.0"
+
"node": ">=18"
+
},
+
"funding": {
+
"url": "https://github.com/chalk/supports-color?sponsor=1"
},
"node_modules/tslib": {
-
"version": "2.6.2",
-
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
-
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
-
"dev": true
+
"version": "2.8.1",
+
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+
"dev": true,
+
"license": "0BSD",
+
"optional": true
+
},
+
"node_modules/ufo": {
+
"version": "1.6.1",
+
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
+
"integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
+
"dev": true,
+
"license": "MIT"
},
"node_modules/undici": {
-
"version": "5.28.4",
-
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
-
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+
"version": "7.14.0",
+
"resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz",
+
"integrity": "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==",
"dev": true,
+
"license": "MIT",
+
"engines": {
+
"node": ">=20.18.1"
+
}
+
},
+
"node_modules/unenv": {
+
"version": "2.0.0-rc.21",
+
"resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.21.tgz",
+
"integrity": "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==",
+
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"@fastify/busboy": "^2.0.0"
+
"defu": "^6.1.4",
+
"exsolve": "^1.0.7",
+
"ohash": "^2.0.11",
+
"pathe": "^2.0.3",
+
"ufo": "^1.6.1"
+
}
+
},
+
"node_modules/which": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+
"integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+
"license": "ISC",
+
"dependencies": {
+
"isexe": "^3.1.1"
+
},
+
"bin": {
+
"node-which": "bin/which.js"
},
"engines": {
-
"node": ">=14.0"
+
"node": "^16.13.0 || >=18.0.0"
},
"node_modules/workerd": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240524.0.tgz",
-
"integrity": "sha512-LWLe5D8PVHBcqturmBbwgI71r7YPpIMYZoVEH6S4G35EqIJ55cb0n3FipoSyraoIfpcCxCFxX1K6WsRHbP3pFA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20251004.0.tgz",
+
"integrity": "sha512-1YajTH54RdrQrO5FY1HuH1t87H3bWjbM4MtOTF6XdPQL8LxVWACC46aGjmhyVJKMQNLECs64d+AYFGxVrFTOAA==",
"dev": true,
"hasInstallScript": true,
+
"license": "Apache-2.0",
"bin": {
"workerd": "bin/workerd"
},
···
"node": ">=16"
},
"optionalDependencies": {
-
"@cloudflare/workerd-darwin-64": "1.20240524.0",
-
"@cloudflare/workerd-darwin-arm64": "1.20240524.0",
-
"@cloudflare/workerd-linux-64": "1.20240524.0",
-
"@cloudflare/workerd-linux-arm64": "1.20240524.0",
-
"@cloudflare/workerd-windows-64": "1.20240524.0"
+
"@cloudflare/workerd-darwin-64": "1.20251004.0",
+
"@cloudflare/workerd-darwin-arm64": "1.20251004.0",
+
"@cloudflare/workerd-linux-64": "1.20251004.0",
+
"@cloudflare/workerd-linux-arm64": "1.20251004.0",
+
"@cloudflare/workerd-windows-64": "1.20251004.0"
},
"node_modules/wrangler": {
-
"version": "3.57.2",
-
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.57.2.tgz",
-
"integrity": "sha512-QegYf0FW+4prlFKE9iHr1EGrCo8ejcGL9gaqEXrzQ0vbTdazykYbY0I5UpHFLNq2dIF9I/ifEoLRKr636tyHEw==",
+
"version": "4.42.1",
+
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.42.1.tgz",
+
"integrity": "sha512-Oia5SmGmfUWfz/k5aklrE429VMiMMZkjc1EhF1nrANElCOwBTTBY1shsfhkg9F0vG8ZtHzx1rJvYfaQvct498g==",
"dev": true,
+
"license": "MIT OR Apache-2.0",
"dependencies": {
-
"@cloudflare/kv-asset-handler": "0.3.2",
-
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
-
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
-
"blake3-wasm": "^2.1.5",
-
"chokidar": "^3.5.3",
-
"esbuild": "0.17.19",
-
"miniflare": "3.20240524.0",
-
"nanoid": "^3.3.3",
-
"path-to-regexp": "^6.2.0",
-
"resolve": "^1.22.8",
-
"resolve.exports": "^2.0.2",
-
"selfsigned": "^2.0.1",
-
"source-map": "0.6.1",
-
"xxhash-wasm": "^1.0.1"
+
"@cloudflare/kv-asset-handler": "0.4.0",
+
"@cloudflare/unenv-preset": "2.7.7",
+
"blake3-wasm": "2.1.5",
+
"esbuild": "0.25.4",
+
"miniflare": "4.20251004.0",
+
"path-to-regexp": "6.3.0",
+
"unenv": "2.0.0-rc.21",
+
"workerd": "1.20251004.0"
},
"bin": {
"wrangler": "bin/wrangler.js",
"wrangler2": "bin/wrangler.js"
},
"engines": {
-
"node": ">=16.17.0"
+
"node": ">=18.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
},
"peerDependencies": {
-
"@cloudflare/workers-types": "^4.20240524.0"
+
"@cloudflare/workers-types": "^4.20251004.0"
},
"peerDependenciesMeta": {
"@cloudflare/workers-types": {
···
},
"node_modules/ws": {
-
"version": "8.17.0",
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
-
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
+
"version": "8.18.0",
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
"dev": true,
+
"license": "MIT",
"engines": {
"node": ">=10.0.0"
},
···
},
-
"node_modules/xxhash-wasm": {
-
"version": "1.0.2",
-
"resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz",
-
"integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==",
-
"dev": true
+
"node_modules/youch": {
+
"version": "4.1.0-beta.10",
+
"resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz",
+
"integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==",
+
"dev": true,
+
"license": "MIT",
+
"dependencies": {
+
"@poppinss/colors": "^4.1.5",
+
"@poppinss/dumper": "^0.6.4",
+
"@speed-highlight/core": "^1.2.7",
+
"cookie": "^1.0.2",
+
"youch-core": "^0.3.3"
+
}
},
-
"node_modules/youch": {
-
"version": "3.3.3",
-
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz",
-
"integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==",
+
"node_modules/youch-core": {
+
"version": "0.3.3",
+
"resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz",
+
"integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==",
"dev": true,
+
"license": "MIT",
"dependencies": {
-
"cookie": "^0.5.0",
-
"mustache": "^4.2.0",
-
"stacktracey": "^2.1.8"
+
"@poppinss/exception": "^1.2.2",
+
"error-stack-parser-es": "^1.0.5"
},
"node_modules/zod": {
-
"version": "3.23.8",
-
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
-
"integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+
"version": "3.22.3",
+
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz",
+
"integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==",
"dev": true,
+
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
···
},
"dependencies": {
"@cloudflare/kv-asset-handler": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.2.tgz",
-
"integrity": "sha512-EeEjMobfuJrwoctj7FA1y1KEbM0+Q1xSjobIEyie9k4haVEBB7vkDvsasw1pM3rO39mL2akxIAzLMUAtrMHZhA==",
+
"version": "0.4.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz",
+
"integrity": "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==",
"dev": true,
"requires": {
"mime": "^3.0.0"
},
+
"@cloudflare/unenv-preset": {
+
"version": "2.7.7",
+
"resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.7.7.tgz",
+
"integrity": "sha512-HtZuh166y0Olbj9bqqySckz0Rw9uHjggJeoGbDx5x+sgezBXlxO6tQSig2RZw5tgObF8mWI8zaPvQMkQZtAODw==",
+
"dev": true,
+
"requires": {}
+
},
"@cloudflare/workerd-darwin-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240524.0.tgz",
-
"integrity": "sha512-ATaXjefbTsrv4mpn4Fdua114RRDXcX5Ky+Mv+f4JTUllgalmqC4CYMN4jxRz9IpJU/fNMN8IEfvUyuJBAcl9Iw==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20251004.0.tgz",
+
"integrity": "sha512-gL6/b7NXCum95e77n+CLyDzmfV14ZAsyoWWHoWsi2Nt89ngl8xB7aW6IQQPZPjxvtSth5y/peFCIbmR55DxFCg==",
"dev": true,
"optional": true
},
"@cloudflare/workerd-darwin-arm64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20240524.0.tgz",
-
"integrity": "sha512-wnbsZI4CS0QPCd+wnBHQ40C28A/2Qo4ESi1YhE2735G3UNcc876MWksZhsubd+XH0XPIra6eNFqyw6wRMpQOXA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20251004.0.tgz",
+
"integrity": "sha512-w3oE8PtYUAOyJCYLXIdmLuCmRrn1dEqB91u1sZs+MbLxzTNrvRwNaiioLJBHhpIeg3Oq2kyn3+idg0FdvgDLTA==",
"dev": true,
"optional": true
},
"@cloudflare/workerd-linux-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20240524.0.tgz",
-
"integrity": "sha512-E8mj+HPBryKwaJAiNsYzXtVjKCL0KvUBZbtxJxlWM4mLSQhT+uwGT3nydb/hFY59rZnQgZslw0oqEWht5TEYiQ==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20251004.0.tgz",
+
"integrity": "sha512-PZxHuL6p2bxDI1ozBguKFO71AySTy0MzXiHePiubBuX+Mqa8sCmdAbWbp3QPIoErZ9eBsvw9UCNeSyEtM9H/iw==",
"dev": true,
"optional": true
},
"@cloudflare/workerd-linux-arm64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20240524.0.tgz",
-
"integrity": "sha512-/Fr1W671t2triNCDCBWdStxngnbUfZunZ/2e4kaMLzJDJLYDtYdmvOUCBDzUD4ssqmIMbn9RCQQ0U+CLEoqBqw==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20251004.0.tgz",
+
"integrity": "sha512-ePCfH9W2ea+YhVL+FhXjWRV9vGWj/zshO3ugKm/qCO6OXAL1h0NPYCe55iZXFKwngwQH82H6Fv8UROaxDaGZ1Q==",
"dev": true,
"optional": true
},
"@cloudflare/workerd-windows-64": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20240524.0.tgz",
-
"integrity": "sha512-G+ThDEx57g9mAEKqhWnHaaJgpeGYtyhkmwM/BDpLqPks/rAY5YEfZbY4YL1pNk1kkcZDXGrwIsY8xe9Apf5JdA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20251004.0.tgz",
+
"integrity": "sha512-sRuSls6kH6C2MG+xWoCi7fuV0SG26dB8+Cc2b59Pc0dzJRThOeNXbwpiSIZ4BQFGUudGlbCRwCpzIuPW3JxQLg==",
"dev": true,
"optional": true
},
···
"@jridgewell/trace-mapping": "0.3.9"
},
-
"@esbuild-plugins/node-globals-polyfill": {
-
"version": "0.2.3",
-
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz",
-
"integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==",
-
"dev": true,
+
"@dotenvx/dotenvx": {
+
"version": "1.51.0",
+
"resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.51.0.tgz",
+
"integrity": "sha512-CbMGzyOYSyFF7d4uaeYwO9gpSBzLTnMmSmTVpCZjvpJFV69qYbjYPpzNnCz1mb2wIvEhjWjRwQWuBzTO0jITww==",
+
"requires": {
+
"commander": "^11.1.0",
+
"dotenv": "^17.2.1",
+
"eciesjs": "^0.4.10",
+
"execa": "^5.1.1",
+
"fdir": "^6.2.0",
+
"ignore": "^5.3.0",
+
"object-treeify": "1.1.33",
+
"picomatch": "^4.0.2",
+
"which": "^4.0.0"
+
},
+
"dependencies": {
+
"fdir": {
+
"version": "6.4.0",
+
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.0.tgz",
+
"integrity": "sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==",
+
"requires": {}
+
},
+
"picomatch": {
+
"version": "4.0.2",
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="
+
}
+
}
+
},
+
"@ecies/ciphers": {
+
"version": "0.2.1",
+
"resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.1.tgz",
+
"integrity": "sha512-ezMihhjW24VNK/2qQR7lH8xCQY24nk0XHF/kwJ1OuiiY5iEwQXOcKVSy47fSoHPRG8gVGXcK5SgtONDk5xMwtQ==",
"requires": {}
},
-
"@esbuild-plugins/node-modules-polyfill": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz",
-
"integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==",
+
"@emnapi/runtime": {
+
"version": "1.5.0",
+
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
+
"integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
"dev": true,
+
"optional": true,
"requires": {
-
"escape-string-regexp": "^4.0.0",
-
"rollup-plugin-node-polyfills": "^0.2.1"
+
"tslib": "^2.4.0"
},
+
"@esbuild/aix-ppc64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
+
"integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+
"dev": true,
+
"optional": true
+
},
"@esbuild/android-arm": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-
"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
+
"integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
"dev": true,
"optional": true
},
"@esbuild/android-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-
"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
+
"integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
"dev": true,
"optional": true
},
"@esbuild/android-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-
"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
+
"integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
"dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-
"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
+
"integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
"dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-
"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
+
"integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-
"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-
"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
+
"integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-
"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
+
"integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-
"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
+
"integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-
"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
+
"integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-
"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
+
"integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
"dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-
"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
+
"integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
"dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-
"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
+
"integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
"dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-
"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
+
"integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
"dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-
"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
+
"integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
"dev": true,
"optional": true
},
"@esbuild/linux-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-
"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
+
"integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
+
"dev": true,
+
"optional": true
+
},
+
"@esbuild/netbsd-arm64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
"dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-
"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
+
"integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
+
"dev": true,
+
"optional": true
+
},
+
"@esbuild/openbsd-arm64": {
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
+
"integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
"dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-
"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
+
"integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
"dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-
"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
+
"integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
"dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-
"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
+
"integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
"dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-
"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
+
"integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
"dev": true,
"optional": true
},
"@esbuild/win32-x64": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-
"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
+
"integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
"dev": true,
"optional": true
},
-
"@fastify/busboy": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
-
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
-
"dev": true
+
"@img/sharp-darwin-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
+
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-darwin-arm64": "1.0.4"
+
}
+
},
+
"@img/sharp-darwin-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
+
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-darwin-x64": "1.0.4"
+
}
+
},
+
"@img/sharp-libvips-darwin-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
+
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-darwin-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
+
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linux-arm": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
+
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linux-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
+
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linux-s390x": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
+
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linux-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
+
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linuxmusl-arm64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
+
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-libvips-linuxmusl-x64": {
+
"version": "1.0.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
+
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-linux-arm": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
+
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linux-arm": "1.0.5"
+
}
+
},
+
"@img/sharp-linux-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
+
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linux-arm64": "1.0.4"
+
}
+
},
+
"@img/sharp-linux-s390x": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
+
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linux-s390x": "1.0.4"
+
}
+
},
+
"@img/sharp-linux-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
+
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linux-x64": "1.0.4"
+
}
+
},
+
"@img/sharp-linuxmusl-arm64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
+
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
+
}
+
},
+
"@img/sharp-linuxmusl-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
+
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4"
+
}
+
},
+
"@img/sharp-wasm32": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
+
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
+
"dev": true,
+
"optional": true,
+
"requires": {
+
"@emnapi/runtime": "^1.2.0"
+
}
+
},
+
"@img/sharp-win32-ia32": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
+
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
+
"dev": true,
+
"optional": true
+
},
+
"@img/sharp-win32-x64": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
+
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
+
"dev": true,
+
"optional": true
},
"@jridgewell/resolve-uri": {
"version": "3.1.2",
···
"dev": true
},
"@jridgewell/sourcemap-codec": {
-
"version": "1.4.15",
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+
"version": "1.5.5",
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"dev": true
},
"@jridgewell/trace-mapping": {
···
"@jridgewell/sourcemap-codec": "^1.4.10"
},
-
"acorn": {
-
"version": "8.11.3",
-
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-
"dev": true
+
"@noble/ciphers": {
+
"version": "1.0.0",
+
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.0.0.tgz",
+
"integrity": "sha512-wH5EHOmLi0rEazphPbecAzmjd12I6/Yv/SiHdkA9LSycsQk7RuuTp7am5/o62qYr0RScE7Pc9icXGBbsr6cesA=="
},
-
"acorn-walk": {
-
"version": "8.3.2",
-
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
-
"integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
-
"dev": true
+
"@noble/curves": {
+
"version": "1.6.0",
+
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz",
+
"integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==",
+
"requires": {
+
"@noble/hashes": "1.5.0"
+
}
},
-
"anymatch": {
-
"version": "3.1.3",
-
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
-
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+
"@noble/hashes": {
+
"version": "1.5.0",
+
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz",
+
"integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA=="
+
},
+
"@poppinss/colors": {
+
"version": "4.1.5",
+
"resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.5.tgz",
+
"integrity": "sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==",
"dev": true,
"requires": {
-
"normalize-path": "^3.0.0",
-
"picomatch": "^2.0.4"
+
"kleur": "^4.1.5"
},
-
"as-table": {
-
"version": "1.0.55",
-
"resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz",
-
"integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==",
+
"@poppinss/dumper": {
+
"version": "0.6.4",
+
"resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.4.tgz",
+
"integrity": "sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==",
"dev": true,
"requires": {
-
"printable-characters": "^1.0.42"
+
"@poppinss/colors": "^4.1.5",
+
"@sindresorhus/is": "^7.0.2",
+
"supports-color": "^10.0.0"
},
-
"binary-extensions": {
-
"version": "2.2.0",
-
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
-
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+
"@poppinss/exception": {
+
"version": "1.2.2",
+
"resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.2.tgz",
+
"integrity": "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==",
+
"dev": true
+
},
+
"@sindresorhus/is": {
+
"version": "7.1.0",
+
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.1.0.tgz",
+
"integrity": "sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==",
+
"dev": true
+
},
+
"@speed-highlight/core": {
+
"version": "1.2.7",
+
"resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.7.tgz",
+
"integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==",
+
"dev": true
+
},
+
"acorn": {
+
"version": "8.14.0",
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+
"dev": true
+
},
+
"acorn-walk": {
+
"version": "8.3.2",
+
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
+
"integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true
},
"blake3-wasm": {
···
"integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
"dev": true
},
-
"braces": {
-
"version": "3.0.2",
-
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+
"color": {
+
"version": "4.2.3",
+
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"dev": true,
"requires": {
-
"fill-range": "^7.0.1"
+
"color-convert": "^2.0.1",
+
"color-string": "^1.9.0"
},
-
"capnp-ts": {
-
"version": "0.7.0",
-
"resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz",
-
"integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==",
+
"color-convert": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
-
"debug": "^4.3.1",
-
"tslib": "^2.2.0"
+
"color-name": "~1.1.4"
},
-
"chokidar": {
-
"version": "3.5.3",
-
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
-
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+
"color-name": {
+
"version": "1.1.4",
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+
"dev": true
+
},
+
"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==",
"dev": true,
"requires": {
-
"anymatch": "~3.1.2",
-
"braces": "~3.0.2",
-
"fsevents": "~2.3.2",
-
"glob-parent": "~5.1.2",
-
"is-binary-path": "~2.1.0",
-
"is-glob": "~4.0.1",
-
"normalize-path": "~3.0.0",
-
"readdirp": "~3.6.0"
+
"color-name": "^1.0.0",
+
"simple-swizzle": "^0.2.2"
},
+
"commander": {
+
"version": "11.1.0",
+
"resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+
"integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="
+
},
"cookie": {
-
"version": "0.5.0",
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
-
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+
"version": "1.0.2",
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
"dev": true
},
-
"data-uri-to-buffer": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz",
-
"integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==",
+
"cross-spawn": {
+
"version": "7.0.6",
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+
"requires": {
+
"path-key": "^3.1.0",
+
"shebang-command": "^2.0.0",
+
"which": "^2.0.1"
+
},
+
"dependencies": {
+
"isexe": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+
},
+
"which": {
+
"version": "2.0.2",
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+
"requires": {
+
"isexe": "^2.0.0"
+
}
+
}
+
}
+
},
+
"defu": {
+
"version": "6.1.4",
+
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
"dev": true
},
-
"debug": {
-
"version": "4.3.4",
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
-
"dev": true,
+
"detect-libc": {
+
"version": "2.1.2",
+
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+
"dev": true
+
},
+
"dotenv": {
+
"version": "17.2.3",
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz",
+
"integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="
+
},
+
"eciesjs": {
+
"version": "0.4.11",
+
"resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.11.tgz",
+
"integrity": "sha512-SmUG449n1w1YGvJD9R30tBGvpxTxA0cnn0rfvpFIBvmezfIhagLjsH2JG8HBHOLS8slXsPh48II7IDUTH/J3Mg==",
"requires": {
-
"ms": "2.1.2"
+
"@ecies/ciphers": "^0.2.1",
+
"@noble/ciphers": "^1.0.0",
+
"@noble/curves": "^1.6.0",
+
"@noble/hashes": "^1.5.0"
},
+
"error-stack-parser-es": {
+
"version": "1.0.5",
+
"resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz",
+
"integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==",
+
"dev": true
+
},
"esbuild": {
-
"version": "0.17.19",
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
-
"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+
"version": "0.25.4",
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
+
"integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
"dev": true,
"requires": {
-
"@esbuild/android-arm": "0.17.19",
-
"@esbuild/android-arm64": "0.17.19",
-
"@esbuild/android-x64": "0.17.19",
-
"@esbuild/darwin-arm64": "0.17.19",
-
"@esbuild/darwin-x64": "0.17.19",
-
"@esbuild/freebsd-arm64": "0.17.19",
-
"@esbuild/freebsd-x64": "0.17.19",
-
"@esbuild/linux-arm": "0.17.19",
-
"@esbuild/linux-arm64": "0.17.19",
-
"@esbuild/linux-ia32": "0.17.19",
-
"@esbuild/linux-loong64": "0.17.19",
-
"@esbuild/linux-mips64el": "0.17.19",
-
"@esbuild/linux-ppc64": "0.17.19",
-
"@esbuild/linux-riscv64": "0.17.19",
-
"@esbuild/linux-s390x": "0.17.19",
-
"@esbuild/linux-x64": "0.17.19",
-
"@esbuild/netbsd-x64": "0.17.19",
-
"@esbuild/openbsd-x64": "0.17.19",
-
"@esbuild/sunos-x64": "0.17.19",
-
"@esbuild/win32-arm64": "0.17.19",
-
"@esbuild/win32-ia32": "0.17.19",
-
"@esbuild/win32-x64": "0.17.19"
+
"@esbuild/aix-ppc64": "0.25.4",
+
"@esbuild/android-arm": "0.25.4",
+
"@esbuild/android-arm64": "0.25.4",
+
"@esbuild/android-x64": "0.25.4",
+
"@esbuild/darwin-arm64": "0.25.4",
+
"@esbuild/darwin-x64": "0.25.4",
+
"@esbuild/freebsd-arm64": "0.25.4",
+
"@esbuild/freebsd-x64": "0.25.4",
+
"@esbuild/linux-arm": "0.25.4",
+
"@esbuild/linux-arm64": "0.25.4",
+
"@esbuild/linux-ia32": "0.25.4",
+
"@esbuild/linux-loong64": "0.25.4",
+
"@esbuild/linux-mips64el": "0.25.4",
+
"@esbuild/linux-ppc64": "0.25.4",
+
"@esbuild/linux-riscv64": "0.25.4",
+
"@esbuild/linux-s390x": "0.25.4",
+
"@esbuild/linux-x64": "0.25.4",
+
"@esbuild/netbsd-arm64": "0.25.4",
+
"@esbuild/netbsd-x64": "0.25.4",
+
"@esbuild/openbsd-arm64": "0.25.4",
+
"@esbuild/openbsd-x64": "0.25.4",
+
"@esbuild/sunos-x64": "0.25.4",
+
"@esbuild/win32-arm64": "0.25.4",
+
"@esbuild/win32-ia32": "0.25.4",
+
"@esbuild/win32-x64": "0.25.4"
},
-
"escape-string-regexp": {
-
"version": "4.0.0",
-
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-
"dev": true
-
},
-
"estree-walker": {
-
"version": "0.6.1",
-
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
-
"integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
-
"dev": true
+
"execa": {
+
"version": "5.1.1",
+
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+
"requires": {
+
"cross-spawn": "^7.0.3",
+
"get-stream": "^6.0.0",
+
"human-signals": "^2.1.0",
+
"is-stream": "^2.0.0",
+
"merge-stream": "^2.0.0",
+
"npm-run-path": "^4.0.1",
+
"onetime": "^5.1.2",
+
"signal-exit": "^3.0.3",
+
"strip-final-newline": "^2.0.0"
+
}
},
"exit-hook": {
"version": "2.2.1",
···
"integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==",
"dev": true
},
-
"fill-range": {
-
"version": "7.0.1",
-
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-
"dev": true,
-
"requires": {
-
"to-regex-range": "^5.0.1"
-
}
+
"exsolve": {
+
"version": "1.0.7",
+
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz",
+
"integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==",
+
"dev": true
},
"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,
"optional": true
},
-
"function-bind": {
-
"version": "1.1.2",
-
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
-
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-
"dev": true
-
},
-
"get-source": {
-
"version": "2.0.12",
-
"resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz",
-
"integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==",
-
"dev": true,
-
"requires": {
-
"data-uri-to-buffer": "^2.0.0",
-
"source-map": "^0.6.1"
-
}
-
},
-
"glob-parent": {
-
"version": "5.1.2",
-
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-
"dev": true,
-
"requires": {
-
"is-glob": "^4.0.1"
-
}
+
"get-stream": {
+
"version": "6.0.1",
+
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
},
"glob-to-regexp": {
"version": "0.4.1",
···
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
-
"hasown": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
-
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
-
"dev": true,
-
"requires": {
-
"function-bind": "^1.1.2"
-
}
-
},
-
"is-binary-path": {
+
"human-signals": {
"version": "2.1.0",
-
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-
"dev": true,
-
"requires": {
-
"binary-extensions": "^2.0.0"
-
}
+
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
},
-
"is-core-module": {
-
"version": "2.13.1",
-
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
-
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
-
"dev": true,
-
"requires": {
-
"hasown": "^2.0.0"
-
}
+
"ignore": {
+
"version": "5.3.2",
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="
},
-
"is-extglob": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+
"is-arrayish": {
+
"version": "0.3.4",
+
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz",
+
"integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==",
"dev": true
},
-
"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,
-
"requires": {
-
"is-extglob": "^2.1.1"
-
}
+
"is-stream": {
+
"version": "2.0.1",
+
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
+
},
+
"isexe": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+
"integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="
},
-
"is-number": {
-
"version": "7.0.0",
-
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+
"kleur": {
+
"version": "4.1.5",
+
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"dev": true
},
-
"magic-string": {
-
"version": "0.25.9",
-
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
-
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
-
"dev": true,
-
"requires": {
-
"sourcemap-codec": "^1.4.8"
-
}
+
"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=="
},
"mime": {
"version": "3.0.0",
···
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"dev": true
},
+
"mimic-fn": {
+
"version": "2.1.0",
+
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+
},
"miniflare": {
-
"version": "3.20240524.0",
-
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20240524.0.tgz",
-
"integrity": "sha512-RQAfpz7spI6gWlczeUYvJBgGyt0gNR2pYoCydgukCYZ+0bGfJl0yAiNFW62uH7uMZli/4juWPpQOBI5m7URoyA==",
+
"version": "4.20251004.0",
+
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20251004.0.tgz",
+
"integrity": "sha512-XxQ/vZVp5yTbnwq83fJag9DL8ww5IBfzaFZzlxMWMo2wf7bfHPYMkE4VbeibMwdLI+Pkyddg4zIxMTOvvZNigg==",
"dev": true,
"requires": {
"@cspotcode/source-map-support": "0.8.1",
-
"acorn": "^8.8.0",
-
"acorn-walk": "^8.2.0",
-
"capnp-ts": "^0.7.0",
-
"exit-hook": "^2.2.1",
-
"glob-to-regexp": "^0.4.1",
-
"stoppable": "^1.1.0",
-
"undici": "^5.28.2",
-
"workerd": "1.20240524.0",
-
"ws": "^8.11.0",
-
"youch": "^3.2.2",
-
"zod": "^3.20.6"
+
"acorn": "8.14.0",
+
"acorn-walk": "8.3.2",
+
"exit-hook": "2.2.1",
+
"glob-to-regexp": "0.4.1",
+
"sharp": "^0.33.5",
+
"stoppable": "1.1.0",
+
"undici": "7.14.0",
+
"workerd": "1.20251004.0",
+
"ws": "8.18.0",
+
"youch": "4.1.0-beta.10",
+
"zod": "3.22.3"
},
-
"ms": {
-
"version": "2.1.2",
-
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+
"npm-check-updates": {
+
"version": "19.0.0",
+
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-19.0.0.tgz",
+
"integrity": "sha512-qcfjZEv6xB+WvW24S8wU1MKISPPiTREraBg62XDo/7zmOLXH3Zj7ti2v/LRfks0qITU8SDZLTWwgIitflvursw==",
"dev": true
},
-
"mustache": {
-
"version": "4.2.0",
-
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
-
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
-
"dev": true
+
"npm-run-path": {
+
"version": "4.0.1",
+
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+
"requires": {
+
"path-key": "^3.0.0"
+
}
},
-
"nanoid": {
-
"version": "3.3.4",
-
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
-
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
-
"dev": true
+
"object-treeify": {
+
"version": "1.1.33",
+
"resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz",
+
"integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A=="
},
-
"node-forge": {
-
"version": "1.3.1",
-
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
-
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+
"ohash": {
+
"version": "2.0.11",
+
"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
+
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
"dev": true
},
-
"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
+
"onetime": {
+
"version": "5.1.2",
+
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+
"requires": {
+
"mimic-fn": "^2.1.0"
+
}
},
-
"path-parse": {
-
"version": "1.0.7",
-
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-
"dev": true
+
"path-key": {
+
"version": "3.1.1",
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
},
"path-to-regexp": {
-
"version": "6.2.1",
-
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
-
"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
-
"dev": true
-
},
-
"picomatch": {
-
"version": "2.3.1",
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+
"version": "6.3.0",
+
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+
"integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
"dev": true
},
-
"printable-characters": {
-
"version": "1.0.42",
-
"resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz",
-
"integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==",
+
"pathe": {
+
"version": "2.0.3",
+
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"dev": true
},
-
"readdirp": {
-
"version": "3.6.0",
-
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-
"dev": true,
-
"requires": {
-
"picomatch": "^2.2.1"
-
}
-
},
-
"resolve": {
-
"version": "1.22.8",
-
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
-
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
-
"dev": true,
-
"requires": {
-
"is-core-module": "^2.13.0",
-
"path-parse": "^1.0.7",
-
"supports-preserve-symlinks-flag": "^1.0.0"
-
}
-
},
-
"resolve.exports": {
-
"version": "2.0.2",
-
"resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
-
"integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+
"semver": {
+
"version": "7.7.3",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true
},
-
"rollup-plugin-inject": {
-
"version": "3.0.2",
-
"resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz",
-
"integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==",
+
"sharp": {
+
"version": "0.33.5",
+
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
+
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
"dev": true,
"requires": {
-
"estree-walker": "^0.6.1",
-
"magic-string": "^0.25.3",
-
"rollup-pluginutils": "^2.8.1"
-
}
-
},
-
"rollup-plugin-node-polyfills": {
-
"version": "0.2.1",
-
"resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz",
-
"integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==",
-
"dev": true,
-
"requires": {
-
"rollup-plugin-inject": "^3.0.0"
-
}
-
},
-
"rollup-pluginutils": {
-
"version": "2.8.2",
-
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
-
"integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
-
"dev": true,
-
"requires": {
-
"estree-walker": "^0.6.1"
+
"@img/sharp-darwin-arm64": "0.33.5",
+
"@img/sharp-darwin-x64": "0.33.5",
+
"@img/sharp-libvips-darwin-arm64": "1.0.4",
+
"@img/sharp-libvips-darwin-x64": "1.0.4",
+
"@img/sharp-libvips-linux-arm": "1.0.5",
+
"@img/sharp-libvips-linux-arm64": "1.0.4",
+
"@img/sharp-libvips-linux-s390x": "1.0.4",
+
"@img/sharp-libvips-linux-x64": "1.0.4",
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4",
+
"@img/sharp-linux-arm": "0.33.5",
+
"@img/sharp-linux-arm64": "0.33.5",
+
"@img/sharp-linux-s390x": "0.33.5",
+
"@img/sharp-linux-x64": "0.33.5",
+
"@img/sharp-linuxmusl-arm64": "0.33.5",
+
"@img/sharp-linuxmusl-x64": "0.33.5",
+
"@img/sharp-wasm32": "0.33.5",
+
"@img/sharp-win32-ia32": "0.33.5",
+
"@img/sharp-win32-x64": "0.33.5",
+
"color": "^4.2.3",
+
"detect-libc": "^2.0.3",
+
"semver": "^7.6.3"
},
-
"selfsigned": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
-
"integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
-
"dev": true,
+
"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==",
"requires": {
-
"node-forge": "^1"
+
"shebang-regex": "^3.0.0"
},
-
"source-map": {
-
"version": "0.6.1",
-
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-
"dev": true
+
"shebang-regex": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
},
-
"sourcemap-codec": {
-
"version": "1.4.8",
-
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-
"dev": true
+
"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=="
},
-
"stacktracey": {
-
"version": "2.1.8",
-
"resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz",
-
"integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==",
+
"simple-swizzle": {
+
"version": "0.2.4",
+
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz",
+
"integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==",
"dev": true,
"requires": {
-
"as-table": "^1.0.36",
-
"get-source": "^2.0.12"
+
"is-arrayish": "^0.3.1"
},
"stoppable": {
···
"integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
"dev": true
},
-
"supports-preserve-symlinks-flag": {
-
"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==",
+
"strip-final-newline": {
+
"version": "2.0.0",
+
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+
},
+
"supports-color": {
+
"version": "10.2.2",
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+
"integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
"dev": true
},
-
"to-regex-range": {
-
"version": "5.0.1",
-
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+
"tslib": {
+
"version": "2.8.1",
+
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"dev": true,
-
"requires": {
-
"is-number": "^7.0.0"
-
}
+
"optional": true
},
-
"tslib": {
-
"version": "2.6.2",
-
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
-
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
+
"ufo": {
+
"version": "1.6.1",
+
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
+
"integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
"dev": true
},
"undici": {
-
"version": "5.28.4",
-
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
-
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+
"version": "7.14.0",
+
"resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz",
+
"integrity": "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==",
+
"dev": true
+
},
+
"unenv": {
+
"version": "2.0.0-rc.21",
+
"resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.21.tgz",
+
"integrity": "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==",
"dev": true,
"requires": {
-
"@fastify/busboy": "^2.0.0"
+
"defu": "^6.1.4",
+
"exsolve": "^1.0.7",
+
"ohash": "^2.0.11",
+
"pathe": "^2.0.3",
+
"ufo": "^1.6.1"
+
}
+
},
+
"which": {
+
"version": "4.0.0",
+
"resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+
"integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+
"requires": {
+
"isexe": "^3.1.1"
},
"workerd": {
-
"version": "1.20240524.0",
-
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240524.0.tgz",
-
"integrity": "sha512-LWLe5D8PVHBcqturmBbwgI71r7YPpIMYZoVEH6S4G35EqIJ55cb0n3FipoSyraoIfpcCxCFxX1K6WsRHbP3pFA==",
+
"version": "1.20251004.0",
+
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20251004.0.tgz",
+
"integrity": "sha512-1YajTH54RdrQrO5FY1HuH1t87H3bWjbM4MtOTF6XdPQL8LxVWACC46aGjmhyVJKMQNLECs64d+AYFGxVrFTOAA==",
"dev": true,
"requires": {
-
"@cloudflare/workerd-darwin-64": "1.20240524.0",
-
"@cloudflare/workerd-darwin-arm64": "1.20240524.0",
-
"@cloudflare/workerd-linux-64": "1.20240524.0",
-
"@cloudflare/workerd-linux-arm64": "1.20240524.0",
-
"@cloudflare/workerd-windows-64": "1.20240524.0"
+
"@cloudflare/workerd-darwin-64": "1.20251004.0",
+
"@cloudflare/workerd-darwin-arm64": "1.20251004.0",
+
"@cloudflare/workerd-linux-64": "1.20251004.0",
+
"@cloudflare/workerd-linux-arm64": "1.20251004.0",
+
"@cloudflare/workerd-windows-64": "1.20251004.0"
},
"wrangler": {
-
"version": "3.57.2",
-
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.57.2.tgz",
-
"integrity": "sha512-QegYf0FW+4prlFKE9iHr1EGrCo8ejcGL9gaqEXrzQ0vbTdazykYbY0I5UpHFLNq2dIF9I/ifEoLRKr636tyHEw==",
+
"version": "4.42.1",
+
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.42.1.tgz",
+
"integrity": "sha512-Oia5SmGmfUWfz/k5aklrE429VMiMMZkjc1EhF1nrANElCOwBTTBY1shsfhkg9F0vG8ZtHzx1rJvYfaQvct498g==",
"dev": true,
"requires": {
-
"@cloudflare/kv-asset-handler": "0.3.2",
-
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
-
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
-
"blake3-wasm": "^2.1.5",
-
"chokidar": "^3.5.3",
-
"esbuild": "0.17.19",
+
"@cloudflare/kv-asset-handler": "0.4.0",
+
"@cloudflare/unenv-preset": "2.7.7",
+
"blake3-wasm": "2.1.5",
+
"esbuild": "0.25.4",
"fsevents": "~2.3.2",
-
"miniflare": "3.20240524.0",
-
"nanoid": "^3.3.3",
-
"path-to-regexp": "^6.2.0",
-
"resolve": "^1.22.8",
-
"resolve.exports": "^2.0.2",
-
"selfsigned": "^2.0.1",
-
"source-map": "0.6.1",
-
"xxhash-wasm": "^1.0.1"
+
"miniflare": "4.20251004.0",
+
"path-to-regexp": "6.3.0",
+
"unenv": "2.0.0-rc.21",
+
"workerd": "1.20251004.0"
},
"ws": {
-
"version": "8.17.0",
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
-
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
+
"version": "8.18.0",
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
"dev": true,
"requires": {}
},
-
"xxhash-wasm": {
-
"version": "1.0.2",
-
"resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz",
-
"integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==",
-
"dev": true
+
"youch": {
+
"version": "4.1.0-beta.10",
+
"resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz",
+
"integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==",
+
"dev": true,
+
"requires": {
+
"@poppinss/colors": "^4.1.5",
+
"@poppinss/dumper": "^0.6.4",
+
"@speed-highlight/core": "^1.2.7",
+
"cookie": "^1.0.2",
+
"youch-core": "^0.3.3"
+
}
},
-
"youch": {
-
"version": "3.3.3",
-
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz",
-
"integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==",
+
"youch-core": {
+
"version": "0.3.3",
+
"resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz",
+
"integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==",
"dev": true,
"requires": {
-
"cookie": "^0.5.0",
-
"mustache": "^4.2.0",
-
"stacktracey": "^2.1.8"
+
"@poppinss/exception": "^1.2.2",
+
"error-stack-parser-es": "^1.0.5"
},
"zod": {
-
"version": "3.23.8",
-
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
-
"integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+
"version": "3.22.3",
+
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz",
+
"integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==",
"dev": true
+8 -4
package.json
···
"description": "Personal website for my tildes + Gemini version of blog posts",
"scripts": {
"start": "npm run dev",
-
"dev": "bash ./bin/localdev.sh",
-
"build": "bash ./bin/build.sh",
-
"deploy": "./bin/deploykit-pages.sh",
+
"dev": "wrangler dev --port 8000 --live-reload",
+
"deploy": "npm run deploy:cf",
+
"deploy:cf": "wrangler deploy",
"docker:ci": "DOCKER_BUILDKIT=1 docker build -t dock.mau.dev/andreijiroh-dev/website/build-ci:localdev ./docker"
},
"repository": {
···
},
"homepage": "https://andreijiroh.xyz",
"devDependencies": {
-
"wrangler": "^3.57.2"
+
"npm-check-updates": "^19.0.0",
+
"wrangler": "^4.42.1"
+
},
+
"dependencies": {
+
"@dotenvx/dotenvx": "^1.51.0"
}
}
+50 -50
requirements.txt
···
-
-i https://pypi.org/simple
-
babel==2.15.0; python_version >= '3.8'
-
cachecontrol[filecache]==0.14.0; python_version >= '3.7'
-
cairocffi==1.7.1; python_version >= '3.8'
-
cairosvg==2.7.1; python_version >= '3.5'
-
certifi==2024.7.4; python_version >= '3.6'
-
cffi==1.16.0; python_version >= '3.8'
-
charset-normalizer==3.3.2; python_full_version >= '3.7.0'
-
click==8.1.7; python_version >= '3.7'
-
colorama==0.4.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
+
babel==2.17.0
+
backrefs==5.9
+
CacheControl==0.14.3
+
cairocffi==1.7.1
+
CairoSVG==2.8.2
+
certifi==2025.10.5
+
cffi==2.0.0
+
charset-normalizer==3.4.3
+
click==8.3.0
+
colorama==0.4.6
csscompressor==0.9.5
-
cssselect2==0.7.0; python_version >= '3.7'
-
defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-
filelock==3.15.4
+
cssselect2==0.8.0
+
defusedxml==0.7.1
+
filelock==3.19.1
ghp-import==2.1.0
-
gitdb==4.0.11; python_version >= '3.7'
-
gitpython==3.1.43; python_version >= '3.7'
+
gitdb==4.0.12
+
GitPython==3.1.45
htmlmin2==0.1.13
-
idna==3.7; python_version >= '3.5'
-
jinja2==3.1.4; python_version >= '3.7'
+
idna==3.10
+
Jinja2==3.1.6
jsmin==3.0.1
-
markdown==3.6; python_version >= '3.8'
-
markupsafe==2.1.5; python_version >= '3.7'
-
mergedeep==1.3.4; python_version >= '3.6'
-
mkdocs==1.6.0; python_version >= '3.8'
-
mkdocs-autolinks-plugin==0.7.1; python_version >= '3.4'
-
mkdocs-get-deps==0.2.0; python_version >= '3.8'
-
mkdocs-git-committers-plugin-2==2.3.0; python_version >= '3.8' and python_version < '4'
-
mkdocs-git-revision-date-localized-plugin==1.2.6; python_version >= '3.8'
-
mkdocs-material==9.5.30; python_version >= '3.8'
-
mkdocs-material-extensions==1.3.1; python_version >= '3.8'
-
mkdocs-minify-plugin==0.8.0; python_version >= '3.8'
-
mkdocs-redirects==1.2.1; python_version >= '3.6'
-
mkdocs-rss-plugin==1.15.0; python_version >= '3.8' and python_version < '4'
-
msgpack==1.0.8; python_version >= '3.8'
-
packaging==24.1; python_version >= '3.8'
-
paginate==0.5.6
-
pathspec==0.12.1; python_version >= '3.8'
-
pillow==10.4.0; python_version >= '3.8'
-
platformdirs==4.2.2; python_version >= '3.8'
-
pycparser==2.22; python_version >= '3.8'
-
pygments==2.18.0; python_version >= '3.8'
-
pymdown-extensions==10.8.1; python_version >= '3.8'
-
python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-
pytz==2024.1
-
pyyaml==6.0.1; python_version >= '3.6'
-
pyyaml-env-tag==0.1; python_version >= '3.6'
-
regex==2024.7.24; python_version >= '3.8'
-
requests==2.32.3; python_version >= '3.8'
-
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-
smmap==5.0.1; python_version >= '3.7'
-
tinycss2==1.3.0; python_version >= '3.8'
-
urllib3==2.2.2; python_version >= '3.8'
-
watchdog==4.0.1; python_version >= '3.8'
+
Markdown==3.9
+
MarkupSafe==3.0.3
+
mergedeep==1.3.4
+
mkdocs==1.6.1
+
mkdocs-autolinks-plugin==0.7.1
+
mkdocs-get-deps==0.2.0
+
mkdocs-git-authors-plugin==0.10.0
+
mkdocs-git-committers-plugin-2==2.5.0
+
mkdocs-git-revision-date-localized-plugin==1.4.7
+
mkdocs-material==9.6.21
+
mkdocs-material-extensions==1.3.1
+
mkdocs-minify-plugin==0.8.0
+
mkdocs-redirects==1.2.2
+
mkdocs-rss-plugin==1.17.3
+
msgpack==1.1.2
+
packaging==25.0
+
paginate==0.5.7
+
pathspec==0.12.1
+
pillow==11.3.0
+
platformdirs==4.4.0
+
pycparser==2.23
+
Pygments==2.19.2
+
pymdown-extensions==10.16.1
+
python-dateutil==2.9.0.post0
+
pytz==2025.2
+
PyYAML==6.0.3
+
pyyaml_env_tag==1.1
+
requests==2.32.5
+
six==1.17.0
+
smmap==5.0.2
+
tinycss2==1.4.0
+
urllib3==2.5.0
+
watchdog==6.0.0
webencodings==0.5.1
+24
wrangler.jsonc
···
+
{
+
"$schema": "https://raw.githubusercontent.com/recaptimedev-labs/workers-config-schema/refs/heads/main/config-schema.json",
+
"name": "website",
+
"account_id": "cf0bd808c6a294fd8c4d8f6d2cdeca05",
+
"compatibility_date": "2025-06-01",
+
"assets": {
+
"directory": "./public",
+
"html_handling": "auto-trailing-slash",
+
"not_found_handling": "404-page",
+
"run_worker_first": false
+
},
+
"build": {
+
"command": "bash ./bin/build.sh",
+
+
},
+
"workers_dev": true,
+
"preview_urls": true,
+
"routes": [
+
{
+
"custom_domain": true,
+
"pattern": "andreijiroh.dev"
+
}
+
]
+
}
+58
zensical.toml
···
+
[project]
+
# basic metadata
+
site_name = "~ajhalili2006"
+
site_url = "https://andreijiroh.dev"
+
docs_dir = "markdown"
+
site_dir = "public"
+
site_author = "Andrei Jiroh Halili"
+
copyright = "Copyright &copy; 2022-present - Andrei Jiroh Halili and contributors, licensed under the <a href=\"https://creativecommons.org/licenses/by-sa/4.0\">CC BY-SA 4.0</a> license."
+
use_directory_urls = true
+
+
[project.extra]
+
fediverse_handle = "@ajhalili2006:tilde.zone"
+
+
[project.theme]
+
custom_dir = "overrides"
+
# project features
+
features = [
+
"announce.dismiss",
+
"content.action.edit",
+
"content.action.view",
+
"content.code.annotate",
+
"content.code.copy",
+
"navigation.footer",
+
"avigation.indexes",
+
"navigation.sections",
+
"navigation.tabs",
+
"navigation.top",
+
"navigation.tracking",
+
"search.highlight",
+
"search.share",
+
"search.suggest",
+
"toc.follow",
+
]
+
+
# Palette
+
## Palette toggle for automatic mode
+
[[project.theme.palette]]
+
media = "(prefers-color-scheme)"
+
palette.primary = "green"
+
palette.accent = "yellow"
+
toggle.icon = "material/brightness-auto"
+
toggle.name = "Switch to light mode"
+
## Palette toggle for light mode
+
[[project.theme.palette]]
+
media = "(prefers-color-scheme: light)"
+
scheme = "default"
+
palette.primary = "green"
+
palette.accent = "yellow"
+
toggle.icon = "material/brightness-7"
+
toggle.name = "Switch to dark mode"
+
## Palette toggle for dark mode
+
[[project.theme.palette]]
+
media = "(prefers-color-scheme: dark)"
+
scheme = "slate"
+
palette.primary = "green"
+
palette.accent = "yellow"
+
toggle.icon = "material/brightness-4"
+
toggle.name = "Switch to system preference"