From b38f50ee5eb3b51b215c528b979c298d8ca023d1 Mon Sep 17 00:00:00 2001 From: thepra Date: Sat, 31 Oct 2026 03:22:36 +0100 Subject: [PATCH] The APK also lands in an F-Droid repository on packages.arasaka.software, linked from the download page with Obtainium Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz --- .gitea/scripts/fdroid.sh | 88 ++ .gitea/scripts/prepare.sh | 2 +- .gitea/workflows/release.yml | 7 + .gitignore | 1 + CLAUDE.md | 13 + README.md | 5 + packaging/fdroid/config.yml | 11 + packaging/fdroid/icon.png | Bin 0 -> 63166 bytes .../metadata/software.arasaka.meweb.yml | 10 + .../en-US/description.txt | 1 + .../software.arasaka.meweb/en-US/name.txt | 1 + .../software.arasaka.meweb/en-US/summary.txt | 1 + .../software.arasaka.meweb/it/description.txt | 1 + .../software.arasaka.meweb/it/name.txt | 1 + .../software.arasaka.meweb/it/summary.txt | 1 + packaging/fdroid/requirements.txt | 1243 +++++++++++++++++ src/MeWeb.Server/DownloadPage.cs | 21 +- src/MeWeb.Server/PrivacyPage.cs | 4 + src/MeWeb.Shared/Endpoints.cs | 8 + tools/setup.json | 12 + tools/setup.sh | 4 + 21 files changed, 1431 insertions(+), 4 deletions(-) create mode 100755 .gitea/scripts/fdroid.sh create mode 100644 packaging/fdroid/config.yml create mode 100644 packaging/fdroid/icon.png create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb.yml create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/en-US/description.txt create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/en-US/name.txt create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/en-US/summary.txt create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/it/description.txt create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/it/name.txt create mode 100644 packaging/fdroid/metadata/software.arasaka.meweb/it/summary.txt create mode 100644 packaging/fdroid/requirements.txt create mode 100755 tools/setup.sh diff --git a/.gitea/scripts/fdroid.sh b/.gitea/scripts/fdroid.sh new file mode 100755 index 0000000..750cd6d --- /dev/null +++ b/.gitea/scripts/fdroid.sh @@ -0,0 +1,88 @@ +#!/bin/sh +set -eu +version=$1 +here=$(pwd) +root=${PACKAGES_ROOT:-/var/www/packages.arasaka.software} +keep=${FDROID_KEEP:-3} +url=https://packages.arasaka.software/fdroid/repo +fingerprint=42C47659B699E0B1A8BCF6F9CE2C4972972265B592BE32B5725B8F87C6BD0374 +id=software.arasaka.meweb +apk=$here/releases/$version/MeWeb-$version-android.apk +test -f "$apk" +if [ -z "${FDROID_KEYSTORE_B64:-}" ] || [ -z "${FDROID_KEYSTORE_PASS:-}" ]; then + echo "::error::the organisation secrets FDROID_KEYSTORE_B64 and FDROID_KEYSTORE_PASS are not set" + exit 1 +fi +major=$(echo "$version" | cut -d. -f1) +minor=$(echo "$version" | cut -d. -f2) +patch=$(echo "$version" | cut -d. -f3) +code=$((major * 10000 + minor * 100 + patch)) + +tools/setup.sh --group fdroid +tools=$here/tools/fdroid/linux-x64 +pinned=$(sed -n 's/^fdroidserver==\([^ ]*\).*/\1/p' packaging/fdroid/requirements.txt) +venv=$tools/fdroidserver-$pinned +if [ ! -x "$venv/bin/fdroid" ]; then + rm -rf "$venv" + UV_CACHE_DIR=$tools/cache UV_PYTHON_INSTALL_DIR=$tools/python "$tools/uv-x86_64-unknown-linux-gnu/uv" venv -q --python 3.12 "$venv" + UV_CACHE_DIR=$tools/cache "$tools/uv-x86_64-unknown-linux-gnu/uv" pip install -q --python "$venv/bin/python" --require-hashes -r packaging/fdroid/requirements.txt +fi +JAVA_HOME=$(ls -d "$here"/tools/jdk/linux-x64/*/ | head -n 1) +ANDROID_HOME=$here/tools/android-sdk +PATH=$JAVA_HOME/bin:$PATH +export JAVA_HOME ANDROID_HOME PATH + +exec 9>>"$root/.lock" +flock -w 2700 9 + +keys=$(mktemp -d) +trap 'rm -rf "$keys"' EXIT +(umask 077 && printf '%s' "$FDROID_KEYSTORE_B64" | base64 -d > "$keys/repo.p12") +FDROID_KEYSTORE=$keys/repo.p12 +export FDROID_KEYSTORE FDROID_KEYSTORE_PASS +unset FDROID_KEYSTORE_B64 +held=$(keytool -J-Duser.language=en -list -v -keystore "$FDROID_KEYSTORE" -storepass:env FDROID_KEYSTORE_PASS -alias arasaka | sed -n 's/^.*SHA256: *//p' | tr -d ':') +test "$held" = "$fingerprint" + +state=$root/.fdroid +snap=$state/$(date -u +%Y%m%d%H%M%S)-$version +mkdir -p "$snap/repo" "$snap/metadata" "$snap/tmp" +if [ -e "$root/fdroid/repo" ]; then + prior=$(readlink -f "$root/fdroid/repo")/.. + for file in "$prior"/repo/*.apk; do + [ -e "$file" ] && ln "$file" "$snap/repo/" + done + cp -a "$prior/metadata/." "$snap/metadata/" + cp "$prior/repo/index-v2.json" "$snap/repo/" + if [ -f "$prior/tmp/apkcache.json" ]; then cp "$prior/tmp/apkcache.json" "$snap/tmp/"; fi +fi +cp packaging/fdroid/config.yml "$snap/config.yml" +chmod 600 "$snap/config.yml" +cp packaging/fdroid/icon.png "$snap/icon.png" +cp -r packaging/fdroid/metadata/. "$snap/metadata/" +rm -f "$snap/repo/${id}_$code.apk" +cp "$apk" "$snap/repo/${id}_$code.apk" +(cd "$snap/repo" && ls "$id"_*.apk | sed 's/.*_\([0-9]*\)\.apk$/\1/' | sort -n | head -n "-$keep" | while read -r old; do + rm -f "${id}_$old.apk" +done) + +(cd "$snap" && "$venv/bin/fdroid" update) +rm -rf "$snap/repo/status" +chmod -R u=rwX,go=rX "$snap/repo" + +mkdir -p "$root/fdroid" +ln -sfn "../.fdroid/$(basename "$snap")/repo" "$root/fdroid/repo.new" +mv -T -f "$root/fdroid/repo.new" "$root/fdroid/repo" +ls -1d "$state"/*/ | sort | head -n -3 | while read -r old; do + find "$old" -maxdepth 0 -mmin +1440 -exec rm -rf {} + +done +echo "published ${id}_$code.apk in $root/fdroid/repo" + +if [ "$root" = /var/www/packages.arasaka.software ]; then + curl -fsS "$url/entry.jar" -o "$keys/entry.jar" + signed=$(keytool -J-Duser.language=en -printcert -jarfile "$keys/entry.jar" | sed -n 's/^.*SHA256: *//p' | head -n 1 | tr -d ':') + test "$signed" = "$fingerprint" + curl -fsS "$url/index-v2.json" | grep -Eq "\"versionCode\": ?$code\b" + curl -fsSI "$url/${id}_$code.apk" > /dev/null + echo "live at $url: $id $version ($code)" +fi diff --git a/.gitea/scripts/prepare.sh b/.gitea/scripts/prepare.sh index 138ca93..c0abafd 100755 --- a/.gitea/scripts/prepare.sh +++ b/.gitea/scripts/prepare.sh @@ -8,7 +8,7 @@ fi echo "VERSION=$version" >> "$GITHUB_ENV" echo "COMMIT=$(echo "$GITHUB_SHA" | cut -c1-8)" >> "$GITHUB_ENV" keep="$HOME/.cache/meweb" -for dir in tools/cache tools/jdk tools/packaging tools/android-sdk; do +for dir in tools/cache tools/jdk tools/packaging tools/android-sdk tools/fdroid; do mkdir -p "$keep/$dir" rm -rf "$dir" ln -s "$keep/$dir" "$dir" diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 7a36422..92cf916 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -54,3 +54,10 @@ jobs: env: RELEASE_TOKEN: ${{ secrets.GITEA_TOKEN }} run: .gitea/scripts/release.sh "v$VERSION" releases/"$VERSION"/* + + - name: The APK in the F-Droid repository on packages.arasaka.software + if: ${{ github.ref_type == 'tag' }} + env: + FDROID_KEYSTORE_B64: ${{ secrets.FDROID_KEYSTORE_B64 }} + FDROID_KEYSTORE_PASS: ${{ secrets.FDROID_KEYSTORE_PASS }} + run: .gitea/scripts/fdroid.sh "$VERSION" diff --git a/.gitignore b/.gitignore index 4ef3d9c..cb3af86 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ appsettings.*.local.json /tools/packaging/ /tools/android-sdk/ /tools/cache/ +/tools/fdroid/ /tools/logs/ /.claude/settings.local.json /artifacts/ diff --git a/CLAUDE.md b/CLAUDE.md index f649aa6..fa69d11 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -173,6 +173,19 @@ The Android release key: alias `meweb`, certificate SHA-256 `arasaka_repository_known`, or installed copies are treated as edited by hand and left alone. The package owns `/usr/share/arasaka-repository/meweb`, the marker that keeps the repository configured while any Arasaka package is installed. The signing key's only copies are that secret and the owner's Nextcloud backup. +- **The APK reaches an F-Droid repository on packages.arasaka.software from the same job** (31 Oct 2026), after the + release is published, so the repository can lag the release page but never lead it. `.gitea/scripts/fdroid.sh` + installs fdroidserver into `tools/fdroid` (cached like the JDK) with uv from `setup.json` and the hash-locked + `packaging/fdroid/requirements.txt`, because the box has no `ensurepip` and the apt package would bring 242 others. + It refuses any repository key but `42C47659…BD0374` (org secrets `FDROID_KEYSTORE_B64` and `FDROID_KEYSTORE_PASS`; + the only other copy is the owner's Nextcloud, `Backups/arasaka-fdroid-repo-key/`), builds a new snapshot in + `/var/www/packages.arasaka.software/.fdroid/` from the live one (the APKs as hard links, so `rm` then `cp` as above; + the metadata, `apkcache.json` and the previous `index-v2.json`, which is where fdroidserver reads each APK's first + date), adds this version, keeps the newest three, runs `fdroid update`, deletes `repo/status/` (it names the + build machine's paths and `/etc/issue.net`), swaps the `fdroid/repo` link and checks the live signature. Never + regenerate the key: everyone who added the repository trusts only its fingerprint. `packaging/fdroid/` holds the + repository's settings, its icon (the Arasaka emblem) and the app's listing in English and Italian; the download + page links to it and to Obtainium (`Endpoints.FDroid`, source `FDroidRepo`). - **The server cannot ping**: `NoNewPrivileges` drops `ping`'s file capability and `ping_group_range` is closed, so the trace back to a caller uses `tracepath` (UDP, unprivileged) and keeps only public hops outside `Probe:Refuse`, so the box's own network never reaches an app. diff --git a/README.md b/README.md index a18362f..2e62455 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,11 @@ import it first with `sudo rpm --import https://packages.arasaka.software/arasak is `packaging/arasaka-repository.sh`; it never calls the package manager, leaves files you edited alone, and removes the repository only when no Arasaka package is left (purge or erase). +On Android, the same signed APK is also in an F-Droid repository, so F-Droid, a store like it, or Obtainium can bring +the updates: add `https://packages.arasaka.software/fdroid/repo`, whose key has the SHA-256 +`42:C4:76:59:B6:99:E0:B1:A8:BC:F6:F9:CE:2C:49:72:97:22:65:B5:92:BE:32:B5:72:5B:8F:87:C6:BD:03:74`. The download page +links to both. The app is not in F-Droid's own catalogue, which builds every app from source on F-Droid's servers. + ## Privacy “me-web?” sends nothing anywhere unless a check needs it, and lists every host it contacts ("What this app contacts" diff --git a/packaging/fdroid/config.yml b/packaging/fdroid/config.yml new file mode 100644 index 0000000..f8139f9 --- /dev/null +++ b/packaging/fdroid/config.yml @@ -0,0 +1,11 @@ +repo_url: https://packages.arasaka.software/fdroid/repo +repo_name: Arasaka +repo_description: >- + Apps published by Arasaka di Hvozdikov Yevheniy, Busto Arsizio, Italy, such as “me-web?”. + Each app here is the same signed file as on its release page. +repo_icon: icon.png +archive_older: 0 +repo_keyalias: arasaka +keystore: {env: FDROID_KEYSTORE} +keystorepass: {env: FDROID_KEYSTORE_PASS} +keypass: {env: FDROID_KEYSTORE_PASS} diff --git a/packaging/fdroid/icon.png b/packaging/fdroid/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e333e45f88997cdbac895a95d04612373bbbda GIT binary patch literal 63166 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⁡JQWO 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 LNkvXXu0mjf$fg(w literal 0 HcmV?d00001 diff --git a/packaging/fdroid/metadata/software.arasaka.meweb.yml b/packaging/fdroid/metadata/software.arasaka.meweb.yml new file mode 100644 index 0000000..aaf5f30 --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb.yml @@ -0,0 +1,10 @@ +Categories: + - Connectivity + - Internet +License: AGPL-3.0-only +AuthorName: Arasaka di Hvozdikov Yevheniy +WebSite: https://meweb.arasaka.software +SourceCode: https://git.thepra.dev/Arasaka/MeWeb +IssueTracker: https://git.thepra.dev/Arasaka/MeWeb/issues +Changelog: https://git.thepra.dev/Arasaka/MeWeb/releases +AutoName: me-web? diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/en-US/description.txt b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/description.txt new file mode 100644 index 0000000..356e37a --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/description.txt @@ -0,0 +1 @@ +“me-web?” checks your connection and your device and tells you, in plain words, what you could host at home, what stands in the way, and what would fix it. Free software, no telemetry, no account. diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/en-US/name.txt b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/name.txt new file mode 100644 index 0000000..5c7963d --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/name.txt @@ -0,0 +1 @@ +me-web? diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/en-US/summary.txt b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/summary.txt new file mode 100644 index 0000000..4ca3264 --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/en-US/summary.txt @@ -0,0 +1 @@ +Can you run your own server from here? diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/it/description.txt b/packaging/fdroid/metadata/software.arasaka.meweb/it/description.txt new file mode 100644 index 0000000..ba38bd8 --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/it/description.txt @@ -0,0 +1 @@ +«me-web?» controlla la sua connessione e il suo dispositivo e le dice, in parole semplici, che cosa potrebbe ospitare a casa, che cosa lo impedisce e che cosa lo risolverebbe. Software libero, niente telemetria, nessun account. diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/it/name.txt b/packaging/fdroid/metadata/software.arasaka.meweb/it/name.txt new file mode 100644 index 0000000..5c7963d --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/it/name.txt @@ -0,0 +1 @@ +me-web? diff --git a/packaging/fdroid/metadata/software.arasaka.meweb/it/summary.txt b/packaging/fdroid/metadata/software.arasaka.meweb/it/summary.txt new file mode 100644 index 0000000..b1e8cd7 --- /dev/null +++ b/packaging/fdroid/metadata/software.arasaka.meweb/it/summary.txt @@ -0,0 +1 @@ +Può ospitare un server da qui? diff --git a/packaging/fdroid/requirements.txt b/packaging/fdroid/requirements.txt new file mode 100644 index 0000000..9a374bf --- /dev/null +++ b/packaging/fdroid/requirements.txt @@ -0,0 +1,1243 @@ +alembic==1.20.0 \ + --hash=sha256:77eb101048d95f982c0353e9233404889dcd7a6fc244c107836c0e2fc9cf7d9d \ + --hash=sha256:db505480647bc60386c5369402f4a57a506b7539c9e9ef5e270d45cbbe4939bf +androguard==4.1.4 \ + --hash=sha256:1e117ee4574366a2d7376b8c858433ad724b0a29e4036d9f1a9fda4372180267 \ + --hash=sha256:6265a6d4007401cf5a62a98fa99a1c2994644d4311da031a5398efe3bcaa63b0 +apache-libcloud==3.9.1 \ + --hash=sha256:362806efe3602a781afa0b0c8ad2e8963a708c8d5957fb999735c1cc1e0762d2 \ + --hash=sha256:b65eaa5ac32b28a0f9555e6a223dba39e73b99b682cd849624587ce7bc251661 +apkinspector==1.3.7 \ + --hash=sha256:ea5a62f9c6a3127a6191901fa0cc32e23b05caf2034d7062193bd4c0539c7888 \ + --hash=sha256:fa3242baa7ba8e0eecd20a2fcf427fcfd34f4043902542d12110c7297649c590 +argcomplete==3.7.2 \ + --hash=sha256:6029205678bdd9c1c728a155f5f9ecf5812393f969eef58807641a2bc2aa5b19 \ + --hash=sha256:aad8b69a0b9969edb62db0d1752354c0d50717b10e0cbb00e2a958381b9fc6b9 +args==0.1.0 \ + --hash=sha256:a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814 +asn1crypto==1.5.1 \ + --hash=sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c \ + --hash=sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67 +asttokens==3.0.2 \ + --hash=sha256:3ecdbd8f2cc195f53ccada3a613538bb5f9ef6f6869129f13e03c30a677b8fe2 \ + --hash=sha256:9da13157f5b28becde0bd374fc677dcd3c290614264eff096f167c469cd9f933 +bcrypt==5.0.0 \ + --hash=sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4 \ + --hash=sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a \ + --hash=sha256:0c8e093ea2532601a6f686edbc2c6b2ec24131ff5c52f7610dd64fa4553b5464 \ + --hash=sha256:0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4 \ + --hash=sha256:137c5156524328a24b9fac1cb5db0ba618bc97d11970b39184c1d87dc4bf1746 \ + --hash=sha256:200af71bc25f22006f4069060c88ed36f8aa4ff7f53e67ff04d2ab3f1e79a5b2 \ + --hash=sha256:212139484ab3207b1f0c00633d3be92fef3c5f0af17cad155679d03ff2ee1e41 \ + --hash=sha256:2b732e7d388fa22d48920baa267ba5d97cca38070b69c0e2d37087b381c681fd \ + --hash=sha256:35a77ec55b541e5e583eb3436ffbbf53b0ffa1fa16ca6782279daf95d146dcd9 \ + --hash=sha256:38cac74101777a6a7d3b3e3cfefa57089b5ada650dce2baf0cbdd9d65db22a9e \ + --hash=sha256:3abeb543874b2c0524ff40c57a4e14e5d3a66ff33fb423529c88f180fd756538 \ + --hash=sha256:3ca8a166b1140436e058298a34d88032ab62f15aae1c598580333dc21d27ef10 \ + --hash=sha256:3cf67a804fc66fc217e6914a5635000259fbbbb12e78a99488e4d5ba445a71eb \ + --hash=sha256:4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef \ + --hash=sha256:48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4 \ + --hash=sha256:4bfd2a34de661f34d0bda43c3e4e79df586e4716ef401fe31ea39d69d581ef23 \ + --hash=sha256:560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef \ + --hash=sha256:5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75 \ + --hash=sha256:5feebf85a9cefda32966d8171f5db7e3ba964b77fdfe31919622256f80f9cf42 \ + --hash=sha256:611f0a17aa4a25a69362dcc299fda5c8a3d4f160e2abb3831041feb77393a14a \ + --hash=sha256:61afc381250c3182d9078551e3ac3a41da14154fbff647ddf52a769f588c4172 \ + --hash=sha256:64d7ce196203e468c457c37ec22390f1a61c85c6f0b8160fd752940ccfb3a683 \ + --hash=sha256:64ee8434b0da054d830fa8e89e1c8bf30061d539044a39524ff7dec90481e5c2 \ + --hash=sha256:6b8f520b61e8781efee73cba14e3e8c9556ccfb375623f4f97429544734545b4 \ + --hash=sha256:741449132f64b3524e95cd30e5cd3343006ce146088f074f31ab26b94e6c75ba \ + --hash=sha256:744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da \ + --hash=sha256:79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493 \ + --hash=sha256:7aeef54b60ceddb6f30ee3db090351ecf0d40ec6e2abf41430997407a46d2254 \ + --hash=sha256:7edda91d5ab52b15636d9c30da87d2cc84f426c72b9dba7a9b4fe142ba11f534 \ + --hash=sha256:7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f \ + --hash=sha256:7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c \ + --hash=sha256:801cad5ccb6b87d1b430f183269b94c24f248dddbbc5c1f78b6ed231743e001c \ + --hash=sha256:83e787d7a84dbbfba6f250dd7a5efd689e935f03dd83b0f919d39349e1f23f83 \ + --hash=sha256:89042e61b5e808b67daf24a434d89bab164d4de1746b37a8d173b6b14f3db9ff \ + --hash=sha256:92864f54fb48b4c718fc92a32825d0e42265a627f956bc0361fe869f1adc3e7d \ + --hash=sha256:9d52ed507c2488eddd6a95bccee4e808d3234fa78dd370e24bac65a21212b861 \ + --hash=sha256:9fffdb387abe6aa775af36ef16f55e318dcda4194ddbf82007a6f21da29de8f5 \ + --hash=sha256:a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9 \ + --hash=sha256:a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b \ + --hash=sha256:a71f70ee269671460b37a449f5ff26982a6f2ba493b3eabdd687b4bf35f875ac \ + --hash=sha256:b17366316c654e1ad0306a6858e189fc835eca39f7eb2cafd6aaca8ce0c40a2e \ + --hash=sha256:baade0a5657654c2984468efb7d6c110db87ea63ef5a4b54732e7e337253e44f \ + --hash=sha256:c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb \ + --hash=sha256:c58b56cdfb03202b3bcc9fd8daee8e8e9b6d7e3163aa97c631dfcfcc24d36c86 \ + --hash=sha256:cde08734f12c6a4e28dc6755cd11d3bdfea608d93d958fffbe95a7026ebe4980 \ + --hash=sha256:d79e5c65dcc9af213594d6f7f1fa2c98ad3fc10431e7aa53c176b441943efbdd \ + --hash=sha256:d8d65b564ec849643d9f7ea05c6d9f0cd7ca23bdd4ac0c2dbef1104ab504543d \ + --hash=sha256:db99dca3b1fdc3db87d7c57eac0c82281242d1eabf19dcb8a6b10eb29a2e72d1 \ + --hash=sha256:dcd58e2b3a908b5ecc9b9df2f0085592506ac2d5110786018ee5e160f28e0911 \ + --hash=sha256:dd19cf5184a90c873009244586396a6a884d591a5323f0e8a5922560718d4993 \ + --hash=sha256:ddb4e1500f6efdd402218ffe34d040a1196c072e07929b9820f363a1fd1f4191 \ + --hash=sha256:e3cf5b2560c7b5a142286f69bde914494b6d8f901aaa71e453078388a50881c4 \ + --hash=sha256:ed2e1365e31fc73f1825fa830f1c8f8917ca1b3ca6185773b349c20fd606cec2 \ + --hash=sha256:edfcdcedd0d0f05850c52ba3127b1fce70b9f89e0fe5ff16517df7e81fa3cbb8 \ + --hash=sha256:f0ce778135f60799d89c9693b9b398819d15f1921ba15fe719acb3178215a7db \ + --hash=sha256:f2347d3534e76bf50bca5500989d6c1d05ed64b440408057a37673282c654927 \ + --hash=sha256:f3c08197f3039bec79cee59a606d62b96b16669cff3949f21e74796b6e3cd2be \ + --hash=sha256:f632fd56fc4e61564f78b46a2269153122db34988e78b6be8b32d28507b7eaeb \ + --hash=sha256:f6984a24db30548fd39a44360532898c33528b74aedf81c26cf29c51ee47057e \ + --hash=sha256:f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf \ + --hash=sha256:f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd \ + --hash=sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822 \ + --hash=sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b +certifi==2026.7.22 \ + --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 \ + --hash=sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55 +cffi==2.1.1 \ + --hash=sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e \ + --hash=sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66 \ + --hash=sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2 \ + --hash=sha256:154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0 \ + --hash=sha256:194cffa889098ced9976c3fc6340305e43f6303657d298da55366907c05c22d6 \ + --hash=sha256:19ee6127ee34de7d83ce3d371ebc5ed91addbdcc39f9ab15ce4eb35a4e534971 \ + --hash=sha256:1a18a57b58cfb21fc28d72e876acf10eaed67a1ed96226f92af4df681d571c4c \ + --hash=sha256:1aa5645c30469b09530c4ebca77ebf8f17618293c58f8549cb1a543a50236e7d \ + --hash=sha256:1dea0e4d7d4f11f619fe8c1d76caf49e24405b4b5743c0e3be16a500ecd930c9 \ + --hash=sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517 \ + --hash=sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735 \ + --hash=sha256:246fa40ce8645a614ff682e0b70f37134e460eaf93a775e0cbe3cca585a67a80 \ + --hash=sha256:25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f \ + --hash=sha256:27350daa11d4f10c540e6e89dada4c54feb7256ad03e9a4dc075ebad7ba360d1 \ + --hash=sha256:28907ab9bfb6aa13184cfc17c6b8e1023c5ab6fd7076d8c20a35e59fe04f8f29 \ + --hash=sha256:2ae64be792b8966f2c69538199728b290e34726562896df1e5dc8ffd8d8188e8 \ + --hash=sha256:31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c \ + --hash=sha256:3143d81e29e1e20a9ce10901ec369012947876596f75a222235965f2b7ae832e \ + --hash=sha256:3222ba5d678f80a030e6afbcc33dc1ae5cb45facabb61cee2c7016b8432fde48 \ + --hash=sha256:3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813 \ + --hash=sha256:334644fbac4eff73d985a17a91226df55d0f394160c4cfb880e084c8f7161cac \ + --hash=sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632 \ + --hash=sha256:363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6 \ + --hash=sha256:398aff33cee2767e3e781d2554c54bd0dff386bb437581e0d8011fde1a942ec1 \ + --hash=sha256:3d22a20b1fb1632cc72c22f95f7b0d2961c3e1c235f245ba4c606c4771035659 \ + --hash=sha256:42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688 \ + --hash=sha256:42e2f76b9455f5a9a844f770bf3e200ed3da0e15f5df3db9c31fe80b04b3d004 \ + --hash=sha256:42f6930c31dc7f50732c9ae793c2786c7b6b044195967bbdde40bb9be81c4cc0 \ + --hash=sha256:456a61fa52d579ebf9df2e9552ead5129855dbaff6c1e5a9b1bc408809bdc062 \ + --hash=sha256:471cee653ae88de62096552e6d24ccb4a5adb8c8c9f10b5054d0122c15bf2779 \ + --hash=sha256:49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94 \ + --hash=sha256:4a7c934f7360e8cd64fe9efadcbd10c7c6364f531e432b9a4bf5ccbc9e0e8b50 \ + --hash=sha256:4be96343e422f2dfcd12ab5c9f5aebe03f82f737c6bffeca6830b3875cb44aab \ + --hash=sha256:4f42141fc14250de6dde5ee7ea4432be017252d91f19c5ad043c084cea629cac \ + --hash=sha256:507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6 \ + --hash=sha256:51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676 \ + --hash=sha256:58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1 \ + --hash=sha256:5a59cc1c4442bc3d5c703bf720b51138d0bfc173618807c9ee2490a7541dd3d9 \ + --hash=sha256:5bb4e7ea95dcd6a014a6fef62e62467d67d8e582326443f3d68e71d6320a9fcf \ + --hash=sha256:5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13 \ + --hash=sha256:5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e \ + --hash=sha256:616f097f2fe415bc92a247f02e11f634e1f9e9a83d327e3c915c15089c87869e \ + --hash=sha256:63bbfd5ded17c4840ac07cd8f1c21ba9d9708141f840b324f422f41b207e3973 \ + --hash=sha256:64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527 \ + --hash=sha256:661c298b4821edebead0c91edd2b00374d67ad7c5a1f7a91d4442633b79d6a72 \ + --hash=sha256:68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890 \ + --hash=sha256:6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c \ + --hash=sha256:6e192623c49c94421616a5778fba35cf0d5a8d000650c1967ef4448ee5cdd990 \ + --hash=sha256:7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd \ + --hash=sha256:75f80557d1389eddbd0de2681f6a390a0c5338c31ddaa821381c203fc3fd50d9 \ + --hash=sha256:770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94 \ + --hash=sha256:7750c6449dff7864bb9bb27ddfb0267756189201a3afc911d82b3caacd70dfc3 \ + --hash=sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80 \ + --hash=sha256:7ce713ace7c0e4520535b42b77eaa742c16dab813978064913e5a3cf82973b41 \ + --hash=sha256:7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5 \ + --hash=sha256:7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c \ + --hash=sha256:811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a \ + --hash=sha256:8ef53b2de9bcb9197d31854256575d59dbac0cba72ac627bb291ef5eceb74be4 \ + --hash=sha256:937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e \ + --hash=sha256:9d2055050ea716bd38b7f7f1579c275386646b4894c155a3e2f3cd62ed41b7c6 \ + --hash=sha256:9f8d177621de5cb38ee3e731eda45d421db093ec0739f46a5594babda7987a98 \ + --hash=sha256:a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b \ + --hash=sha256:a48d62ab9d6f4f98c983223a547af44be6ca3691074c31cecced6facd3ba2dc1 \ + --hash=sha256:a4f00aa42f75d6e4595e8866e748cc1705adc0cddfeb2ca86d0d03993d63ba03 \ + --hash=sha256:a6e721d4b0e45d5b65e87534470e67b18dcd092c83f68fba09f152b9cbc061af \ + --hash=sha256:a730a083190634c65cca36ba5f489531576ebd79bcd5c8e172130f6453127231 \ + --hash=sha256:a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2 \ + --hash=sha256:aa9511c62d14da7aacc9b4bf51f3f697a621e83b2d6919008243c3aad168eea3 \ + --hash=sha256:ab36d55f9ed2d067327667c2fea18dda018eb628dd6347aa01dda6cf1f5d3836 \ + --hash=sha256:ad2c86c495b899d862ea0f4b42891b8713a3bd45dd4105c7fd51c2a72f39f3a5 \ + --hash=sha256:aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399 \ + --hash=sha256:b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96 \ + --hash=sha256:b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e \ + --hash=sha256:baed1e86cc735622097354b9d1281406caf42ff42a886d29faa8e8d1630333be \ + --hash=sha256:c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf \ + --hash=sha256:c26608d2222fb1e94487e4a387d85f13eb55d5ed725cb25a0c589ac4ee60e7bc \ + --hash=sha256:c7659f22557c5a0bc4855cd635f55edec690cc008a40768527762cb9fb263455 \ + --hash=sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb449d0 \ + --hash=sha256:c8d2c9fd1f2d16f780d15127abb050d13d1a76c03a4bd87d7e4980e45e511e12 \ + --hash=sha256:ca82be1a1d406ecfe1d25dc16cb33488e5a16bf4438c9fb590484ea29d92478b \ + --hash=sha256:cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7 \ + --hash=sha256:d18e5ac0f2f03f4f518d3e23db0f0cad7faa1da8620e9c09461d443bbf6e6692 \ + --hash=sha256:d28630f5854ab07ab1fd4aba756de52326c82e6be15d414b12793f1975048b54 \ + --hash=sha256:d9c275eaacd24aa73f94ffd6de08fc3f932424d8b6c376f4bed7cde376fe7bc3 \ + --hash=sha256:da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b \ + --hash=sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be \ + --hash=sha256:dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d \ + --hash=sha256:df423d40ee8654634421812bc3b196da3f9bd7d32929da813f8394c4348a5358 \ + --hash=sha256:df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a \ + --hash=sha256:e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7 \ + --hash=sha256:e2d65b31f36619cda3999b78b2aa9632e76b78448e7a56fc4240824200e7c4fc \ + --hash=sha256:e6e8cff14d6fb0be70a09c0bdc58096f501952d04624ebf867e0e56da2df8960 \ + --hash=sha256:f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125 \ + --hash=sha256:f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb \ + --hash=sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a \ + --hash=sha256:f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa \ + --hash=sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442fcf \ + --hash=sha256:f8ec5e643a9a937f64e1999eb9f75d072263751912dc5cd06d3c85f8f44be7c3 \ + --hash=sha256:fb92203a88b3d3053034db775110081c49d28be6551923805e039924093761e4 \ + --hash=sha256:fcd22650c908d7b7da162bbfaab594a1227a15d1643a98c68b122ac642fa2264 +charset-normalizer==3.5.2 \ + --hash=sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e \ + --hash=sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf \ + --hash=sha256:04851f73ae72b8413dddadb16a49dfee95263553741fd42d546f7d66907e6be5 \ + --hash=sha256:0521c5665880b33d603717defa76c094048900010897909952397feb3039da56 \ + --hash=sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26 \ + --hash=sha256:0891b9d3903c5571c03771ca669a4b0ec5618ca722a5c957d3d29cd4e5062848 \ + --hash=sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718 \ + --hash=sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93 \ + --hash=sha256:114e4d0c92d618409ed82a99e22b5c5e768fe995f2973f78265f4524f49d4640 \ + --hash=sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3 \ + --hash=sha256:11a4d68a6ecda3292cb1e50239e111543ba5d709bb62a6b4ea1afcfa729d8875 \ + --hash=sha256:124fbf1a8ff966d87ae05bb8bd45a71f966055ed8bba320d0c7cf450bc5f4d0e \ + --hash=sha256:1461ac396c4fdb983a675f20aa555624f0ee18ac83d832b9244ffff3d8055275 \ + --hash=sha256:1503bccbeb36d5527790c3930327704c39af22de3112f1b1666a9f3ce15ee204 \ + --hash=sha256:15bb4005af6320d259dc7593ca84a38d7fe06a421dbcf7b910ae23979101e787 \ + --hash=sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234 \ + --hash=sha256:16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4422ae9c0dd45e0f99d3 \ + --hash=sha256:183b88127acdb4fabe59d951ab424faf1af7b63cdbb5f776186c1ea2ffcaed98 \ + --hash=sha256:195c26fb65950f8fce54e26349852b7bdd7c5f120aeefbcc440b8a20faaed4a3 \ + --hash=sha256:1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e95708a7a91b20a3b51d187 \ + --hash=sha256:1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1696da8631b5f71b85401d \ + --hash=sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f \ + --hash=sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7 \ + --hash=sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011 \ + --hash=sha256:211d5a3eb6af8f513b8d4ca19a8c1b7accab1b5f0d3175f9826b03c1a920dc1f \ + --hash=sha256:23851fb4e1b85ed3f6c2a27b777cdfe2e19fb5b38429a8faf38c7542b7665869 \ + --hash=sha256:254eb48b9fa5ee9898a3c445825a1f340fe53712a098904b39b0bddba8ea3cb1 \ + --hash=sha256:2625388c6c754520c37abaf3b41eb34d1cc4a373f457898f08606c8e362b891d \ + --hash=sha256:281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc193847 \ + --hash=sha256:28a15fdad492a99b6eccfaaed66ef3f74050680545ea61ec8b2f4c538f1f1320 \ + --hash=sha256:28b4f0d66fb834ff90f28209ac7bce77868c45d8c93e26f906709d9b7c2e1af9 \ + --hash=sha256:2a925889534b3748302dae5dead07cc13480de1dac3aea80a941b729b471ef93 \ + --hash=sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd \ + --hash=sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00 \ + --hash=sha256:2cc961b171b3f3440f410489ab3573e86aea8736134ebbb40ea1338b7f0831bc \ + --hash=sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0 \ + --hash=sha256:2e06a3a98f916dd41d27f3105e02e7a40181c98c94b9158733d03a6f80506c09 \ + --hash=sha256:304d5463e65a35d7bb0850550e0780395395f6fcf452f04db7d5ca7cecc425ac \ + --hash=sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621 \ + --hash=sha256:30fcd120b732aa79317f08dee04d7de0847822e4cf7ee0e9f445bb958832252c \ + --hash=sha256:31f3930700408d211f13378ccbe1c40845d8da54bd0681fac3a9b5aae81c7aa8 \ + --hash=sha256:34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a \ + --hash=sha256:355ad8011081dec5412240c087a9a0c9d4d5039f3ed11a3f13e18c2b29b56c51 \ + --hash=sha256:38a873987f3be698494da8b2e3085e29da02da7b633dce73e79c699a113d7bf0 \ + --hash=sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef \ + --hash=sha256:3d14b50de6bf4d0edf857a9386836846f982b8f524e188e2e68b96d702bcf4aa \ + --hash=sha256:3d21b8b13c7592db2ac5e544a6d83187b995257472b0c9e8351b6d507ae37ed6 \ + --hash=sha256:3d31298449090ab8d47b7b1b2a555ff73cac7ed438a08b7ac160980c7ebed649 \ + --hash=sha256:3ddacd27458c45bdacd6bd6db644bfb730efbf9e830310186e3045c9c5be8fb2 \ + --hash=sha256:3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229 \ + --hash=sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e \ + --hash=sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd \ + --hash=sha256:443eae2bf318abeaf6f15d785138f71fd6de770e99a92158b8b814265e079115 \ + --hash=sha256:447441e76ec720b15e64418d32e092297340387053047c7c694f579efb0ee1d9 \ + --hash=sha256:4495c5002a7b28557e7e222e77e0b661183e432b7d6d2e788101e3f240e05b8c \ + --hash=sha256:44bd4fbb29dfbeba60e7d2bd000c59e4b21ddb3cc53912b14048d37092706d7c \ + --hash=sha256:4685902cf26edf013ed7a3da0f426ebba7a00ebb9541386d835afbf002c11cab \ + --hash=sha256:498dc3188ca05a68231ac3fdbfc7f57eb67e1343c30e0fea17f8218c1599b253 \ + --hash=sha256:4c2b5031f63e331e3839b40aed2dd6f191e9c07edbde303e7876846ea1946995 \ + --hash=sha256:4d48f2d08b9de5864e2c8744d4461b862fb149a18274abc8b698c45975573438 \ + --hash=sha256:4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c92f0 \ + --hash=sha256:50e3adfb96fc189eb27b1cf62d3b598b89b4bb0420d93a3d3e42e137409011be \ + --hash=sha256:51cf45226a9b588d0d2b4880c62d686934b63ab0bd79ca23ab0e9762eb27441b \ + --hash=sha256:52aa6992700996af31f375de0c6bacd402b0097fe40b53c426b9f51a90ebabc7 \ + --hash=sha256:55ea99acb17b9325618de155a0cd6a2e8f5d10be008113e1d433bbb58db543b2 \ + --hash=sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a \ + --hash=sha256:588461c2e8384d309bd63e5826019b6977bc66d629b99ac8737bb795d7b2cb5a \ + --hash=sha256:58ca3755ee7ff7f59b57789ec9833c9de9ea275405cdd240eda1f193112e398a \ + --hash=sha256:58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a5d08de9fde5f425a730c \ + --hash=sha256:598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1cea38c5 \ + --hash=sha256:59f63901b0031c3136cf64704dcb21de0bbae62ce2c9529bc39d27665463de37 \ + --hash=sha256:5cde776b7cc66e4f6c99612cea4aa7269aa65863f7a15841b2c264f103822f4e \ + --hash=sha256:5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe94180272cf6ed9a78c4 \ + --hash=sha256:5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a292800 \ + --hash=sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055 \ + --hash=sha256:619799369eeef6366ed3e8755a5670f4f2f0fb6b30a0fd7264dc0fdc2357058e \ + --hash=sha256:62588a277bfb59def052abd940703fa35107152bf479781a878617d60faf8fb5 \ + --hash=sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c \ + --hash=sha256:65cd72beeeca9d3aaea1201e5923859f308f952f9c71de93f06063c79f0f7a3b \ + --hash=sha256:68eb192d85ab8e5f6ec69c2bc6ac0179fbf04a5ac1569d12fbef74883fe102d0 \ + --hash=sha256:6bd128f206a7752ae1f2ab6c61bf8a24ba28913a10df8b14c2637b973ff97a80 \ + --hash=sha256:6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fca33ead1a \ + --hash=sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4 \ + --hash=sha256:7441d755b7ab94f8d4eb3e43ec05482d760842fd263d003a99102d742cd835e2 \ + --hash=sha256:749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56c8d8ffe58 \ + --hash=sha256:75a3ceed0724d625d64b86ca20aba182e4df462e04c2414fc941c0f523f06aac \ + --hash=sha256:780fbe7cab297b81dad9fb8dc5eb003c0468ffb0d9e5f65068c53a34661a96bc \ + --hash=sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639 \ + --hash=sha256:7967d08cf06dee78443b874f98c98036f624f3a4e73e11f9f64f5be4d25393cf \ + --hash=sha256:7a881931aa470808df94a8c380eed2bbbc76cd9dc622310f99665658c821eb6d \ + --hash=sha256:7dcd882da75ef9adf94903b1e3b9419e8aa8fb4c7396822b834b9ef7fb96954f \ + --hash=sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c \ + --hash=sha256:7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc930f51d8bc \ + --hash=sha256:8024d00c3faf3fc0c16e07a69f4405e8eac7cc0ab15f65fe6cf43827c4cf72b4 \ + --hash=sha256:80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc0476ea11253 \ + --hash=sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade \ + --hash=sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858 \ + --hash=sha256:87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26 \ + --hash=sha256:87e50a3e7cb90af586b6c5faf23e302a970415ac73bd7bd90a515a04b427ef96 \ + --hash=sha256:89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8 \ + --hash=sha256:8a893cc101149f80a653f82062ebc95b34525a2614382e1da5458fe7c6997249 \ + --hash=sha256:8b2bfab86aa71ae13aa41a6a26aab338e0db2b8bc75434b05aea89e011ff35a4 \ + --hash=sha256:8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13 \ + --hash=sha256:915563965d418f986e7e145accc592eae9e1a1be3566ff98a05d7a9ec42a76e1 \ + --hash=sha256:92888bb3187c5ba50500b00b3b310c9f2c651709d28036077680cb5255450a03 \ + --hash=sha256:93223adc95033dd47133a46ccfc316a0139176fd79085762e27202ec56018f03 \ + --hash=sha256:9373ad13ef0d2c0fb761e04e55bfdee5a08b52cef2c882c8fbe9935b1517152e \ + --hash=sha256:9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364 \ + --hash=sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4 \ + --hash=sha256:9bde855991b7e362c146535e3136a50bfaffc0487d38b33ca7e5edefc6e23849 \ + --hash=sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0 \ + --hash=sha256:9cf9b1a857e25c4baceeb3624e92a56df3668f398c4acba74e174d81fb4d1d3a \ + --hash=sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036 \ + --hash=sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3 \ + --hash=sha256:a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadbbec5bbf21 \ + --hash=sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3 \ + --hash=sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e \ + --hash=sha256:a815775b6c38d4e0ff7bcffbeba67feded90202bb6a226b8dd35f1c855217413 \ + --hash=sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21 \ + --hash=sha256:ae4f5fea5b8b8ccff88238cc8569303e5ee95efae67fa62922a311397a71f346 \ + --hash=sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429 \ + --hash=sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685 \ + --hash=sha256:b736353c0a625bbd5fcec108576e2385db3496f4f771f785ff32e108d3c3bc45 \ + --hash=sha256:b7fd005a73d9e657273b7a10dc71a9e03c8fb9ee6999798d6918ce095b81ac7f \ + --hash=sha256:b91363207bd9dc966a691e959bb47f64b30f7ac4b072be9968b366982f7db77c \ + --hash=sha256:ba0b1d2620edf869789c3879223f52bf2afc5d31b3cb47cc57b3a12c05e2aa9d \ + --hash=sha256:bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8eedddb639d9e108ad \ + --hash=sha256:bd16aabe4a02a297c23417aa17ac6299dbd8c49f673bcd645b4929b11f5a4400 \ + --hash=sha256:c0afc6800ba57ccc350374c5bd6150419915d95ce93cdbab2d783d75eaf30ecb \ + --hash=sha256:c6708715abcf3c73b99508253e961a9967f02fe536532834149574eda6de0d1c \ + --hash=sha256:c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0784fde742bf2c154dc \ + --hash=sha256:c8f3d67aeaf55f017982b73683f0e7342ba2f6635a78f69ce89ebb26aa411e5c \ + --hash=sha256:c9790464842f85f437dbbb54417eda1e0e6bfc52dd8d22d6fd1c994b73b2dc74 \ + --hash=sha256:ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab9de7840e3c017cf6b8cf \ + --hash=sha256:d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac48e19154c17e89e98b604 \ + --hash=sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f \ + --hash=sha256:d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed262b1d9105 \ + --hash=sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a \ + --hash=sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d \ + --hash=sha256:d4a7319f304a774bed22115bc891618e45f85065ab44ea6acd07d274e750519a \ + --hash=sha256:d6734d2ef8a50fbf8445c139477da401f50d62a0606bf00e20ec6d87773fefb1 \ + --hash=sha256:d760fe2a4d7c3b226cb9026d6a842868d52a7901bd98420e1baf14e80da85cf5 \ + --hash=sha256:d913de495d90407cd859d263bee2e5d1a4ed3eb6573c04e70d9ec619a7cbed7f \ + --hash=sha256:db19d07e2e0129e974a0e65d0064fc222a446cd5122c2fd4184d2af9fc734a9e \ + --hash=sha256:dca9ab98072a5a54ebacebdc45f53e645336b320c667410b061be1ca588ae709 \ + --hash=sha256:ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1ae9dd232b2c38b655874 \ + --hash=sha256:ddf19c062bea7a0cc80f519243d2c01dd091be0cf952a0750d4ad576709559f5 \ + --hash=sha256:def79fa35ef0cef8d2accec024f4fdc7ead3012ff02f5215c783f39f03ef8cfc \ + --hash=sha256:df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b21a46d63bdf7445da95 \ + --hash=sha256:e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031ce069b93b5adf4eac8cd \ + --hash=sha256:e242bb1c5e76e97dfa9e7f209a71e93a01d7f19ffdd5cfbb2e2d55b4f08f8ab0 \ + --hash=sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d \ + --hash=sha256:e2af3aad578aa6bd1384bcf4750fc285e5a9de53f40b7d41e5a0bf748edeb2b3 \ + --hash=sha256:e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c \ + --hash=sha256:e54da4baf05720032d527874d40b65fa4d7e5c6c6a43d0c3adbeffcaf275a2b3 \ + --hash=sha256:e80e6c2f55656b4824d72065abb4ddd6a525c74bd78a0aab5d9fc2cf4fb5af50 \ + --hash=sha256:ed2a239c0ea213acc1908150a3037257083c7c083128f1a4cec2ec4b97dca491 \ + --hash=sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5 \ + --hash=sha256:ee21e28f0430bd6dc9086c6e525d5e818a44a5ad19720c8a0ef766792f3eb5e5 \ + --hash=sha256:ee43c17b173d46a3212baa6ead3ae258eeabdae48c263a01ccf0218c366dd655 \ + --hash=sha256:ef4fcbf3327382cd4c9f540babd61248208af7b93eec4de397b4d5f58a09e288 \ + --hash=sha256:eff0ac9dbe711a4aee69bf04a83896aa9b85f19641264053a9f6d48573abb7dd \ + --hash=sha256:f0aa869112ef88429ae17820d99c3dd9504c9e9c671d3c246f3d7442cb051084 \ + --hash=sha256:f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1cee0a064b9c424ca0f7d \ + --hash=sha256:f5833ad231be5eb6553de524a70f48d71b2c8563101750531e0b80184e175cd4 \ + --hash=sha256:f5ec61164adcec446f8969a3358ec3f9b26bbda3b9213e5586d219afa8df2915 \ + --hash=sha256:f7d486c83842422badd511868fd8a9a20e9407ace71564b6af47ce7e60a336c1 \ + --hash=sha256:fb9e68df06293761f9fe66ade60a9bc6d0f5e42b8acf2939a9158af86ab0e5bd \ + --hash=sha256:fc14a032f813bf5fe624d991960ea83e9715adc27e4c1830a2361eb1d02ac341 \ + --hash=sha256:fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424 \ + --hash=sha256:fd1fbe0f116b6e55da77aca2c6ddcddcfac2186cbf78bdebf40fc156efca389d \ + --hash=sha256:fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f +click==8.5.0 \ + --hash=sha256:255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360 \ + --hash=sha256:ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34 +clint==0.5.1 \ + --hash=sha256:05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 +cryptography==50.0.2 \ + --hash=sha256:0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c211438f48a16bd23602 \ + --hash=sha256:0ec5f09541743261e66e291b4a0cbf0fb2997aeaab6d9e9c740b9dba1b58d1c2 \ + --hash=sha256:0ecbc5652bdb6fc9eaf89a7d196e20941adfe812f43bc4ca05d9150496821047 \ + --hash=sha256:1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57b774793b6093c \ + --hash=sha256:1ba34f04897fcdaa73f74145c25f3ec146fbd56593853e88adc2e811303c5f42 \ + --hash=sha256:241449bf940a5d27309bd317e6f9a2af6932113818bb2b8f5c59ddc7ef16da18 \ + --hash=sha256:25784ce8b9621c90c643efb9e1e2162ab3b0224cae446ad5e70e7fcb1ce18b51 \ + --hash=sha256:3dc4fd8058cea1644971207d530e1a03a184a805ffc8ebdddf0599d78a331b81 \ + --hash=sha256:4061c0079120205fb760c58acab6443e217307dcf05e3702cf970e0689972856 \ + --hash=sha256:4a20ce1e5cb4284a86692fdcba7cb8754185c6b2e5c56fcef3751cf451d3cdc2 \ + --hash=sha256:4e81d95e5bafc2d6e34e4bed780e53e4d5b9a2f928573428aa4d35fbec1eb0de \ + --hash=sha256:58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cda4f5564639b33112ffe7 \ + --hash=sha256:58ddb5a8e3179d12f19e4ea34d2d32e9d63a4baa142c875c1eb59f41b7243acd \ + --hash=sha256:630ebfea3bf689d075f82316324ff7433dc447fe6bc1bfc76524b74b4a9567d2 \ + --hash=sha256:6f8700550aa1474a91e5dc07049c46f98b423b5b1ddd0483e0b51362eeeaf5be \ + --hash=sha256:78198641e5be9521beea5aa782bb551a58068d10e6eb04c9c680c1b69f2e7d45 \ + --hash=sha256:79def8d059362e7831389ed3be0ecdf58a89386e1271e35dd9f5af84e81bffd0 \ + --hash=sha256:7a8701d6b584d76e909e3d305b7d126b41439876a5aaf76cddc67fc230eafa2e \ + --hash=sha256:7afa5a6602a9f29af1f3a2965f831bae7c9d5d597b7cbb716d41ab3b7d89879c \ + --hash=sha256:7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5 \ + --hash=sha256:7b75de3c8b3be1cdb1052747c929440c3eea46c1bc2cb8a6e3a48388e9b7b452 \ + --hash=sha256:7c6d0330c472d96f6a6afe24d80dfdf15176c33096f0a4397ae4c60f3dd3be48 \ + --hash=sha256:828d49b0ff5a0e3975865571c5d91dbbdd0d38d8289b249a163e9425413a5e05 \ + --hash=sha256:84f964e537f916e2cc85199e5a88742e964939b575ac8598b3f9d6cc416cdaf1 \ + --hash=sha256:85d0d9a31b9098e98534226d5686b47264b95e62ce459dc2e62fdfc809f9fe93 \ + --hash=sha256:87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a49297eb662bfb04 \ + --hash=sha256:8c71ba2cd31fc93748c38e1b613200ff1c2665cbfd5341fe3a61cfde35a1430e \ + --hash=sha256:92e665960f25fcdc73725b9cec7a3824f279ba97a98653afe9ffac2e43668f67 \ + --hash=sha256:94e5e9f108ee10471288214d3d233fbfbb492840a8457eb85178d643ddeb32c7 \ + --hash=sha256:9c8402a82ea0dc4ceeab793db05f0fafa8ca139ca34fcde5df0f596103c74107 \ + --hash=sha256:9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920b1fc4837ed5079 \ + --hash=sha256:a582ab2ae1d34f67112cadc86702774c9ea4374df6bca6afe672817203c99134 \ + --hash=sha256:a6557e5f38e065ca9fbdaf7cfc7435ecb1d113aa81a022d1b51921ee7432e227 \ + --hash=sha256:a9f7355e6fab51f6c369b86fb7571cffa05edee2c2121e0380a37fb9ac1cd5c1 \ + --hash=sha256:ab50ee449bf968271e820086f10a33d101dd060370abc10bcd22279be2656539 \ + --hash=sha256:ac9ed99d81760c62fe89d5f0815cdfa1ba9a35141cf30f1c2d044f04b4803d2e \ + --hash=sha256:b13478603dcd0a2479ff8e87e2c19a7d525734686fe3c49542472293a204212d \ + --hash=sha256:c423ab384a46c4dff7217b2ea5ba2e11cffdeab6441acd04cf65a369caf0366c \ + --hash=sha256:c5e67125c7dca78d199ec4e116aa93dbb83494808ecbb8211a2cb09b1bf41dbd \ + --hash=sha256:c71be1cbfa5cd9a41ee452acf1eccd82b2c05950358b106ec8ceb83411d1a020 \ + --hash=sha256:cbc8738fd8526d80f35cb3a40d41f41a2e7030bb3b18b09a6778ef63d291c2fd \ + --hash=sha256:ce47f66801c20ec6c6632453bb5960fe38939e9306970b48b3a5a26de7745d94 \ + --hash=sha256:d370b8d1dfcdf7130178137f6fbee6140774a1acc6cacefc4b42643ec11d0a3a \ + --hash=sha256:d38cdff612d06fa6a32840d5e1b1f7a27cee4a349aa9085d94a67789d6bfd408 \ + --hash=sha256:d8947001be83df1394050758ce0e745dd74fb134eef0a4b5124208dfc3a68c37 \ + --hash=sha256:deb9fde5c60e437ee4821bc9bc39ff31b42135c27e1dc61ef0a629389c1de62e \ + --hash=sha256:dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d144d1e0911c2e454 \ + --hash=sha256:e105ab60406787da31fccc883fc0f733af1efd78f0136a4599692c4083a73d0c \ + --hash=sha256:e275096ea1e60cc595cda2836fd4a6c725d1125108b868be17f53684d164e2cc \ + --hash=sha256:edc3342adf8f697fc5f59c887a304356f147b397809440ed64e2fa6af2f50f37 \ + --hash=sha256:ee247f5c245c9a2fe7c8e2214e295918838e44e00a45a6718451e4004219e767 \ + --hash=sha256:eef4c2f3423810b3070ab391f85436d2f8bbfcb286ac15cbc73190b3563b1f1a \ + --hash=sha256:f21e8a22c8605750c7af886bab299a363721264061b4ac0a30efb73cfd58efc5 \ + --hash=sha256:f265528741e048bce55c3463ed721fb0aa45a5888d8add8cfeccb3035451bbdc \ + --hash=sha256:f2f9bd7f90c64fe89253f0a2c05e3c4856072660429ce8831b4235bf29403a67 \ + --hash=sha256:f785f6161f202ab04d8ca194158968798e480ca058943907972da5f12e2881e8 \ + --hash=sha256:f9f6143a8c75945eb960d9eb98905a441394abfa24afaae239d514ffb2586480 \ + --hash=sha256:fa8f5efb344d6908a1ce62f4a24e2e5780f825d6f53f5f50ec5ffacac72936cb \ + --hash=sha256:fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b +dataset==2.0.0 \ + --hash=sha256:0e13d309dfbaafb3e67b991605ce6767867262908864455505c415442c0bba45 \ + --hash=sha256:c08354c068002c2beb7811b37b8abf434e1fc333898f8cfc2be32df3f14099b3 +defusedxml==0.7.1 \ + --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ + --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 +executing==2.3.0 \ + --hash=sha256:15919cb5d667e5cb4e099511971d00d659573fff2dd5c4e6cd8b71636c7858d2 \ + --hash=sha256:736e859c9f8701f11fcf516856f26f562e04776387824b43a35a1dfe21c84122 +fdroidserver==2.4.5 \ + --hash=sha256:f9b52646264c732678e32e37e23a995db20cc61d45622dda5830ce23255547f4 +gitdb==4.0.12 \ + --hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \ + --hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf +gitpython==3.2.1 \ + --hash=sha256:0f1229ec5c057bdabdeeda8bda4f17bda679ab33dbccc00f24e6a480553c8613 \ + --hash=sha256:d66b0832aa8755c1a84892937282df0befb16c97e5a64aeebd68be9c5e323f53 +idna==3.20 \ + --hash=sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44 \ + --hash=sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c +invoke==3.0.3 \ + --hash=sha256:437b6a622223824380bfb4e64f612711a6b648c795f565efc8625af66fb57f0c \ + --hash=sha256:f11327165e5cbb89b2ad1d88d3292b5113332c43b8553b494da435d6ec6f5053 +ipython==9.17.1 \ + --hash=sha256:6d1645743cfd1a07eb695d85aa2b5fa66721f8cbae9431d4049f7084bbf06509 \ + --hash=sha256:8919be8c27f20a6f4423145028063f6637b42a03ce57665bb12015ee1f073529 +ipython-pygments-lexers==1.1.1 \ + --hash=sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81 \ + --hash=sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c +jedi==0.20.1 \ + --hash=sha256:0fb16d86c4a4c73c37ba518c77419975e30fcc620658a8d14fbb5720cdd34142 \ + --hash=sha256:2f71208c3f9c1bca057c0e90d3f272aba44ace88fc4067d7587e9e069331b7e5 +loguru==0.7.3 \ + --hash=sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6 \ + --hash=sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c +looseversion==1.3.0 \ + --hash=sha256:781ef477b45946fc03dd4c84ea87734b21137ecda0e1e122bcb3c8d16d2a56e0 \ + --hash=sha256:ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e +lxml==6.1.3 \ + --hash=sha256:032a0a97eed428bd143c75a11118238546424ceb2fa311cca5f073aa44658dc4 \ + --hash=sha256:05f5bce9af14fd1506997594bd81cee6d9c6b58ea80a39c058327aa6371ed9e9 \ + --hash=sha256:0794e04ba343852c6d78e996c58ef4b8e579b4ecc72f8df0d4058bf843b4c96e \ + --hash=sha256:0ab2467e405e748d93495fb5568e74044802b8d3ff2b2a1607c3f78c6e982de5 \ + --hash=sha256:0bf5a3e397df2ec4258eb5eea4c1ac6cf013ca1abd04a176903bff20a70021fe \ + --hash=sha256:0c0710ac085a157b593c38fbcacd950f15c4afa8e2057527185875ab302752bc \ + --hash=sha256:0dee106e9aa97fb00541b1ed7827070564d0549c3d3fba8920e6b20fd980f748 \ + --hash=sha256:0f17d83c48ee9dfd96abae3ac3e2108c76d2fc86ce96355e37b8da9f7f4ecc08 \ + --hash=sha256:0feebef8d0521188d0157f758356072e840173aa61ca45b8b3f87959ac283dd5 \ + --hash=sha256:13a620a3fcc20023f9e6ed5c383e00e826f1c2d5db554df2f67240760f9118e8 \ + --hash=sha256:13d22c0d57355366b393936acf6b98a5e0edeadddd3fccbc6a846c50a76b8741 \ + --hash=sha256:160fcf381f76c3aeac28a756bec44f48942a8f7245a87aa28e3a523b4d90cd87 \ + --hash=sha256:16148acd77ed1d8836a56db883af2f5eed720f9723088110b16a0d08582130a6 \ + --hash=sha256:170773d8a3cdc76259065523ddd978c44f9806e28605f08812e8f86783e44ac6 \ + --hash=sha256:18293f8a8d8b6a8e71ef37706b659e3846a4261232158167b1ddf35f6994f633 \ + --hash=sha256:18a4db52b5a7b53a3540b0b0f4123319334621ee8083d496de314d0bf06ff59a \ + --hash=sha256:1a635e837b50a1819bebfedaac5916498ea024120969da8790500148fb0a894d \ + --hash=sha256:1aeca87830c4fe649dcf93fe2b059525b71c72587f21be4ae4af7103082a79fa \ + --hash=sha256:1b7c37339d7e75cab9a123a04248e243cefefb302ad6db566ea0c77cbcde421e \ + --hash=sha256:1beb0f9909b26cee938df9ba56b15252a84429b1fc30ce6fca161390b9789a70 \ + --hash=sha256:20384c2bbcbf87180c8c61eb60869699c1ec0cd09b62cfd13804022d860b0867 \ + --hash=sha256:20428910dae17a1a93152a3ff2c0441d2f4932992c0797d65651dd0561f1792f \ + --hash=sha256:207dfc3d47cf0e575e643bbc140dacc8863b39abaa1e5307cd64c7f2365b8a12 \ + --hash=sha256:209c3ccbfe35a04ac6d24f0611f9d1cbf8025d49991b14acd935236234d6c156 \ + --hash=sha256:2123e5aa075ac20d23c7af489255efd129cbfe190dbe88fd42598cc9df3199b6 \ + --hash=sha256:21402998e4b78e7cce237d2788841aaa21ac9a4d1574d04dc2d12ee41ae807b5 \ + --hash=sha256:2221e88679d1351e9a40aaee54bc65679b9795bbd0160bc3d5e36b163344eb75 \ + --hash=sha256:22eec57e26c418cde02c051ce9914a365e52a7f135a565c6f0480242aeebab48 \ + --hash=sha256:23c366231259cd75ad06495174701afb3fcb36a92917fa47de2d1f1bd9d95739 \ + --hash=sha256:25f4118c438f96bb466e83108506d03d5c31b1bd2387e83e5b070bda6ded9c37 \ + --hash=sha256:28a23fefdb345b2d4d0ff2860571b5ff9a89a28b6a120f720e8fb0324d346626 \ + --hash=sha256:290f66b97ede0e552e1cb44a0fd8a74f9753ee635b50830a0b122fb72788d015 \ + --hash=sha256:2b9b1325ca1c2a9a2dbb6eb913ae563313f2082ae60b03210f7e83ee80712274 \ + --hash=sha256:2bec13085dc8ef48a3fe62f7dfcacfeda2c785cdf19cc8eeda2bb9ed081da165 \ + --hash=sha256:2cae5d5c90a62d9139c512a0cb1aad1d182b022b5740daea2617eb5bf7fc658e \ + --hash=sha256:2e01125896585139453cab8cb235893644d8815d7509520da95ae3ee8d1c1f79 \ + --hash=sha256:2e62c569ec7531b679b184cbfe335c501c1d13c4b363560013019962eb630e6d \ + --hash=sha256:2f5b2a2b9811b853b39bfa41367c6d78747b8e3e80e07fc5a24aae295c1a4d7d \ + --hash=sha256:302f72413251c03f671e063c9414bed5dc8c927069e5abb69245521e51a4e81b \ + --hash=sha256:32a409be3190b088f960ac92bfedfbef2f86c49ff940765e1548177592d20026 \ + --hash=sha256:33cadd956b667997e4de1635fce9541f2e8ede2038fcde8cf55aa14d571d1bad \ + --hash=sha256:379f8a75cf6eb7eef0af074b55f49ab73b868388a98de14646abcdfa4564bb11 \ + --hash=sha256:3847e71a78cbbc1aff955dbbbaf2fff12153f611d3162c5beaa3395636cbc2f9 \ + --hash=sha256:38fc4e4e4e084e0bd491949482527d406788045c546d4f8789e93fc527b91385 \ + --hash=sha256:3a27ac6c780c8b8a1cd231b58407634cafc1c4cc28cd6c7141362df0f36351e7 \ + --hash=sha256:3a48093cdb058a93af842ede9703520e810b05dcd0fc6d7190a06376c3bfb6bd \ + --hash=sha256:3e42265103fb385d8642a78672edf376c6f7e1d3598a7a4f9cb1278f2f6b5f6f \ + --hash=sha256:3e9a00d1c2c30936f7add097c41afc5da6556c580909104aafd382cac92a855c \ + --hash=sha256:40983eabefd13da003e68170928c7acc011f0d095eefce5871a3c71c9385fb9a \ + --hash=sha256:40bcbd9f94166ffe925811e730607385cec959f42fb1bb7dad83748680465221 \ + --hash=sha256:41096ec0740a58dad03d3ae0c7486d306d20becefb13ceb1649835ab3eb64167 \ + --hash=sha256:415e3a115c0d510e329020012834d1c0aa1c581ee53a218603e38abbc1dea70a \ + --hash=sha256:41e2d428110b408e963b6fb18f9bbf1f5c027b56bd4b498d54556476c0aeb1c3 \ + --hash=sha256:424aa5657141d306ba9ad1baab4b2c0a0719040075ee6c66aee9bb2dea2b5054 \ + --hash=sha256:42632b4024ab24a6b488f559ac851312509888b6b80ae2aa11cf29a646a0d245 \ + --hash=sha256:45222d94ddd511536f3b2f7d9deae3b2339b4ce0f075f1ca25703b07cad9dd21 \ + --hash=sha256:4736e6c87e603146d8949d8501da621ad20c31015060d3fcf95ace2859f3e3e6 \ + --hash=sha256:48542c9acba9ff9450bd18d871d2c2c8787fdb283572b623d206f1b927cd7d9e \ + --hash=sha256:49fbc2682a9306135b7ec49e93f97f9c26689b9b7f96ed2742d8d6497e994d13 \ + --hash=sha256:4a579dfb9c835f8ab47f4b8ed33440cbc75b806b73297208e6ec2a33e903740b \ + --hash=sha256:4b061064b4a2fe8598a466d723d43dbcd5a610a5d5cfe02fb6226f5c17349f75 \ + --hash=sha256:4e11e885e0704be185867fcf71b904d8f65d7d6877bc121f69870b0d0479ba7b \ + --hash=sha256:4f4db7c7e954d289d71878938348b3d91b904a3e8210a11939359fb758a58e7d \ + --hash=sha256:527195c188d7d0af748cd48d220ab8cdc5cb99be3d49ac4d9be7324d8abf9bc0 \ + --hash=sha256:53258656846f5c48996b882fb4b135885e088a3ad3d96b4bc0530f95124d1f69 \ + --hash=sha256:545ccc14fb05485f48b4439ec35beb16d5b5280eb6c81c658bd4707a2a119414 \ + --hash=sha256:5609efdb0d3c95499c00046bc53648b3482ec2175b5503d6e611b3f0555dc71d \ + --hash=sha256:5929d9df5e7e3379183be0e21f7d559618a5b61cb63280df6164019242e337ed \ + --hash=sha256:5a143e6207579de8baeded4eaac9134413200359f1969d636f0bfb98ee8c3c8f \ + --hash=sha256:5a721a98c649855963811b59b55755b30566e7f7fc40bdc9803d66dee9f811cf \ + --hash=sha256:5cffe18571ccc51d742cd08cbb3f8b756de9311d18c7ea98f5d92f37b8fb60c2 \ + --hash=sha256:5d12669a2c419b0e8dc423d23dea24bb82f6f9cb829f32e04674b0ba40322a7c \ + --hash=sha256:5d582042c69857c364e8153de6e18e0da9b7b515a6a8113caf69a6ec8e0520f2 \ + --hash=sha256:61116cec57ed69aebc70f37a545eec095339bb829efbdabcfb97c51e9536e158 \ + --hash=sha256:611a51e61c92f62345a50b0035df6fc0d678f9299f33728826d831598862f59d \ + --hash=sha256:623c8799c17128753c65699f1c3aa32402657393a9ad6db09ed8b98ddf76611d \ + --hash=sha256:6374e9e382e5a98c9c5e66d41b357b470da1c54bce30f17f9dc4bcc58436cc1c \ + --hash=sha256:66299564c046bc7e0cc5de5106601eae907e9fa5904cd68a323380a8502f7861 \ + --hash=sha256:69cafd61aea04ebb3502c93c2aaa568b12931ca0802231e0b5de76bf8b6e74bd \ + --hash=sha256:6a406d0b3cb207b0fa460ed4dc93e866f44f105da0169361cb18ff998a44c7f0 \ + --hash=sha256:6ba4fe5bfbef6811a8e49b3719cde373ad399006c0c1ac184b7297116ecbba5d \ + --hash=sha256:6cd11e7550d89e551a87dcec30f04b1fca32e86b68708aa01a4daa455d8605e5 \ + --hash=sha256:6e1eb8a4cbffd5553680ad96be6680e364710656eced73d1dc90ec489df599a3 \ + --hash=sha256:6ea2f13dce778ca072ccee598bca46a092ce192e8fd907b6c1f0e52c800529a0 \ + --hash=sha256:71532ebf30be0048a45559b4fab15333fbaaf9042f658e878d918ecd0cf09805 \ + --hash=sha256:73fc05988ed20809450474ba760a87c8ad4e455fc09783c02195e56ec634b41a \ + --hash=sha256:75cc6569e86be5785b6188ef1642670c6adbc984e81ec35e224842ecd9eefcc8 \ + --hash=sha256:773062aec2f2e56b2b22d37054123f0de8a22a4688a0c3376c3fe42685f975cf \ + --hash=sha256:7ae4949f212a53b007dbc355884fda122545c5764a54256c9217e419a62a6559 \ + --hash=sha256:7b2bb7d703bed7ac893bf7f40d97b5d9279d35d2ce460624ca28929eab0d5a3d \ + --hash=sha256:7d0f5976aa2701996f759b30172925829867547bb073af0ae67d1307a0f0262c \ + --hash=sha256:7d5a748d12dd9b535e0a130f60dae9ddf0adafbabe61e7864f55c7436c84547a \ + --hash=sha256:7dd624c1eaa629ad44b59a1a0145fdf2d67895592dce94c9358b938b3d075e65 \ + --hash=sha256:7f75b9b9fec2a9c6b18095c81865580e795b1441c429e42d22fcc82a77f40039 \ + --hash=sha256:83e3a51e7933db700a0da0db31849db3a24022d9970da9bb73001e1d0326fd92 \ + --hash=sha256:8499d464de86fab0f102313cce32a9bed9ab1f06ec813cf025cb790964fbb765 \ + --hash=sha256:869dfcd4d381cb0ea87085cc4f011b9171b494ef21e76ad8665f6d5e2d1dc8a1 \ + --hash=sha256:8753b8d51dbc86fd335ee31fcf7f3658e9f5c016d4edfb23f76ad295f4b8c9d0 \ + --hash=sha256:887c021d9a977cff89cb273047c1352997b772a8908a25c21836861f69b92be1 \ + --hash=sha256:88e719b9437f148f7e1465df845c758dd1598618cbea3a2fd1e61a715542f2b2 \ + --hash=sha256:8a330c0ee5fa318c7b5cbbaad882baeca3f570357e7eb25ab34bf31008150758 \ + --hash=sha256:8db38ff3fb7aee7d6a82ae4da2eef1178656fe1216841fbd24870062a9d60473 \ + --hash=sha256:8e49a646acfab83c68974f4aa1d0a2acca9e88d7d627ae0fc13201b14b76d310 \ + --hash=sha256:909f4e927bb051f7740d6367285fc60cdcfdaf0258c2dba4ff5ba7eadadc250c \ + --hash=sha256:90f709b9accab6b2e4d14f5c8718203877a0486bcb3afd74d8b539ecd1e961d4 \ + --hash=sha256:92d96586376fb79a33474797186bf993250152ee5c32650b67db78d54b92e6f3 \ + --hash=sha256:93476b6514b373fc6ca67d26c442784f7807c86f00635bfe79f935c3eab2af17 \ + --hash=sha256:97acecb11cbc411473f15b8d780df06d7a9f3a2aad9aca78364f56640c8fb70e \ + --hash=sha256:97ce49699d87ebf8aad631b55d65b33219a4f1bfefbbf5bff19dc9af160aeaf9 \ + --hash=sha256:9bde9ae026a55b9a192078dfa6e27dd0ca4a050171ab6272e92f97b757dfdf48 \ + --hash=sha256:9e67324961ac9bbe616cce5100514d2e34d88665aeb07071e8b16eac55d06d94 \ + --hash=sha256:9efe56a68179f3adc4de41861c9358931db03837c48dd5e1c78077b84dd07f3a \ + --hash=sha256:a1932d7ce78a561367512c594fe66eac2b2ec9b9264cfd9b5f950622f4a116e2 \ + --hash=sha256:a1cec0f99b9b914d39176347a93b7610dc09324491aee1cbc57cd291a41a1d55 \ + --hash=sha256:a2e3f70673a1d5b82f38255f777d26cd855bf2092b1436c4867464a7892f9238 \ + --hash=sha256:a43b3bdf11e477dc7770609d3477316f974354dfc8425d596f64f471cc8daf6e \ + --hash=sha256:a5c18810318303ce9afb3f95e2ddb54834f96fa699a8600433fd5a93dcf44c56 \ + --hash=sha256:a7eb78ba28b187e1e9203a55c60fcf70df2d22cb205fe6d51b9383d6097419f0 \ + --hash=sha256:aa633613ff907ea91b9b0489a1f0da1b8725d8c6ccec6b77e8a1c9c235044bb0 \ + --hash=sha256:aa9fd1ee2a5dacfc41039ed49ffeeacfa75bafbd255b69f3b578e11897a0e623 \ + --hash=sha256:ace1d2c83b2bd24db5940600541140e87a325e119cb32d5fa9ad720d7e76648e \ + --hash=sha256:b1cc980905221a5d8b3c476330730b3adb40ff80add71ffbdb6215ba055656f1 \ + --hash=sha256:b37772102d44bb6628186accca3a121b1fa3a6b3d97518a8c29a5229ca4c0d0a \ + --hash=sha256:b3ff39654f0ce6ebd4db154211136dbe7e8157bcc3bed2344c87f32c7c6ecb6c \ + --hash=sha256:b477912f42c5c33405a10c759d22f80cf5af043ae02d95b9d8e5e5bc555739ed \ + --hash=sha256:b49638355ea3bebba70da783ccbc630fd72afa16bc46c54474bfa1f9a915bbc6 \ + --hash=sha256:b4fc6b03b9d9d90557274f571ab30e7fbbfc527955536935d96f98b6817a86e4 \ + --hash=sha256:b50343241eb69fd85f7791cf8bcc7b1c4729826b7d59ba2f6b27db29638fa745 \ + --hash=sha256:bc8dd3d9c93e70c3df974a201ac2958b6d77b465d813c51d1f15fa8e645763ae \ + --hash=sha256:be5346653c0b0e34be96869ff9dbeba23860156f89a2896a64c64fb419260cb6 \ + --hash=sha256:c00e26288784460885fe76e4d4b293573e0f791f52e6d60e27b42edf005922eb \ + --hash=sha256:c1b50797ac246bb2942a04b6c0f69af0667aba7cf7535f39bbb1b3208fd5d128 \ + --hash=sha256:c34ca1dc41bd86d9ff830d5bdf4e4a752bba6c54f7d2707027ce0eabd36084c9 \ + --hash=sha256:c55e71a9b1db1f107efb60da49c093689b74c5c31a708e5379e2fd9439d4fbb5 \ + --hash=sha256:c581b1d68b3845fb86c6b2983e755b29bf001461c59fa411d2c26a911b6559a9 \ + --hash=sha256:c59e4265608da6a041f54646ecc0c9ecdbb19aaf14c4c684bb6c2114998cc415 \ + --hash=sha256:c5e7ce578aa8a80910a72a8ca0bbea3baae10100827249001999726a788456d8 \ + --hash=sha256:c66f858b82497173f73366795fc6ee8171620e75a338506d6b2e7bc16f5fca11 \ + --hash=sha256:c6c0c13128a32eb04a51357e56a094e13aa8e6d3d1884de2e9ae923f6915e1a8 \ + --hash=sha256:c9389b3784b56c58d933b5e0aecdf28f901b073ff385358d8a7d40907f6e14b2 \ + --hash=sha256:ca0ec532ad2f5ba1e5ec120ac157769c57f01855b3d8bf37213f5d88abd9ba0a \ + --hash=sha256:cad7617727a96d189bd6f979d0fadf765198c7934e85f4edaba9bf3ad919a300 \ + --hash=sha256:cae82b5ca24b0c2beedb269f6e2a96f466acd926879ab00ae19f1a65cbf9ffb0 \ + --hash=sha256:cc669256d28736f7f3a149df5c380c50ace2692ba3e62203d10656fade4a2145 \ + --hash=sha256:ce1f220114959941170e22b8ad44279f6dee2dcef7591814d01ae805dc058889 \ + --hash=sha256:cfb398886a7eb4c719161c3efcff2a1248febc53a4d8e5072d2d8a87fed84ac9 \ + --hash=sha256:d077f21f4b16f0471353883748f126f62038760397c107bb9fad2ca94dc0dfb7 \ + --hash=sha256:d0c5c362bc94f1929dc7e96e715bbe7bd17037f802e6d8f0d1545df9133c0559 \ + --hash=sha256:d2765c18ce303149ee804b1f3dad11232726dd0a702d73a15cf19179ac8cc962 \ + --hash=sha256:d44442effeb8781f392340c5dc8c6716fba41dbeacb82fd4c0f09026fb5ff682 \ + --hash=sha256:d85dfab42dd672f87a7f76e9de7172962aee69fa12044f0d6e1a23cbd53fb80e \ + --hash=sha256:d97c5227621af74b111882a290b10f371780a38eef9d9e730408fba2259b52fb \ + --hash=sha256:d9a0d12846d6ce434fb3857918eef4315ec9b4769deb020c75828798614bfcfd \ + --hash=sha256:d9b3e7d71bf6acff341233417abbdface29c647e3113892d9aaedc02eb4aa2bc \ + --hash=sha256:da707f14ea3c35ee463d50acd596d6488e4b2b4ae7cf77a5bf93f55c023d63e8 \ + --hash=sha256:da85db328e507da922d586c3c7416ec360ec22e9cd9e0700691afacde0c81f53 \ + --hash=sha256:dc205732d593118cf701d986f40e9de7801bb2e371cb189ddbda9b7348f4d97e \ + --hash=sha256:dc3a44689eea43eab836e5c98a8ab015dc2419987d1ea6eafc7c590cdff86bed \ + --hash=sha256:dd5e90f34cffcfed97f36cf066325773d2b6021c60c29942e53a18b028501b1d \ + --hash=sha256:ddcf547bea2aee967d6a77779376a45e77e610e8465147a1f3d7e20d539d6e32 \ + --hash=sha256:e477aca0bc0d19f3b4ae9e4f2a1cfd687c31bf772d78734910658186b40b2477 \ + --hash=sha256:e8b17e23df3e827a69d25af70990ca2420e92668aaffaeeb3cd2351d7916a023 \ + --hash=sha256:e99e09ab7741f1281e2677f4c0058c7f5267d182530b09c87e4f6aa26adf3887 \ + --hash=sha256:ea2c01cdb16dc12156e455007c406dfaaece0c89aa4ba0e3b47586779f951d41 \ + --hash=sha256:ea6b1e9105b4b24a34c722432d9fb578f9ed83af21fa1abda639011e0f22bbb6 \ + --hash=sha256:ebd054ad1737a68fb7c5c073d405cef2b88bb824e294de3b4a4e995b47f0e376 \ + --hash=sha256:ec295280f4b37769256da025acf5890370355ac589c27e89caae0b5e9eedc702 \ + --hash=sha256:f6449672f9c93316deb5e2839e18931f468670e44d5bd9b1301a5a9655d45c07 \ + --hash=sha256:f683dc6300317700025e41d89a43e0276692ded16113a3c43eab704d605c58e5 \ + --hash=sha256:f6b9d2aad499c769ee8287609ab0e6de99d8bcea99c6e6c2e64945259fd52fb2 \ + --hash=sha256:f8b9c8ceebae6387d0dc77f7f4dbbfbfc962dba2efbfe6877486075a480726b4 \ + --hash=sha256:fad67b12ffe0f71e02b4932b04883cbc76a9072bbd30731409d3523cf058b011 \ + --hash=sha256:fbfb70ba01355251faf6b293171df49f73a88a1b6494db109ffea85442574458 \ + --hash=sha256:fe91993149523aa59941b9e3c90e2eb45f57ad014697aef6c8b13339a59c019e \ + --hash=sha256:febd35ef45f603c2d74b74655efdbf45e14f55fc0aef4ac82b663ca829b283e0 \ + --hash=sha256:ff88a92cafde90888511242d1c54afcc1a8adbb6dc0a88fa7f87e29e92400d4a +mako==1.4.3 \ + --hash=sha256:723296007c870bfd6b3f0c3230dba7198096e5269297ebf5e4eff9e7ffa39d4f \ + --hash=sha256:cd6537fe88d5fec315c55c2f8529bc4ce7a9a352ad7db3eeaa6a66e2dd4ec37a +markupsafe==3.0.4 \ + --hash=sha256:007e1ffd9bf65bb6ee96df7b258fc632a4868dd5566037986c64781f35a36e98 \ + --hash=sha256:02fa4acbc6a3fc5c693c34d4dd8c1130b7fe99cc915181b0ddd6f72aeb296002 \ + --hash=sha256:03470d1a8268e692ecf79ecd565593e59d44219377a7ead61f1f1b94c1f7ff6b \ + --hash=sha256:04e7902ba80ee4bac1d50a549606527a1dcf0476cd81403db41099d3b60ec653 \ + --hash=sha256:051417f74bcaaefa316276e0ff723f541616ca51043d070da00249d9bddd3e3c \ + --hash=sha256:05295589e619b9bed252a86b532b8e27350abc372d18ba89b59375325e91ec1e \ + --hash=sha256:06de8ef6331f6e822c28d577dc8bf43fe398800477c49498f38fc38b67ff33fc \ + --hash=sha256:0764a13d34cae40db7bbf3a09b7e9b491bf4603e20b263a7a9d6b8e324975d0a \ + --hash=sha256:077293e425f28ec737dbcad442a71752e28f8ae27cde3d68acd1fb212091cd92 \ + --hash=sha256:0930db9bdc62d22944e10b066448bb65dc9abe9112880c7cab8da54db4284d5f \ + --hash=sha256:0cee7cb0f9a1b6892ea482237d9403b3d1b4603aee057d0ff01f0fac2d019a97 \ + --hash=sha256:0d9c47709875fdb321452056622e930c52afbc07a7d780762fbb8b4d91ce6fa4 \ + --hash=sha256:11935df9bf455ed0c04eb87bcd720f02b1fe5e02128a9430f23aed6f93336fc7 \ + --hash=sha256:12a606a492de952afcb43b59a14aaaaad120e708d3663dd0fdf2d738d427a691 \ + --hash=sha256:14bd2d845d62ab678eaf81da89d7b621b51756c72346745c1a594c09d49207a2 \ + --hash=sha256:15ba9e28640feef770374b116a6f019c21f52404aeabe516aa7f800587b98cfc \ + --hash=sha256:18a801868a884f216e784d7d14db2a4077143ce7610440aee2ce8f734e7cfcde \ + --hash=sha256:1c0df495a977d10460a94941799c72d5b5ab03d3858d949b55b5a66c8f371c99 \ + --hash=sha256:1caa2fa5a6184fb233153b35f654e6687bd555476f6170f29d8ee9be1a8b0af9 \ + --hash=sha256:1e1451fab512d1bcc3dc26988ec1edb0b82c2db909132872cd9356070a6b63df \ + --hash=sha256:1f1f9477e174582b0a1b583d60b66e1f2cf5d3fe12cee985e4aedf44766600e5 \ + --hash=sha256:2628d3a8cb648ecebb3c5d6b0a1052d400e4d8b7ac0fb786be8d285b50040d17 \ + --hash=sha256:26e9867520db70d37f7fb421a7f0d8adb40171011fb84ce869afa1a83370dfa8 \ + --hash=sha256:2a6ef68ae94aed8721934072b27a3b654ea2100b97e4ab864cf1489c90926fbc \ + --hash=sha256:2b2b1e18af909b448bb3cf9e3433366f7a8726271fc214e8b10e0f62a78c724b \ + --hash=sha256:2cb3dd71fc6be918ad4264346a8ed69485f9b7ed7bf35495d8e22807cd6b8bea \ + --hash=sha256:2d1b7d9308288661f56672b1b157d75fc536714d3638487bbea17b6318a78248 \ + --hash=sha256:2dad610540cb2e6272855c178f08ae9a1c7ac258a7fb71660553a5f104b42741 \ + --hash=sha256:2e5a7cd7fdd14fcb1ae5d7d8bf23d24fbd1daefd1fbca2580132e1ea75f098b5 \ + --hash=sha256:2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6 \ + --hash=sha256:340cbb1957ba99929cbf19a75626d36ba1ae21d1730b287d1cf7f824a20c4fc7 \ + --hash=sha256:34bdde374c5932765d7dc685c4a1d191a3207852d67e8e0a9eb6ea85156181f1 \ + --hash=sha256:353bd63081912ab8cfa6a0c7d185934cdf8426f04c618bba6bc4b394f2069b67 \ + --hash=sha256:387d8cd30e69b3f0a72877b9ae717033396404e19095b17fe89753a981fda44f \ + --hash=sha256:3882fb412298575bae3b9c46868251f15cc69307359f87bb1b382e53d6e5a2c9 \ + --hash=sha256:38fc55594dab834470b6733dead2ee9e3f657fb0608c769dcafa0ba5ab52f45c \ + --hash=sha256:396ec4e65cc889f69786b3b89478b471cee5a3bcf468b9d9bb03e1a30fb291fc \ + --hash=sha256:39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba \ + --hash=sha256:3a93d9616ddecfb393727a0041a562cf0b15a244e20f2bd25efc7949be4c4f17 \ + --hash=sha256:3d23795802fc8bd72534836d64489bbf0f67c088959091bdb22e10735a5107bf \ + --hash=sha256:434139499bb20b502ed3baa1f169e618f924a97e7a777fea1a49446d80106cf6 \ + --hash=sha256:436e3ffc6310d3c41878c601db29098102fe5d8a467c49da4a4125254e0980f2 \ + --hash=sha256:489505b03f692c3f376394e49194fa7a7f9e8558d6e293a7056a0032b0c38163 \ + --hash=sha256:4a540e2d3192792fc84eced57bef37851ccb2b41f73291bb17408eea77bcd278 \ + --hash=sha256:4a7cdc2a420ca01058182da4253329764d4bfa055564d1eced90e6ba1e8b1d3d \ + --hash=sha256:4bced6e2a6dba6a28f7dd3c6ce14df1b2dd495923f16ea484cad03decd463b2b \ + --hash=sha256:4cf3468d5ec187ffffcaca8e61929a37448f215dafc1386a12c750a72fe53634 \ + --hash=sha256:4e2c4809c14559aa7ef426f27fb35afbb38104c349a903bf8f3600456764bb38 \ + --hash=sha256:4ed644d75aa94a2baf7ec3a96eaa160ea58c742eb9d27c6506053c5c40fc84ed \ + --hash=sha256:4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c \ + --hash=sha256:5066b244f576f91afc8ee3ba029a89f99d39c79b1853fe9d39bea9f0afbec148 \ + --hash=sha256:5086f9975abb1ab531ee6afca1761e4b59a19b446f3f6522ed776963228cfe5a \ + --hash=sha256:50b5bedc9ed8a94fc8857a42ef4f84a81ea88f8d4f05dc8705fb23ee6d8dcca7 \ + --hash=sha256:52704c5d36eb6dda8866493decd61111fff86244c9b1ad225ca01b9e91e5970f \ + --hash=sha256:55ffd6ce583d97dc71dc92e930324c8c0d25aea7e3ade6ae54ef77cedb096811 \ + --hash=sha256:569d65055d367e3dcdf30c3f41119467b73d9ee9faf332bdf40402644f5ac08e \ + --hash=sha256:57f9947a7e57a081c1e3e0a2dd0d2dcf290a4531450e6f611e30084c222a7295 \ + --hash=sha256:5989cb26b2e1efc6a42216a9f6b5ee495ce5ace2e5b352a9af489976b32d1ee2 \ + --hash=sha256:5c22873ad1f0532ba40fa1727f3c0fc1bbbaab6d373d4cbe3f0dc74b2e2521c7 \ + --hash=sha256:5e8b3d0b18fd623afa12ecb2ce8d8becef69f9b5440c6330c7972200e0bb84b0 \ + --hash=sha256:61631e08084be9e21a8967ec3139c7616ed7c5e9368e05c86d1b39562c8a57b6 \ + --hash=sha256:64511c54db4e4987aef4c41923235927428729e8174c5dba488429be70a998ed \ + --hash=sha256:6669c1bf34080161ce49c589cc512ef24d4c704ac9d2b2d3667f519c60418378 \ + --hash=sha256:672d207103e6b16ca098611b0f9efad6bc00afd47c03d6ef62186495ca677dc0 \ + --hash=sha256:6768d67d1bce64270e0fdc2e69309d68b9b18ae56ddf6c711d168e9d051c2cac \ + --hash=sha256:6a45c3d514f2436064db00d7fc8778d888f0236ebfed649b53d13a59e69ad51b \ + --hash=sha256:6bd9e1788e15bfcf6a9082de42e30387e7b85d211ab21e57a939bb8cfaaf8d96 \ + --hash=sha256:6d2a9efe686f9de00d0d1ea32a4a5a86d558a2277501bd78d964214eab625e59 \ + --hash=sha256:6da83a088f8ef93b2d483a8232a4dbf4d69d3d8496b568a03c56becac43e1808 \ + --hash=sha256:7018d4af1cd272e847aa5917983ab5e83e4f6579f9dbfecd4a79c0ca80b144c2 \ + --hash=sha256:71f88e749ea29f67f21f3b36433c1dc54c7729ed2a6d9e2da2e0d9e0d7b224eb \ + --hash=sha256:737c9c3981998eba27f11786f84fddcbabc74068b72a4a1f454ea02094b57b65 \ + --hash=sha256:73e77980c7207854f00fc4e71fb1626868d5740ab4012623d55c7a99ad122a72 \ + --hash=sha256:799c39bdf5e2f1292fedd3009f7b3c9e760f10b2420cb9638d56920840ff6db8 \ + --hash=sha256:7a83aa6e4805df46fed18e989d3d16f86ef60cb50bbc8d9ce3a6be89165fbf6e \ + --hash=sha256:7d3391b2188d18737cb2fa147028b1096236eaa7e156446c650a489fa2cadc91 \ + --hash=sha256:7e1636da3d8dfc220b6dd10264db5f2b165e4888c4518594898fbe381049af8a \ + --hash=sha256:805c8b84534fa10891890f0e4be39f3a99e94615d93e8836bf9fa1fdca2feeb2 \ + --hash=sha256:811d02d5122171c1941357efd8f9bf4ffe907b7f0a1a4e729a880e4be3f46e3e \ + --hash=sha256:8138eb83940ec7299024d92d4dee45f601b9e6c5ffde9d25f4e35e326203c707 \ + --hash=sha256:83b3944fea42a8400edf92fd1770fb8d0d4f7de651353bd2d8525a92dba69a21 \ + --hash=sha256:849dd2bb0e5e4ab2b71c7191726a4a8d5aa8a610daa584728cbee0b710ddc4ef \ + --hash=sha256:8698d70a8081ee8c090dbb394768b5789a1da8b131b5499f89d071dd3cfaf6be \ + --hash=sha256:8781a792a070cf2bd1b86d3aa943894115faaba6e88122a7bf32d62072742453 \ + --hash=sha256:88d59b473bfb03259722600839af9bbd7fa13a2eb514beefeedb95997882f69a \ + --hash=sha256:8909c2f1c6dd65e054ac4b573a91c8384d1492281e55d82d159d653f7a13adf6 \ + --hash=sha256:8965520ac587c94a4ac48b729be3d8b8de00af39699b17585dfb599babe77977 \ + --hash=sha256:8b5d563170ff8ba3181caa967c99a3c804d1dedb702c7cb93a6a7c32247da978 \ + --hash=sha256:8e124f974786f831d6043728e38296969d3579db8896fe004682f5758e613581 \ + --hash=sha256:8f0fac8b13d14bb06c68195f849371924ae53dd7b1c00fed24650f704383b692 \ + --hash=sha256:9240187afb63d2f9ddc3e032c670356fe941f6e20662ea168a5dc3f1f317e1b3 \ + --hash=sha256:925f929d6b59a8b3f8b8c6ac363cd0af7eecc81efb3071770b3c6717c450a369 \ + --hash=sha256:9348cbb300d224fe3b89793262cb093504d4ae927004468463f745188a193e4a \ + --hash=sha256:9388003072b95f2f1e3fd908604194d653ba21330d811961a78b7da1a77e9e36 \ + --hash=sha256:9438a2648b2195980cb2dd8e53ed7b8df91319e2d0b70ae61a9e1d1bc8d3bec9 \ + --hash=sha256:94e4c421742086aeee4c32a506eec8859d7634aad943f7e6aacf70f813478768 \ + --hash=sha256:94f5407f7bc64fa6463906b896f9904beeeb7dd8dc116ee8e9056c8714ff9916 \ + --hash=sha256:971a3bbb75d97ae4e2e8f7d4834236f86f85f0c85e04ab2e191db1123b04f80b \ + --hash=sha256:9e227f3dbe6bde7491cf0a9965d00b88c6b1a4a95d11480ddf88bb96d397c19f \ + --hash=sha256:9e25feb9e330b63edb0278a0acdf85e50d0cb0fbf49c3084abbe4e24ae195346 \ + --hash=sha256:9f098115c247e11d138ab83a28fa0323c77015007ea2df73ba5fd714dfefd67c \ + --hash=sha256:a18f38cafc329bac5e3c2b96c765b4c96d3d103421ed22ab7988c1e3fce27464 \ + --hash=sha256:a4bbd2d87dd233b9fc5812160c3d0ffbe42edc22a26ce0469f58479ede633fe9 \ + --hash=sha256:a5fcffb37e602b0b3c1638a97746b9b96125caa9bcf6fa41d337a9261de231ee \ + --hash=sha256:a8e9f292fcda89b324f2f5c91d13f1424a153e40fc2756f38ee23b15835ff300 \ + --hash=sha256:a9f54054101545a9a9cccefddf54316aa6e4491611fcbef9e91b3b6bebec04f6 \ + --hash=sha256:aa2c838cc024642cc04c6854232f32b43e5e22833dd11119c1766c7873b8370d \ + --hash=sha256:ac0c7c9f1609b0c4c114feb1d7a3409564c7fb77e360bed9e97e5d25dfeaf868 \ + --hash=sha256:add96447a86d205ab616665d53b2950ee81083757f56e6ea833c8b2917646b46 \ + --hash=sha256:ae9dcb8fbe244cb82f8a6458b455b927a03685e383d9bacf1ea5ce180b96dc97 \ + --hash=sha256:b4a635a0487774f841cb1fb62e907e7195cc95bc761e053184b8acc3ceb20733 \ + --hash=sha256:b4d12837e0203bbace818ff4a7461afdcd78bcd782351cea148139180d7bcffe \ + --hash=sha256:b61687d0828e72bf5cda24a2690188f37170bd31c9359ac97e4e66569f120a16 \ + --hash=sha256:b807e598953730f82e4eae3bd30f6a122cf6b31c398c6b504c0e04c13c170429 \ + --hash=sha256:b8cd1f918b26fd7b1832ece557cc18f2d8747309ff8b3f0ef9d4250c5ad67a39 \ + --hash=sha256:b91cc9d336957239ff200f30097e6fea2dc6d6fb3c81e853eaa09eac904fd894 \ + --hash=sha256:bd3ce56ae2cbae3ba82b683bc425cd7e48d2ed8b10f3e818186b6f5646d9271c \ + --hash=sha256:be6cb0c799abb0e2ba3e618e6d28ddddf7e485f6c2ce938dfa237daf3905072c \ + --hash=sha256:befb4158af32106b9a93db8d6d1d1cbbd418c0d5aca0cabb7b1780abf0c89169 \ + --hash=sha256:bf053da3c97a4bc5ecfbb218cdd2983febd91c617be8367d139882aa11e490aa \ + --hash=sha256:c02e8f18bdedba082cef725942ac823b9b60656db07f7e265cb31618dfd00d77 \ + --hash=sha256:c1bc67752d5f21013cfe430df4062441714eab79f65a6a05e01505957e9c35fe \ + --hash=sha256:c61750fadcd119d0825bcb7d7d675dd264dcc89cc05292aab5be68ebdbb374ad \ + --hash=sha256:c90d5b3d4e944e065a301d741b3c1d784f6bd1f503aa68b4967e32b2ba313d85 \ + --hash=sha256:c9a7f43c0b202b334cc9184af09bb8f21d3a209e038efaf106936fb69e6b026e \ + --hash=sha256:cb96e6e088d6cf71c1ea977510948320234824cf226e32f6f6e044f7a9c82b34 \ + --hash=sha256:cf63c214fe879a65e69a386f915e36104fc84254ab141240f8854602d8e0be2a \ + --hash=sha256:d1aca03ede943eb80ab3d63bb082c84b7aab85ea83bd0fd0c200260945fb49d9 \ + --hash=sha256:d2e56fd3b00222722abfb3f5f0759ddbae4b90811b5ad4343c64030ad1bde70c \ + --hash=sha256:d5f93ebbeb8032d47e349328ec8662d973d9b05a70b3c35df1f91fe419b84749 \ + --hash=sha256:d882a373d8093c2941e01291b7ced96e9cbe4781da9a7751ca7e6c70385e5214 \ + --hash=sha256:d920abdfa61279ba1a2ef9484aab07bf03331f8c08a10120fa332353d06e6932 \ + --hash=sha256:da2af0d7aebfc2074080d72efa6ab8317c62481ef1f896f65d9999c1c01f4494 \ + --hash=sha256:dd8ea6ebee7aedbf7c749fa80521d9ccf1ba473e0d1e14805caafbaad281c889 \ + --hash=sha256:de8b364c423ef0a4bad9069657d617f9a5d2b2062457a89b1fa16ee199c399c1 \ + --hash=sha256:df1ae86ff54725a01fa1a0510b914ca53a161b7050be74f6204e24aded5971d0 \ + --hash=sha256:dff05cb7016dff1e9fd68f4122c127b65dfc59de5306cfb7ad92f956f230bee2 \ + --hash=sha256:e1a622f13970d81f95d0c72f9dc090dce9085fccfa4c9f2174377ee32bd15786 \ + --hash=sha256:e49fb0d1ce92cfa0cb198cc5b1b11cdf9d0638658e2a2db2687e39db7c87fc78 \ + --hash=sha256:e5c802729725bd07e2bc3ab7b76dc7e0bbfc53129d8f1eb1c002c24cf774717e \ + --hash=sha256:e841068dc0be4cb6dfb5c890eb88cbdcff2f4a332393c7ec94e8e618bd32c1a8 \ + --hash=sha256:e916035e3e9930cbdfdd10abf48861340221857f45509565898e012263f7b289 \ + --hash=sha256:eba154571c16e032112afac0dc2dfe9e63c2ceb7aedd07bb7eecf2ce26d4dd4c \ + --hash=sha256:f03460ff076f70ab595bb45a0205ccea1971443575b6920c52e755dec2b3fbfe \ + --hash=sha256:f0ec3b750b59375eab5b0fb2b9254810c00a3375be6d789899f1055a1d556237 \ + --hash=sha256:f291bcf42ae98eb5107edb162c3c998b4a89648fd8e99ed4cbd12705292788cd \ + --hash=sha256:f61efe1d2fe0de16158a5fe1d1cf3c14bdb6aecd54d8938fd26512c525c1f624 \ + --hash=sha256:f68edfc67aabac33708941f26f22a7b8e9f81429bc0cf249fcf7d66b23af8d19 \ + --hash=sha256:fa95848c929b6a75f6848d3c9793e59db365ee436776e57db835cdbfa79ba977 \ + --hash=sha256:fd9f8797427910198f95bced71ddfed61130d7e349213bfb8466c9c99e2c46a8 \ + --hash=sha256:fdb4ca07ab75ffadab4a8b135ad59cdbb3156b99310f3d565370da74a15d6bd3 +matplotlib-inline==0.2.2 \ + --hash=sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6 \ + --hash=sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79 +mutf8==1.1.0 \ + --hash=sha256:072ad993d20b244755a8d6ab0ba6fee5c974741dd0acf96df6cc585f0c3c61ad \ + --hash=sha256:0cbce01f2a786db7f4bae25e9e62effe9bc0d22b01ce8dbc556b697ed7d6ce6e \ + --hash=sha256:0e1abf471047c80793a0d29b4dccdc2b93e052245f38280c852cc14f966b1b28 \ + --hash=sha256:258e6fc37cbdb90f9ee571eb993b4632a6dd9d408159c33b72161cb5fecd00d6 \ + --hash=sha256:2696f757d799fa6f43584cc201fe8bf7a882de13459c5522b169c91ce4e09560 \ + --hash=sha256:279796be8926ea53ac226a831727725387f3acadcfc5aa723f8a5ada559dae3a \ + --hash=sha256:2cd6b7f78a1a9a1041e9c1b2b565cf6586aaa64cb0ab6fb20b3e08dddb759384 \ + --hash=sha256:2d6682df2b8a7d6e8a769ae6b3295adce8ee032c020ce98f7bb31692b664882c \ + --hash=sha256:2fe4c83cacf6fbd230a5a429a51afcdf56efbb7692938358b9eb572ef0cfa1f5 \ + --hash=sha256:31e8c701128647f8795054e30b0e2f1bb0bcd6e89ab50f0cbf9803413adf98d9 \ + --hash=sha256:3364bd2f0b302be14d4d7e2ab4617bf81e99bcbd16d36cc135b344bb2aa46f84 \ + --hash=sha256:350cf53ff2922e322be8141a3b67e4455dc7df2832545113039a85697bb1b802 \ + --hash=sha256:3ba488375e86d185c187b39d90f8894b996128f721e8ff3eae72dbf6c66d92e8 \ + --hash=sha256:3c4ef2a7c2c807973e4e5c063cb5459f3979efe8f86f9e71eccdd86fc77b306e \ + --hash=sha256:3d2a46bf14e16011a113b7b839e3be6c1d5ccd47bc5a4897799af83309cc4ffc \ + --hash=sha256:3e3cb461153512a22567ee03a2e3104c6359443161ae83ec386107fb4d09124a \ + --hash=sha256:3eb8e73167356159bfecbfbe30fccb5aa72167e4e56220e3e0ac0f34703a7554 \ + --hash=sha256:42abec0a8f96b03d27edd01a9e18fc375fd1be3166d8fd03b164f5b3cab0abd4 \ + --hash=sha256:4aa9af7ce710850dae09ff5ef9bfcc27a3f48cd301b0b14d6b30a2ac12970cbf \ + --hash=sha256:4f1a4d81bc998ba91bdca28293f8e48876459ebaed04a9bab705c45aafcec2c1 \ + --hash=sha256:63bdc07d838c05a5579ab00222192cf573057364e89471f8e64fbf453cfe8145 \ + --hash=sha256:640f14ccb0b61c8f74de6d20291bac6512e6f1852888e3b9b2277e38291131da \ + --hash=sha256:680adf1cb36a7cb844aed169ff89bd0e80736ed96651eb548a9c7d5eedcfb87e \ + --hash=sha256:6914897b0b682322ef85df9ded02869207174f4ae58434b060c58e7da9adb913 \ + --hash=sha256:7569229befe0317125802d9220e5735771e3f0ac90bda0fa4ef2dac7d27bcd3a \ + --hash=sha256:7c257c6c88821c067a167accde6f5b4af6440d641d993a3a557e80314c076f4d \ + --hash=sha256:7e3447b2b0d2112dcdde6cf2136320b1ce24e35e304070b771ed4e5655762880 \ + --hash=sha256:81dcc89c127bf4bf7453c9790032ab2fd2881a5edd6bf464d9e737e7d8a9dcdb \ + --hash=sha256:85ad5bb6c40ba10d18d7bf407c13a25f9fadeb27641fc691e04529609cdbcbd5 \ + --hash=sha256:867270fa62a507c2a80591d5f444d96f8739507cb4a135b03319e37ca727f3c7 \ + --hash=sha256:8af3095f7afd5dfc32fb0a662eba659472357e83259b7b4f1f3298fb6d4f904d \ + --hash=sha256:a441d6542d874062e8223ef868195940f281051f4eba82c2d420de12bb133415 \ + --hash=sha256:a552eb05294c7994fe515d89fd3597deb53db6468fb4734ae1171f2815ceb4fd \ + --hash=sha256:ad41af698f0cb75beec439219c57120c1fd65f3e39505bff2fe6040fb2adb680 \ + --hash=sha256:afd923aaf773542d2cbfb8dbe6cbc2045498efa1e72e86d1ac4d3aacf7e14941 \ + --hash=sha256:b1144bafc3a57aeab2a01bc0eb0521ad6be6570a95f0d52a022b2398044c09b8 \ + --hash=sha256:bbcc40de7b02f81a0c1a8bbd43ebbf9e45c7f8bf57cf9d46176c6cc9fa65e17b \ + --hash=sha256:bf764c02c9c6a1806cb6523052340dbf1c45b676a180230e85ac85144aea048d \ + --hash=sha256:ce85b33e06592c457163c03e1856e21504286b7d3cab7dbe45cc51b8931e3b01 \ + --hash=sha256:d51b2297b9e0908d21ee41962305c0552d918bcbcb5733c018e98afc4c5d0da4 \ + --hash=sha256:d5e852720303c709f0b8150603032518818c56d378d17c403cb42cfe399b9bb8 \ + --hash=sha256:e208659e973213c24bd78f84787adb23c0eb8beaceef77911e006a59a3bebce3 \ + --hash=sha256:e28f11e5b8ab759fe662bad8c6cbbdab7420639613725b6875cc2c73995032d0 \ + --hash=sha256:e7801dbdd5f22763f21558e817804f9eb0c8fc94f7ea238c8f5380c2e1b23b62 \ + --hash=sha256:ea196f3a49186a3a28e583244fe893d11f1077285b939fcfecc3b5eaf58882eb \ + --hash=sha256:f6767a8e1e3dea2b8d9c98d14906049b6b63dcddc87c79e60d9c38a72b19640b \ + --hash=sha256:f748e3f7dcb9f6b7e642bdf6168b72a7fd5674182a827236bf8c7165672d322b \ + --hash=sha256:f7e59cbf2e959029aecbcdb8bcb64fb6db56bf62945c44cf9a8c7b495ad36236 \ + --hash=sha256:f904baade198aaf87910166ac0e0d8c42970a63ccc3d230e7fc626456cf22d30 \ + --hash=sha256:fce9b80cd05214a2c886ee936e587db381ea10f4c4d45ba81689c0b9b76e6ebb \ + --hash=sha256:fea1eaa3fc7e9da366b9199d19540d311eb2c953436936b96c6c1f9e81ebf501 +networkx==3.7 \ + --hash=sha256:e3fd2c13a7814cee3746340d8d7f8598a67f16a58bf47fb7f8793fab6efca1b0 \ + --hash=sha256:fd77a511bd90f39f3d016351345b52cf5319b813bdca01de3f755d3cca62e96a +oscrypto==1.3.0 \ + --hash=sha256:2b2f1d2d42ec152ca90ccb5682f3e051fb55986e1b170ebde472b133713e7085 \ + --hash=sha256:6f5fef59cb5b3708321db7cca56aed8ad7e662853351e7991fcf60ec606d47a4 +paramiko==5.0.0 \ + --hash=sha256:36763b5b95c2a0dcfdf1abc48e48156ee425b21efe2f0e787c2dd5a95c0e5e79 \ + --hash=sha256:b7044611c30140d9a75261653210e2002977b71a0497ff3ba0d98d7edbf62f7c +parso==0.8.7 \ + --hash=sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c \ + --hash=sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1 +pathspec==1.1.1 \ + --hash=sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f +pillow==13.0.0 \ + --hash=sha256:02464da86f561f410e13b061ec37c3068a9cb557a095494157742d07b3c24a27 \ + --hash=sha256:04a63720f79e22fd54d897c233a68314c50ca0603360f54ce2bd5db8f0f43782 \ + --hash=sha256:05cd2cd39055d0b9650060e4513ef4a9a0aea870083950bd046a0d6490f93a22 \ + --hash=sha256:06903aac074d00c988e77a1fc435286dc498506d4ca8d6f69df9babddf4ecc15 \ + --hash=sha256:08b826a9bf1265c76de04a42061d61ea6b109418b7826f28ff1ecdfaa26c5502 \ + --hash=sha256:0d1a9cf7bc6917538b20f8d06b9ab2147e542f68849e96fc58eb66bdf6acc692 \ + --hash=sha256:10b5019883c98f1dd819ca48ffc6f33a91cee04948fe637c605f4345c7cafd6f \ + --hash=sha256:12b0fa15879fe5a9d9eebe66e4e2d74128a773b1a4448010c9c714f45e04b9d8 \ + --hash=sha256:12fbb851cf323cc19aac3eea1df5ad17b57e91e9fe3cfd06100dba7bb8208c13 \ + --hash=sha256:149a1c323ba366f90b48e6f1a6db6582eb50512df374588de56fc909abc0f0f3 \ + --hash=sha256:19b66ca0a4d25cc0200b381ce824c7ea090db61427315e73cfb05dbf1b35c369 \ + --hash=sha256:1c774b9c0ba0d0b356f71530677b39028878a2cae5a93e0a13779cfd17120f88 \ + --hash=sha256:20722cd5375533ad754053363a80b8fb30c79d37930a6f7228030e237ce3bd5d \ + --hash=sha256:20822140c9a2ba9c5e42df342b0a892ab2e102fc0e3db967a133bb9ce3f898bb \ + --hash=sha256:21c32061a5512dc13f87cc7303e120e4d77c2f70df89a35af0e3ce246e5ac57f \ + --hash=sha256:2310e2adfc13c6d457d7d0f2ffdd5c56a74a317650cf765887df8d515a647ac0 \ + --hash=sha256:23edf4ec4b6f4f240e8df6e4985e9ee2ced86474632433e55fb1e2548744bf40 \ + --hash=sha256:2d50500a4a3bc6469adcdb319cf05d688b08ca3bf0f22a05339f3b25b433a599 \ + --hash=sha256:2e31c4e68cffd7b1f116127626813b82fcba19edf6b940a7b0c266d6484d0055 \ + --hash=sha256:34fb3db1149c879343861831728c243c432d4a5afc8f1878ca7612ef8de2a033 \ + --hash=sha256:37290fbef0c73e2d51d594eb78fded7dc7170d1c3ad0a890269e6fd8c8c4e061 \ + --hash=sha256:405be6058e206a86fedce2f715ecc2343f94072d7925251632dffa2c05f70dca \ + --hash=sha256:40a266371ece581e5de13b6635ef78d7487824af80561b6ca27694a88c19bc0f \ + --hash=sha256:42d63be3af4f9b951b199b0a9d23365d37ab14687e6d77b74940432c8515c4ca \ + --hash=sha256:44629d4498c9cb6b2051806155f22141df0d8a929c56134b166655232dfb2f8c \ + --hash=sha256:49c12af515073e9bf511e4ef736743bf70d531a643668722279314b937742ba4 \ + --hash=sha256:4a25756244bdcce3b50580baadf320fa48297f0eeb8e114ba64139a40d4d0fc8 \ + --hash=sha256:4bd024d567eca931b668978d672dba914d4b8e2628e2c3073a2ad178de8a2620 \ + --hash=sha256:4f8db54177035a2b5f717f94475b74907e12a96dc74f6d487f3966b0a4694071 \ + --hash=sha256:51ebb529fc5e8abdd55302f6c3f8943037348ec2384329a3e55677f69ae2fdfc \ + --hash=sha256:567f20f1c75897d7663830da6ea8af719e03d712b1d9ee7f813319f9ece42e5a \ + --hash=sha256:5933fcea5a5ba64c686f55c886a115cbfd92f2900460784a1e79909fdbafd7b6 \ + --hash=sha256:5bdb38ba220b61b4ec31dd1046dea6b016d3c6850a23f43ed8b58332b2fc668e \ + --hash=sha256:5f56499c1a74d2b862beb0c33b8016f99d095858455df9d21583bbbc1c15b582 \ + --hash=sha256:67871a13cf47275201553b536c025da777f997fa562a19eb798af4ad4b97c18f \ + --hash=sha256:67c8d44ad89fa7eb88de5d6ef6199b1e03dd24974f85a67639fc8badb801fe79 \ + --hash=sha256:6a0920cb55df5a4d3f6862964908078c0bd59332bdd1bcd20d14e8c70ef27cc5 \ + --hash=sha256:6bce6a29c3898191f4c9998e4d4e8f69790caeabde46e54da4bc235ce5bde683 \ + --hash=sha256:6f38f3f885a09cafc93fd667b1173a92f379e43785d635e7983c893f0da319fb \ + --hash=sha256:73ee25cf8cf8b75d5a5aeed7cb6588f5e5dbfbb0fde51707b630bbb23897645c \ + --hash=sha256:7b999816b5850a35ada08443e6e03945f1f6488144a83afe2d37b240a552aafa \ + --hash=sha256:7c88c10dd432f3b39ccdafc9ed81d0c21b8fd634502574da76d1bfa4fe2c76d0 \ + --hash=sha256:7d5e097eabd5d4915c27ac9f6e9325bb1e01a7c94d7348b5c4451d3fc30e8521 \ + --hash=sha256:7e91e97a929232cdb828889ee6ad0e48d7f40f4ec38818f4e4a8968b2b1af22e \ + --hash=sha256:7f6299e494e46253d40c34653cac369412f44ca53b5f85d848d3f95b1ed0546c \ + --hash=sha256:816752a5ef76a80484c8c441c85593b7ea9304f6231fc5776ad1fbff7e773058 \ + --hash=sha256:83b37abd87b590acd8f47ca8a61f70893322b11834d36e07c2298dacad4d14d2 \ + --hash=sha256:8619685cad8efc4c38c66d3b36aad854523297c43d748b3b6f0cc03c90ba3463 \ + --hash=sha256:8bf295fe459343bc6093c8e5e0df60bfa189e0fcb775a22e2c2488fdeccc6c0d \ + --hash=sha256:8e459b613cf31f8980f584387b4fe47bf08e076e288d61aa8eba1f7fd4ddbb81 \ + --hash=sha256:8f36aa77f74b14a2103622b196402c71330e4e7cf4122ee45c854e9a01e0eecf \ + --hash=sha256:93ff9c9c3663ce23aaa5d0b6b6abac55359e2a0c06c7e30f3771829af816be63 \ + --hash=sha256:9a635068d9793c7f0d929f39f18b58f1bd86c236e8e7b64167b86af9232ebca0 \ + --hash=sha256:9dda0788a9932776a75d8bcc020076edc308ce2508b51f6739a45e3158b3fc42 \ + --hash=sha256:a192360d512305fe92d3053e4f7627bbad1f7708f1f4ad38cccd9336acabe9ad \ + --hash=sha256:a2a14cd73d5e6c927f644b0110ee81f59c4ef506259ec9183904747f2caacc81 \ + --hash=sha256:a625df9a2a5597fa5e5266e01aefc82604bb85d291e3547981e863560d75da6c \ + --hash=sha256:a6aaa7871aebca081eb5c45f83e845bbd9712ae99fa9286dbfdcee835e63f4b4 \ + --hash=sha256:aa694c49787040943570d61c9b8fc01271bd2a2cfdd55f0d896f8aecdce1a981 \ + --hash=sha256:adb3c2124c68e480f4632d06cb7caa3b48a51678475f483b4edb1c6dee29ea43 \ + --hash=sha256:b84be41387fc00db28c13c02e30d42b02d8d8f6a4a741a1aee6012ca7f1f6039 \ + --hash=sha256:bf97ba1b5542050e9b0c74e632323b6d8136cc99d64e193abebee22fe6013c76 \ + --hash=sha256:c3bc8ee0271387e0b1e3ad0ff893645990a656e79bf9c42f4f734a3642b11d51 \ + --hash=sha256:c50c80e3591e5cf9a8dfa6007d4f10732f02e32263850999286e56ccd650cfb2 \ + --hash=sha256:c6fd031333dedcad7ce3e03d244093f43504f209e86925ebdb2b868fa4037630 \ + --hash=sha256:c87a04e7f152ee4db5dbe15f0bfa3fe628a1aeedbe66b81c43b87f52c813f9ac \ + --hash=sha256:cdcd1ba258178f7356d74170c9a81ba4eab6a5d55748bc402a5a2a6fe6be3510 \ + --hash=sha256:d4737f50d23ddd11d6685faacbb9252887dde0bc7997127757247983d74399d6 \ + --hash=sha256:d7710eb676e9bb68965cb045be0d333b4c0d7f9dfbaa7fbf121385b1588683d3 \ + --hash=sha256:d9b0a2bee3f3e03e9f29057aedb807dbf1e1d96ee1b9d0f422d9db6c8583271d \ + --hash=sha256:e65dd6e75de67b2362a4fa3e16aa627595f65054dc4ec73d64680c84d592fa61 \ + --hash=sha256:e892354a424b1e82a78ba16785822bdd40de06f19446a3d4a28047df1a4f8932 \ + --hash=sha256:e8ca8f69b7c77fa96dad99f8638c1fc4f1c0bed4acaa1baf7a3c31bdb80a0ab1 \ + --hash=sha256:e91c2b1cbeae768c98752e67e717e283d68dae45717b41f2d91eaee648e37b7d \ + --hash=sha256:e98b4f91f99b24b1da72e10621ba181f7281922384a7403094debb4199de6c00 \ + --hash=sha256:ef5fe6b7db3f501c56000ba8fe7c7e1a35ca1d45824fbeb95a67daa85cff4dbe \ + --hash=sha256:f11a3c1358bb3c68012a7b1f41b223c3db9f7bfde90b481df028cfe1c3363313 \ + --hash=sha256:f391dc92a015c478745192fe4f2e120c2af2aba18d9fe0616341cbf537599806 \ + --hash=sha256:f7cbb7a64e7ec664775195e4f81923bc8a93d9451b963f844e59118f63147a7a \ + --hash=sha256:f9bd7d260d986f3553518c5d723544346fa48031f8aef3265d786aeb59845bc0 \ + --hash=sha256:fc481f742ccda20e9ed760b8f978dff50f2a4e9bc253ac167fb0a05b0783ef52 \ + --hash=sha256:ff3fe9eb621fbb9db4c4be33ab946f6bac5f98ab50ca8d3260503653656c961b \ + --hash=sha256:ffea6b2986a797c84b6d1d27d4f43e0b83c73fc16281a930891cd237cf0d08fe +platformdirs==4.13.4 \ + --hash=sha256:502ce08e9d36cf90579ee44e1e764838842fa658e4975ef47344fd053011d2c8 \ + --hash=sha256:dd96496961684a7f42041923f842ec7494e09f5e87aded99117e1109cd40570e +prompt-toolkit==3.0.53 \ + --hash=sha256:01c0891d7f9237d5e339f7d3e42cdae80b7534abb1c7c0e3352efba6231492f2 \ + --hash=sha256:9ec8a0ad96d5c56148b3f914aa79c1564c3fde5d2e6b876e7bc327e353cf8fa6 +psutil==7.2.2 \ + --hash=sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372 \ + --hash=sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9 \ + --hash=sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841 \ + --hash=sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63 \ + --hash=sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979 \ + --hash=sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a \ + --hash=sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b \ + --hash=sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9 \ + --hash=sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee \ + --hash=sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312 \ + --hash=sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b \ + --hash=sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9 \ + --hash=sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e \ + --hash=sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc \ + --hash=sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1 \ + --hash=sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf \ + --hash=sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea \ + --hash=sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988 \ + --hash=sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486 \ + --hash=sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00 \ + --hash=sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8 +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 +pure-eval==0.2.4 \ + --hash=sha256:260c2774686e651b79f8b8e7fc9d80b3599ea6a66334b47d5f4abb69fc2c0ea1 \ + --hash=sha256:96cae060a313cfaad51bb761278bfb0e62dc0248d9315a81173752dc546cd37a +puremagic==2.2.0 \ + --hash=sha256:c4f7ed7307f056c787199acfda839555921be1df13abba61e8e6db0c787ae1d0 \ + --hash=sha256:eb4bddf07c177c4b434554b92165b67449f5a51e152b976202d6254498810eef +pycparser==3.11 \ + --hash=sha256:51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80 \ + --hash=sha256:d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc +pydot==4.0.1 \ + --hash=sha256:869c0efadd2708c0be1f916eb669f3d664ca684bc57ffb7ecc08e70d5e93fee6 \ + --hash=sha256:c2148f681c4a33e08bf0e26a9e5f8e4099a82e0e2a068098f32ce86577364ad5 +pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 \ + --hash=sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c +pynacl==1.6.2 \ + --hash=sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c \ + --hash=sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574 \ + --hash=sha256:22de65bb9010a725b0dac248f353bb072969c94fa8d6b1f34b87d7953cf7bbe4 \ + --hash=sha256:26bfcd00dcf2cf160f122186af731ae30ab120c18e8375684ec2670dccd28130 \ + --hash=sha256:2fef529ef3ee487ad8113d287a593fa26f48ee3620d92ecc6f1d09ea38e0709b \ + --hash=sha256:320ef68a41c87547c91a8b58903c9caa641ab01e8512ce291085b5fe2fcb7590 \ + --hash=sha256:3bffb6d0f6becacb6526f8f42adfb5efb26337056ee0831fb9a7044d1a964444 \ + --hash=sha256:44081faff368d6c5553ccf55322ef2819abb40e25afaec7e740f159f74813634 \ + --hash=sha256:46065496ab748469cdd999246d17e301b2c24ae2fdf739132e580a0e94c94a87 \ + --hash=sha256:5811c72b473b2f38f7e2a3dc4f8642e3a3e9b5e7317266e4ced1fba85cae41aa \ + --hash=sha256:622d7b07cc5c02c666795792931b50c91f3ce3c2649762efb1ef0d5684c81594 \ + --hash=sha256:62985f233210dee6548c223301b6c25440852e13d59a8b81490203c3227c5ba0 \ + --hash=sha256:68be3a09455743ff9505491220b64440ced8973fe930f270c8e07ccfa25b1f9e \ + --hash=sha256:834a43af110f743a754448463e8fd61259cd4ab5bbedcf70f9dabad1d28a394c \ + --hash=sha256:8845c0631c0be43abdd865511c41eab235e0be69c81dc66a50911594198679b0 \ + --hash=sha256:8a66d6fb6ae7661c58995f9c6435bda2b1e68b54b598a6a10247bfcdadac996c \ + --hash=sha256:8b097553b380236d51ed11356c953bf8ce36a29a3e596e934ecabe76c985a577 \ + --hash=sha256:a84bf1c20339d06dc0c85d9aea9637a24f718f375d861b2668b2f9f96fa51145 \ + --hash=sha256:a9f9932d8d2811ce1a8ffa79dcbdf3970e7355b5c8eb0c1a881a57e7f7d96e88 \ + --hash=sha256:bc4a36b28dd72fb4845e5d8f9760610588a96d5a51f01d84d8c6ff9849968c14 \ + --hash=sha256:c8a231e36ec2cab018c4ad4358c386e36eede0319a0c41fed24f840b1dac59f6 \ + --hash=sha256:c949ea47e4206af7c8f604b8278093b674f7c79ed0d4719cc836902bf4517465 \ + --hash=sha256:d071c6a9a4c94d79eb665db4ce5cedc537faf74f2355e4d502591d850d3913c0 \ + --hash=sha256:d29bfe37e20e015a7d8b23cfc8bd6aa7909c92a1b8f41ee416bbb3e79ef182b2 \ + --hash=sha256:fe9847ca47d287af41e82be1dd5e23023d3c31a951da134121ab02e42ac218c9 +pyparsing==3.3.3 \ + --hash=sha256:928ae7e20211f3b6f3915a72f06a0cfd29ab9d24279dd6346b6b1a7146397d36 \ + --hash=sha256:ece8c00a69cf01b45d0b1dedabb469c90d8caf996d4fda40f147627a122849a4 +python-vagrant==1.0.0 \ + --hash=sha256:9f24a29e3f7b17d79c399d0f358d9cc1b76fd5495698c438a39cdae89de467f0 \ + --hash=sha256:a8fe93ccf2ff37ecc95ec2f49ea74a91a6ce73a4db4a16a98dd26d397cfd09e5 +pyyaml==6.0.3 \ + --hash=sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c \ + --hash=sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a \ + --hash=sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3 \ + --hash=sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956 \ + --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \ + --hash=sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c \ + --hash=sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65 \ + --hash=sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a \ + --hash=sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0 \ + --hash=sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b \ + --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \ + --hash=sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6 \ + --hash=sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7 \ + --hash=sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e \ + --hash=sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007 \ + --hash=sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310 \ + --hash=sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4 \ + --hash=sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9 \ + --hash=sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295 \ + --hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \ + --hash=sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0 \ + --hash=sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e \ + --hash=sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac \ + --hash=sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9 \ + --hash=sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7 \ + --hash=sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35 \ + --hash=sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb \ + --hash=sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b \ + --hash=sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69 \ + --hash=sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5 \ + --hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \ + --hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \ + --hash=sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369 \ + --hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \ + --hash=sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824 \ + --hash=sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198 \ + --hash=sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065 \ + --hash=sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c \ + --hash=sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c \ + --hash=sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764 \ + --hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \ + --hash=sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b \ + --hash=sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00 \ + --hash=sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac \ + --hash=sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8 \ + --hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \ + --hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \ + --hash=sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3 \ + --hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \ + --hash=sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4 \ + --hash=sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b \ + --hash=sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf \ + --hash=sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5 \ + --hash=sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702 \ + --hash=sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8 \ + --hash=sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788 \ + --hash=sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da \ + --hash=sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d \ + --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \ + --hash=sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c \ + --hash=sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba \ + --hash=sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f \ + --hash=sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917 \ + --hash=sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5 \ + --hash=sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26 \ + --hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \ + --hash=sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b \ + --hash=sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be \ + --hash=sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c \ + --hash=sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3 \ + --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ + --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ + --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 +qrcode==8.2 \ + --hash=sha256:16e64e0716c14960108e85d853062c9e8bba5ca8252c0b4d0231b9df4060ff4f \ + --hash=sha256:35c3f2a4172b33136ab9f6b3ef1c00260dd2f66f858f24d88418a015f446506c +requests==2.34.2 \ + --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \ + --hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed +ruamel-yaml==0.17.21 \ + --hash=sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7 \ + --hash=sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af +sdkmanager==0.7.2 \ + --hash=sha256:44af591fd60aafd34aa1bb7f759c8cde9ede72d984a1b688e0563e262e559265 +smmap==5.0.3 \ + --hash=sha256:4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c \ + --hash=sha256:c106e05d5a61449cf6ba9a1e650227ecfb141590d2a98412103ff35d89fc7b2f +sqlalchemy==2.1.5 \ + --hash=sha256:061d089901319463a1160e4596191e355d2a9b4cce4852dac5adc301b085ac2f \ + --hash=sha256:09b10bd68223d57cce39c08947efae3f91ac40b552e07c7c869c3350a0fc4c23 \ + --hash=sha256:0df76cf1ca680ad745bd378a6299a058611a8a784eeaeb4ed78ad4a0b7ce2003 \ + --hash=sha256:11185c72b5372369166cb721537943f8e1e6e42a399e9bac19e02f3ee20592a4 \ + --hash=sha256:116cad2685f16398c3486e30832e07197a7e12147e465a44a187c250059f23d0 \ + --hash=sha256:143cea634f03f9a8009fdeaeab46808031ab05bf0c50ec0aa25da51c29bdeeb8 \ + --hash=sha256:173054351d863ddada188284e309e87a9f030132c8d534e05458971ff061aa1e \ + --hash=sha256:17f8c68bd35bb76b2d9ef1097941fb783ef9ef6604c1d2a72c2e276430aeffca \ + --hash=sha256:1cf433bcb77696cc915552d7f1e8d9117a5dae5aff9fceb06a69d74b3b3c2bd1 \ + --hash=sha256:22c8d0873168a54f614e381559ea83d547b2cc5488b95b049bdc92667586bd5f \ + --hash=sha256:22eeeb297ced15cd7571aca242aede6a59141dcc3282c29c987fbc83f05c823b \ + --hash=sha256:2549e503185897de1fc5ca7730d5daed0d27d0b26df4a059dcdd33ebe81b7b4b \ + --hash=sha256:29f47da90629119646ef90c52f6185131a10b6ed811b26490b01c31a9e9b2453 \ + --hash=sha256:2ca1b380f940fbd94c1df94d7b502b9c496fe9a62f5200e0c6feaa8db7175401 \ + --hash=sha256:2f77b77b716f005b2dc3cc059d56df6a919bfb5b439e4149890a9df6c36be9e3 \ + --hash=sha256:3033ddeeeb34c6c536622c07e932a20f8c9f58d6dd76e56595a76b55a25011ff \ + --hash=sha256:375ef1bf78bc269a220963163d2580d5377898ed23a00bdd98a02d755421573d \ + --hash=sha256:399d3e212cb557d5bd1ca6f79981e8c3f45c0f6be60b63a9ded790396a81af08 \ + --hash=sha256:3cc3292040c980e9f1a54b14da76cf938a6a04a27e8acf6cb7709e9c3a40935b \ + --hash=sha256:3eb1907fc67aacc160276e7f61c1f71a7a38c10e84ff87b74d90cae0abd137bb \ + --hash=sha256:3f566787cb3a6a25ad8c5170e90167d4e8ea103d412aa4ea95021a6df0b95964 \ + --hash=sha256:46a50f5d226e9321970867c91252a71485301b67eaee2f76db92b2f6bea5fdcb \ + --hash=sha256:4c4666b9884e4a807b27835ab236056278915ea9549a2405e83d86297e7ba0da \ + --hash=sha256:5173207b8fe1ddfc1d451c420a2a9cbbd0734b4a19896b8080e3744497e1c20c \ + --hash=sha256:51e290080415325b66a94d20f6360e310606acb832f2bd677d4fcb95728e7ce1 \ + --hash=sha256:5541a110ac4bb6377c785aea1b8f0b4d6658ed0ca5061ed1115d0725062b026b \ + --hash=sha256:59a56be2e4e972061f9d5c1d5b01763b8b2207b48b956fbb6879c7443f5817f7 \ + --hash=sha256:59dbd7412531da0124df8667a244b5155773632e9bd79a5c2ead393b11b59de5 \ + --hash=sha256:5a6871ee159a943d874012de835d56d0544ee871a99dbae05bc053da315b2c23 \ + --hash=sha256:5cefa5badc13df1c9082bacdfa435c8eb6dcb9b32717f51d09d1e160a599646f \ + --hash=sha256:65eece9d9494e46de1eb3d49eb438acfcecf059e7a92a2f3daf72ec26d371757 \ + --hash=sha256:6a51c56afdb880e9f83736a2e81c02dd002fe1c5ad68346a35d97a2e135b1568 \ + --hash=sha256:6c229afac414d691d2f69a6f4e294ac5b5fd334c49da1f4fb86ab7f2a466271d \ + --hash=sha256:6eb2fc3c1e8d2498d944b6ff64d32a63a5c900a14892c200626e701e69187113 \ + --hash=sha256:7133bd0ac969ba1a108508975e0c26229329cadaaa48844f0a038dafa610693b \ + --hash=sha256:72ddd7a8ec187d02de0ef316a15aaf381ddcc594958247b02a3dcdb4c42f0b02 \ + --hash=sha256:740e96dfb99a615c8056070d3747efe8bce4c145e5953ccc9e4b004c139de0d2 \ + --hash=sha256:7af1c92255cf8d50e87a808ce41096907332acdd09f285426a52f7c300e152db \ + --hash=sha256:85891e0828e76a77fe912995dbc3ee949099488ba0a2ab323535d2e767446b20 \ + --hash=sha256:898d86c22640fe52ffe02b4abc043a3c6754b4875837599e739be440966dffa1 \ + --hash=sha256:926c61c589c3bebb6c540ba0b60fd9a2e8eaf6b5ae9e3ec94cb2cbb2fe10a022 \ + --hash=sha256:92a0bb0595331c8e40bc615a67cc7bca9b761487409d1bf46c598b6ba5c0754d \ + --hash=sha256:9bb993b1d0890a2da90589684c3d09de75df82c06aa8f7eda246c7cd0ea3e820 \ + --hash=sha256:9edda6c6e22113702d9603b1178f1ab16f5120b49995134b407f11ebb4446b91 \ + --hash=sha256:a0b80f91d9ed92be7a134278ea2e83a693c07d9986824ca51d859af9e57e18f5 \ + --hash=sha256:a534a39a9247a17843d9f6e34a0877d1a2af870b273e53e1c453b3a65f93c28e \ + --hash=sha256:a72e062d2d38826dd89231df692fb40f12d7d1b9d118be23bcc1cf93c6e31782 \ + --hash=sha256:ad305d5fed915340464441dfed47086303936288ed0a5ebc1a0b2ed41678fa41 \ + --hash=sha256:b3732a60b01560c9efee3b9ea188dc12614b2642ffce4f8235c4fbf72dd40fe8 \ + --hash=sha256:b3ad20cd035392f2b91a6466e24643990c1378beda80c9bda87a3a41e841e838 \ + --hash=sha256:b79ee943e2e12246f873345762b83dbadd1fcfc3e832eab83272d672704dbdea \ + --hash=sha256:bac60969b1a96f8ee4db82c647a3370860f76b2a41dd7b95f578a8421c7c87bb \ + --hash=sha256:bc09dd22c3fc491a2df7d16ca4167de35573f40c2e82dd4d6ddae589a73e7032 \ + --hash=sha256:bc1a61d7f42e71746b5a2e10e90a6b174b4add441b7b6cf14278f1e029b2b800 \ + --hash=sha256:c228084025a28aa038aef9b821d842508650fe12fe51f06e9cdaa4393be7812c \ + --hash=sha256:c3ffbe6c680c626403b7e9697d92465501078731b9e8863b1410826e66b950e1 \ + --hash=sha256:c76d4cb9c76a6906563133449a76d9eae6c8529ca09484b8615ca604442b442e \ + --hash=sha256:cb7afa85837f56cd07235dbb05858f5137d5fe7a1e813b12669a52462a1b6ae5 \ + --hash=sha256:cc44dcc80e89a006af415edffc7409b1f2976a4597065449c166987f95801ab4 \ + --hash=sha256:ce8d3de4e0489671fa023dea3f769360df02b2df6e482a44f8fa4421dd41c0ae \ + --hash=sha256:db34eefaf992c84460ab26ecf2fc2bdcc68965d6becfae8182cae0efeaa3e8f8 \ + --hash=sha256:dc1c86db97372e6bba18a7bcf0f6150dbdd808237f0f52802ef0bec676a94642 \ + --hash=sha256:def2f117a6ec0a25202ee36a148bbcfad3d43e2f2bb2e698e6d4448c6db5cb19 \ + --hash=sha256:df7e71ed051e4003e73484ef6547aacfb3a2322aac0c230d530c97e48e77b4d7 \ + --hash=sha256:e9418d87b55c469c2f1328246d4533238cdc43134c695d6b9a6b7a87da49d463 \ + --hash=sha256:ea4cb5022462d9f15e7b72a52c267385aa97ac224c8503ac63ba90c0067ad0d9 \ + --hash=sha256:ee7267d7ffed80c370dfdd7ad1c741d0227f0e8054b83d00715fb99307bd330c \ + --hash=sha256:f029b2f7114623c03f762596f313515a2358004c44eb18924a15940f2e27d30f \ + --hash=sha256:f4d30723171d511ec16ac057872a38b9b395420c0aaf81b2f94dd7bf1345c5fe \ + --hash=sha256:f5173a6e60a15090f9e2348a8ca94cc13de72796c16733f3b62fbb22acba07b8 \ + --hash=sha256:f5bc7fb93f1c17efefeb062bc4d2742ad1b71d56c36e6e2898a371ac6a56839a \ + --hash=sha256:fb8dcd5e1cc12fdd4d490819ec7a56e8c02e86ca9087a472e28b422ff932bae0 +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 +traitlets==5.16.1 \ + --hash=sha256:ed900c2b631aa3a112811139fa97b8d2c3bad5e989656bba4b7e52c7852c18c1 \ + --hash=sha256:f775618166caa0396c8e337099240f2bd3e5e917d203b2e6fbe21a58d3cb1f6b +typing-extensions==4.16.0 \ + --hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 \ + --hash=sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5 +urllib3==2.8.0 \ + --hash=sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3 \ + --hash=sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63 +wcwidth==0.9.2 \ + --hash=sha256:0a47e03d8293590ecce66c45dc20ff7b4b885e3c78093722239585eca0d77ab2 \ + --hash=sha256:0cd4f7f2e53905dcb110d213a4c8529b6733fa3d232d8c717f946cc69a10349b \ + --hash=sha256:138e1f8898e431b2f2d7881f8ca8d75591c1d3c21aa53f54e989bd6b39811da2 \ + --hash=sha256:196b47cf32f9df27ccda6dc513237f3c2429c4c659db428d60a5bc443d10f270 \ + --hash=sha256:1bf361c8705576760623b4724ae564666d73b016f9a778bcfd1c7345378ef4ec \ + --hash=sha256:2a9746de704242bd4fdaabb31dd46b82f694a56a8d21081ad89b679a89da9fec \ + --hash=sha256:33df042f96c61ed3cd5fb3742fba427553a635bc578799857a48aa79f774a0b9 \ + --hash=sha256:42dbcb76ce8af39e2c9db410ac3f9bdf4e47eb41d6f44525952f172d3d98f724 \ + --hash=sha256:48719a9bc76c2f84238693fe5013571fa5beffa3621cf228f1f3a9e30dae84b8 \ + --hash=sha256:5175609bf8cc7398a5f48aa35207bd64ebf9f45e4c70df65f7fdc7a988041a3c \ + --hash=sha256:59dab4049cbd982b478bca098528df2c79a9160636a3a163ffebffcbd7d1b892 \ + --hash=sha256:674b518af28d38ee645ff97b74f5760abee5fad4bac74413bfc4b881ef2ce724 \ + --hash=sha256:67d901a4ad99249eb775b4ee4769ca97fa405d35a75f46e83166910a47003f04 \ + --hash=sha256:734aa9405b321d1042301aa19c943c4731ee9e3460e4f8feea3299c064c97a14 \ + --hash=sha256:751bef0ab404b6a1dc028b56b4b85d46486be1c55833f80da533e42dc691f389 \ + --hash=sha256:7ef5a940bd5e30bac6e721f1a48fce0cd7bb3ece19e9c5d139e72c76c35cfd07 \ + --hash=sha256:89ca642c5bf0101157a09366be69fad0379db1f700ae39a920e103234573670e \ + --hash=sha256:8b4e381590b9b7390e07e22b2c0c1bb96ce50e1d2243c866d9387600362d51ed \ + --hash=sha256:97b878d1e158da5ed9ac5aac53fa3a55e282103af6a09ec353865613d1a31a76 \ + --hash=sha256:9e542f1f8475b78452a295495d7a5bc3ead565112e9446a64dc93462a41c2a79 \ + --hash=sha256:ae0800c5339423cc53d33a266ad264b42ba8aaa16d4464f6e6b1bee607f50b17 \ + --hash=sha256:ae0ef90b90f6af38b54f1fe6d58662ec33b3cb4b8391958a62416d654231727b \ + --hash=sha256:b9c6ab615e03723b7f8760ea2f27758d656e7e13b51515c9dca5c3e8b04612fa \ + --hash=sha256:bb08ceb501d6aaf94066c3ee122dd825b152df40ff0bd0df4dc27126233b948e \ + --hash=sha256:c3d80f39ba4653a595edae9aa46a509d14883790a8fc23c5db221ceb207f64b7 \ + --hash=sha256:e5f669ae8c3d969c72032f9cdee019674b666e522d45e1e2099a2e9dda4a341d \ + --hash=sha256:eda88ffdc97c0fbf193d407114f2c7a54b379f67f6e52a7531ee3b9fe749eca7 \ + --hash=sha256:ee1fd0db9d9fd711a70f3e7765e0e04c05d26982fa05361456163062549d7da4 \ + --hash=sha256:f2f7b3bba5a5d5f31fc350fd36ce5b84b693c83b7eb95ee630b720da5a5ce06f +yamllint==1.38.0 \ + --hash=sha256:09e5f29531daab93366bb061e76019d5e91691ef0a40328f04c927387d1d364d \ + --hash=sha256:fc394a5b3be980a4062607b8fdddc0843f4fa394152b6da21722f5d59013c220 diff --git a/src/MeWeb.Server/DownloadPage.cs b/src/MeWeb.Server/DownloadPage.cs index 39b4041..8f1f780 100644 --- a/src/MeWeb.Server/DownloadPage.cs +++ b/src/MeWeb.Server/DownloadPage.cs @@ -9,6 +9,9 @@ namespace MeWeb.Server; public static class DownloadPage { const string Fingerprint = "5F:52:CF:F4:F5:2F:4E:0B:6D:A6:CD:04:4B:FC:EA:F7:8D:1D:42:DB:24:F2:47:06:02:DB:7F:19:CB:FD:F8:46"; + const string ObtainiumApp = $$"""{"id":"software.arasaka.meweb","url":"{{Endpoints.FDroid.Repository}}","author":"Arasaka","name":"me-web?","overrideSource":"FDroidRepo","additionalSettings":"{\"appIdOrName\":\"software.arasaka.meweb\"}"}"""; + static readonly string Obtainium = Endpoints.FDroid.Obtainium + Uri.EscapeDataString(ObtainiumApp); + static readonly string RepositoryKey = string.Join(":", Enumerable.Range(0, Endpoints.FDroid.Fingerprint.Length / 2).Select(i => Endpoints.FDroid.Fingerprint.Substring(i * 2, 2))); static readonly Dictionary> Words = new() { @@ -20,6 +23,11 @@ public static class DownloadPage ["None"] = "There is no release to download yet.", ["Android"] = "Android", ["AndroidNote"] = "Your phone will ask whether the browser may install apps. The app is signed; its certificate's SHA-256 is", + ["Updates"] = "To get updates without coming back here, add the Arasaka repository to F-Droid (or a store like it), or add the app to Obtainium. Either way you get the same signed file.", + ["AddFDroid"] = "Add to F-Droid", + ["AddObtainium"] = "Add to Obtainium", + ["RepoAddress"] = "The repository's address is", + ["RepoKey"] = "and the SHA-256 of its key is", ["Windows"] = "Windows (64-bit)", ["WindowsNote"] = "The file isn't signed with a paid certificate, so Windows may say it protected your PC: choose “More info”, then “Run anyway”.", ["Linux"] = "Linux", @@ -43,6 +51,11 @@ public static class DownloadPage ["None"] = "Non c'è ancora una versione da scaricare.", ["Android"] = "Android", ["AndroidNote"] = "Il telefono chiederà se il browser può installare app. L'app è firmata; lo SHA-256 del suo certificato è", + ["Updates"] = "Per ricevere gli aggiornamenti senza tornare qui, aggiunga il repository Arasaka a F-Droid (o a uno store simile), oppure aggiunga l'app a Obtainium. In entrambi i casi riceve lo stesso file firmato.", + ["AddFDroid"] = "Aggiungere a F-Droid", + ["AddObtainium"] = "Aggiungere a Obtainium", + ["RepoAddress"] = "L'indirizzo del repository è", + ["RepoKey"] = "e lo SHA-256 della sua chiave è", ["Windows"] = "Windows (64 bit)", ["WindowsNote"] = "Il file non è firmato con un certificato a pagamento, quindi Windows può dire di aver protetto il PC: scelga “Ulteriori informazioni”, poi “Esegui comunque”.", ["Linux"] = "Linux", @@ -76,7 +89,9 @@ public static class DownloadPage { var version = release.Tag.TrimStart('v'); html.Append($"

