~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.

+5 -2
.devcontainer/Dockerfile
···
-
# syntax=docker/dockerfile:1
-
FROM gitpod/workspace-full:latest as workspace
+
# 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
+5 -2
.devcontainer/devcontainer.json
···
//
// See https://aka.ms/devcontainer.json for more information.
{
-
"name": "Gitpod",
+
"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": {
···
"timonwong.shellcheck",
"ms-azuretools.vscode-docker",
"vivaxy.vscode-conventional-commits",
-
"akosyakov.gitpod-monitor"
+
"printfn.gemini-improved",
+
"streetsidesoftware.code-spell-checker",
+
"yzhang.markdown-all-in-one",
+
"bierner.emojisense"
]
}
}
+2
.envrc
···
#!/usr/bin/env bash
+
export DIRENV_WARN_TIMEOUT=0
+
if [[ $DEBUG != "" ]]; then
set -x
fi
+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
+10 -11
.gitlab-ci.yml
···
# The Docker image that will be used to build your app
image:
-
name: ghcr.io/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
···
#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:
-
- bash ./bin/build.sh
-
- doppler run -- npm run deploy
+
- 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:
+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 22.8.0
+
python 3.14.0
+
nodejs 22.21.1
+3 -1
.vscode/extensions.json
···
"recommendations": [
"printfn.gemini-improved",
"DavidAnson.vscode-markdownlint",
-
"streetsidesoftware.code-spell-checker"
+
"streetsidesoftware.code-spell-checker",
+
"yzhang.markdown-all-in-one",
+
"bierner.emojisense"
]
}
+6 -1
.vscode/settings.json
···
"Autist",
"BDFL",
"gatekeep",
+
"multifandom",
"SABDFL",
"Yubikey"
],
-
"dotenv.enableAutocloaking": false
+
"dotenv.enableAutocloaking": false,
+
"markdown.preview.fontSize": 16,
+
"markdown.preview.lineHeight": 1.6,
+
"markdown.extension.toc.levels": "2..6",
+
"markdown.extension.preview.autoShowPreviewToSide": true
}
+10 -2
Pipfile
···
mkdocs-git-committers-plugin-2 = "*"
mkdocs-autolinks-plugin = "*"
mkdocs-git-authors-plugin = "*"
+
zensical = "*"
[dev-packages]
[requires]
-
python_version = "3.13"
+
python_version = "3.14"
[scripts]
dev = "mkdocs serve --watch overrides --watch-theme"
build = "mkdocs build -d public --verbose"
-
build-staging = "pipenv run build -f mkdocs.readthedocs.yml"
+
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"
+621 -500
Pipfile.lock
···
{
"_meta": {
"hash": {
-
"sha256": "fe3caf4f697a5b614c0314a58a8316fb3925c47106ca90163f0b25dc8fc14229"
+
"sha256": "a54f862fd105133810703030592c31182334be6733f29a2b959e3d75ef3993dc"
},
"pipfile-spec": 6,
"requires": {
-
"python_version": "3.13"
+
"python_version": "3.14"
},
"sources": [
{
···
},
"backrefs": {
"hashes": [
-
"sha256:2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd",
-
"sha256:2e1c15e4af0e12e45c8701bd5da0902d326b2e200cafcd25e49d9f06d44bb61b",
-
"sha256:a66851e4533fb5b371aa0628e1fee1af05135616b86140c9d787a2ffdf4b8fdc",
-
"sha256:bbef7169a33811080d67cdf1538c8289f76f0942ff971222a16034da88a73486",
-
"sha256:c67f6638a34a5b8730812f5101376f9d41dc38c43f1fdc35cb54700f6ed4465d",
-
"sha256:e3a63b073867dbefd0536425f43db618578528e3896fb77be7141328642a1585"
+
"sha256:13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853",
+
"sha256:2a2ccb96302337ce61ee4717ceacfbf26ba4efb1d55af86564b8bbaeda39cac1",
+
"sha256:3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231",
+
"sha256:4c9d3dc1e2e558965202c012304f33d4e0e477e1c103663fd2c3cc9bb18b0d05",
+
"sha256:a9e99b8a4867852cad177a6430e31b0f6e495d65f8c6c134b68c14c3c95bf4b0",
+
"sha256:c64698c8d2269343d88947c0735cb4b78745bd3ba590e10313fbf3f78c34da5a",
+
"sha256:e82bba3875ee4430f4de4b6db19429a27275d95a5f3773c57e9e18abc23fd2b7"
],
"markers": "python_version >= '3.9'",
-
"version": "==5.8"
+
"version": "==6.1"
},
"cachecontrol": {
"extras": [
"filecache"
],
"hashes": [
-
"sha256:73e7efec4b06b20d9267b441c1f733664f989fb8688391b670ca812d70795d11",
-
"sha256:b35e44a3113f17d2a31c1e6b27b9de6d4405f84ae51baa8c1d3cc5b633010cae"
+
"sha256:b7ac014ff72ee199b5f8af1de29d60239954f223e948196fa3d84adaffc71d2b",
+
"sha256:e6220afafa4c22a47dd0badb319f84475d79108100d04e26e8542ef7d3ab05a1"
],
-
"markers": "python_version >= '3.9'",
-
"version": "==0.14.3"
+
"markers": "python_version >= '3.10'",
+
"version": "==0.14.4"
},
"cairocffi": {
"hashes": [
···
},
"certifi": {
"hashes": [
-
"sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6",
-
"sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"
+
"sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b",
+
"sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"
],
-
"markers": "python_version >= '3.6'",
-
"version": "==2025.4.26"
+
"markers": "python_version >= '3.7'",
+
"version": "==2025.11.12"
},
"cffi": {
"hashes": [
-
"sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8",
-
"sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2",
-
"sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1",
-
"sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15",
-
"sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36",
-
"sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824",
-
"sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8",
-
"sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36",
-
"sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17",
-
"sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf",
-
"sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc",
-
"sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3",
-
"sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed",
-
"sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702",
-
"sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1",
-
"sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8",
-
"sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903",
-
"sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6",
-
"sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d",
-
"sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b",
-
"sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e",
-
"sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be",
-
"sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c",
-
"sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683",
-
"sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9",
-
"sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c",
-
"sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8",
-
"sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1",
-
"sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4",
-
"sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655",
-
"sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67",
-
"sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595",
-
"sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0",
-
"sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65",
-
"sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41",
-
"sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6",
-
"sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401",
-
"sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6",
-
"sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3",
-
"sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16",
-
"sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93",
-
"sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e",
-
"sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4",
-
"sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964",
-
"sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c",
-
"sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576",
-
"sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0",
-
"sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3",
-
"sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662",
-
"sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3",
-
"sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff",
-
"sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5",
-
"sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd",
-
"sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f",
-
"sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5",
-
"sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14",
-
"sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d",
-
"sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9",
-
"sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7",
-
"sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382",
-
"sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a",
-
"sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e",
-
"sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a",
-
"sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4",
-
"sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99",
-
"sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87",
-
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"
+
"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.17.1"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.0.0"
},
"charset-normalizer": {
"hashes": [
-
"sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4",
-
"sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45",
-
"sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7",
-
"sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0",
-
"sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7",
-
"sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d",
-
"sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d",
-
"sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0",
-
"sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184",
-
"sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db",
-
"sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b",
-
"sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64",
-
"sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b",
-
"sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8",
-
"sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff",
-
"sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344",
-
"sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58",
-
"sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e",
-
"sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471",
-
"sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148",
-
"sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a",
-
"sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836",
-
"sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e",
-
"sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63",
-
"sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c",
-
"sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1",
-
"sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01",
-
"sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366",
-
"sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58",
-
"sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5",
-
"sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c",
-
"sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2",
-
"sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a",
-
"sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597",
-
"sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b",
-
"sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5",
-
"sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb",
-
"sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f",
-
"sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0",
-
"sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941",
-
"sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0",
-
"sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86",
-
"sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7",
-
"sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7",
-
"sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455",
-
"sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6",
-
"sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4",
-
"sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0",
-
"sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3",
-
"sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1",
-
"sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6",
-
"sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981",
-
"sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c",
-
"sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980",
-
"sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645",
-
"sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7",
-
"sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12",
-
"sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa",
-
"sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd",
-
"sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef",
-
"sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f",
-
"sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2",
-
"sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d",
-
"sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5",
-
"sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02",
-
"sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3",
-
"sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd",
-
"sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e",
-
"sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214",
-
"sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd",
-
"sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a",
-
"sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c",
-
"sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681",
-
"sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba",
-
"sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f",
-
"sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a",
-
"sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28",
-
"sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691",
-
"sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82",
-
"sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a",
-
"sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027",
-
"sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7",
-
"sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518",
-
"sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf",
-
"sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b",
-
"sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9",
-
"sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544",
-
"sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da",
-
"sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509",
-
"sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f",
-
"sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a",
-
"sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"
+
"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_version >= '3.7'",
-
"version": "==3.4.2"
+
"version": "==3.4.4"
},
"click": {
"hashes": [
-
"sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202",
-
"sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"
+
"sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a",
+
"sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"
],
"markers": "python_version >= '3.10'",
-
"version": "==8.2.1"
+
"version": "==8.3.1"
},
"colorama": {
"hashes": [
···
"markers": "python_version >= '3.9'",
"version": "==0.8.0"
},
+
"deepmerge": {
+
"hashes": [
+
"sha256:5c3d86081fbebd04dd5de03626a0607b809a98fb6ccba5770b62466fe940ff20",
+
"sha256:6de9ce507115cff0bed95ff0ce9ecc31088ef50cbdf09bc90a09349a318b3d00"
+
],
+
"markers": "python_version >= '3.8'",
+
"version": "==2.0"
+
},
"defusedxml": {
"hashes": [
"sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69",
···
},
"filelock": {
"hashes": [
-
"sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2",
-
"sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de"
+
"sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2",
+
"sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"
],
-
"markers": "python_version >= '3.9'",
-
"version": "==3.18.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==3.20.0"
},
"ghp-import": {
"hashes": [
···
},
"gitpython": {
"hashes": [
-
"sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110",
-
"sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"
+
"sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c",
+
"sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77"
],
"markers": "python_version >= '3.7'",
-
"version": "==3.1.44"
+
"version": "==3.1.45"
},
"htmlmin2": {
"hashes": [
···
},
"idna": {
"hashes": [
-
"sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9",
-
"sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
+
"sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea",
+
"sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"
],
-
"markers": "python_version >= '3.6'",
-
"version": "==3.10"
+
"markers": "python_version >= '3.8'",
+
"version": "==3.11"
},
"jinja2": {
"hashes": [
···
},
"markdown": {
"hashes": [
-
"sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc",
-
"sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f"
+
"sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e",
+
"sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c"
],
-
"markers": "python_version >= '3.9'",
-
"version": "==3.8"
+
"markers": "python_version >= '3.10'",
+
"version": "==3.10"
},
"markupsafe": {
"hashes": [
-
"sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4",
-
"sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30",
-
"sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0",
-
"sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9",
-
"sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396",
-
"sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13",
-
"sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028",
-
"sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca",
-
"sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557",
-
"sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832",
-
"sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0",
-
"sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b",
-
"sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579",
-
"sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a",
-
"sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c",
-
"sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff",
-
"sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c",
-
"sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22",
-
"sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094",
-
"sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb",
-
"sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e",
-
"sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5",
-
"sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a",
-
"sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d",
-
"sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a",
-
"sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b",
-
"sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8",
-
"sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225",
-
"sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c",
-
"sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144",
-
"sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f",
-
"sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87",
-
"sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d",
-
"sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93",
-
"sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf",
-
"sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158",
-
"sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84",
-
"sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb",
-
"sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48",
-
"sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171",
-
"sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c",
-
"sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6",
-
"sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd",
-
"sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d",
-
"sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1",
-
"sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d",
-
"sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca",
-
"sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a",
-
"sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29",
-
"sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe",
-
"sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798",
-
"sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c",
-
"sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8",
-
"sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f",
-
"sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f",
-
"sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a",
-
"sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178",
-
"sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0",
-
"sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79",
-
"sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430",
-
"sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"
+
"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.9'",
-
"version": "==3.0.2"
+
"version": "==3.0.3"
},
"mergedeep": {
"hashes": [
···
},
"mkdocs-git-revision-date-localized-plugin": {
"hashes": [
-
"sha256:056c0a90242409148f1dc94d5c9d2c25b5b8ddd8de45489fa38f7fa7ccad2bc4",
-
"sha256:10a49eff1e1c3cb766e054b9d8360c904ce4fe8c33ac3f6cc083ac6459c91953"
+
"sha256:17345ccfdf69a1905dc96fb1070dce82d03a1eb6b0d48f958081a7589ce3c248",
+
"sha256:933f9e35a8c135b113f21bb57610d82e9b7bcc71dd34fb06a029053c97e99656"
],
"index": "pypi",
-
"markers": "python_version >= '3.8'",
-
"version": "==1.4.7"
+
"markers": "python_version >= '3.9'",
+
"version": "==1.5.0"
},
"mkdocs-material": {
"hashes": [
-
"sha256:39d795e90dce6b531387c255bd07e866e027828b7346d3eba5ac3de265053754",
-
"sha256:3b9cee6d3688551bf7a8e8f41afda97a3c39a12f0325436d76c86706114b721b"
+
"sha256:602b359844e906ee402b7ed9640340cf8a474420d02d8891451733b6b02314ec",
+
"sha256:da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
-
"version": "==9.6.14"
+
"version": "==9.7.0"
},
"mkdocs-material-extensions": {
"hashes": [
···
},
"mkdocs-rss-plugin": {
"hashes": [
-
"sha256:0a5b3e03dd68cc6b94feb50fc2e47fd427d39c452affe0fc3135289da9810a6d",
-
"sha256:15b99c6b3370f50503fe189e814600b375e5a0d8f99d19f6d8d9b80c1aa56f5c"
+
"sha256:17b7b78c2c0b6418b83644b701867d5b2c48ecf069609917250b829bd4c3a718",
+
"sha256:6903f85e75ee976ae5f21eb05a54fa4d848bc246a227523945eaf6be7580c930"
],
"index": "pypi",
-
"markers": "python_version >= '3.9' and python_version < '4'",
-
"version": "==1.17.3"
+
"markers": "python_version >= '3.10'",
+
"version": "==1.17.7"
},
"msgpack": {
"hashes": [
-
"sha256:196a736f0526a03653d829d7d4c5500a97eea3648aebfd4b6743875f28aa2af8",
-
"sha256:1abfc6e949b352dadf4bce0eb78023212ec5ac42f6abfd469ce91d783c149c2a",
-
"sha256:1b13fe0fb4aac1aa5320cd693b297fe6fdef0e7bea5518cbc2dd5299f873ae90",
-
"sha256:1d75f3807a9900a7d575d8d6674a3a47e9f227e8716256f35bc6f03fc597ffbf",
-
"sha256:2fbbc0b906a24038c9958a1ba7ae0918ad35b06cb449d398b76a7d08470b0ed9",
-
"sha256:33be9ab121df9b6b461ff91baac6f2731f83d9b27ed948c5b9d1978ae28bf157",
-
"sha256:353b6fc0c36fde68b661a12949d7d49f8f51ff5fa019c1e47c87c4ff34b080ed",
-
"sha256:36043272c6aede309d29d56851f8841ba907a1a3d04435e43e8a19928e243c1d",
-
"sha256:3765afa6bd4832fc11c3749be4ba4b69a0e8d7b728f78e68120a157a4c5d41f0",
-
"sha256:3a89cd8c087ea67e64844287ea52888239cbd2940884eafd2dcd25754fb72232",
-
"sha256:40eae974c873b2992fd36424a5d9407f93e97656d999f43fca9d29f820899084",
-
"sha256:4147151acabb9caed4e474c3344181e91ff7a388b888f1e19ea04f7e73dc7ad5",
-
"sha256:435807eeb1bc791ceb3247d13c79868deb22184e1fc4224808750f0d7d1affc1",
-
"sha256:4835d17af722609a45e16037bb1d4d78b7bdf19d6c0128116d178956618c4e88",
-
"sha256:4a28e8072ae9779f20427af07f53bbb8b4aa81151054e882aee333b158da8752",
-
"sha256:4d3237b224b930d58e9d83c81c0dba7aacc20fcc2f89c1e5423aa0529a4cd142",
-
"sha256:4df2311b0ce24f06ba253fda361f938dfecd7b961576f9be3f3fbd60e87130ac",
-
"sha256:4fd6b577e4541676e0cc9ddc1709d25014d3ad9a66caa19962c4f5de30fc09ef",
-
"sha256:500e85823a27d6d9bba1d057c871b4210c1dd6fb01fbb764e37e4e8847376323",
-
"sha256:5692095123007180dca3e788bb4c399cc26626da51629a31d40207cb262e67f4",
-
"sha256:5fd1b58e1431008a57247d6e7cc4faa41c3607e8e7d4aaf81f7c29ea013cb458",
-
"sha256:61abccf9de335d9efd149e2fff97ed5974f2481b3353772e8e2dd3402ba2bd57",
-
"sha256:61e35a55a546a1690d9d09effaa436c25ae6130573b6ee9829c37ef0f18d5e78",
-
"sha256:6640fd979ca9a212e4bcdf6eb74051ade2c690b862b679bfcb60ae46e6dc4bfd",
-
"sha256:6d489fba546295983abd142812bda76b57e33d0b9f5d5b71c09a583285506f69",
-
"sha256:6f64ae8fe7ffba251fecb8408540c34ee9df1c26674c50c4544d72dbf792e5ce",
-
"sha256:71ef05c1726884e44f8b1d1773604ab5d4d17729d8491403a705e649116c9558",
-
"sha256:77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd",
-
"sha256:78426096939c2c7482bf31ef15ca219a9e24460289c00dd0b94411040bb73ad2",
-
"sha256:79c408fcf76a958491b4e3b103d1c417044544b68e96d06432a189b43d1215c8",
-
"sha256:7a17ac1ea6ec3c7687d70201cfda3b1e8061466f28f686c24f627cae4ea8efd0",
-
"sha256:7da8831f9a0fdb526621ba09a281fadc58ea12701bc709e7b8cbc362feabc295",
-
"sha256:870b9a626280c86cff9c576ec0d9cbcc54a1e5ebda9cd26dab12baf41fee218c",
-
"sha256:88d1e966c9235c1d4e2afac21ca83933ba59537e2e2727a999bf3f515ca2af26",
-
"sha256:88daaf7d146e48ec71212ce21109b66e06a98e5e44dca47d853cbfe171d6c8d2",
-
"sha256:8a8b10fdb84a43e50d38057b06901ec9da52baac6983d3f709d8507f3889d43f",
-
"sha256:8b17ba27727a36cb73aabacaa44b13090feb88a01d012c0f4be70c00f75048b4",
-
"sha256:8b65b53204fe1bd037c40c4148d00ef918eb2108d24c9aaa20bc31f9810ce0a8",
-
"sha256:8ddb2bcfd1a8b9e431c8d6f4f7db0773084e107730ecf3472f1dfe9ad583f3d9",
-
"sha256:96decdfc4adcbc087f5ea7ebdcfd3dee9a13358cae6e81d54be962efc38f6338",
-
"sha256:996f2609ddf0142daba4cefd767d6db26958aac8439ee41db9cc0db9f4c4c3a6",
-
"sha256:9d592d06e3cc2f537ceeeb23d38799c6ad83255289bb84c2e5792e5a8dea268a",
-
"sha256:a32747b1b39c3ac27d0670122b57e6e57f28eefb725e0b625618d1b59bf9d1e0",
-
"sha256:a494554874691720ba5891c9b0b39474ba43ffb1aaf32a5dac874effb1619e1a",
-
"sha256:a8ef6e342c137888ebbfb233e02b8fbd689bb5b5fcc59b34711ac47ebd504478",
-
"sha256:ae497b11f4c21558d95de9f64fff7053544f4d1a17731c866143ed6bb4591238",
-
"sha256:b1ce7f41670c5a69e1389420436f41385b1aa2504c3b0c30620764b15dded2e7",
-
"sha256:b8f93dcddb243159c9e4109c9750ba5b335ab8d48d9522c5308cd05d7e3ce600",
-
"sha256:ba0c325c3f485dc54ec298d8b024e134acf07c10d494ffa24373bea729acf704",
-
"sha256:bb29aaa613c0a1c40d1af111abf025f1732cab333f96f285d6a93b934738a68a",
-
"sha256:bba1be28247e68994355e028dcd668316db30c1f758d3241a7b903ac78dcd285",
-
"sha256:cb643284ab0ed26f6957d969fe0dd8bb17beb567beb8998140b5e38a90974f6c",
-
"sha256:d182dac0221eb8faef2e6f44701812b467c02674a322c739355c39e94730cdbf",
-
"sha256:d275a9e3c81b1093c060c3837e580c37f47c51eca031f7b5fb76f7b8470f5f9b",
-
"sha256:d8b55ea20dc59b181d3f47103f113e6f28a5e1c89fd5b67b9140edb442ab67f2",
-
"sha256:da8f41e602574ece93dbbda1fab24650d6bf2a24089f9e9dbb4f5730ec1e58ad",
-
"sha256:e4141c5a32b5e37905b5940aacbc59739f036930367d7acce7a64e4dec1f5e0b",
-
"sha256:f5be6b6bc52fad84d010cb45433720327ce886009d862f46b26d4d154001994b",
-
"sha256:f6d58656842e1b2ddbe07f43f56b10a60f2ba5826164910968f5933e5178af75"
+
"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.1.1"
+
"markers": "python_version >= '3.9'",
+
"version": "==1.1.2"
},
"packaging": {
"hashes": [
···
},
"pillow": {
"hashes": [
-
"sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928",
-
"sha256:036e53f4170e270ddb8797d4c590e6dd14d28e15c7da375c18978045f7e6c37b",
-
"sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91",
-
"sha256:0c3e6d0f59171dfa2e25d7116217543310908dfa2770aa64b8f87605f8cacc97",
-
"sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4",
-
"sha256:0f5c7eda47bf8e3c8a283762cab94e496ba977a420868cb819159980b6709193",
-
"sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95",
-
"sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941",
-
"sha256:14f73f7c291279bd65fda51ee87affd7c1e097709f7fdd0188957a16c264601f",
-
"sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f",
-
"sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3",
-
"sha256:208653868d5c9ecc2b327f9b9ef34e0e42a4cdd172c2988fd81d62d2bc9bc044",
-
"sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb",
-
"sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681",
-
"sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d",
-
"sha256:2728567e249cdd939f6cc3d1f049595c66e4187f3c34078cbc0a7d21c47482d2",
-
"sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb",
-
"sha256:312c77b7f07ab2139924d2639860e084ec2a13e72af54d4f08ac843a5fc9c79d",
-
"sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406",
-
"sha256:35ca289f712ccfc699508c4658a1d14652e8033e9b69839edf83cbdd0ba39e70",
-
"sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79",
-
"sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e",
-
"sha256:39ad2e0f424394e3aebc40168845fee52df1394a4673a6ee512d840d14ab3013",
-
"sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d",
-
"sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2",
-
"sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36",
-
"sha256:4d375eb838755f2528ac8cbc926c3e31cc49ca4ad0cf79cff48b20e30634a4a7",
-
"sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751",
-
"sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c",
-
"sha256:562d11134c97a62fe3af29581f083033179f7ff435f78392565a1ad2d1c2c45c",
-
"sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c",
-
"sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b",
-
"sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1",
-
"sha256:738db0e0941ca0376804d4de6a782c005245264edaa253ffce24e5a15cbdc7bd",
-
"sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8",
-
"sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691",
-
"sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14",
-
"sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b",
-
"sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f",
-
"sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0",
-
"sha256:80f1df8dbe9572b4b7abdfa17eb5d78dd620b1d55d9e25f834efdbee872d3aed",
-
"sha256:85d27ea4c889342f7e35f6d56e7e1cb345632ad592e8c51b693d7b7556043ce0",
-
"sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909",
-
"sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22",
-
"sha256:8f4f3724c068be008c08257207210c138d5f3731af6c155a81c2b09a9eb3a788",
-
"sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16",
-
"sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156",
-
"sha256:9bc7ae48b8057a611e5fe9f853baa88093b9a76303937449397899385da06fad",
-
"sha256:9db98ab6565c69082ec9b0d4e40dd9f6181dab0dd236d26f7a50b8b9bfbd5076",
-
"sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7",
-
"sha256:a0a6709b47019dff32e678bc12c63008311b82b9327613f534e496dacaefb71e",
-
"sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6",
-
"sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772",
-
"sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155",
-
"sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830",
-
"sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67",
-
"sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4",
-
"sha256:b4ba4be812c7a40280629e55ae0b14a0aafa150dd6451297562e1764808bbe61",
-
"sha256:b93a07e76d13bff9444f1a029e0af2964e654bfc2e2c2d46bfd080df5ad5f3d8",
-
"sha256:bf2c33d6791c598142f00c9c4c7d47f6476731c31081331664eb26d6ab583e01",
-
"sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e",
-
"sha256:c8bd62331e5032bc396a93609982a9ab6b411c05078a52f5fe3cc59234a3abd1",
-
"sha256:c97209e85b5be259994eb5b69ff50c5d20cca0f458ef9abd835e262d9d88b39d",
-
"sha256:cc1c3bc53befb6096b84165956e886b1729634a799e9d6329a0c512ab651e579",
-
"sha256:cc5d875d56e49f112b6def6813c4e3d3036d269c008bf8aef72cd08d20ca6df6",
-
"sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1",
-
"sha256:d4e5c5edee874dce4f653dbe59db7c73a600119fbea8d31f53423586ee2aafd7",
-
"sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047",
-
"sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443",
-
"sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a",
-
"sha256:e0409af9f829f87a2dfb7e259f78f317a5351f2045158be321fd135973fff7bf",
-
"sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd",
-
"sha256:e616e7154c37669fc1dfc14584f11e284e05d1c650e1c0f972f281c4ccc53193",
-
"sha256:e6def7eed9e7fa90fde255afaf08060dc4b343bbe524a8f69bdd2a2f0018f600",
-
"sha256:ea926cfbc3957090becbcbbb65ad177161a2ff2ad578b5a6ec9bb1e1cd78753c",
-
"sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363",
-
"sha256:f6b0c664ccb879109ee3ca702a9272d877f4fcd21e5eb63c26422fd6e415365e",
-
"sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35",
-
"sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9",
-
"sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28",
-
"sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b"
+
"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.9'",
-
"version": "==11.2.1"
+
"markers": "python_version >= '3.10'",
+
"version": "==12.0.0"
},
"platformdirs": {
"hashes": [
-
"sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc",
-
"sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"
+
"sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda",
+
"sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31"
],
-
"markers": "python_version >= '3.9'",
-
"version": "==4.3.8"
+
"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:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f",
-
"sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"
+
"sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887",
+
"sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"
],
"markers": "python_version >= '3.8'",
-
"version": "==2.19.1"
+
"version": "==2.19.2"
},
"pymdown-extensions": {
"hashes": [
-
"sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7",
-
"sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f"
+
"sha256:090bca72be43f7d3186374e23c782899dbef9dc153ef24c59dcd3c346f9ffcae",
+
"sha256:20252abe6367354b24191431617a072ee6be9f68c5afcc74ea5573508a61f9e5"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==10.15"
+
"markers": "python_version >= '3.9'",
+
"version": "==10.18"
},
"python-dateutil": {
"hashes": [
···
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==2.9.0.post0"
},
-
"pytz": {
-
"hashes": [
-
"sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3",
-
"sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"
-
],
-
"version": "==2025.2"
-
},
"pyyaml": {
"hashes": [
-
"sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff",
-
"sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48",
-
"sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086",
-
"sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e",
-
"sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133",
-
"sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5",
-
"sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484",
-
"sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee",
-
"sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5",
-
"sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68",
-
"sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a",
-
"sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf",
-
"sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99",
-
"sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8",
-
"sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85",
-
"sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19",
-
"sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc",
-
"sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a",
-
"sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1",
-
"sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317",
-
"sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c",
-
"sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631",
-
"sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d",
-
"sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652",
-
"sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5",
-
"sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e",
-
"sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b",
-
"sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8",
-
"sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476",
-
"sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706",
-
"sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563",
-
"sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237",
-
"sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b",
-
"sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083",
-
"sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180",
-
"sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425",
-
"sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e",
-
"sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f",
-
"sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725",
-
"sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183",
-
"sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab",
-
"sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774",
-
"sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725",
-
"sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e",
-
"sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5",
-
"sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d",
-
"sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290",
-
"sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44",
-
"sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed",
-
"sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4",
-
"sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba",
-
"sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12",
-
"sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"
+
"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.8'",
-
"version": "==6.0.2"
+
"version": "==6.0.3"
},
"pyyaml-env-tag": {
"hashes": [
···
},
"requests": {
"hashes": [
-
"sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c",
-
"sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"
+
"sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6",
+
"sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==2.32.4"
+
"markers": "python_version >= '3.9'",
+
"version": "==2.32.5"
},
"six": {
"hashes": [
···
},
"tinycss2": {
"hashes": [
-
"sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7",
-
"sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"
+
"sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661",
+
"sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957"
],
-
"markers": "python_version >= '3.8'",
-
"version": "==1.4.0"
+
"markers": "python_version >= '3.10'",
+
"version": "==1.5.1"
},
"urllib3": {
"hashes": [
-
"sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466",
-
"sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"
+
"sha256:5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f",
+
"sha256:e67d06fe947c36a7ca39f4994b08d73922d40e6cca949907be05efa6fd75110b"
],
"markers": "python_version >= '3.9'",
-
"version": "==2.4.0"
+
"version": "==2.6.1"
},
"watchdog": {
"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": {}
+11 -3
bin/build.sh
···
#!/usr/bin/env bash
set -ex
-
TARGET_DIR="${PWD}/public"
-
pipenv run build
+
GIT_ROOT=$(git rev-parse --show-toplevel)
+
SOURCE_DIR="${GIT_ROOT}/markdown"
+
TARGET_DIR="${GIT_ROOT}/public"
+
+
if [[ $SKIP_BUILD == "" ]]; then
+
pipenv run build
+
else
+
echo "Skipping build step"
+
fi
+
cp "$TARGET_DIR/assets/images/favicon.png" "$TARGET_DIR/favicon.ico" -v
-
#cp "$SOURCE_DIR/.well-known" "$TARGET_DIR/" -rv
+
cp "$SOURCE_DIR/.well-known" "$TARGET_DIR/" -rv
+2 -2
bin/deploy.sh
···
}
if [[ $CI == "true" ]]; then
-
info "Deploying to Cloudflare Pages"
+
info "Deploying to Cloudflare Workers"
if [[ $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web" ]] && [[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]]; then
-
npx wrangler pages publish ${_root_directory_git}/public --project-name ${CF_PAGES_PROJECT_NAME:-"ajhalili2006"} --branch main
+
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
+6
cspell.json
···
"dictionaryDefinitions": [],
"dictionaries": [],
"words": [
+
"atproto",
+
"fediverse",
+
"Halili",
+
"Jiroh",
+
"Linktree",
+
"Multikey",
"Neurodivergence",
"neurodivergent"
],
+52 -17
devenv.lock
···
"devenv": {
"locked": {
"dir": "src/modules",
-
"lastModified": 1749743313,
+
"lastModified": 1764927628,
"owner": "cachix",
"repo": "devenv",
-
"rev": "7d2fab8f90ff435ec0ca656da2cbae4cb1a324de",
+
"rev": "247d7027f91368054fb0eefbd755a73d42b66fee",
"type": "github"
},
"original": {
···
"flake-compat": {
"flake": false,
"locked": {
-
"lastModified": 1747046372,
+
"lastModified": 1765121682,
"owner": "edolstra",
"repo": "flake-compat",
-
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
"type": "github"
},
"original": {
···
"flake-compat_2": {
"flake": false,
"locked": {
-
"lastModified": 1747046372,
+
"lastModified": 1765121682,
"owner": "edolstra",
"repo": "flake-compat",
-
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1749636823,
+
"lastModified": 1765016596,
"owner": "cachix",
"repo": "git-hooks.nix",
-
"rev": "623c56286de5a3193aa38891a6991b28f9bab056",
+
"rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1709087332,
+
"lastModified": 1762808025,
"owner": "hercules-ci",
"repo": "gitignore.nix",
-
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+
"rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c",
"type": "github"
},
"original": {
···
"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": 1749401433,
-
"narHash": "sha256-HXIQzULIG/MEUW2Q/Ss47oE3QrjxvpUX7gUl4Xp6lnc=",
-
"rev": "08fcb0dcb59df0344652b38ea6326a2d8271baff",
-
"revCount": 812400,
+
"lastModified": 1764611609,
+
"narHash": "sha256-yU9BNcP0oadUKupw0UKmO9BKDOVIg9NStdJosEbXf8U=",
+
"rev": "8c29968b3a942f2903f90797f9623737c215737c",
+
"revCount": 905078,
"type": "tarball",
-
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.812400%2Brev-08fcb0dcb59df0344652b38ea6326a2d8271baff/01975859-0b3e-7500-9c04-d7870e583452/source.tar.gz"
+
"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",
···
]
},
"locked": {
-
"lastModified": 1749760516,
+
"lastModified": 1765052656,
"owner": "cachix",
"repo": "nixpkgs-python",
-
"rev": "908dbb466af5955ea479ac95953333fd64387216",
+
"rev": "04b27dbad2e004cb237db202f21154eea3c4f89f",
"type": "github"
},
"original": {
···
"inputs": {
"devenv": "devenv",
"git-hooks": "git-hooks",
+
"mk-shell-bin": "mk-shell-bin",
+
"nix2container": "nix2container",
"nixpkgs": "nixpkgs",
"nixpkgs-python": "nixpkgs-python",
"pre-commit-hooks": [
+27 -7
devenv.nix
···
-
{ pkgs, ... }: {
+
{ pkgs, lib, ... }: {
+
+
name = "site";
packages = with pkgs; [
gitFull
···
# doppler
doppler
-
# required for social cards in mkdocs-material
+
# required for social cards in mkdocs-material / CairoSVG
cairo
+
pango
+
gdk-pixbuf
+
librsvg
+
fontconfig
freetype
libffi
libjpeg
···
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;
···
};
python = {
enable = true;
-
version = "3.13.3";
+
version = "3.14.0";
};
};
-
enterShell = ''
-
pipenv install
-
npm install
-
'';
+
#enterShell = ''
+
# pipenv install
+
# npm install
+
#'';
tasks = {
"site:build".exec = "pipenv run build";
+10 -2
devenv.yaml
···
inputs:
-
nixpkgs-python:
-
url: github:cachix/nixpkgs-python
+
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
+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"
+
}
+
]
+
}
+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
+13 -6
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://blog.andreijiroh.dev
+
/blog/* https://blog.andreijiroh.dev/:splat
/pkgs https://pkgs.andreijiroh.dev
-
/socials /links
+
/pkgs/* https://pkgs.andreijiroh.dev/:splat
# user manual
/manual /user-manual
+
/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
-
# dynamic routing
-
/manual/* /user-manual/:path
+
# 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
+
})
+
}
+10 -9
markdown/contact/code-reviews.md
···
---
-
As a student myself learning JavaScript, I am open to do pair programming to
-
help improve both of our coding skills and do peer reviews before getting shipped to production.
+
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
+
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 programming languages I use.
-
* If it is not on the list, I am more than happy to be paired with you to learn that language together.
-
* If you need a helping hand on handling patches and community moderation for your project, I am also in.
+
* 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
-
* [Follow the personal user manual](../user-manual/index.md)
+
* [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
-
[hire me](./work.md) if you do.
+
[hiring me](./work.md) if you do.
## You up?
-
Hit me up at [my public inbox](https://go.andreijiroh.xyz/public-inbox) or [my email address](./details.md#email) for details and expect a reply in 1-2 days.
+
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.
+31 -11
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).
+
+
## 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
···
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 Cloudflare Email Routing or Hack Club Nest 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.
+
(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.dev` or `@andreijiroh.dev` email address instead.
+
* For work-related file sharing, please use my `@crew.recaptime.dev` or `@andreijiroh.dev` email address
+
instead.
## ๐Ÿ’ฌ Chat
### :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
···
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](eva9EAgkty))
+
* Recap Time Squad / Community Lorebooks ([invite link](https://discord.gg/eva9EAgkty))
* Gildedguy's Gilded Guild ([invite link](https://discord.gg/gildedguy))
## ๐Ÿ‘ฅ Over at socials
···
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)
-
* :simple-tumblr: [@ajhalili2006@tumblr.com](https://tumblr.com/ajhalili2006) ([askbox](https://www.tumblr.com/new/ask/ajhalili2006))
-
* :material-twitter: [@ajhalili2006@twitter.com](https://twitter.com/@ajhalili2006) (or `@ajhalili2006@x.com` if you're pedantic)
+
* :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]
-
## ๐Ÿ”’ Encryption
+
## ๐Ÿ”’ Encrypted communications
-
See [this personal user manual page](../user-manual/encrypted-communications.md) for the full
+
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
···
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
+5 -1
markdown/contact/donations.md
···
[Go back to main contact page](./index.md){ .md-button }
-
TBD
+
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}
+7 -2
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
···
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
+41 -20
markdown/humans.txt
···
https://humanstxt.org
/* AUTHOR */
-
Standard: Andrei Jiroh Halili
+
Tilde: ~ajhalili2006
+
Standard: Andrei Jiroh
+
Full legal: Andrei Jiroh Eugenio Halili
Pronouns: he/they
Contact: https://andreijiroh.dev/contact
-
Socials: https://links.andreijiroh.dev
+
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)
-
From: Marilao, Bulacan, PH
+
Currently in: Marilao, Bulacan, PH (also my hometown)
/* SITE */
-
Last update: 2025-05-25 (might not be in sync with commit logs)
+
Last update: 2025-11-03 (might not be in sync with commit logs)
Timezone: PHT (GMT+8)
-
Version: Currently unversioned
+
Version: Rolling release / edge
Language: English
Doctype: HTML5
-
IDE: nano, (insiders.)vscode.dev
-
Technologies: pip3:mkdocs, pip3:mkdocs-material, jsr:@hono/hono (for API)
-
Sources: https://gitlab.com/andreijiroh-dev/website (GitLab SaaS mirror)
-
https://mau.dev/andreijiroh-dev/website (canonical)
+
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.
-
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)
+
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
-
Hack Club: https://hackclub.com
-
Prudue Hackers: https://pruduehackers.xyz
+
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
-
tildeverse: https://tildeverse.org
+
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
+9 -3
markdown/index.md
···
You do you: <https://links.andreijiroh.dev>
* :telescope: Iโ€™m currently working on different projects, most of them are hosted under
-
[Recap Time Squad] and some personal projects for [Hack Club Slack community].
+
[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
···
## More about myself
-
* Started in my TBD
+
* 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
···
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**: [Node.js](https://nodejs.org) + [Deno](https://deno.land), Bash
+
* **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**: Mainly [GitHub] and [GitLab SaaS][saas], also mirrors to
···
[![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
+7 -5
markdown/keys/index.md
···
## Keysigning ceremories
-
_This is moved to [Encrypted communications](../user-manual/encrypted-communications.md#key-signing-ceremories) section of the personal user manual._
+
_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 also get all the keys in one file (and its signers file) at the following URLs:
-
* Website as its deployed via CI: <https://andreijiroh.dev/keys/ssh-trustfile.txt>
-
* As pushed via Git: <https://mau.dev/andreijiroh-dev/website/-/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
+27 -1
markdown/now.md
···
[nowpage-info]: https://nownownow.com/about
[nownownow]: https://nownownow.com/p/Dxh0
-
_**Last updated (PHT)**: 2025-05-14 from Marilao, Bulacan, PH_
+
_**Last updated (PHT)**: 2025-10-27 from Marilao, Bulacan, PH_
+
+
## December 2025
+
+
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.
+
+
- TBD
+
+
### School
+
+
### Hack Club Community / Alumni Society
+
+
- 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
## May 2025
### Listening on Loop
+
+
!!! 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
### PH Politics
-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.
-67
markdown/user-manual/communications.md
···
-
# Communicating with Andrei Jiroh
-
-
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 ping 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), NSFW or CSAM, self promo hellscape, doxxing, death/swatting threats or calls to violence towards me or anybody.
-
5. Future employers and recruiters: Please contact via email or LinkedIn only.
-
6. I only respond over Facebook Messenger on my main profile if:
-
* you know me IRL, including within the immediate family;
-
* or, you are either my class adviser/subject teacher/boss or workspace/academic/school colleague, either in the past or current.
-
-
[^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.
-22
markdown/user-manual/encrypted-communications.md
···
-
# Encrypted communications
-
-
## GPG
-
-
### Active keys
-
-
| Key ID | Primary address | Description | Expiration date |
-
| --- | --- | --- | --- |
-
| `4d5e631758cb9cc45941b1ce67bfc91b3da12be8` | `ajhalili2006@andreijiroh.dev` | My main GPG key for signing git commits, as well as for encrypted mails | N/A |
-
| `a715100e58cf60500ee159652f384539c700b263` | `ajhalili2006@crew.recaptime.dev` | My GPG key for Recap Time Squad | N/A |
-
-
## Key-signing ceremories / Web of Trust
-
-
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)
-4
markdown/user-manual/resume.md
···
-
# My resume
-
-
!!! info "Moved to Notion"
-
Technically I use Coda for this, but we're so back to Notion, so here's a interactive
-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 }
+4
mkdocs.readthedocs.yml
···
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
+34 -10
mkdocs.yml
···
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
···
- Profile README: index.md
- Meta:
- nowpage: now.md
-
- "All my links": links.md
-
- Contact: contact/index.md
-
- PGP and SSH keys: keys/index.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
···
# 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
···
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)"
···
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
···
name: ~ajhalili2006 on sr.ht
# facebook
-
- icon: fontawesome/brands/facebook
-
link: https://facebook.com/ajhalili2006
-
name: ~ajhalili2006's personal (slash professional profile) facebook account
+
#- 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
+5 -2
overrides/404.html
···
<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.dev">production</a>
-254
overrides/base.html
···
-
{#-
-
This file was automatically generated - do not edit
-
-#}
-
{% import "partials/language.html" as lang with context %}
-
<!doctype html>
-
<html lang="{{ lang.t('language') }}" class="no-js">
-
<head>
-
{% block site_meta %}
-
<meta charset="utf-8">
-
<meta name="viewport" content="width=device-width,initial-scale=1">
-
{% if page.meta and page.meta.description %}
-
<meta name="description" content="{{ page.meta.description }}">
-
{% elif config.site_description %}
-
<meta name="description" content="{{ config.site_description }}">
-
{% endif %}
-
{% if page.meta and page.meta.author %}
-
<meta name="author" content="{{ page.meta.author }}">
-
{% elif config.site_author %}
-
<meta name="author" content="{{ config.site_author }}">
-
{% endif %}
-
{% if page.canonical_url %}
-
<link rel="canonical" href="{{ page.canonical_url }}">
-
{% endif %}
-
{% if page.previous_page %}
-
<link rel="prev" href="{{ page.previous_page.url | url }}">
-
{% endif %}
-
{% if page.next_page %}
-
<link rel="next" href="{{ page.next_page.url | url }}">
-
{% endif %}
-
{% if "rss" in config.plugins %}
-
<link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.created') }}" href="{{ 'feed_rss_created.xml' | url }}">
-
<link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.updated') }}" href="{{ 'feed_rss_updated.xml' | url }}">
-
{% endif %}
-
<link rel="icon" href="{{ config.theme.favicon | url }}">
-
<meta name="generator" content="mkdocs-{{ mkdocs_version }}, mkdocs-material-9.6.14">
-
{% endblock %}
-
{% block htmltitle %}
-
{% if page.meta and page.meta.title %}
-
<title>{{ page.meta.title }} - {{ config.site_name }}</title>
-
{% elif page.title and not page.is_homepage %}
-
<title>{{ page.title | striptags }} - {{ config.site_name }}</title>
-
{% else %}
-
<title>{{ config.site_name }}</title>
-
{% endif %}
-
{% endblock %}
-
{% block styles %}
-
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.342714a4.min.css' | url }}">
-
{% if config.theme.palette %}
-
{% set palette = config.theme.palette %}
-
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.06af60db.min.css' | url }}">
-
{% endif %}
-
{% include "partials/icons.html" %}
-
{% endblock %}
-
{% block libs %}
-
{% for script in config.extra.polyfills %}
-
{{ script | script_tag }}
-
{% endfor %}
-
{% endblock %}
-
{% block fonts %}
-
{% if config.theme.font != false %}
-
{% set text = config.theme.font.text | d("Roboto", true) %}
-
{% set code = config.theme.font.code | d("Roboto Mono", true) %}
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family={{
-
text | replace(' ', '+') + ':300,300i,400,400i,700,700i%7C' +
-
code | replace(' ', '+') + ':400,400i,700,700i'
-
}}&display=fallback">
-
<style>:root{--md-text-font:"{{ text }}";--md-code-font:"{{ code }}"}</style>
-
{% endif %}
-
{% endblock %}
-
{% for path in config.extra_css %}
-
<link rel="stylesheet" href="{{ path | url }}">
-
{% endfor %}
-
{% include "partials/javascripts/base.html" %}
-
{% block analytics %}
-
{% include "partials/integrations/analytics.html" %}
-
{% endblock %}
-
{% if page.meta and page.meta.meta %}
-
{% for tag in page.meta.meta %}
-
<meta {% for key, value in tag | items %} {{ key }}="{{value}}" {% endfor %}>
-
{% endfor %}
-
{% endif %}
-
{% block extrahead %}{% endblock %}
-
</head>
-
{% set direction = config.theme.direction or lang.t("direction") %}
-
{% if config.theme.palette %}
-
{% set palette = config.theme.palette %}
-
{% if not palette is mapping %}
-
{% set palette = palette | first %}
-
{% endif %}
-
{% set scheme = palette.scheme | d("default", true) %}
-
{% set primary = palette.primary | d("indigo", true) %}
-
{% set accent = palette.accent | d("indigo", true) %}
-
<body dir="{{ direction }}" data-md-color-scheme="{{ scheme | replace(' ', '-') }}" data-md-color-primary="{{ primary | replace(' ', '-') }}" data-md-color-accent="{{ accent | replace(' ', '-') }}">
-
{% else %}
-
<body dir="{{ direction }}">
-
{% endif %}
-
{% set features = config.theme.features or [] %}
-
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
-
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
-
<label class="md-overlay" for="__drawer"></label>
-
<div data-md-component="skip">
-
{% if page.toc | first is defined %}
-
{% set skip = page.toc | first %}
-
<a href="{{ skip.url | url }}" class="md-skip">
-
{{ lang.t("action.skip") }}
-
</a>
-
{% endif %}
-
</div>
-
<div data-md-component="announce">
-
{% if self.announce() %}
-
<aside class="md-banner">
-
<div class="md-banner__inner md-grid md-typeset">
-
{% if "announce.dismiss" in features %}
-
<button class="md-banner__button md-icon" aria-label="{{ lang.t('announce.dismiss') }}">
-
{% set icon = config.theme.icon.close or "material/close" %}
-
{% include ".icons/" ~ icon ~ ".svg" %}
-
</button>
-
{% endif %}
-
{% block announce %}{% endblock %}
-
</div>
-
{% if "announce.dismiss" in features %}
-
{% include "partials/javascripts/announce.html" %}
-
{% endif %}
-
</aside>
-
{% endif %}
-
</div>
-
{% if config.extra.version %}
-
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
-
{% if self.outdated() %}
-
<aside class="md-banner md-banner--warning">
-
<div class="md-banner__inner md-grid md-typeset">
-
{% block outdated %}{% endblock %}
-
</div>
-
{% include "partials/javascripts/outdated.html" %}
-
</aside>
-
{% endif %}
-
</div>
-
{% endif %}
-
{% block header %}
-
{% include "partials/header.html" %}
-
{% endblock %}
-
<div class="md-container" data-md-component="container">
-
{% block hero %}{% endblock %}
-
{% block tabs %}
-
{% if "navigation.tabs.sticky" not in features %}
-
{% if "navigation.tabs" in features %}
-
{% include "partials/tabs.html" %}
-
{% endif %}
-
{% endif %}
-
{% endblock %}
-
<main class="md-main" data-md-component="main">
-
<div class="md-main__inner md-grid">
-
{% block site_nav %}
-
{% if nav %}
-
{% if page.meta and page.meta.hide %}
-
{% set hidden = "hidden" if "navigation" in page.meta.hide %}
-
{% endif %}
-
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" {{ hidden }}>
-
<div class="md-sidebar__scrollwrap">
-
<div class="md-sidebar__inner">
-
{% include "partials/nav.html" %}
-
</div>
-
</div>
-
</div>
-
{% endif %}
-
{% if "toc.integrate" not in features %}
-
{% if page.meta and page.meta.hide %}
-
{% set hidden = "hidden" if "toc" in page.meta.hide %}
-
{% endif %}
-
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" {{ hidden }}>
-
<div class="md-sidebar__scrollwrap">
-
<div class="md-sidebar__inner">
-
{% include "partials/toc.html" %}
-
</div>
-
</div>
-
</div>
-
{% endif %}
-
{% 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 %}
-
{% include "partials/javascripts/content.html" %}
-
</div>
-
{% if "navigation.top" in features %}
-
{% include "partials/top.html" %}
-
{% endif %}
-
</main>
-
{% block footer %}
-
{% include "partials/footer.html" %}
-
{% endblock %}
-
</div>
-
<div class="md-dialog" data-md-component="dialog">
-
<div class="md-dialog__inner md-typeset"></div>
-
</div>
-
{% if "navigation.instant.progress" in features %}
-
{% include "partials/progress.html" %}
-
{% endif %}
-
{% if config.extra.consent %}
-
<div class="md-consent" data-md-component="consent" id="__consent" hidden>
-
<div class="md-consent__overlay"></div>
-
<aside class="md-consent__inner">
-
<form class="md-consent__form md-grid md-typeset" name="consent">
-
{% include "partials/consent.html" %}
-
</form>
-
</aside>
-
</div>
-
{% include "partials/javascripts/consent.html" %}
-
{% endif %}
-
{% block config %}
-
{% set _ = namespace() %}
-
{% set _.tags = config.extra.tags %}
-
{%- if config.extra.version -%}
-
{%- set mike = config.plugins.mike -%}
-
{%- if not mike or mike.config.version_selector -%}
-
{%- set _.version = config.extra.version -%}
-
{%- endif -%}
-
{%- endif -%}
-
<script id="__config" type="application/json">
-
{{- {
-
"base": base_url,
-
"features": features,
-
"translations": {
-
"clipboard.copy": lang.t("clipboard.copy"),
-
"clipboard.copied": lang.t("clipboard.copied"),
-
"search.result.placeholder": lang.t("search.result.placeholder"),
-
"search.result.none": lang.t("search.result.none"),
-
"search.result.one": lang.t("search.result.one"),
-
"search.result.other": lang.t("search.result.other"),
-
"search.result.more.one": lang.t("search.result.more.one"),
-
"search.result.more.other": lang.t("search.result.more.other"),
-
"search.result.term.missing": lang.t("search.result.term.missing"),
-
"select.version": lang.t("select.version")
-
},
-
"search": "assets/javascripts/workers/search.d50fe291.min.js" | url,
-
"tags": _.tags or none,
-
"version": _.version or none
-
} | tojson -}}
-
</script>
-
{% endblock %}
-
{% block scripts %}
-
<script src="{{ 'assets/javascripts/bundle.13a4f30d.min.js' | url }}"></script>
-
{% for script in config.extra_javascript %}
-
{{ script | script_tag }}
-
{% endfor %}
-
{% endblock %}
-
</body>
-
</html>
+3 -20
overrides/main.html
···
<!-- 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>
-
<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>)
+
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 %}
+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>
+346 -325
package-lock.json
···
"version": "0.1.0",
"license": "MPL-2.0",
"dependencies": {
-
"@dotenvx/dotenvx": "^1.44.2"
+
"@dotenvx/dotenvx": "^1.51.0"
},
"devDependencies": {
-
"npm-check-updates": "^18.0.1",
-
"wrangler": "^4.20.0"
+
"npm-check-updates": "^19.0.0",
+
"wrangler": "^4.42.1"
}
},
"node_modules/@cloudflare/kv-asset-handler": {
···
}
},
"node_modules/@cloudflare/unenv-preset": {
-
"version": "2.3.2",
-
"resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.3.2.tgz",
-
"integrity": "sha512-MtUgNl+QkQyhQvv5bbWP+BpBC1N0me4CHHuP2H4ktmOMKdB/6kkz/lo+zqiA4mEazb4y+1cwyNjVrQ2DWeE4mg==",
+
"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.17",
-
"workerd": "^1.20250508.0"
+
"unenv": "2.0.0-rc.21",
+
"workerd": "^1.20250927.0"
},
"peerDependenciesMeta": {
"workerd": {
···
}
},
"node_modules/@cloudflare/workerd-darwin-64": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250604.0.tgz",
-
"integrity": "sha512-PI6AWAzhHg75KVhYkSWFBf3HKCHstpaKg4nrx6LYZaEvz0TaTz+JQpYU2fNAgGFmVsK5xEzwFTGh3DAVAKONPw==",
+
"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"
],
···
}
},
"node_modules/@cloudflare/workerd-darwin-arm64": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250604.0.tgz",
-
"integrity": "sha512-hOiZZSop7QRQgGERtTIy9eU5GvPpIsgE2/BDsUdHMl7OBZ7QLniqvgDzLNDzj0aTkCldm9Yl/Z+C7aUgRdOccw==",
+
"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"
],
···
}
},
"node_modules/@cloudflare/workerd-linux-64": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250604.0.tgz",
-
"integrity": "sha512-S0R9r7U4nv9qejYygQj01hArC4KUbQQ4u29rvegR0MGoXZY8AHIEuJxon0kE7r7aWFJxvl4W3tOH+5hwW51LYw==",
+
"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"
],
···
}
},
"node_modules/@cloudflare/workerd-linux-arm64": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250604.0.tgz",
-
"integrity": "sha512-BTFU/rXpNy03wpeueI2P7q1vVjbg2V6mCyyFGqDqMn2gSVYXH1G0zFNolV13PQXa0HgaqM6oYnqtAxluqbA+kQ==",
+
"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"
],
···
}
},
"node_modules/@cloudflare/workerd-windows-64": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250604.0.tgz",
-
"integrity": "sha512-tW/U9/qDmDZBeoEVcK5skb2uouVAMXMzt7o/uGvaIFLeZsQkOp4NBmvoQQd+nbOc7nVCJIwFoSMokd89AhzCkA==",
+
"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"
],
···
}
},
"node_modules/@dotenvx/dotenvx": {
-
"version": "1.44.2",
-
"resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.44.2.tgz",
-
"integrity": "sha512-2C44+G2dch4cB6zw7+oGQ9VcFQuuVhc5xOzfVvY7iUEj2PRhiVMIB6SpNMK1V5TvpdqrAqCYFjclK18Mh9vwNQ==",
+
"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": "^16.4.5",
+
"dotenv": "^17.2.1",
"eciesjs": "^0.4.10",
"execa": "^5.1.1",
"fdir": "^6.2.0",
···
"which": "^4.0.0"
},
"bin": {
-
"dotenvx": "src/cli/dotenvx.js",
-
"git-dotenvx": "src/cli/dotenvx.js"
+
"dotenvx": "src/cli/dotenvx.js"
},
"funding": {
"url": "https://dotenvx.com"
···
}
},
"node_modules/@emnapi/runtime": {
-
"version": "1.4.3",
-
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
-
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
+
"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,
···
"node": ">=18"
}
},
-
"node_modules/@fastify/busboy": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
-
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
-
"dev": true,
-
"license": "MIT",
-
"engines": {
-
"node": ">=14"
-
}
-
},
"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",
···
},
"node_modules/@jridgewell/sourcemap-codec": {
-
"version": "1.5.0",
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
-
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+
"version": "1.5.5",
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"dev": true,
"license": "MIT"
},
···
"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.14.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
···
"node": ">=0.4.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==",
-
"dev": true,
-
"license": "MIT",
-
"dependencies": {
-
"printable-characters": "^1.0.42"
-
}
-
},
"node_modules/blake3-wasm": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
···
},
"node_modules/cookie": {
-
"version": "0.7.2",
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
-
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+
"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": ">= 0.6"
+
"node": ">=18"
},
"node_modules/cross-spawn": {
···
"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,
-
"license": "MIT"
-
},
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
···
"license": "MIT"
},
"node_modules/detect-libc": {
-
"version": "2.0.4",
-
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
-
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
+
"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_modules/dotenv": {
-
"version": "16.4.5",
-
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
-
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+
"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"
···
"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.25.4",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
···
},
"node_modules/exsolve": {
-
"version": "1.0.5",
-
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz",
-
"integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==",
+
"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,
"license": "MIT"
},
···
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
},
-
"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,
-
"license": "Unlicense",
-
"dependencies": {
-
"data-uri-to-buffer": "^2.0.0",
-
"source-map": "^0.6.1"
-
}
-
},
"node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
···
},
"node_modules/is-arrayish": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+
"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": ">=16"
},
+
"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": ">=6"
+
}
+
},
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
···
},
"node_modules/miniflare": {
-
"version": "4.20250604.1",
-
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250604.1.tgz",
-
"integrity": "sha512-HJQ9YhH0F0fI73Vsdy3PNVau+PfHZYK7trI5WJEcbfl5HzqhMU0DRNtA/G5EXQgiumkjrmbW4Zh1DVTtsqICPg==",
+
"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": {
···
"glob-to-regexp": "0.4.1",
"sharp": "^0.33.5",
"stoppable": "1.1.0",
-
"undici": "^5.28.5",
-
"workerd": "1.20250604.0",
+
"undici": "7.14.0",
+
"workerd": "1.20251004.0",
"ws": "8.18.0",
-
"youch": "3.3.4",
+
"youch": "4.1.0-beta.10",
"zod": "3.22.3"
},
"bin": {
···
"node": ">=18.0.0"
},
-
"node_modules/mustache": {
-
"version": "4.2.0",
-
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
-
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
-
"dev": true,
-
"license": "MIT",
-
"bin": {
-
"mustache": "bin/mustache"
-
}
-
},
"node_modules/npm-check-updates": {
-
"version": "18.0.1",
-
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-18.0.1.tgz",
-
"integrity": "sha512-MO7mLp/8nm6kZNLLyPgz4gHmr9tLoU+pWPLdXuGAx+oZydBHkHWN0ibTonsrfwC2WEQNIQxuZagYwB67JQpAuw==",
+
"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": {
···
"npm-check-updates": "build/cli.js"
},
"engines": {
-
"node": "^18.18.0 || >=20.0.0",
+
"node": ">=20.0.0",
"npm": ">=8.12.1"
},
···
"dev": true,
"license": "MIT"
},
-
"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": "Unlicense"
-
},
"node_modules/semver": {
-
"version": "7.7.2",
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
-
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+
"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": {
···
"license": "ISC"
},
"node_modules/simple-swizzle": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+
"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": {
"is-arrayish": "^0.3.1"
},
-
"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,
-
"license": "BSD-3-Clause",
-
"engines": {
-
"node": ">=0.10.0"
-
}
-
},
-
"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==",
-
"dev": true,
-
"license": "Unlicense",
-
"dependencies": {
-
"as-table": "^1.0.36",
-
"get-source": "^2.0.12"
-
}
-
},
"node_modules/stoppable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
···
"node": ">=6"
},
+
"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,
+
"license": "MIT",
+
"engines": {
+
"node": ">=18"
+
},
+
"funding": {
+
"url": "https://github.com/chalk/supports-color?sponsor=1"
+
}
+
},
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
···
"license": "MIT"
},
"node_modules/undici": {
-
"version": "5.29.0",
-
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
-
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
+
"version": "7.14.0",
+
"resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz",
+
"integrity": "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==",
"dev": true,
"license": "MIT",
-
"dependencies": {
-
"@fastify/busboy": "^2.0.0"
-
},
"engines": {
-
"node": ">=14.0"
+
"node": ">=20.18.1"
},
"node_modules/unenv": {
-
"version": "2.0.0-rc.17",
-
"resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.17.tgz",
-
"integrity": "sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==",
+
"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": {
"defu": "^6.1.4",
-
"exsolve": "^1.0.4",
+
"exsolve": "^1.0.7",
"ohash": "^2.0.11",
"pathe": "^2.0.3",
"ufo": "^1.6.1"
···
},
"node_modules/workerd": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250604.0.tgz",
-
"integrity": "sha512-sHz9R1sxPpnyq3ptrI/5I96sYTMA2+Ljm75oJDbmEcZQwNyezpu9Emerzt3kzzjCJQqtdscGOidWv4RKGZXzAA==",
+
"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",
···
"node": ">=16"
},
"optionalDependencies": {
-
"@cloudflare/workerd-darwin-64": "1.20250604.0",
-
"@cloudflare/workerd-darwin-arm64": "1.20250604.0",
-
"@cloudflare/workerd-linux-64": "1.20250604.0",
-
"@cloudflare/workerd-linux-arm64": "1.20250604.0",
-
"@cloudflare/workerd-windows-64": "1.20250604.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": "4.20.0",
-
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.20.0.tgz",
-
"integrity": "sha512-gxMLaSnYp3VLdGPZu4fc/9UlB7PnSVwni25v32NM9szG2yTt+gx5RunWzmoLplplIfEMkBuV3wA47vccNu7zcA==",
+
"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.4.0",
-
"@cloudflare/unenv-preset": "2.3.2",
+
"@cloudflare/unenv-preset": "2.7.7",
"blake3-wasm": "2.1.5",
"esbuild": "0.25.4",
-
"miniflare": "4.20250604.1",
+
"miniflare": "4.20251004.0",
"path-to-regexp": "6.3.0",
-
"unenv": "2.0.0-rc.17",
-
"workerd": "1.20250604.0"
+
"unenv": "2.0.0-rc.21",
+
"workerd": "1.20251004.0"
},
"bin": {
"wrangler": "bin/wrangler.js",
···
"fsevents": "~2.3.2"
},
"peerDependencies": {
-
"@cloudflare/workers-types": "^4.20250604.0"
+
"@cloudflare/workers-types": "^4.20251004.0"
},
"peerDependenciesMeta": {
"@cloudflare/workers-types": {
···
},
"node_modules/youch": {
-
"version": "3.3.4",
-
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz",
-
"integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==",
+
"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-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.7.1",
-
"mustache": "^4.2.0",
-
"stacktracey": "^2.1.8"
+
"@poppinss/exception": "^1.2.2",
+
"error-stack-parser-es": "^1.0.5"
},
"node_modules/zod": {
···
},
"@cloudflare/unenv-preset": {
-
"version": "2.3.2",
-
"resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.3.2.tgz",
-
"integrity": "sha512-MtUgNl+QkQyhQvv5bbWP+BpBC1N0me4CHHuP2H4ktmOMKdB/6kkz/lo+zqiA4mEazb4y+1cwyNjVrQ2DWeE4mg==",
+
"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.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250604.0.tgz",
-
"integrity": "sha512-PI6AWAzhHg75KVhYkSWFBf3HKCHstpaKg4nrx6LYZaEvz0TaTz+JQpYU2fNAgGFmVsK5xEzwFTGh3DAVAKONPw==",
+
"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.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250604.0.tgz",
-
"integrity": "sha512-hOiZZSop7QRQgGERtTIy9eU5GvPpIsgE2/BDsUdHMl7OBZ7QLniqvgDzLNDzj0aTkCldm9Yl/Z+C7aUgRdOccw==",
+
"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.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250604.0.tgz",
-
"integrity": "sha512-S0R9r7U4nv9qejYygQj01hArC4KUbQQ4u29rvegR0MGoXZY8AHIEuJxon0kE7r7aWFJxvl4W3tOH+5hwW51LYw==",
+
"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.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250604.0.tgz",
-
"integrity": "sha512-BTFU/rXpNy03wpeueI2P7q1vVjbg2V6mCyyFGqDqMn2gSVYXH1G0zFNolV13PQXa0HgaqM6oYnqtAxluqbA+kQ==",
+
"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.20250604.0",
-
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250604.0.tgz",
-
"integrity": "sha512-tW/U9/qDmDZBeoEVcK5skb2uouVAMXMzt7o/uGvaIFLeZsQkOp4NBmvoQQd+nbOc7nVCJIwFoSMokd89AhzCkA==",
+
"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
},
···
},
"@dotenvx/dotenvx": {
-
"version": "1.44.2",
-
"resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.44.2.tgz",
-
"integrity": "sha512-2C44+G2dch4cB6zw7+oGQ9VcFQuuVhc5xOzfVvY7iUEj2PRhiVMIB6SpNMK1V5TvpdqrAqCYFjclK18Mh9vwNQ==",
+
"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": "^16.4.5",
+
"dotenv": "^17.2.1",
"eciesjs": "^0.4.10",
"execa": "^5.1.1",
"fdir": "^6.2.0",
···
"requires": {}
},
"@emnapi/runtime": {
-
"version": "1.4.3",
-
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
-
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
+
"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": {
···
"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",
···
"dev": true
},
"@jridgewell/sourcemap-codec": {
-
"version": "1.5.0",
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
-
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+
"version": "1.5.5",
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"dev": true
},
"@jridgewell/trace-mapping": {
···
"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": {
+
"kleur": "^4.1.5"
+
}
+
},
+
"@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": {
+
"@poppinss/colors": "^4.1.5",
+
"@sindresorhus/is": "^7.0.2",
+
"supports-color": "^10.0.0"
+
}
+
},
+
"@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-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true
},
-
"as-table": {
-
"version": "1.0.55",
-
"resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz",
-
"integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==",
-
"dev": true,
-
"requires": {
-
"printable-characters": "^1.0.42"
-
}
-
},
"blake3-wasm": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
···
"integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="
},
"cookie": {
-
"version": "0.7.2",
-
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
-
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+
"version": "1.0.2",
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
"dev": true
},
"cross-spawn": {
···
},
-
"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
-
},
"defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
···
"dev": true
},
"detect-libc": {
-
"version": "2.0.4",
-
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
-
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
+
"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": "16.4.5",
-
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
-
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg=="
+
"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",
···
"@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.25.4",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
···
"dev": true
},
"exsolve": {
-
"version": "1.0.5",
-
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz",
-
"integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==",
+
"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": {
···
"dev": true,
"optional": 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"
-
}
-
},
"get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
···
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="
},
"is-arrayish": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+
"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-stream": {
···
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
"integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="
},
+
"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
+
},
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
···
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
},
"miniflare": {
-
"version": "4.20250604.1",
-
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250604.1.tgz",
-
"integrity": "sha512-HJQ9YhH0F0fI73Vsdy3PNVau+PfHZYK7trI5WJEcbfl5HzqhMU0DRNtA/G5EXQgiumkjrmbW4Zh1DVTtsqICPg==",
+
"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",
···
"glob-to-regexp": "0.4.1",
"sharp": "^0.33.5",
"stoppable": "1.1.0",
-
"undici": "^5.28.5",
-
"workerd": "1.20250604.0",
+
"undici": "7.14.0",
+
"workerd": "1.20251004.0",
"ws": "8.18.0",
-
"youch": "3.3.4",
+
"youch": "4.1.0-beta.10",
"zod": "3.22.3"
},
-
"mustache": {
-
"version": "4.2.0",
-
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
-
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
-
"dev": true
-
},
"npm-check-updates": {
-
"version": "18.0.1",
-
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-18.0.1.tgz",
-
"integrity": "sha512-MO7mLp/8nm6kZNLLyPgz4gHmr9tLoU+pWPLdXuGAx+oZydBHkHWN0ibTonsrfwC2WEQNIQxuZagYwB67JQpAuw==",
+
"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
},
"npm-run-path": {
···
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"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==",
-
"dev": true
-
},
"semver": {
-
"version": "7.7.2",
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
-
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+
"version": "7.7.3",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true
},
"sharp": {
···
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"simple-swizzle": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+
"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": {
"is-arrayish": "^0.3.1"
},
-
"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
-
},
-
"stacktracey": {
-
"version": "2.1.8",
-
"resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz",
-
"integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==",
-
"dev": true,
-
"requires": {
-
"as-table": "^1.0.36",
-
"get-source": "^2.0.12"
-
}
-
},
"stoppable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
···
"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
+
},
"tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
···
"dev": true
},
"undici": {
-
"version": "5.29.0",
-
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
-
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
-
"dev": true,
-
"requires": {
-
"@fastify/busboy": "^2.0.0"
-
}
+
"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.17",
-
"resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.17.tgz",
-
"integrity": "sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==",
+
"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": {
"defu": "^6.1.4",
-
"exsolve": "^1.0.4",
+
"exsolve": "^1.0.7",
"ohash": "^2.0.11",
"pathe": "^2.0.3",
"ufo": "^1.6.1"
···
},
"workerd": {
-
"version": "1.20250604.0",
-
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250604.0.tgz",
-
"integrity": "sha512-sHz9R1sxPpnyq3ptrI/5I96sYTMA2+Ljm75oJDbmEcZQwNyezpu9Emerzt3kzzjCJQqtdscGOidWv4RKGZXzAA==",
+
"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.20250604.0",
-
"@cloudflare/workerd-darwin-arm64": "1.20250604.0",
-
"@cloudflare/workerd-linux-64": "1.20250604.0",
-
"@cloudflare/workerd-linux-arm64": "1.20250604.0",
-
"@cloudflare/workerd-windows-64": "1.20250604.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": "4.20.0",
-
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.20.0.tgz",
-
"integrity": "sha512-gxMLaSnYp3VLdGPZu4fc/9UlB7PnSVwni25v32NM9szG2yTt+gx5RunWzmoLplplIfEMkBuV3wA47vccNu7zcA==",
+
"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.4.0",
-
"@cloudflare/unenv-preset": "2.3.2",
+
"@cloudflare/unenv-preset": "2.7.7",
"blake3-wasm": "2.1.5",
"esbuild": "0.25.4",
"fsevents": "~2.3.2",
-
"miniflare": "4.20250604.1",
+
"miniflare": "4.20251004.0",
"path-to-regexp": "6.3.0",
-
"unenv": "2.0.0-rc.17",
-
"workerd": "1.20250604.0"
+
"unenv": "2.0.0-rc.21",
+
"workerd": "1.20251004.0"
},
"ws": {
···
"requires": {}
},
"youch": {
-
"version": "3.3.4",
-
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz",
-
"integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==",
+
"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-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.7.1",
-
"mustache": "^4.2.0",
-
"stacktracey": "^2.1.8"
+
"@poppinss/exception": "^1.2.2",
+
"error-stack-parser-es": "^1.0.5"
},
"zod": {
+3 -3
package.json
···
},
"homepage": "https://andreijiroh.xyz",
"devDependencies": {
-
"npm-check-updates": "^18.0.1",
-
"wrangler": "^4.20.0"
+
"npm-check-updates": "^19.0.0",
+
"wrangler": "^4.42.1"
},
"dependencies": {
-
"@dotenvx/dotenvx": "^1.44.2"
+
"@dotenvx/dotenvx": "^1.51.0"
}
}
+55 -56
requirements.txt
···
-
-i https://pypi.org/simple
-
babel==2.16.0; python_version >= '3.8' --hash=sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b --hash=sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316
-
cachecontrol[filecache]==0.14.1; python_version >= '3.8' --hash=sha256:06ef916a1e4eb7dba9948cdfc9c76e749db2e02104a9a1277e8b642591a0f717 --hash=sha256:65e3abd62b06382ce3894df60dde9e0deb92aeb734724f68fa4f3b91e97206b9
-
cairocffi==1.7.1; python_version >= '3.8' --hash=sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b --hash=sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f
-
cairosvg==2.7.1; python_version >= '3.5' --hash=sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0 --hash=sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b
-
certifi==2024.8.30; python_version >= '3.6' --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9
-
cffi==1.17.1; python_version >= '3.8' --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 --hash=sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1 --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 --hash=sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8 --hash=sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36 --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf --hash=sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d --hash=sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be --hash=sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c --hash=sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8 --hash=sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1 --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 --hash=sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595 --hash=sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0 --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 --hash=sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16 --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 --hash=sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 --hash=sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964 --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c --hash=sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576 --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 --hash=sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3 --hash=sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662 --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d --hash=sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9 --hash=sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7 --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 --hash=sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 --hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b
-
charset-normalizer==3.4.0; python_full_version >= '3.7.0' --hash=sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621 --hash=sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6 --hash=sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8 --hash=sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912 --hash=sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c --hash=sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b --hash=sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d --hash=sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d --hash=sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95 --hash=sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e --hash=sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565 --hash=sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64 --hash=sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab --hash=sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be --hash=sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e --hash=sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907 --hash=sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0 --hash=sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2 --hash=sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62 --hash=sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62 --hash=sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23 --hash=sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc --hash=sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284 --hash=sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca --hash=sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455 --hash=sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858 --hash=sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b --hash=sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594 --hash=sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc --hash=sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db --hash=sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b --hash=sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea --hash=sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6 --hash=sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920 --hash=sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749 --hash=sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7 --hash=sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd --hash=sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99 --hash=sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242 --hash=sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee --hash=sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129 --hash=sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2 --hash=sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51 --hash=sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee --hash=sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8 --hash=sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b --hash=sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613 --hash=sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742 --hash=sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe --hash=sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3 --hash=sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5 --hash=sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631 --hash=sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7 --hash=sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15 --hash=sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c --hash=sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea --hash=sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417 --hash=sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250 --hash=sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88 --hash=sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca --hash=sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa --hash=sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99 --hash=sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149 --hash=sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41 --hash=sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574 --hash=sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0 --hash=sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f --hash=sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d --hash=sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654 --hash=sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3 --hash=sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19 --hash=sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90 --hash=sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578 --hash=sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9 --hash=sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1 --hash=sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51 --hash=sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719 --hash=sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236 --hash=sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a --hash=sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c --hash=sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade --hash=sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944 --hash=sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc --hash=sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6 --hash=sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6 --hash=sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27 --hash=sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6 --hash=sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2 --hash=sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12 --hash=sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf --hash=sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114 --hash=sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7 --hash=sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf --hash=sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d --hash=sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b --hash=sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed --hash=sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03 --hash=sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4 --hash=sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67 --hash=sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365 --hash=sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a --hash=sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748 --hash=sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b --hash=sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079 --hash=sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482
-
click==8.1.7; python_version >= '3.7' --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
-
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' --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
-
csscompressor==0.9.5 --hash=sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05
-
cssselect2==0.7.0; python_version >= '3.7' --hash=sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a --hash=sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969
-
defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61
-
filelock==3.16.1 --hash=sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0 --hash=sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435
-
ghp-import==2.1.0 --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
-
gitdb==4.0.11; python_version >= '3.7' --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b
-
gitpython==3.1.43; python_version >= '3.7' --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff
-
htmlmin2==0.1.13 --hash=sha256:75609f2a42e64f7ce57dbff28a39890363bde9e7e5885db633317efbdf8c79a2
-
idna==3.10; python_version >= '3.6' --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
-
jinja2==3.1.4; python_version >= '3.7' --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d
-
jsmin==3.0.1 --hash=sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc
-
markdown==3.7; python_version >= '3.8' --hash=sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2 --hash=sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803
-
markupsafe==3.0.2; python_version >= '3.9' --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50
-
mergedeep==1.3.4; python_version >= '3.6' --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
-
mkdocs==1.6.1; python_version >= '3.8' --hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
-
mkdocs-autolinks-plugin==0.7.1; python_version >= '3.4' --hash=sha256:445ddb9b417b7795856c30801bb430773186c1daf210bdeecf8305f55a47d151 --hash=sha256:5c6c17f6649b68e79a9ef0b2648d59f3072e18002b90ee1586a64c505f11ab12
-
mkdocs-get-deps==0.2.0; python_version >= '3.8' --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
-
mkdocs-git-authors-plugin==0.9.2; python_version >= '3.8' --hash=sha256:77f97c321e08a8757beb866293eb257070b11cd5a080976bc6696b249cbade4f --hash=sha256:f6cefc4dc832865d26f7f9f944c0a8c7dc852742d79320f3800e0d97814e2a84
-
mkdocs-git-committers-plugin-2==2.4.1; python_version >= '3.8' and python_version < '4' --hash=sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb --hash=sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d
-
mkdocs-git-revision-date-localized-plugin==1.3.0; python_version >= '3.8' --hash=sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb --hash=sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1
-
mkdocs-material==9.5.44; python_version >= '3.8' --hash=sha256:47015f9c167d58a5ff5e682da37441fc4d66a1c79334bfc08d774763cacf69ca --hash=sha256:f3a6c968e524166b3f3ed1fb97d3ed3e0091183b0545cedf7156a2a6804c56c0
-
mkdocs-material-extensions==1.3.1; python_version >= '3.8' --hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 --hash=sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31
-
mkdocs-minify-plugin==0.8.0; python_version >= '3.8' --hash=sha256:5fba1a3f7bd9a2142c9954a6559a57e946587b21f133165ece30ea145c66aee6 --hash=sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d
-
mkdocs-redirects==1.2.2; python_version >= '3.8' --hash=sha256:3094981b42ffab29313c2c1b8ac3969861109f58b2dd58c45fc81cd44bfa0095 --hash=sha256:7dbfa5647b79a3589da4401403d69494bd1f4ad03b9c15136720367e1f340ed5
-
mkdocs-rss-plugin==1.16.0; python_version >= '3.9' and python_version < '4' --hash=sha256:be66b11300f1e951d3393ce8da60ca6d730108f731434cc256670b3b8e0cffb3 --hash=sha256:f0e275c933be69a77ee7af92256d88e2969e10c36c5ee1ecdb663a4ea4aa08ea
-
msgpack==1.1.0; python_version >= '3.8' --hash=sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b --hash=sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf --hash=sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca --hash=sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330 --hash=sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f --hash=sha256:13599f8829cfbe0158f6456374e9eea9f44eee08076291771d8ae93eda56607f --hash=sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39 --hash=sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247 --hash=sha256:3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b --hash=sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c --hash=sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7 --hash=sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044 --hash=sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6 --hash=sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b --hash=sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0 --hash=sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2 --hash=sha256:46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468 --hash=sha256:471e27a5787a2e3f974ba023f9e265a8c7cfd373632247deb225617e3100a3c7 --hash=sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734 --hash=sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434 --hash=sha256:4d1b7ff2d6146e16e8bd665ac726a89c74163ef8cd39fa8c1087d4e52d3a2325 --hash=sha256:53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1 --hash=sha256:534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846 --hash=sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88 --hash=sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420 --hash=sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e --hash=sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2 --hash=sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59 --hash=sha256:646afc8102935a388ffc3914b336d22d1c2d6209c773f3eb5dd4d6d3b6f8c1cb --hash=sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68 --hash=sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915 --hash=sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f --hash=sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701 --hash=sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b --hash=sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d --hash=sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa --hash=sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d --hash=sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd --hash=sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc --hash=sha256:7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48 --hash=sha256:879a7b7b0ad82481c52d3c7eb99bf6f0645dbdec5134a4bddbd16f3506947feb --hash=sha256:8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74 --hash=sha256:8a84efb768fb968381e525eeeb3d92857e4985aacc39f3c47ffd00eb4509315b --hash=sha256:8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346 --hash=sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e --hash=sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6 --hash=sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5 --hash=sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f --hash=sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5 --hash=sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b --hash=sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c --hash=sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f --hash=sha256:c40ffa9a15d74e05ba1fe2681ea33b9caffd886675412612d93ab17b58ea2fec --hash=sha256:c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8 --hash=sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5 --hash=sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d --hash=sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e --hash=sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e --hash=sha256:e0856a2b7e8dcb874be44fea031d22e5b3a19121be92a1e098f46068a11b0870 --hash=sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f --hash=sha256:f1ba6136e650898082d9d5a5217d5906d1e138024f836ff48691784bbe1adf96 --hash=sha256:f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c --hash=sha256:f80bc7d47f76089633763f952e67f8214cb7b3ee6bfa489b3cb6a84cfac114cd --hash=sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788
-
packaging==24.2; python_version >= '3.8' --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
-
paginate==0.5.7 --hash=sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945 --hash=sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591
-
pathspec==0.12.1; python_version >= '3.8' --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
-
pillow==11.0.0; python_version >= '3.9' --hash=sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7 --hash=sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5 --hash=sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903 --hash=sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2 --hash=sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38 --hash=sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2 --hash=sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9 --hash=sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f --hash=sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc --hash=sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8 --hash=sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d --hash=sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2 --hash=sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316 --hash=sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a --hash=sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25 --hash=sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd --hash=sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba --hash=sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc --hash=sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273 --hash=sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa --hash=sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a --hash=sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b --hash=sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a --hash=sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae --hash=sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291 --hash=sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97 --hash=sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06 --hash=sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904 --hash=sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b --hash=sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b --hash=sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8 --hash=sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527 --hash=sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947 --hash=sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb --hash=sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003 --hash=sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5 --hash=sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f --hash=sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739 --hash=sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944 --hash=sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830 --hash=sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f --hash=sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3 --hash=sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4 --hash=sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84 --hash=sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7 --hash=sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6 --hash=sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6 --hash=sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9 --hash=sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de --hash=sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4 --hash=sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47 --hash=sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd --hash=sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50 --hash=sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c --hash=sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086 --hash=sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba --hash=sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306 --hash=sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699 --hash=sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e --hash=sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488 --hash=sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa --hash=sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2 --hash=sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3 --hash=sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9 --hash=sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923 --hash=sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2 --hash=sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790 --hash=sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734 --hash=sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916 --hash=sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1 --hash=sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f --hash=sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798 --hash=sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb --hash=sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2 --hash=sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9
-
platformdirs==4.3.6; python_version >= '3.8' --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
-
pycparser==2.22; python_version >= '3.8' --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
-
pygments==2.18.0; python_version >= '3.8' --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
-
pymdown-extensions==10.12; python_version >= '3.8' --hash=sha256:49f81412242d3527b8b4967b990df395c89563043bc51a3d2d7d500e52123b77 --hash=sha256:b0ee1e0b2bef1071a47891ab17003bfe5bf824a398e13f49f8ed653b699369a7
-
python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
-
pytz==2024.2 --hash=sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a --hash=sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725
-
pyyaml==6.0.2; python_version >= '3.8' --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4
-
pyyaml-env-tag==0.1; python_version >= '3.6' --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069
-
regex==2024.11.6; python_version >= '3.8' --hash=sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c --hash=sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60 --hash=sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d --hash=sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d --hash=sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67 --hash=sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773 --hash=sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0 --hash=sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef --hash=sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad --hash=sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe --hash=sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3 --hash=sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114 --hash=sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4 --hash=sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39 --hash=sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e --hash=sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3 --hash=sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7 --hash=sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d --hash=sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e --hash=sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a --hash=sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7 --hash=sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f --hash=sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0 --hash=sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54 --hash=sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b --hash=sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c --hash=sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd --hash=sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57 --hash=sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34 --hash=sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d --hash=sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f --hash=sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b --hash=sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519 --hash=sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4 --hash=sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a --hash=sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638 --hash=sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b --hash=sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839 --hash=sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07 --hash=sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf --hash=sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff --hash=sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0 --hash=sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f --hash=sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95 --hash=sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4 --hash=sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e --hash=sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13 --hash=sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519 --hash=sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2 --hash=sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008 --hash=sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9 --hash=sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc --hash=sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48 --hash=sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20 --hash=sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89 --hash=sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e --hash=sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf --hash=sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b --hash=sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd --hash=sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84 --hash=sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29 --hash=sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b --hash=sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3 --hash=sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45 --hash=sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3 --hash=sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983 --hash=sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e --hash=sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7 --hash=sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4 --hash=sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e --hash=sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467 --hash=sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577 --hash=sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001 --hash=sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0 --hash=sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55 --hash=sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9 --hash=sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf --hash=sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6 --hash=sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e --hash=sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde --hash=sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62 --hash=sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df --hash=sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51 --hash=sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5 --hash=sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86 --hash=sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2 --hash=sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2 --hash=sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0 --hash=sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c --hash=sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f --hash=sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6 --hash=sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2 --hash=sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9 --hash=sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91
-
requests==2.32.3; python_version >= '3.8' --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
-
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
-
smmap==5.0.1; python_version >= '3.7' --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da
-
tinycss2==1.4.0; python_version >= '3.8' --hash=sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7 --hash=sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289
-
urllib3==2.2.3; python_version >= '3.8' --hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac --hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9
-
watchdog==6.0.0; python_version >= '3.9' --hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a --hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 --hash=sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f --hash=sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c --hash=sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c --hash=sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c --hash=sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0 --hash=sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13 --hash=sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134 --hash=sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa --hash=sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e --hash=sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379 --hash=sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a --hash=sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11 --hash=sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282 --hash=sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b --hash=sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f --hash=sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c --hash=sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112 --hash=sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948 --hash=sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881 --hash=sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860 --hash=sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3 --hash=sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680 --hash=sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26 --hash=sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26 --hash=sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2
-
webencodings==0.5.1 --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
+
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.8.0
+
defusedxml==0.7.1
+
filelock==3.19.1
+
ghp-import==2.1.0
+
gitdb==4.0.12
+
GitPython==3.1.45
+
htmlmin2==0.1.13
+
idna==3.10
+
Jinja2==3.1.6
+
jsmin==3.0.1
+
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
+2 -1
wrangler.jsonc
···
"run_worker_first": false
},
"build": {
-
"command": "pipenv run build"
+
"command": "bash ./bin/build.sh",
+
},
"workers_dev": true,
"preview_urls": true,
+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"