{E(string.Format(culture, words["Latest"], version, release.PublishedAt.ToString("d MMMM yyyy", culture)))}

"); - Block(html, release, words["Android"], [("android", "APK")], $"{E(words["AndroidNote"])} {Fingerprint}."); + Block(html, release, words["Android"], [("android", "APK")], $"{E(words["AndroidNote"])} {Fingerprint}.", + $"

{E(words["Updates"])}

{E(words["AddFDroid"])} · {E(words["AddObtainium"])}

" + + $"

{E(words["RepoAddress"])} {Endpoints.FDroid.Repository} {E(words["RepoKey"])} {RepositoryKey}.

"); Block(html, release, words["Windows"], [("windows", ".exe")], E(words["WindowsNote"])); var deb = ReleaseFeed.Asset(release, "linux-deb")?.Name; var rpm = ReleaseFeed.Asset(release, "linux-rpm")?.Name; @@ -91,7 +106,7 @@ public static class DownloadPage return html.ToString(); } - static void Block(StringBuilder html, GiteaRelease release, string title, (string Platform, string Label)[] files, string note) + static void Block(StringBuilder html, GiteaRelease release, string title, (string Platform, string Label)[] files, string note, string more = "") { html.Append($"

{E(title)}

"); foreach (var (platform, label) in files) @@ -100,7 +115,7 @@ public static class DownloadPage if (asset is null) continue; html.Append($"{E(label)} · {asset.Size / 1048576.0:0} MB"); } - html.Append($"

{note}

"); + html.Append($"

{note}

{more}"); } static string E(string text) => WebUtility.HtmlEncode(text ?? ""); diff --git a/src/MeWeb.Server/PrivacyPage.cs b/src/MeWeb.Server/PrivacyPage.cs index 50805fe..5ddc590 100644 --- a/src/MeWeb.Server/PrivacyPage.cs +++ b/src/MeWeb.Server/PrivacyPage.cs @@ -21,6 +21,8 @@ public static class PrivacyPage "To see how your router or your provider translates addresses for calls and games, the app sends one short message to stun.nextcloud.com, run by Nextcloud GmbH in Germany, which sees your public address as any server you contact does, and about twenty to stun.meweb.arasaka.software, run by the publisher, some of them two minutes apart to see how long an idle connection stays open.", "## Updates on Linux", "If you install the Linux package, it adds the Arasaka package repository to your system, and your package manager then checks packages.arasaka.software for updates, as it does with every repository it knows. That server keeps no access log.", + "## Updates on Android, if you choose them", + "If you add the Arasaka repository to F-Droid or a store like it, or add the app to Obtainium, that app checks packages.arasaka.software for updates. That server keeps no access log.", "## Nothing else", "No cookies, no analytics, no advertising, no crash reports. The app keeps your earlier checks on your device only, and you can forget them in the app.", "## Your rights", @@ -40,6 +42,8 @@ public static class PrivacyPage "Per vedere come il router o l'operatore traducono gli indirizzi per chiamate e giochi, l'app invia un breve messaggio a stun.nextcloud.com, gestito da Nextcloud GmbH in Germania, che vede il suo indirizzo pubblico come qualsiasi server che lei contatta, e una ventina a stun.meweb.arasaka.software, gestito dall'editore, alcuni a due minuti di distanza per vedere quanto resta aperta una connessione inattiva.", "## Gli aggiornamenti su Linux", "Se installa il pacchetto per Linux, questo aggiunge al sistema il repository dei pacchetti Arasaka, e il gestore dei pacchetti controlla poi gli aggiornamenti su packages.arasaka.software, come fa con ogni repository che conosce. Quel server non tiene registri di accesso.", + "## Gli aggiornamenti su Android, se li sceglie", + "Se aggiunge il repository Arasaka a F-Droid o a uno store simile, oppure aggiunge l'app a Obtainium, quell'app controlla gli aggiornamenti su packages.arasaka.software. Quel server non tiene registri di accesso.", "## Nient'altro", "Niente cookie, niente statistiche, niente pubblicità, niente rapporti sugli arresti anomali. L'app conserva le verifiche precedenti solo sul suo dispositivo, e può dimenticarle dall'app.", "## I suoi diritti", diff --git a/src/MeWeb.Shared/Endpoints.cs b/src/MeWeb.Shared/Endpoints.cs index ab44fbe..6bd4c04 100644 --- a/src/MeWeb.Shared/Endpoints.cs +++ b/src/MeWeb.Shared/Endpoints.cs @@ -74,4 +74,12 @@ public static class Endpoints public const string Releases = $"{Origin}/{Repository}/releases"; public const string Source = $"{Origin}/{Repository}"; } + + public static class FDroid + { + public const string Repository = "https://packages.arasaka.software/fdroid/repo"; + public const string Fingerprint = "42C47659B699E0B1A8BCF6F9CE2C4972972265B592BE32B5725B8F87C6BD0374"; + public const string Add = $"{Repository}?fingerprint={Fingerprint}"; + public const string Obtainium = "obtainium://app/"; + } } diff --git a/tools/setup.json b/tools/setup.json index f07a348..fddc5e6 100644 --- a/tools/setup.json +++ b/tools/setup.json @@ -47,6 +47,18 @@ "kind": "tar", "dest": "tools/jdk/osx-arm64", "check": "tools/jdk/osx-arm64/jdk-21.0.12+8/Contents/Home/bin/java" + }, + { + "name": "uv", + "group": "fdroid", + "version": "0.13.1", + "license": "MIT or Apache-2.0 (build tool, not distributed)", + "rid": "linux-x64", + "url": "https://github.com/astral-sh/uv/releases/download/0.13.1/uv-x86_64-unknown-linux-gnu.tar.gz", + "sha256": "eadd9d27c134ab5ac1ffd4473b97a741407f3ea238288f03121fc4deddf90220", + "kind": "tar", + "dest": "tools/fdroid/linux-x64", + "check": "tools/fdroid/linux-x64/uv-x86_64-unknown-linux-gnu/uv" } ] } diff --git a/tools/setup.sh b/tools/setup.sh new file mode 100755 index 0000000..472e0d0 --- /dev/null +++ b/tools/setup.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -e +. "$(dirname "$0")/sdk.sh" +exec dotnet run tools/setup.cs -- "$@"