aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2021-08-13 12:25:55 +0000
committerKai Knoblich <kai@FreeBSD.org>2021-08-13 12:28:58 +0000
commit83f30a2775ac114cf71dab7ea64917c618668f42 (patch)
treead6c154b4161a882f818b77c98637834fa68855e
parent4d0cb93ca9ba1b1c783dc5ffda0049a304832cac (diff)
downloadports-83f30a2775ac114cf71dab7ea64917c618668f42.tar.gz
ports-83f30a2775ac114cf71dab7ea64917c618668f42.zip
games/anki: Update to 2.1.46
* Remove DIST_SUBDIR, which once made sense when Anki was still a pure Python port. Anki now needs a lot of Rust crates that are also used by other ports. Therefore, these crates should be placed in the usual place and not in an additional subdirectory to save bandwidth and disk space. [1] Reported by: se [1] MFH: 2021Q3
-rw-r--r--games/anki/Makefile256
-rw-r--r--games/anki/distinfo1326
-rw-r--r--games/anki/files/bazel/BUILD.bazel-local_esbuild1
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rslib25
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rslib-i18n10
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rust_output-fluent_proto7
-rw-r--r--games/anki/files/bazel/BUILD.bazel-rust_output-strings_json7
-rw-r--r--games/anki/files/bazel/repos.bzl16
-rw-r--r--games/anki/files/patch-WORKSPACE9
-rw-r--r--games/anki/files/patch-defs.bzl27
-rw-r--r--games/anki/files/patch-late__deps.bzl14
-rw-r--r--games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl14
-rw-r--r--games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl12
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js12
-rw-r--r--games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel20
-rw-r--r--games/anki/files/patch-proto_protobuf.bzl (renamed from games/anki/files/patch-protobuf.bzl)14
-rw-r--r--games/anki/files/patch-pylib_anki_BUILD.bazel10
-rw-r--r--games/anki/files/patch-pylib_anki___backend_BUILD.bazel15
-rw-r--r--games/anki/files/patch-pylib_tools_BUILD.bazel10
-rw-r--r--games/anki/files/patch-qt_aqt_BUILD.bazel5
-rw-r--r--games/anki/files/patch-ts_lib_BUILD.bazel22
-rw-r--r--games/anki/pkg-plist251
22 files changed, 1185 insertions, 898 deletions
diff --git a/games/anki/Makefile b/games/anki/Makefile
index fbf47144582d..48f0787a0af7 100644
--- a/games/anki/Makefile
+++ b/games/anki/Makefile
@@ -1,12 +1,11 @@
# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
PORTNAME= anki
-DISTVERSION= 2.1.44
+DISTVERSION= 2.1.46
# Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes
CATEGORIES= games education python
MASTER_SITES= LOCAL/kai/:yarncache
DISTFILES= anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache
-DIST_SUBDIR= python
MAINTAINER= kai@FreeBSD.org
COMMENT= Flashcard trainer with spaced repetition
@@ -22,6 +21,7 @@ NOT_FOR_ARCHS_REASON= the bazel build framework supports only 64-bit systems.
BUILD_DEPENDS= bash:shells/bash \
bazel:devel/bazel \
+ esbuild:devel/esbuild \
protoc:devel/protobuf \
yarn:www/yarn \
${PYTHON_PKGNAMEPREFIX}mypy-protobuf>=1.21:devel/py-mypy-protobuf@${PY_FLAVOR} \
@@ -50,6 +50,7 @@ RUN_DEPENDS= lame:audio/lame \
${PYTHON_PKGNAMEPREFIX}Flask>0:www/py-flask@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Flask-Cors>0:www/py-flask-cors@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}stringcase>0:devel/py-stringcase@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}waitress>0:www/py-waitress@${PY_FLAVOR}
# USES=ssl is required for the compilation of the Rust code
@@ -57,31 +58,33 @@ USES= cargo desktop-file-utils pyqt:5 python:3.8+ shebangfix ssl
USE_GITHUB= yes
GH_ACCOUNT= ankitects
# Translation files
-GH_TUPLE= ankitects:anki-core-i18n:30ab198:ftlrslib \
- ankitects:anki-desktop-ftl:3920d26:ftlextra
+GH_TUPLE= ankitects:anki-core-i18n:dd67ac7:ftlrslib \
+ ankitects:anki-desktop-ftl:54188b8:ftlextra
# Cargo crates
-GH_TUPLE+= ankitects:hyper-timeout:anki-2020-11-03:hypertimeout \
- ankitects:reqwest:anki-2020-11-03:reqwest \
- ankitects:tokio-io-timeout:anki-2020-11-03:tokioiotimeout
+GH_TUPLE+= ankitects:hyper-timeout:0cb6f7d14c62819e37cd221736f8b0555e823712:hypertimeout \
+ ankitects:linkcheck:2f20798ce521cc594d510d4e417e76d5eac04d4b:linkcheck \
+ ankitects:reqwest:7591444614de02b658ddab125efba7b2bb4e2335:reqwest \
+ ankitects:tokio-io-timeout:1ee0892217e9a76bba4bb369ec5fab8854935a3c:tokioiotimeout \
+ timothee-haudebourg:pct-str:4adccd8d4a222ab2672350a102f06ae832a0572d:pctstr
# Bazel Skylib framework and sets of bazel rules
GH_TUPLE+= bazelbuild:bazel-skylib:e59b620:bzlskylib \
bazelbuild:rules_cc:40548a2:bzlrcc \
bazelbuild:rules_java:c13e3ea:bzlrjava \
- bazelbuild:rules_nodejs:1689fa1:bzlrnodejs \
+ bazelbuild:rules_nodejs:2d02e82:bzlrnodejs \
bazelbuild:rules_proto:f7a30f6:bzlrproto \
- ankitects:rules_pip:73953e0:bzlrpip \
+ ankitects:esbuild_toolchain:f942aa9:esbuildtc \
+ ankitects:rules_pip:fb02cb7:bzlrpip \
ankitects:rules_python:3927c9b:bzlrpython \
- ankitects:rules_rust:dfd1200:bzlrrust \
- ankitects:rules_sass:275ace7:bzlrsass \
- ankitects:rules_svelte:f09155c:bzlrsvelte
+ ankitects:rules_rust:f66001a:bzlrrust \
+ ankitects:rules_sass:275ace7:bzlrsass
USE_PYQT= core gui network printsupport sip svg webchannel webengine widgets xml_build
SHEBANG_FILES= qt/tools/runanki.system.in
-CARGO_CRATES= addr2line-0.15.2 \
+CARGO_CRATES= Inflector-0.11.4 \
adler-1.0.2 \
- ahash-0.4.7 \
+ ahash-0.7.4 \
aho-corasick-0.7.18 \
ammonia-3.1.2 \
anyhow-1.0.42 \
@@ -93,112 +96,112 @@ CARGO_CRATES= addr2line-0.15.2 \
askama_derive-0.10.5 \
askama_escape-0.10.1 \
askama_shared-0.11.1 \
- async-compression-0.3.8 \
- async-trait-0.1.50 \
+ async-trait-0.1.51 \
atty-0.2.14 \
autocfg-1.0.1 \
- backtrace-0.3.60 \
- base64-0.12.3 \
base64-0.13.0 \
bitflags-1.2.1 \
bitvec-0.19.5 \
blake3-0.3.8 \
bumpalo-3.7.0 \
byteorder-1.4.3 \
- bytes-0.4.12 \
- bytes-0.5.6 \
bytes-1.0.1 \
cc-1.0.69 \
cfg-if-0.1.10 \
cfg-if-1.0.0 \
chrono-0.4.19 \
coarsetime-0.1.19 \
+ codespan-0.11.1 \
+ codespan-reporting-0.11.1 \
constant_time_eq-0.1.5 \
+ convert_case-0.4.0 \
core-foundation-0.9.1 \
core-foundation-sys-0.8.2 \
crc32fast-1.2.1 \
crossbeam-channel-0.5.1 \
crossbeam-utils-0.8.5 \
crypto-mac-0.8.0 \
+ cssparser-0.27.2 \
+ cssparser-macros-0.6.0 \
ctor-0.1.20 \
derivative-2.2.0 \
+ derive_more-0.99.16 \
digest-0.9.0 \
- dirs-next-2.0.0 \
- dirs-sys-next-0.1.2 \
+ dirs-2.0.2 \
+ dirs-sys-0.3.6 \
dtoa-0.4.8 \
+ dtoa-short-0.3.3 \
+ dunce-1.0.2 \
either-1.6.1 \
encoding_rs-0.8.28 \
env_logger-0.8.4 \
- failure-0.1.8 \
- failure_derive-0.1.8 \
fallible-iterator-0.2.0 \
fallible-streaming-iterator-0.1.9 \
fixedbitset-0.2.0 \
flate2-1.0.20 \
- fluent-0.13.1 \
- fluent-bundle-0.13.2 \
+ fluent-0.15.0 \
+ fluent-bundle-0.15.1 \
fluent-langneg-0.13.0 \
- fluent-syntax-0.10.3 \
+ fluent-syntax-0.11.0 \
fnv-1.0.7 \
foreign-types-0.3.2 \
foreign-types-shared-0.1.1 \
form_urlencoded-1.0.1 \
- fuchsia-zircon-0.3.3 \
- fuchsia-zircon-sys-0.3.3 \
funty-1.1.0 \
futf-0.1.4 \
- futures-0.3.15 \
- futures-channel-0.3.15 \
- futures-core-0.3.15 \
- futures-executor-0.3.15 \
- futures-io-0.3.15 \
- futures-macro-0.3.15 \
- futures-sink-0.3.15 \
- futures-task-0.3.15 \
- futures-util-0.3.15 \
+ futures-0.3.16 \
+ futures-channel-0.3.16 \
+ futures-core-0.3.16 \
+ futures-executor-0.3.16 \
+ futures-io-0.3.16 \
+ futures-macro-0.3.16 \
+ futures-sink-0.3.16 \
+ futures-task-0.3.16 \
+ futures-util-0.3.16 \
+ fxhash-0.2.1 \
generic-array-0.14.4 \
getopts-0.2.21 \
getrandom-0.1.16 \
getrandom-0.2.3 \
ghost-0.1.2 \
- gimli-0.24.0 \
- h2-0.2.7 \
- hashbrown-0.9.1 \
+ h2-0.3.3 \
hashbrown-0.11.2 \
- hashlink-0.6.0 \
+ hashlink-0.7.0 \
heck-0.3.3 \
hermit-abi-0.1.19 \
hex-0.4.3 \
html5ever-0.25.1 \
htmlescape-0.3.1 \
http-0.2.4 \
- http-body-0.3.1 \
+ http-body-0.4.2 \
httparse-1.4.1 \
- httpdate-0.3.2 \
+ httpdate-1.0.1 \
humansize-1.1.1 \
humantime-2.1.0 \
- hyper-0.13.10 \
- hyper-rustls-0.21.0 \
- hyper-tls-0.4.3 \
+ hyper-0.14.11 \
+ hyper-rustls-0.22.1 \
+ hyper-tls-0.5.0 \
idna-0.2.3 \
indexmap-1.7.0 \
indoc-0.3.6 \
indoc-impl-0.3.6 \
+ inflections-1.1.1 \
instant-0.1.10 \
intl-memoizer-0.5.1 \
intl_pluralrules-7.0.1 \
inventory-0.1.10 \
inventory-impl-0.1.10 \
- iovec-0.1.4 \
ipnet-2.3.1 \
itertools-0.9.0 \
+ itertools-0.10.1 \
itoa-0.4.7 \
- js-sys-0.3.51 \
- kernel32-sys-0.2.2 \
+ js-sys-0.3.52 \
+ kuchiki-0.8.1 \
lazy_static-1.4.0 \
lexical-core-0.7.6 \
libc-0.2.98 \
- libsqlite3-sys-0.20.1 \
+ libsqlite3-sys-0.22.2 \
+ linkify-0.5.0 \
lock_api-0.4.4 \
log-0.4.14 \
mac-0.1.1 \
@@ -210,47 +213,56 @@ CARGO_CRATES= addr2line-0.15.2 \
mime-0.3.16 \
mime_guess-2.0.3 \
miniz_oxide-0.4.4 \
- mio-0.6.23 \
- miow-0.2.2 \
+ mio-0.7.13 \
+ miow-0.3.7 \
multimap-0.8.3 \
native-tls-0.2.7 \
- net2-0.2.37 \
new_debug_unreachable-1.0.4 \
nodrop-0.1.14 \
nom-6.1.2 \
+ nom-7.0.0-alpha1 \
+ ntapi-0.3.6 \
num-format-0.4.0 \
num-integer-0.1.44 \
num-traits-0.2.14 \
num_cpus-1.13.0 \
num_enum-0.5.2 \
num_enum_derive-0.5.2 \
- object-0.25.3 \
once_cell-1.8.0 \
openssl-0.10.35 \
openssl-probe-0.1.4 \
openssl-sys-0.9.65 \
+ ouroboros-0.9.5 \
+ ouroboros_macro-0.9.5 \
parking_lot-0.11.1 \
parking_lot_core-0.8.3 \
paste-0.1.18 \
paste-impl-0.1.18 \
percent-encoding-2.1.0 \
+ pest-2.1.3 \
petgraph-0.5.1 \
phf-0.8.0 \
+ phf-0.9.0 \
phf_codegen-0.8.0 \
phf_generator-0.8.0 \
+ phf_generator-0.9.0 \
+ phf_macros-0.8.0 \
+ phf_macros-0.9.0 \
phf_shared-0.8.0 \
+ phf_shared-0.9.0 \
pin-project-1.0.8 \
pin-project-internal-1.0.8 \
- pin-project-lite-0.1.12 \
pin-project-lite-0.2.7 \
pin-utils-0.1.0 \
pkg-config-0.3.19 \
ppv-lite86-0.2.10 \
precomputed-hash-0.1.1 \
proc-macro-crate-1.0.0 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
proc-macro-hack-0.5.19 \
proc-macro-nested-0.1.6 \
- proc-macro2-1.0.27 \
+ proc-macro2-1.0.28 \
prost-0.7.0 \
prost-build-0.7.0 \
prost-derive-0.7.0 \
@@ -275,77 +287,88 @@ CARGO_CRATES= addr2line-0.15.2 \
regex-1.5.4 \
regex-syntax-0.6.25 \
remove_dir_all-0.5.3 \
- rental-0.5.6 \
- rental-impl-0.5.5 \
+ reqwest-0.11.4 \
ring-0.16.20 \
- rusqlite-0.24.2 \
- rustc-demangle-0.1.20 \
+ rusqlite-0.25.3 \
rustc-hash-1.1.0 \
- rustls-0.18.1 \
- rustversion-1.0.5 \
+ rustc_version-0.3.3 \
+ rustls-0.19.1 \
+ rustls-native-certs-0.5.0 \
ryu-1.0.5 \
schannel-0.1.19 \
scopeguard-1.1.0 \
sct-0.6.1 \
security-framework-2.3.1 \
security-framework-sys-2.3.0 \
- serde-1.0.126 \
- serde-aux-0.6.1 \
- serde_derive-1.0.126 \
- serde_json-1.0.64 \
+ selectors-0.22.0 \
+ semver-0.11.0 \
+ semver-parser-0.10.2 \
+ serde-1.0.127 \
+ serde-aux-2.2.0 \
+ serde_derive-1.0.127 \
+ serde_json-1.0.66 \
serde_repr-0.1.7 \
serde_tuple-0.5.0 \
serde_tuple_macros-0.5.0 \
- serde_urlencoded-0.6.1 \
+ serde_urlencoded-0.7.0 \
+ servo_arc-0.1.1 \
sha1-0.6.0 \
- siphasher-0.3.5 \
+ siphasher-0.3.6 \
slab-0.4.3 \
slog-2.7.0 \
- slog-async-2.6.0 \
+ slog-async-2.7.0 \
slog-envlogger-2.2.0 \
slog-scope-4.4.0 \
slog-stdlog-4.1.0 \
- slog-term-2.8.0 \
+ slog-term-2.6.0 \
smallvec-1.6.1 \
- socket2-0.3.19 \
+ socket2-0.4.1 \
spin-0.5.2 \
stable_deref_trait-1.2.0 \
static_assertions-1.1.0 \
string_cache-0.8.1 \
string_cache_codegen-0.5.1 \
+ strum-0.21.0 \
+ strum_macros-0.21.1 \
subtle-2.4.1 \
syn-1.0.74 \
- synstructure-0.12.5 \
take_mut-0.2.2 \
tap-1.0.1 \
tempfile-3.2.0 \
tendril-0.4.2 \
- term-0.7.0 \
+ term-0.6.1 \
termcolor-1.1.2 \
+ thin-slice-0.1.1 \
thiserror-1.0.26 \
thiserror-impl-1.0.26 \
thread_local-1.1.3 \
- time-0.1.43 \
+ time-0.1.44 \
tinystr-0.3.4 \
tinyvec-1.3.1 \
tinyvec_macros-0.1.0 \
- tokio-0.2.25 \
- tokio-rustls-0.14.1 \
- tokio-socks-0.3.0 \
- tokio-tls-0.3.1 \
- tokio-util-0.3.1 \
+ tokio-1.9.0 \
+ tokio-macros-1.3.0 \
+ tokio-native-tls-0.3.0 \
+ tokio-rustls-0.22.0 \
+ tokio-socks-0.5.1 \
+ tokio-util-0.6.7 \
toml-0.5.8 \
tower-service-0.3.1 \
tracing-0.1.26 \
tracing-core-0.1.18 \
- tracing-futures-0.2.5 \
try-lock-0.2.3 \
type-map-0.4.0 \
typenum-1.13.0 \
+ ucd-trie-0.1.3 \
+ unic-char-property-0.9.0 \
+ unic-char-range-0.9.0 \
+ unic-common-0.9.0 \
unic-langid-0.9.0 \
unic-langid-impl-0.9.0 \
unic-langid-macros-0.9.0 \
unic-langid-macros-impl-0.9.0 \
+ unic-ucd-category-0.9.0 \
+ unic-ucd-version-0.9.0 \
unicase-2.6.0 \
unicode-bidi-0.3.5 \
unicode-normalization-0.1.19 \
@@ -356,30 +379,28 @@ CARGO_CRATES= addr2line-0.15.2 \
untrusted-0.7.1 \
url-2.2.2 \
utf-8-0.7.6 \
+ utf8-decode-1.0.1 \
utime-0.3.1 \
vcpkg-0.2.15 \
version_check-0.9.3 \
want-0.3.0 \
wasi-0.9.0+wasi-snapshot-preview1 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.74 \
- wasm-bindgen-backend-0.2.74 \
- wasm-bindgen-futures-0.4.24 \
- wasm-bindgen-macro-0.2.74 \
- wasm-bindgen-macro-support-0.2.74 \
- wasm-bindgen-shared-0.2.74 \
- web-sys-0.3.51 \
+ wasi-0.10.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.75 \
+ wasm-bindgen-backend-0.2.75 \
+ wasm-bindgen-futures-0.4.25 \
+ wasm-bindgen-macro-0.2.75 \
+ wasm-bindgen-macro-support-0.2.75 \
+ wasm-bindgen-shared-0.2.75 \
+ web-sys-0.3.52 \
webpki-0.21.4 \
- webpki-roots-0.20.0 \
- which-4.1.0 \
- winapi-0.2.8 \
+ webpki-roots-0.21.1 \
+ which-4.2.2 \
winapi-0.3.9 \
- winapi-build-0.1.1 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
winreg-0.7.0 \
- ws2_32-sys-0.2.1 \
wyz-0.2.0 \
xml5ever-0.16.1 \
zip-0.5.13
@@ -394,6 +415,7 @@ CARGO_INSTALL= no
CARGO_ENV= BAZEL=1 \
BUILDINFO=${_MY_LOCALREPO}/rust_output/buildinfo.txt \
PYO3_PYTHON=${PYTHON_CMD} \
+ PROTO_TOP=${WRKSRC}/proto/.top_level \
PROTOC=${LOCALBASE}/bin/protoc \
BACKEND_PROTO=${WRKSRC}/rslib/backend.proto \
RSLIB_FTL_ROOT=${_MY_LOCALREPO}/ftlrslib/l10n.toml \
@@ -412,7 +434,7 @@ MPV_RUN_DEPENDS= mpv:multimedia/mpv
# Should contain the most recent commit that reflects ${DISTVERSION} and must
# be exactly 8 digits otherwise the check for newer versions won't work as
# expected.
-_MY_BUILDHASH= b2b3275f
+_MY_BUILDHASH= 94913ec2
# Path of the local bazel repositories
_MY_LOCALREPO= ${WRKSRC}/local_repos
# Path of cache that is used by www/yarn
@@ -423,45 +445,50 @@ post-extract:
@${ECHO_CMD} "startup --batch" > ${WRKSRC}/user.bazelrc
# Create local repositories which are used by bazel
@${MKDIR} ${_MY_LOCALREPO} \
+ ${_MY_LOCALREPO}/local_esbuild/bin \
${_MY_LOCALREPO}/local_node/node/bin \
${_MY_LOCALREPO}/local_node/node/lib \
${_MY_LOCALREPO}/local_node/yarn/bin \
${_MY_LOCALREPO}/protoc_bin_freebsd/bin \
${_MY_LOCALREPO}/pyqt5 \
- ${_MY_LOCALREPO}/rust_output/fluent_proto \
- ${_MY_LOCALREPO}/rust_output/librsbridge
+ ${_MY_LOCALREPO}/rust_output/librsbridge \
+ ${_MY_LOCALREPO}/rust_output/strings_json
# Create empty WORKSPACE files in the top directory of each local
# repository
- @${TOUCH} ${_MY_LOCALREPO}/local_node/WORKSPACE \
+ @${TOUCH} ${_MY_LOCALREPO}/local_esbuild/WORKSPACE \
+ ${_MY_LOCALREPO}/local_node/WORKSPACE \
${_MY_LOCALREPO}/protoc_bin_freebsd/WORKSPACE \
${_MY_LOCALREPO}/pyqt5/WORKSPACE \
${_MY_LOCALREPO}/rust_output/WORKSPACE
- # Copy the bazel rules for NodeJS to the custom local repository as
- # they need some patching
+ # Copy the bazel rules for NodeJS and esbuild to the custom local repository
+ # as they need some patching
+ @${CP} -r ${WRKSRC_esbuildtc} ${_MY_LOCALREPO}/esbuild_toolchain
@${CP} -r ${WRKSRC_bzlrnodejs} ${_MY_LOCALREPO}/rules_nodejs
# Link the remaining bazel rules into the custom local repository as
# they don't need to be patched
-.for _dir in bzlskylib bzlrcc bzlrjava bzlrpip bzlrproto bzlrpython bzlrrust bzlrsass bzlrsvelte ftlextra ftlrslib
+.for _dir in bzlskylib bzlrcc bzlrjava bzlrpip bzlrproto bzlrpython bzlrrust bzlrsass ftlextra ftlrslib
@${RLN} ${WRKSRC_${_dir}} ${_MY_LOCALREPO}/${_dir:S/bzlr/rules_/}
.endfor
# Copy custom BUILD.bazel files to the local repositories
+ @${CP} ${FILESDIR}/bazel/BUILD.bazel-local_esbuild \
+ ${_MY_LOCALREPO}/local_esbuild/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-local_node \
${_MY_LOCALREPO}/local_node/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-protoc_bin_freebsd \
${_MY_LOCALREPO}/protoc_bin_freebsd/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-pyqt5 \
${_MY_LOCALREPO}/pyqt5/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-fluent_proto \
- ${_MY_LOCALREPO}/rust_output/fluent_proto/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-librsbridge \
${_MY_LOCALREPO}/rust_output/librsbridge/BUILD.bazel
+ @${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-strings_json \
+ ${_MY_LOCALREPO}/rust_output/strings_json/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlrslib}/BUILD.bazel
@${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlextra}/BUILD.bazel
# Move some files out of the way as they will be replaced by custom copies.
@${MV} ${WRKSRC}/repos.bzl ${WRKSRC}/repos.bzl.dist
@${MV} ${WRKSRC}/pip/pyqt5/defs.bzl ${WRKSRC}/pip/pyqt5/defs.bzl.dist
@${MV} ${WRKSRC}/pylib/rsbridge/BUILD.bazel ${WRKSRC}/pylib/rsbridge/BUILD.bazel.dist
- @${MV} ${WRKSRC}/rslib/BUILD.bazel ${WRKSRC}/rslib/BUILD.bazel.dist
+ @${MV} ${WRKSRC}/rslib/i18n/BUILD.bazel ${WRKSRC}/rslib/i18n/BUILD.bazel.dist
# Required for a successful Rust compilation
@${MV} ${WRKSRC}/Cargo.lock ${WRKSRC}/Cargo.lock.dist
# Copy the replacement files
@@ -469,8 +496,8 @@ post-extract:
@${CP} ${FILESDIR}/bazel/pyqt5.bzl ${WRKSRC}/pip/pyqt5/defs.bzl
@${CP} ${FILESDIR}/bazel/BUILD.bazel-pylib-rsbridge \
${WRKSRC}/pylib/rsbridge/BUILD.bazel
- @${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib \
- ${WRKSRC}/rslib/BUILD.bazel
+ @${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib-i18n \
+ ${WRKSRC}/rslib/i18n/BUILD.bazel
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
@@ -480,7 +507,8 @@ post-patch:
@${REINPLACE_CMD} -e 's|%%_MY_BUILDHASH%%|${_MY_BUILDHASH}|' \
${WRKSRC}/scripts/status.sh
@${REINPLACE_CMD} -e 's|%%_MY_LOCALREPO%%|${_MY_LOCALREPO}|g' \
- ${WRKSRC}/repos.bzl ${WRKSRC}/protobuf.bzl
+ ${WRKSRC}/repos.bzl ${WRKSRC}/proto/protobuf.bzl \
+ ${_MY_LOCALREPO}/esbuild_toolchain/esbuild_repo.bzl
@${REINPLACE_CMD} -e 's|%%_MY_YARNCACHE%%|${_MY_YARNCACHE}|' \
${_MY_LOCALREPO}/rules_nodejs/internal/npm_install/npm_install.bzl
@@ -488,6 +516,7 @@ pre-configure:
# Link the binaries of Node, Protobuf and Yarn into the local bazel
# repositories to provide them during build.
${LN} -s ${LOCALBASE}/bin/protoc-gen-mypy ${WRKSRC}/pylib/tools/protoc-gen-mypy
+ ${LN} -s ${LOCALBASE}/bin/esbuild ${_MY_LOCALREPO}/local_esbuild/bin/esbuild
${LN} -s ${LOCALBASE}/bin/node ${_MY_LOCALREPO}/local_node/node/bin/node
${LN} -s ${LOCALBASE}/bin/yarn.js ${_MY_LOCALREPO}/local_node/yarn/bin/yarn.js
${LN} -s ${LOCALBASE}/bin/protoc ${_MY_LOCALREPO}/protoc_bin_freebsd/bin/protoc
@@ -497,9 +526,9 @@ pre-configure:
# Steps 1 and 2 are built separately from the bazel build process.
#
# 1. rslib (Rust library, implictly built by step 2)
-# `-> produces ${_MY_LOCALREPO}/rust_output/fluent.proto
+# `-> produces ${_MY_LOCALREPO}/rust_output/strings_json/strings.json
# 2. pylib/rsbridge (Rust/Python bridge)
-# `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge.so
+# `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge/librsbridge.so
# 3. The remaining components (Python, Qt5 and JS) are built by bazel
pre-build:
# Generate buildinfo.txt which is used via BUILDINFO in ${CARGO_ENV} during
@@ -511,15 +540,18 @@ pre-build:
${CARGO_BUILD_ARGS}
# These files are required for the remaining build process via bazel so copy
# them the local repository.
- ${CP} `${FIND} ${CARGO_TARGET_DIR} -name "fluent.proto"` ${_MY_LOCALREPO}/rust_output/fluent_proto/
${CP} `${FIND} ${CARGO_TARGET_DIR} -name "librsbridge.so"` ${_MY_LOCALREPO}/rust_output/librsbridge/
+ ${CP} `${FIND} ${CARGO_TARGET_DIR} -name "strings.json"` ${_MY_LOCALREPO}/rust_output/strings_json/
do-build:
+ # Limit bazel jobs to 1 due random build failures while compiling TS files
+ # via "tsc".
cd ${WRKSRC} && \
bazel --output_user_root="${WRKDIR}/.bazel" build \
--action_env=PYTHON_SITE_PACKAGES="${PYTHON_SITELIBDIR}" \
--action_env=PYTHON_SYS_EXECUTABLE="${PYTHON_CMD}" \
--compilation_mode opt \
+ --jobs 1 \
--subcommands \
dist
@@ -559,12 +591,8 @@ make-yarn-cache:
&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
@cd ${WRKSRC_bzlrnodejs}/packages/labs/grpc_web/ \
&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
- @cd ${WRKSRC_bzlrnodejs}/packages/labs/protobufjs/ \
- && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
@cd ${WRKSRC_bzlrsass}/sass \
&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
- @cd ${WRKSRC_bzlrsvelte}/internal \
- && ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
@cd ${WRKDIR} \
&& ${TAR} -czf ${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX} .yarn \
&& ${ECHO} "Please upload the file ${WRKDIR}/${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}"
diff --git a/games/anki/distinfo b/games/anki/distinfo
index a1520a3a8641..583bc1680c56 100644
--- a/games/anki/distinfo
+++ b/games/anki/distinfo
@@ -1,643 +1,683 @@
-TIMESTAMP = 1627628162
-SHA256 (python/anki-yarn-cache-2.1.44.tar.gz) = 31fd744d235897fe9a019081a613da7594315c8974ed2e3bc5709c957456fff8
-SIZE (python/anki-yarn-cache-2.1.44.tar.gz) = 137877372
-SHA256 (python/rust/crates/addr2line-0.15.2.crate) = e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a
-SIZE (python/rust/crates/addr2line-0.15.2.crate) = 32966
-SHA256 (python/rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
-SIZE (python/rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (python/rust/crates/ahash-0.4.7.crate) = 739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e
-SIZE (python/rust/crates/ahash-0.4.7.crate) = 51474
-SHA256 (python/rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (python/rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (python/rust/crates/ammonia-3.1.2.crate) = 2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35
-SIZE (python/rust/crates/ammonia-3.1.2.crate) = 39704
-SHA256 (python/rust/crates/anyhow-1.0.42.crate) = 595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486
-SIZE (python/rust/crates/anyhow-1.0.42.crate) = 34827
-SHA256 (python/rust/crates/arc-swap-1.3.0.crate) = e906254e445520903e7fc9da4f709886c84ae4bc4ddaf0e093188d66df4dc820
-SIZE (python/rust/crates/arc-swap-1.3.0.crate) = 63680
-SHA256 (python/rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
-SIZE (python/rust/crates/arrayref-0.3.6.crate) = 10035
-SHA256 (python/rust/crates/arrayvec-0.4.12.crate) = cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9
-SIZE (python/rust/crates/arrayvec-0.4.12.crate) = 26551
-SHA256 (python/rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
-SIZE (python/rust/crates/arrayvec-0.5.2.crate) = 27838
-SHA256 (python/rust/crates/askama-0.10.5.crate) = d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134
-SIZE (python/rust/crates/askama-0.10.5.crate) = 7994
-SHA256 (python/rust/crates/askama_derive-0.10.5.crate) = ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522
-SIZE (python/rust/crates/askama_derive-0.10.5.crate) = 6927
-SHA256 (python/rust/crates/askama_escape-0.10.1.crate) = 90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb
-SIZE (python/rust/crates/askama_escape-0.10.1.crate) = 8535
-SHA256 (python/rust/crates/askama_shared-0.11.1.crate) = 2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc
-SIZE (python/rust/crates/askama_shared-0.11.1.crate) = 30554
-SHA256 (python/rust/crates/async-compression-0.3.8.crate) = 5443ccbb270374a2b1055fc72da40e1f237809cd6bb0e97e66d264cd138473a6
-SIZE (python/rust/crates/async-compression-0.3.8.crate) = 57977
-SHA256 (python/rust/crates/async-trait-0.1.50.crate) = 0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722
-SIZE (python/rust/crates/async-trait-0.1.50.crate) = 25321
-SHA256 (python/rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (python/rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (python/rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (python/rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (python/rust/crates/backtrace-0.3.60.crate) = b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282
-SIZE (python/rust/crates/backtrace-0.3.60.crate) = 70983
-SHA256 (python/rust/crates/base64-0.12.3.crate) = 3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff
-SIZE (python/rust/crates/base64-0.12.3.crate) = 57545
-SHA256 (python/rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
-SIZE (python/rust/crates/base64-0.13.0.crate) = 62070
-SHA256 (python/rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
-SIZE (python/rust/crates/bitflags-1.2.1.crate) = 16745
-SHA256 (python/rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
-SIZE (python/rust/crates/bitvec-0.19.5.crate) = 148200
-SHA256 (python/rust/crates/blake3-0.3.8.crate) = b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3
-SIZE (python/rust/crates/blake3-0.3.8.crate) = 154058
-SHA256 (python/rust/crates/bumpalo-3.7.0.crate) = 9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631
-SIZE (python/rust/crates/bumpalo-3.7.0.crate) = 134261
-SHA256 (python/rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
-SIZE (python/rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (python/rust/crates/bytes-0.4.12.crate) = 206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c
-SIZE (python/rust/crates/bytes-0.4.12.crate) = 46361
-SHA256 (python/rust/crates/bytes-0.5.6.crate) = 0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38
-SIZE (python/rust/crates/bytes-0.5.6.crate) = 46291
-SHA256 (python/rust/crates/bytes-1.0.1.crate) = b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040
-SIZE (python/rust/crates/bytes-1.0.1.crate) = 48142
-SHA256 (python/rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
-SIZE (python/rust/crates/cc-1.0.69.crate) = 56044
-SHA256 (python/rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (python/rust/crates/cfg-if-0.1.10.crate) = 7933
-SHA256 (python/rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (python/rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (python/rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (python/rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (python/rust/crates/coarsetime-0.1.19.crate) = 2918e2ffa91a49dabbba4965fe38a37a1ba0b6953a29e32cc250a8d59cd42232
-SIZE (python/rust/crates/coarsetime-0.1.19.crate) = 7927
-SHA256 (python/rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
-SIZE (python/rust/crates/constant_time_eq-0.1.5.crate) = 4936
-SHA256 (python/rust/crates/core-foundation-0.9.1.crate) = 0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62
-SIZE (python/rust/crates/core-foundation-0.9.1.crate) = 25985
-SHA256 (python/rust/crates/core-foundation-sys-0.8.2.crate) = ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b
-SIZE (python/rust/crates/core-foundation-sys-0.8.2.crate) = 17461
-SHA256 (python/rust/crates/crc32fast-1.2.1.crate) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a
-SIZE (python/rust/crates/crc32fast-1.2.1.crate) = 38172
-SHA256 (python/rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
-SIZE (python/rust/crates/crossbeam-channel-0.5.1.crate) = 86919
-SHA256 (python/rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
-SIZE (python/rust/crates/crossbeam-utils-0.8.5.crate) = 38414
-SHA256 (python/rust/crates/crypto-mac-0.8.0.crate) = b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab
-SIZE (python/rust/crates/crypto-mac-0.8.0.crate) = 9115
-SHA256 (python/rust/crates/ctor-0.1.20.crate) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d
-SIZE (python/rust/crates/ctor-0.1.20.crate) = 9328
-SHA256 (python/rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
-SIZE (python/rust/crates/derivative-2.2.0.crate) = 48076
-SHA256 (python/rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
-SIZE (python/rust/crates/digest-0.9.0.crate) = 13247
-SHA256 (python/rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
-SIZE (python/rust/crates/dirs-next-2.0.0.crate) = 11689
-SHA256 (python/rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
-SIZE (python/rust/crates/dirs-sys-next-0.1.2.crate) = 10681
-SHA256 (python/rust/crates/dtoa-0.4.8.crate) = 56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0
-SIZE (python/rust/crates/dtoa-0.4.8.crate) = 16175
-SHA256 (python/rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (python/rust/crates/either-1.6.1.crate) = 13641
-SHA256 (python/rust/crates/encoding_rs-0.8.28.crate) = 80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065
-SIZE (python/rust/crates/encoding_rs-0.8.28.crate) = 1368577
-SHA256 (python/rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
-SIZE (python/rust/crates/env_logger-0.8.4.crate) = 33342
-SHA256 (python/rust/crates/failure-0.1.8.crate) = d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86
-SIZE (python/rust/crates/failure-0.1.8.crate) = 37582
-SHA256 (python/rust/crates/failure_derive-0.1.8.crate) = aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4
-SIZE (python/rust/crates/failure_derive-0.1.8.crate) = 4950
-SHA256 (python/rust/crates/fallible-iterator-0.2.0.crate) = 4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7
-SIZE (python/rust/crates/fallible-iterator-0.2.0.crate) = 18509
-SHA256 (python/rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a
-SIZE (python/rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249
-SHA256 (python/rust/crates/fixedbitset-0.2.0.crate) = 37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d
-SIZE (python/rust/crates/fixedbitset-0.2.0.crate) = 13597
-SHA256 (python/rust/crates/flate2-1.0.20.crate) = cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0
-SIZE (python/rust/crates/flate2-1.0.20.crate) = 74036
-SHA256 (python/rust/crates/fluent-0.13.1.crate) = ef9e54ec7b674ae3477d948ae790e90ae24d54fb31c2e7173252978d9b09bdfa
-SIZE (python/rust/crates/fluent-0.13.1.crate) = 3982
-SHA256 (python/rust/crates/fluent-bundle-0.13.2.crate) = 092ebd50cd3f8a6d664bf156e3550d2f7232fbe446da6707d727cca53f707ce2
-SIZE (python/rust/crates/fluent-bundle-0.13.2.crate) = 24130
-SHA256 (python/rust/crates/fluent-langneg-0.13.0.crate) = 2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94
-SIZE (python/rust/crates/fluent-langneg-0.13.0.crate) = 11723
-SHA256 (python/rust/crates/fluent-syntax-0.10.3.crate) = 784f660373ea898f712a7e67b43f35bf79608d46112747c29767d087611d716b
-SIZE (python/rust/crates/fluent-syntax-0.10.3.crate) = 22083
-SHA256 (python/rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
-SIZE (python/rust/crates/fnv-1.0.7.crate) = 11266
-SHA256 (python/rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
-SIZE (python/rust/crates/foreign-types-0.3.2.crate) = 7504
-SHA256 (python/rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
-SIZE (python/rust/crates/foreign-types-shared-0.1.1.crate) = 5672
-SHA256 (python/rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
-SIZE (python/rust/crates/form_urlencoded-1.0.1.crate) = 8773
-SHA256 (python/rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
-SIZE (python/rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
-SHA256 (python/rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
-SIZE (python/rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
-SHA256 (python/rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
-SIZE (python/rust/crates/funty-1.1.0.crate) = 11631
-SHA256 (python/rust/crates/futf-0.1.4.crate) = 7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b
-SIZE (python/rust/crates/futf-0.1.4.crate) = 11341
-SHA256 (python/rust/crates/futures-0.3.15.crate) = 0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27
-SIZE (python/rust/crates/futures-0.3.15.crate) = 46425
-SHA256 (python/rust/crates/futures-channel-0.3.15.crate) = e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2
-SIZE (python/rust/crates/futures-channel-0.3.15.crate) = 31867
-SHA256 (python/rust/crates/futures-core-0.3.15.crate) = 0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1
-SIZE (python/rust/crates/futures-core-0.3.15.crate) = 14514
-SHA256 (python/rust/crates/futures-executor-0.3.15.crate) = badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79
-SIZE (python/rust/crates/futures-executor-0.3.15.crate) = 17166
-SHA256 (python/rust/crates/futures-io-0.3.15.crate) = acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1
-SIZE (python/rust/crates/futures-io-0.3.15.crate) = 9058
-SHA256 (python/rust/crates/futures-macro-0.3.15.crate) = a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121
-SIZE (python/rust/crates/futures-macro-0.3.15.crate) = 10872
-SHA256 (python/rust/crates/futures-sink-0.3.15.crate) = a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282
-SIZE (python/rust/crates/futures-sink-0.3.15.crate) = 7672
-SHA256 (python/rust/crates/futures-task-0.3.15.crate) = 8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae
-SIZE (python/rust/crates/futures-task-0.3.15.crate) = 11811
-SHA256 (python/rust/crates/futures-util-0.3.15.crate) = feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967
-SIZE (python/rust/crates/futures-util-0.3.15.crate) = 141962
-SHA256 (python/rust/crates/generic-array-0.14.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
-SIZE (python/rust/crates/generic-array-0.14.4.crate) = 28916
-SHA256 (python/rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
-SIZE (python/rust/crates/getopts-0.2.21.crate) = 18457
-SHA256 (python/rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
-SIZE (python/rust/crates/getrandom-0.1.16.crate) = 25077
-SHA256 (python/rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (python/rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (python/rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479
-SIZE (python/rust/crates/ghost-0.1.2.crate) = 12777
-SHA256 (python/rust/crates/gimli-0.24.0.crate) = 0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189
-SIZE (python/rust/crates/gimli-0.24.0.crate) = 703534
-SHA256 (python/rust/crates/h2-0.2.7.crate) = 5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535
-SIZE (python/rust/crates/h2-0.2.7.crate) = 156989
-SHA256 (python/rust/crates/hashbrown-0.9.1.crate) = d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04
-SIZE (python/rust/crates/hashbrown-0.9.1.crate) = 77734
-SHA256 (python/rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (python/rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (python/rust/crates/hashlink-0.6.0.crate) = d99cf782f0dc4372d26846bec3de7804ceb5df083c2d4462c0b8d2330e894fa8
-SIZE (python/rust/crates/hashlink-0.6.0.crate) = 24952
-SHA256 (python/rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (python/rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (python/rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (python/rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (python/rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
-SIZE (python/rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (python/rust/crates/html5ever-0.25.1.crate) = aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b
-SIZE (python/rust/crates/html5ever-0.25.1.crate) = 73165
-SHA256 (python/rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163
-SIZE (python/rust/crates/htmlescape-0.3.1.crate) = 53226
-SHA256 (python/rust/crates/http-0.2.4.crate) = 527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11
-SIZE (python/rust/crates/http-0.2.4.crate) = 105489
-SHA256 (python/rust/crates/http-body-0.3.1.crate) = 13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b
-SIZE (python/rust/crates/http-body-0.3.1.crate) = 5394
-SHA256 (python/rust/crates/httparse-1.4.1.crate) = f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68
-SIZE (python/rust/crates/httparse-1.4.1.crate) = 25592
-SHA256 (python/rust/crates/httpdate-0.3.2.crate) = 494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47
-SIZE (python/rust/crates/httpdate-0.3.2.crate) = 10768
-SHA256 (python/rust/crates/humansize-1.1.1.crate) = 02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026
-SIZE (python/rust/crates/humansize-1.1.1.crate) = 9131
-SHA256 (python/rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
-SIZE (python/rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (python/rust/crates/hyper-0.13.10.crate) = 8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb
-SIZE (python/rust/crates/hyper-0.13.10.crate) = 141981
-SHA256 (python/rust/crates/hyper-rustls-0.21.0.crate) = 37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6
-SIZE (python/rust/crates/hyper-rustls-0.21.0.crate) = 27489
-SHA256 (python/rust/crates/hyper-tls-0.4.3.crate) = d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed
-SIZE (python/rust/crates/hyper-tls-0.4.3.crate) = 14195
-SHA256 (python/rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
-SIZE (python/rust/crates/idna-0.2.3.crate) = 271023
-SHA256 (python/rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
-SIZE (python/rust/crates/indexmap-1.7.0.crate) = 50363
-SHA256 (python/rust/crates/indoc-0.3.6.crate) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8
-SIZE (python/rust/crates/indoc-0.3.6.crate) = 9663
-SHA256 (python/rust/crates/indoc-impl-0.3.6.crate) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0
-SIZE (python/rust/crates/indoc-impl-0.3.6.crate) = 7933
-SHA256 (python/rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
-SIZE (python/rust/crates/instant-0.1.10.crate) = 5218
-SHA256 (python/rust/crates/intl-memoizer-0.5.1.crate) = c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f
-SIZE (python/rust/crates/intl-memoizer-0.5.1.crate) = 8292
-SHA256 (python/rust/crates/intl_pluralrules-7.0.1.crate) = b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf
-SIZE (python/rust/crates/intl_pluralrules-7.0.1.crate) = 9263
-SHA256 (python/rust/crates/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f
-SIZE (python/rust/crates/inventory-0.1.10.crate) = 11572
-SHA256 (python/rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51
-SIZE (python/rust/crates/inventory-impl-0.1.10.crate) = 6228
-SHA256 (python/rust/crates/iovec-0.1.4.crate) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
-SIZE (python/rust/crates/iovec-0.1.4.crate) = 8720
-SHA256 (python/rust/crates/ipnet-2.3.1.crate) = 68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9
-SIZE (python/rust/crates/ipnet-2.3.1.crate) = 24932
-SHA256 (python/rust/crates/itertools-0.9.0.crate) = 284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b
-SIZE (python/rust/crates/itertools-0.9.0.crate) = 96429
-SHA256 (python/rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
-SIZE (python/rust/crates/itoa-0.4.7.crate) = 12099
-SHA256 (python/rust/crates/js-sys-0.3.51.crate) = 83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062
-SIZE (python/rust/crates/js-sys-0.3.51.crate) = 67124
-SHA256 (python/rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
-SIZE (python/rust/crates/kernel32-sys-0.2.2.crate) = 24537
-SHA256 (python/rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
-SIZE (python/rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (python/rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
-SIZE (python/rust/crates/lexical-core-0.7.6.crate) = 494385
-SHA256 (python/rust/crates/libc-0.2.98.crate) = 320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790
-SIZE (python/rust/crates/libc-0.2.98.crate) = 522087
-SHA256 (python/rust/crates/libsqlite3-sys-0.20.1.crate) = 64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd
-SIZE (python/rust/crates/libsqlite3-sys-0.20.1.crate) = 2306064
-SHA256 (python/rust/crates/lock_api-0.4.4.crate) = 0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb
-SIZE (python/rust/crates/lock_api-0.4.4.crate) = 20356
-SHA256 (python/rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (python/rust/crates/log-0.4.14.crate) = 34582
-SHA256 (python/rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
-SIZE (python/rust/crates/mac-0.1.1.crate) = 4838
-SHA256 (python/rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
-SIZE (python/rust/crates/maplit-1.0.2.crate) = 8871
-SHA256 (python/rust/crates/markup5ever-0.10.1.crate) = a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd
-SIZE (python/rust/crates/markup5ever-0.10.1.crate) = 34668
-SHA256 (python/rust/crates/markup5ever_rcdom-0.1.0.crate) = f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b
-SIZE (python/rust/crates/markup5ever_rcdom-0.1.0.crate) = 25165
-SHA256 (python/rust/crates/matches-0.1.8.crate) = 7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
-SIZE (python/rust/crates/matches-0.1.8.crate) = 2216
-SHA256 (python/rust/crates/memchr-2.4.0.crate) = b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc
-SIZE (python/rust/crates/memchr-2.4.0.crate) = 63392
-SHA256 (python/rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
-SIZE (python/rust/crates/mime-0.3.16.crate) = 15206
-SHA256 (python/rust/crates/mime_guess-2.0.3.crate) = 2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
-SIZE (python/rust/crates/mime_guess-2.0.3.crate) = 27437
-SHA256 (python/rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (python/rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (python/rust/crates/mio-0.6.23.crate) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
-SIZE (python/rust/crates/mio-0.6.23.crate) = 103554
-SHA256 (python/rust/crates/miow-0.2.2.crate) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
-SIZE (python/rust/crates/miow-0.2.2.crate) = 22044
-SHA256 (python/rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
-SIZE (python/rust/crates/multimap-0.8.3.crate) = 13518
-SHA256 (python/rust/crates/native-tls-0.2.7.crate) = b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4
-SIZE (python/rust/crates/native-tls-0.2.7.crate) = 24958
-SHA256 (python/rust/crates/net2-0.2.37.crate) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
-SIZE (python/rust/crates/net2-0.2.37.crate) = 21311
-SHA256 (python/rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
-SIZE (python/rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
-SHA256 (python/rust/crates/nodrop-0.1.14.crate) = 72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb
-SIZE (python/rust/crates/nodrop-0.1.14.crate) = 7667
-SHA256 (python/rust/crates/nom-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
-SIZE (python/rust/crates/nom-6.1.2.crate) = 147539
-SHA256 (python/rust/crates/num-format-0.4.0.crate) = bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465
-SIZE (python/rust/crates/num-format-0.4.0.crate) = 59791
-SHA256 (python/rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (python/rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (python/rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (python/rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (python/rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (python/rust/crates/num_cpus-1.13.0.crate) = 14704
-SHA256 (python/rust/crates/num_enum-0.5.2.crate) = e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169
-SIZE (python/rust/crates/num_enum-0.5.2.crate) = 10479
-SHA256 (python/rust/crates/num_enum_derive-0.5.2.crate) = b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482
-SIZE (python/rust/crates/num_enum_derive-0.5.2.crate) = 7670
-SHA256 (python/rust/crates/object-0.25.3.crate) = a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7
-SIZE (python/rust/crates/object-0.25.3.crate) = 230711
-SHA256 (python/rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
-SIZE (python/rust/crates/once_cell-1.8.0.crate) = 28925
-SHA256 (python/rust/crates/openssl-0.10.35.crate) = 549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885
-SIZE (python/rust/crates/openssl-0.10.35.crate) = 204462
-SHA256 (python/rust/crates/openssl-probe-0.1.4.crate) = 28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a
-SIZE (python/rust/crates/openssl-probe-0.1.4.crate) = 7066
-SHA256 (python/rust/crates/openssl-sys-0.9.65.crate) = 7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d
-SIZE (python/rust/crates/openssl-sys-0.9.65.crate) = 54405
-SHA256 (python/rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
-SIZE (python/rust/crates/parking_lot-0.11.1.crate) = 39854
-SHA256 (python/rust/crates/parking_lot_core-0.8.3.crate) = fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018
-SIZE (python/rust/crates/parking_lot_core-0.8.3.crate) = 32147
-SHA256 (python/rust/crates/paste-0.1.18.crate) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880
-SIZE (python/rust/crates/paste-0.1.18.crate) = 12259
-SHA256 (python/rust/crates/paste-impl-0.1.18.crate) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6
-SIZE (python/rust/crates/paste-impl-0.1.18.crate) = 9451
-SHA256 (python/rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (python/rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (python/rust/crates/petgraph-0.5.1.crate) = 467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7
-SIZE (python/rust/crates/petgraph-0.5.1.crate) = 147173
-SHA256 (python/rust/crates/phf-0.8.0.crate) = 3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12
-SIZE (python/rust/crates/phf-0.8.0.crate) = 3902
-SHA256 (python/rust/crates/phf_codegen-0.8.0.crate) = cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815
-SIZE (python/rust/crates/phf_codegen-0.8.0.crate) = 3192
-SHA256 (python/rust/crates/phf_generator-0.8.0.crate) = 17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526
-SIZE (python/rust/crates/phf_generator-0.8.0.crate) = 7604
-SHA256 (python/rust/crates/phf_shared-0.8.0.crate) = c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7
-SIZE (python/rust/crates/phf_shared-0.8.0.crate) = 2860
-SHA256 (python/rust/crates/pin-project-1.0.8.crate) = 576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08
-SIZE (python/rust/crates/pin-project-1.0.8.crate) = 54991
-SHA256 (python/rust/crates/pin-project-internal-1.0.8.crate) = 6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389
-SIZE (python/rust/crates/pin-project-internal-1.0.8.crate) = 27941
-SHA256 (python/rust/crates/pin-project-lite-0.1.12.crate) = 257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777
-SIZE (python/rust/crates/pin-project-lite-0.1.12.crate) = 16854
-SHA256 (python/rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
-SIZE (python/rust/crates/pin-project-lite-0.2.7.crate) = 27212
-SHA256 (python/rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
-SIZE (python/rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (python/rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (python/rust/crates/pkg-config-0.3.19.crate) = 15451
-SHA256 (python/rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
-SIZE (python/rust/crates/ppv-lite86-0.2.10.crate) = 20915
-SHA256 (python/rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
-SIZE (python/rust/crates/precomputed-hash-0.1.1.crate) = 1640
-SHA256 (python/rust/crates/proc-macro-crate-1.0.0.crate) = 41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92
-SIZE (python/rust/crates/proc-macro-crate-1.0.0.crate) = 8442
-SHA256 (python/rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
-SIZE (python/rust/crates/proc-macro-hack-0.5.19.crate) = 15556
-SHA256 (python/rust/crates/proc-macro-nested-0.1.6.crate) = eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a
-SIZE (python/rust/crates/proc-macro-nested-0.1.6.crate) = 6498
-SHA256 (python/rust/crates/proc-macro2-1.0.27.crate) = f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038
-SIZE (python/rust/crates/proc-macro2-1.0.27.crate) = 38625
-SHA256 (python/rust/crates/prost-0.7.0.crate) = 9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2
-SIZE (python/rust/crates/prost-0.7.0.crate) = 24775
-SHA256 (python/rust/crates/prost-build-0.7.0.crate) = 32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3
-SIZE (python/rust/crates/prost-build-0.7.0.crate) = 8220115
-SHA256 (python/rust/crates/prost-derive-0.7.0.crate) = 169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4
-SIZE (python/rust/crates/prost-derive-0.7.0.crate) = 15218
-SHA256 (python/rust/crates/prost-types-0.7.0.crate) = b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb
-SIZE (python/rust/crates/prost-types-0.7.0.crate) = 25694
-SHA256 (python/rust/crates/pulldown-cmark-0.8.0.crate) = ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8
-SIZE (python/rust/crates/pulldown-cmark-0.8.0.crate) = 106330
-SHA256 (python/rust/crates/pyo3-0.13.2.crate) = 4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3
-SIZE (python/rust/crates/pyo3-0.13.2.crate) = 281372
-SHA256 (python/rust/crates/pyo3-macros-0.13.2.crate) = a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb
-SIZE (python/rust/crates/pyo3-macros-0.13.2.crate) = 5434
-SHA256 (python/rust/crates/pyo3-macros-backend-0.13.2.crate) = 87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66
-SIZE (python/rust/crates/pyo3-macros-backend-0.13.2.crate) = 33106
-SHA256 (python/rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
-SIZE (python/rust/crates/quote-1.0.9.crate) = 25042
-SHA256 (python/rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
-SIZE (python/rust/crates/radium-0.5.3.crate) = 7588
-SHA256 (python/rust/crates/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
-SIZE (python/rust/crates/rand-0.7.3.crate) = 112246
-SHA256 (python/rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (python/rust/crates/rand-0.8.4.crate) = 87406
-SHA256 (python/rust/crates/rand_chacha-0.2.2.crate) = f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402
-SIZE (python/rust/crates/rand_chacha-0.2.2.crate) = 13267
-SHA256 (python/rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
-SIZE (python/rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (python/rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
-SIZE (python/rust/crates/rand_core-0.5.1.crate) = 21116
-SHA256 (python/rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (python/rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (python/rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
-SIZE (python/rust/crates/rand_hc-0.2.0.crate) = 11670
-SHA256 (python/rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (python/rust/crates/rand_hc-0.3.1.crate) = 11891
-SHA256 (python/rust/crates/rand_pcg-0.2.1.crate) = 16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429
-SIZE (python/rust/crates/rand_pcg-0.2.1.crate) = 11291
-SHA256 (python/rust/crates/redox_syscall-0.2.9.crate) = 5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee
-SIZE (python/rust/crates/redox_syscall-0.2.9.crate) = 23533
-SHA256 (python/rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
-SIZE (python/rust/crates/redox_users-0.4.0.crate) = 13023
-SHA256 (python/rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (python/rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (python/rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (python/rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (python/rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
-SIZE (python/rust/crates/remove_dir_all-0.5.3.crate) = 9184
-SHA256 (python/rust/crates/rental-0.5.6.crate) = cc89fe2acac36d212474d138aaf939c04a82df5b61d07011571ebce5aef81f2e
-SIZE (python/rust/crates/rental-0.5.6.crate) = 16858
-SHA256 (python/rust/crates/rental-impl-0.5.5.crate) = 475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de
-SIZE (python/rust/crates/rental-impl-0.5.5.crate) = 12093
-SHA256 (python/rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
-SIZE (python/rust/crates/ring-0.16.20.crate) = 5082615
-SHA256 (python/rust/crates/rusqlite-0.24.2.crate) = d5f38ee71cbab2c827ec0ac24e76f82eca723cee92c509a65f67dee393c25112
-SIZE (python/rust/crates/rusqlite-0.24.2.crate) = 120103
-SHA256 (python/rust/crates/rustc-demangle-0.1.20.crate) = dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49
-SIZE (python/rust/crates/rustc-demangle-0.1.20.crate) = 23298
-SHA256 (python/rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
-SIZE (python/rust/crates/rustc-hash-1.1.0.crate) = 9331
-SHA256 (python/rust/crates/rustls-0.18.1.crate) = 5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81
-SIZE (python/rust/crates/rustls-0.18.1.crate) = 207782
-SHA256 (python/rust/crates/rustversion-1.0.5.crate) = 61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088
-SIZE (python/rust/crates/rustversion-1.0.5.crate) = 16984
-SHA256 (python/rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
-SIZE (python/rust/crates/ryu-1.0.5.crate) = 49570
-SHA256 (python/rust/crates/schannel-0.1.19.crate) = 8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75
-SIZE (python/rust/crates/schannel-0.1.19.crate) = 42755
-SHA256 (python/rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
-SIZE (python/rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (python/rust/crates/sct-0.6.1.crate) = b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce
-SIZE (python/rust/crates/sct-0.6.1.crate) = 26825
-SHA256 (python/rust/crates/security-framework-2.3.1.crate) = 23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467
-SIZE (python/rust/crates/security-framework-2.3.1.crate) = 61581
-SHA256 (python/rust/crates/security-framework-sys-2.3.0.crate) = 7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284
-SIZE (python/rust/crates/security-framework-sys-2.3.0.crate) = 12561
-SHA256 (python/rust/crates/serde-1.0.126.crate) = ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03
-SIZE (python/rust/crates/serde-1.0.126.crate) = 75138
-SHA256 (python/rust/crates/serde-aux-0.6.1.crate) = ae50f53d4b01e854319c1f5b854cd59471f054ea7e554988850d3f36ca1dc852
-SIZE (python/rust/crates/serde-aux-0.6.1.crate) = 5701
-SHA256 (python/rust/crates/serde_derive-1.0.126.crate) = 963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43
-SIZE (python/rust/crates/serde_derive-1.0.126.crate) = 54189
-SHA256 (python/rust/crates/serde_json-1.0.64.crate) = 799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79
-SIZE (python/rust/crates/serde_json-1.0.64.crate) = 115138
-SHA256 (python/rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
-SIZE (python/rust/crates/serde_repr-0.1.7.crate) = 10173
-SHA256 (python/rust/crates/serde_tuple-0.5.0.crate) = f4f025b91216f15a2a32aa39669329a475733590a015835d1783549a56d09427
-SIZE (python/rust/crates/serde_tuple-0.5.0.crate) = 3817
-SHA256 (python/rust/crates/serde_tuple_macros-0.5.0.crate) = 4076151d1a2b688e25aaf236997933c66e18b870d0369f8b248b8ab2be630d7e
-SIZE (python/rust/crates/serde_tuple_macros-0.5.0.crate) = 2205
-SHA256 (python/rust/crates/serde_urlencoded-0.6.1.crate) = 9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97
-SIZE (python/rust/crates/serde_urlencoded-0.6.1.crate) = 12540
-SHA256 (python/rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
-SIZE (python/rust/crates/sha1-0.6.0.crate) = 9244
-SHA256 (python/rust/crates/siphasher-0.3.5.crate) = cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27
-SIZE (python/rust/crates/siphasher-0.3.5.crate) = 9455
-SHA256 (python/rust/crates/slab-0.4.3.crate) = f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527
-SIZE (python/rust/crates/slab-0.4.3.crate) = 15681
-SHA256 (python/rust/crates/slog-2.7.0.crate) = 8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06
-SIZE (python/rust/crates/slog-2.7.0.crate) = 45432
-SHA256 (python/rust/crates/slog-async-2.6.0.crate) = c60813879f820c85dbc4eabf3269befe374591289019775898d56a81a804fbdc
-SIZE (python/rust/crates/slog-async-2.6.0.crate) = 18190
-SHA256 (python/rust/crates/slog-envlogger-2.2.0.crate) = 906a1a0bc43fed692df4b82a5e2fbfc3733db8dad8bb514ab27a4f23ad04f5c0
-SIZE (python/rust/crates/slog-envlogger-2.2.0.crate) = 13240
-SHA256 (python/rust/crates/slog-scope-4.4.0.crate) = 2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786
-SIZE (python/rust/crates/slog-scope-4.4.0.crate) = 16753
-SHA256 (python/rust/crates/slog-stdlog-4.1.0.crate) = 8228ab7302adbf4fcb37e66f3cda78003feb521e7fd9e3847ec117a7784d0f5a
-SIZE (python/rust/crates/slog-stdlog-4.1.0.crate) = 14523
-SHA256 (python/rust/crates/slog-term-2.8.0.crate) = 95c1e7e5aab61ced6006149ea772770b84a0d16ce0f7885def313e4829946d76
-SIZE (python/rust/crates/slog-term-2.8.0.crate) = 25251
-SHA256 (python/rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
-SIZE (python/rust/crates/smallvec-1.6.1.crate) = 26444
-SHA256 (python/rust/crates/socket2-0.3.19.crate) = 122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e
-SIZE (python/rust/crates/socket2-0.3.19.crate) = 33782
-SHA256 (python/rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
-SIZE (python/rust/crates/spin-0.5.2.crate) = 12004
-SHA256 (python/rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
-SIZE (python/rust/crates/stable_deref_trait-1.2.0.crate) = 8054
-SHA256 (python/rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (python/rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (python/rust/crates/string_cache-0.8.1.crate) = 8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a
-SIZE (python/rust/crates/string_cache-0.8.1.crate) = 14423
-SHA256 (python/rust/crates/string_cache_codegen-0.5.1.crate) = f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97
-SIZE (python/rust/crates/string_cache_codegen-0.5.1.crate) = 8243
-SHA256 (python/rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
-SIZE (python/rust/crates/subtle-2.4.1.crate) = 12630
-SHA256 (python/rust/crates/syn-1.0.74.crate) = 1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c
-SIZE (python/rust/crates/syn-1.0.74.crate) = 232974
-SHA256 (python/rust/crates/synstructure-0.12.5.crate) = 474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa
-SIZE (python/rust/crates/synstructure-0.12.5.crate) = 18020
-SHA256 (python/rust/crates/take_mut-0.2.2.crate) = f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60
-SIZE (python/rust/crates/take_mut-0.2.2.crate) = 4263
-SHA256 (python/rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
-SIZE (python/rust/crates/tap-1.0.1.crate) = 11316
-SHA256 (python/rust/crates/tempfile-3.2.0.crate) = dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22
-SIZE (python/rust/crates/tempfile-3.2.0.crate) = 25892
-SHA256 (python/rust/crates/tendril-0.4.2.crate) = a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33
-SIZE (python/rust/crates/tendril-0.4.2.crate) = 37138
-SHA256 (python/rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f
-SIZE (python/rust/crates/term-0.7.0.crate) = 37082
-SHA256 (python/rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (python/rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (python/rust/crates/thiserror-1.0.26.crate) = 93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2
-SIZE (python/rust/crates/thiserror-1.0.26.crate) = 16711
-SHA256 (python/rust/crates/thiserror-impl-1.0.26.crate) = 060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745
-SIZE (python/rust/crates/thiserror-impl-1.0.26.crate) = 13431
-SHA256 (python/rust/crates/thread_local-1.1.3.crate) = 8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd
-SIZE (python/rust/crates/thread_local-1.1.3.crate) = 13111
-SHA256 (python/rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
-SIZE (python/rust/crates/time-0.1.43.crate) = 28653
-SHA256 (python/rust/crates/tinystr-0.3.4.crate) = 29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1
-SIZE (python/rust/crates/tinystr-0.3.4.crate) = 19341
-SHA256 (python/rust/crates/tinyvec-1.3.1.crate) = 848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338
-SIZE (python/rust/crates/tinyvec-1.3.1.crate) = 42386
-SHA256 (python/rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
-SIZE (python/rust/crates/tinyvec_macros-0.1.0.crate) = 1817
-SHA256 (python/rust/crates/tokio-0.2.25.crate) = 6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092
-SIZE (python/rust/crates/tokio-0.2.25.crate) = 413390
-SHA256 (python/rust/crates/tokio-rustls-0.14.1.crate) = e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a
-SIZE (python/rust/crates/tokio-rustls-0.14.1.crate) = 23935
-SHA256 (python/rust/crates/tokio-socks-0.3.0.crate) = d611fd5d241872372d52a0a3d309c52d0b95a6a67671a6c8f7ab2c4a37fb2539
-SIZE (python/rust/crates/tokio-socks-0.3.0.crate) = 17434
-SHA256 (python/rust/crates/tokio-tls-0.3.1.crate) = 9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343
-SIZE (python/rust/crates/tokio-tls-0.3.1.crate) = 22517
-SHA256 (python/rust/crates/tokio-util-0.3.1.crate) = be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499
-SIZE (python/rust/crates/tokio-util-0.3.1.crate) = 27233
-SHA256 (python/rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (python/rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (python/rust/crates/tower-service-0.3.1.crate) = 360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6
-SIZE (python/rust/crates/tower-service-0.3.1.crate) = 6299
-SHA256 (python/rust/crates/tracing-0.1.26.crate) = 09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d
-SIZE (python/rust/crates/tracing-0.1.26.crate) = 68583
-SHA256 (python/rust/crates/tracing-core-0.1.18.crate) = a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052
-SIZE (python/rust/crates/tracing-core-0.1.18.crate) = 48381
-SHA256 (python/rust/crates/tracing-futures-0.2.5.crate) = 97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2
-SIZE (python/rust/crates/tracing-futures-0.2.5.crate) = 11637
-SHA256 (python/rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
-SIZE (python/rust/crates/try-lock-0.2.3.crate) = 4158
-SHA256 (python/rust/crates/type-map-0.4.0.crate) = b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46
-SIZE (python/rust/crates/type-map-0.4.0.crate) = 3177
-SHA256 (python/rust/crates/typenum-1.13.0.crate) = 879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06
-SIZE (python/rust/crates/typenum-1.13.0.crate) = 40238
-SHA256 (python/rust/crates/unic-langid-0.9.0.crate) = 73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5
-SIZE (python/rust/crates/unic-langid-0.9.0.crate) = 3899
-SHA256 (python/rust/crates/unic-langid-impl-0.9.0.crate) = 1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d
-SIZE (python/rust/crates/unic-langid-impl-0.9.0.crate) = 33921
-SHA256 (python/rust/crates/unic-langid-macros-0.9.0.crate) = 18f980d6d87e8805f2836d64b4138cc95aa7986fa63b1f51f67d5fbff64dd6e5
-SIZE (python/rust/crates/unic-langid-macros-0.9.0.crate) = 1855
-SHA256 (python/rust/crates/unic-langid-macros-impl-0.9.0.crate) = 29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f
-SIZE (python/rust/crates/unic-langid-macros-impl-0.9.0.crate) = 1829
-SHA256 (python/rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
-SIZE (python/rust/crates/unicase-2.6.0.crate) = 23478
-SHA256 (python/rust/crates/unicode-bidi-0.3.5.crate) = eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0
-SIZE (python/rust/crates/unicode-bidi-0.3.5.crate) = 33423
-SHA256 (python/rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
-SIZE (python/rust/crates/unicode-normalization-0.1.19.crate) = 107353
-SHA256 (python/rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (python/rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (python/rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
-SIZE (python/rust/crates/unicode-width-0.1.8.crate) = 16732
-SHA256 (python/rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (python/rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (python/rust/crates/unindent-0.1.7.crate) = f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7
-SIZE (python/rust/crates/unindent-0.1.7.crate) = 8346
-SHA256 (python/rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
-SIZE (python/rust/crates/untrusted-0.7.1.crate) = 7924
-SHA256 (python/rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
-SIZE (python/rust/crates/url-2.2.2.crate) = 68555
-SHA256 (python/rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
-SIZE (python/rust/crates/utf-8-0.7.6.crate) = 10422
-SHA256 (python/rust/crates/utime-0.3.1.crate) = 91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef
-SIZE (python/rust/crates/utime-0.3.1.crate) = 8311
-SHA256 (python/rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
-SIZE (python/rust/crates/vcpkg-0.2.15.crate) = 228735
-SHA256 (python/rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
-SIZE (python/rust/crates/version_check-0.9.3.crate) = 12547
-SHA256 (python/rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
-SIZE (python/rust/crates/want-0.3.0.crate) = 6550
-SHA256 (python/rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
-SIZE (python/rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
-SHA256 (python/rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (python/rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
-SHA256 (python/rust/crates/wasm-bindgen-0.2.74.crate) = d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd
-SIZE (python/rust/crates/wasm-bindgen-0.2.74.crate) = 158439
-SHA256 (python/rust/crates/wasm-bindgen-backend-0.2.74.crate) = 3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900
-SIZE (python/rust/crates/wasm-bindgen-backend-0.2.74.crate) = 25434
-SHA256 (python/rust/crates/wasm-bindgen-futures-0.4.24.crate) = 5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1
-SIZE (python/rust/crates/wasm-bindgen-futures-0.4.24.crate) = 14759
-SHA256 (python/rust/crates/wasm-bindgen-macro-0.2.74.crate) = 088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4
-SIZE (python/rust/crates/wasm-bindgen-macro-0.2.74.crate) = 11536
-SHA256 (python/rust/crates/wasm-bindgen-macro-support-0.2.74.crate) = be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97
-SIZE (python/rust/crates/wasm-bindgen-macro-support-0.2.74.crate) = 17831
-SHA256 (python/rust/crates/wasm-bindgen-shared-0.2.74.crate) = d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f
-SIZE (python/rust/crates/wasm-bindgen-shared-0.2.74.crate) = 7163
-SHA256 (python/rust/crates/web-sys-0.3.51.crate) = e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582
-SIZE (python/rust/crates/web-sys-0.3.51.crate) = 651133
-SHA256 (python/rust/crates/webpki-0.21.4.crate) = b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea
-SIZE (python/rust/crates/webpki-0.21.4.crate) = 58505
-SHA256 (python/rust/crates/webpki-roots-0.20.0.crate) = 0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f
-SIZE (python/rust/crates/webpki-roots-0.20.0.crate) = 244786
-SHA256 (python/rust/crates/which-4.1.0.crate) = b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe
-SIZE (python/rust/crates/which-4.1.0.crate) = 7684
-SHA256 (python/rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
-SIZE (python/rust/crates/winapi-0.2.8.crate) = 455145
-SHA256 (python/rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
-SIZE (python/rust/crates/winapi-0.3.9.crate) = 1200382
-SHA256 (python/rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
-SIZE (python/rust/crates/winapi-build-0.1.1.crate) = 669
-SHA256 (python/rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
-SIZE (python/rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (python/rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (python/rust/crates/winapi-util-0.1.5.crate) = 10164
-SHA256 (python/rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
-SIZE (python/rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (python/rust/crates/winreg-0.7.0.crate) = 0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69
-SIZE (python/rust/crates/winreg-0.7.0.crate) = 21225
-SHA256 (python/rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
-SIZE (python/rust/crates/ws2_32-sys-0.2.1.crate) = 4697
-SHA256 (python/rust/crates/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
-SIZE (python/rust/crates/wyz-0.2.0.crate) = 12926
-SHA256 (python/rust/crates/xml5ever-0.16.1.crate) = 0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59
-SIZE (python/rust/crates/xml5ever-0.16.1.crate) = 41282
-SHA256 (python/rust/crates/zip-0.5.13.crate) = 93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815
-SIZE (python/rust/crates/zip-0.5.13.crate) = 48237
-SHA256 (python/ankitects-anki-2.1.44_GH0.tar.gz) = c24c87aac042b3ac803ea22669091730a48b575ee9d9939672d46caf6d3287b5
-SIZE (python/ankitects-anki-2.1.44_GH0.tar.gz) = 1078527
-SHA256 (python/ankitects-anki-core-i18n-30ab198_GH0.tar.gz) = 99afa625af30055255b2f8e636f0b38007c6da792d399306f0deb4b2672e1a83
-SIZE (python/ankitects-anki-core-i18n-30ab198_GH0.tar.gz) = 715196
-SHA256 (python/ankitects-anki-desktop-ftl-3920d26_GH0.tar.gz) = c33512feb108400839eb18337a0531b755c2b343a9390b326216760bd0285a5f
-SIZE (python/ankitects-anki-desktop-ftl-3920d26_GH0.tar.gz) = 174083
-SHA256 (python/ankitects-hyper-timeout-anki-2020-11-03_GH0.tar.gz) = ac85b7bf4911586a06bed019ec16bd10fbeb09bcab0fe4c9783123b1c36e4366
-SIZE (python/ankitects-hyper-timeout-anki-2020-11-03_GH0.tar.gz) = 8473
-SHA256 (python/ankitects-reqwest-anki-2020-11-03_GH0.tar.gz) = d06b88063a7d150e83039979e98d6aa1bf84e7dcd7aecc16b6f76a5a72d584bd
-SIZE (python/ankitects-reqwest-anki-2020-11-03_GH0.tar.gz) = 169320
-SHA256 (python/ankitects-tokio-io-timeout-anki-2020-11-03_GH0.tar.gz) = d081728c976f90f0d605ab4a8477e1448146bc06fc0327fe25894ea39aa93c8e
-SIZE (python/ankitects-tokio-io-timeout-anki-2020-11-03_GH0.tar.gz) = 8172
-SHA256 (python/bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 1c187d8d6b2ad6804cbb0f76c089e3667ae5d363d87cd46a425f25654b0448cf
-SIZE (python/bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 78257
-SHA256 (python/bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 9ad895164b7d69a4eb43630a3477bd0737981065a3c92b4b4d6b000d6a8ea7d7
-SIZE (python/bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 129284
-SHA256 (python/bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 113ddc63ac86f493453c4298d78f726cc219ea33cd9fe23659f4269f747390cb
-SIZE (python/bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 12055
-SHA256 (python/bazelbuild-rules_nodejs-1689fa1_GH0.tar.gz) = a65952b0e7ad2470699d9d7dcd311ff36e024cbe8ceb49b83bb54688b2102ee8
-SIZE (python/bazelbuild-rules_nodejs-1689fa1_GH0.tar.gz) = 5603917
-SHA256 (python/bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = d92ce309a1309b4e67a761b9f446bd4c9802aadb685199cb94d5eb637b72bae2
-SIZE (python/bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = 14397
-SHA256 (python/ankitects-rules_pip-73953e0_GH0.tar.gz) = e32cfe55d3d6a931b2d9d11fe69c82166e10138d015fbecfb82d3aea15b8aceb
-SIZE (python/ankitects-rules_pip-73953e0_GH0.tar.gz) = 2075755
-SHA256 (python/ankitects-rules_python-3927c9b_GH0.tar.gz) = 4c367da5f0b8bdd585ae097d7666e1f491e6def99a24b39b95daf48976f2948d
-SIZE (python/ankitects-rules_python-3927c9b_GH0.tar.gz) = 2565208
-SHA256 (python/ankitects-rules_rust-dfd1200_GH0.tar.gz) = 3c3a6f51bf5e2aab73f9cf80b975b8887c9ef5fc404912a6f7af9c50fd54f6ec
-SIZE (python/ankitects-rules_rust-dfd1200_GH0.tar.gz) = 284139
-SHA256 (python/ankitects-rules_sass-275ace7_GH0.tar.gz) = 0d42aa56eb20694ad0b802bf478449ec9879cf4ac6d9aaf652d6945d2664a6d7
-SIZE (python/ankitects-rules_sass-275ace7_GH0.tar.gz) = 20268
-SHA256 (python/ankitects-rules_svelte-f09155c_GH0.tar.gz) = 711d01b2e3ee7e2a9a81d0d87fdfd6645be6c9813064e839b66afb9015d72b10
-SIZE (python/ankitects-rules_svelte-f09155c_GH0.tar.gz) = 63486
+TIMESTAMP = 1628705797
+SHA256 (anki-yarn-cache-2.1.46.tar.gz) = a30126056db661636132e4a336924ee30208cf6ea859a100b2dcc1936318d3a2
+SIZE (anki-yarn-cache-2.1.46.tar.gz) = 104348340
+SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
+SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/ahash-0.7.4.crate) = 43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98
+SIZE (rust/crates/ahash-0.7.4.crate) = 37072
+SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/ammonia-3.1.2.crate) = 2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35
+SIZE (rust/crates/ammonia-3.1.2.crate) = 39704
+SHA256 (rust/crates/anyhow-1.0.42.crate) = 595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486
+SIZE (rust/crates/anyhow-1.0.42.crate) = 34827
+SHA256 (rust/crates/arc-swap-1.3.0.crate) = e906254e445520903e7fc9da4f709886c84ae4bc4ddaf0e093188d66df4dc820
+SIZE (rust/crates/arc-swap-1.3.0.crate) = 63680
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.4.12.crate) = cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9
+SIZE (rust/crates/arrayvec-0.4.12.crate) = 26551
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/askama-0.10.5.crate) = d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134
+SIZE (rust/crates/askama-0.10.5.crate) = 7994
+SHA256 (rust/crates/askama_derive-0.10.5.crate) = ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522
+SIZE (rust/crates/askama_derive-0.10.5.crate) = 6927
+SHA256 (rust/crates/askama_escape-0.10.1.crate) = 90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb
+SIZE (rust/crates/askama_escape-0.10.1.crate) = 8535
+SHA256 (rust/crates/askama_shared-0.11.1.crate) = 2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc
+SIZE (rust/crates/askama_shared-0.11.1.crate) = 30554
+SHA256 (rust/crates/async-trait-0.1.51.crate) = 44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e
+SIZE (rust/crates/async-trait-0.1.51.crate) = 25531
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
+SIZE (rust/crates/bitvec-0.19.5.crate) = 148200
+SHA256 (rust/crates/blake3-0.3.8.crate) = b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3
+SIZE (rust/crates/blake3-0.3.8.crate) = 154058
+SHA256 (rust/crates/bumpalo-3.7.0.crate) = 9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631
+SIZE (rust/crates/bumpalo-3.7.0.crate) = 134261
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/bytes-1.0.1.crate) = b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040
+SIZE (rust/crates/bytes-1.0.1.crate) = 48142
+SHA256 (rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
+SIZE (rust/crates/cc-1.0.69.crate) = 56044
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
+SIZE (rust/crates/chrono-0.4.19.crate) = 155663
+SHA256 (rust/crates/coarsetime-0.1.19.crate) = 2918e2ffa91a49dabbba4965fe38a37a1ba0b6953a29e32cc250a8d59cd42232
+SIZE (rust/crates/coarsetime-0.1.19.crate) = 7927
+SHA256 (rust/crates/codespan-0.11.1.crate) = 3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e
+SIZE (rust/crates/codespan-0.11.1.crate) = 8895
+SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
+SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e
+SIZE (rust/crates/convert_case-0.4.0.crate) = 8098
+SHA256 (rust/crates/core-foundation-0.9.1.crate) = 0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62
+SIZE (rust/crates/core-foundation-0.9.1.crate) = 25985
+SHA256 (rust/crates/core-foundation-sys-0.8.2.crate) = ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b
+SIZE (rust/crates/core-foundation-sys-0.8.2.crate) = 17461
+SHA256 (rust/crates/crc32fast-1.2.1.crate) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a
+SIZE (rust/crates/crc32fast-1.2.1.crate) = 38172
+SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
+SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
+SHA256 (rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
+SIZE (rust/crates/crossbeam-utils-0.8.5.crate) = 38414
+SHA256 (rust/crates/crypto-mac-0.8.0.crate) = b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab
+SIZE (rust/crates/crypto-mac-0.8.0.crate) = 9115
+SHA256 (rust/crates/cssparser-0.27.2.crate) = 754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a
+SIZE (rust/crates/cssparser-0.27.2.crate) = 56792
+SHA256 (rust/crates/cssparser-macros-0.6.0.crate) = dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e
+SIZE (rust/crates/cssparser-macros-0.6.0.crate) = 6684
+SHA256 (rust/crates/ctor-0.1.20.crate) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d
+SIZE (rust/crates/ctor-0.1.20.crate) = 9328
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+SHA256 (rust/crates/derive_more-0.99.16.crate) = 40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df
+SIZE (rust/crates/derive_more-0.99.16.crate) = 56233
+SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
+SIZE (rust/crates/digest-0.9.0.crate) = 13247
+SHA256 (rust/crates/dirs-2.0.2.crate) = 13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3
+SIZE (rust/crates/dirs-2.0.2.crate) = 11779
+SHA256 (rust/crates/dirs-sys-0.3.6.crate) = 03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780
+SIZE (rust/crates/dirs-sys-0.3.6.crate) = 10626
+SHA256 (rust/crates/dtoa-0.4.8.crate) = 56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0
+SIZE (rust/crates/dtoa-0.4.8.crate) = 16175
+SHA256 (rust/crates/dtoa-short-0.3.3.crate) = bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6
+SIZE (rust/crates/dtoa-short-0.3.3.crate) = 8198
+SHA256 (rust/crates/dunce-1.0.2.crate) = 453440c271cf5577fd2a40e4942540cb7d0d2f85e27c8d07dd0023c925a67541
+SIZE (rust/crates/dunce-1.0.2.crate) = 7953
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/encoding_rs-0.8.28.crate) = 80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065
+SIZE (rust/crates/encoding_rs-0.8.28.crate) = 1368577
+SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
+SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
+SHA256 (rust/crates/fallible-iterator-0.2.0.crate) = 4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7
+SIZE (rust/crates/fallible-iterator-0.2.0.crate) = 18509
+SHA256 (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a
+SIZE (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249
+SHA256 (rust/crates/fixedbitset-0.2.0.crate) = 37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d
+SIZE (rust/crates/fixedbitset-0.2.0.crate) = 13597
+SHA256 (rust/crates/flate2-1.0.20.crate) = cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0
+SIZE (rust/crates/flate2-1.0.20.crate) = 74036
+SHA256 (rust/crates/fluent-0.15.0.crate) = bc4d7142005e2066e4844caf9f271b93fc79836ee96ec85057b8c109687e629a
+SIZE (rust/crates/fluent-0.15.0.crate) = 8372
+SHA256 (rust/crates/fluent-bundle-0.15.1.crate) = 8acf044eeb4872d9dbf2667541fbf461f5965c57e343878ad0fb24b5793fa007
+SIZE (rust/crates/fluent-bundle-0.15.1.crate) = 32744
+SHA256 (rust/crates/fluent-langneg-0.13.0.crate) = 2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94
+SIZE (rust/crates/fluent-langneg-0.13.0.crate) = 11723
+SHA256 (rust/crates/fluent-syntax-0.11.0.crate) = c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78
+SIZE (rust/crates/fluent-syntax-0.11.0.crate) = 28524
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
+SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
+SIZE (rust/crates/funty-1.1.0.crate) = 11631
+SHA256 (rust/crates/futf-0.1.4.crate) = 7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b
+SIZE (rust/crates/futf-0.1.4.crate) = 11341
+SHA256 (rust/crates/futures-0.3.16.crate) = 1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b
+SIZE (rust/crates/futures-0.3.16.crate) = 46410
+SHA256 (rust/crates/futures-channel-0.3.16.crate) = 74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9
+SIZE (rust/crates/futures-channel-0.3.16.crate) = 31765
+SHA256 (rust/crates/futures-core-0.3.16.crate) = af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99
+SIZE (rust/crates/futures-core-0.3.16.crate) = 14486
+SHA256 (rust/crates/futures-executor-0.3.16.crate) = 4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c
+SIZE (rust/crates/futures-executor-0.3.16.crate) = 17104
+SHA256 (rust/crates/futures-io-0.3.16.crate) = 0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582
+SIZE (rust/crates/futures-io-0.3.16.crate) = 9050
+SHA256 (rust/crates/futures-macro-0.3.16.crate) = c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57
+SIZE (rust/crates/futures-macro-0.3.16.crate) = 10779
+SHA256 (rust/crates/futures-sink-0.3.16.crate) = c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53
+SIZE (rust/crates/futures-sink-0.3.16.crate) = 7663
+SHA256 (rust/crates/futures-task-0.3.16.crate) = bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2
+SIZE (rust/crates/futures-task-0.3.16.crate) = 11712
+SHA256 (rust/crates/futures-util-0.3.16.crate) = 67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78
+SIZE (rust/crates/futures-util-0.3.16.crate) = 144642
+SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
+SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
+SHA256 (rust/crates/generic-array-0.14.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
+SIZE (rust/crates/generic-array-0.14.4.crate) = 28916
+SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
+SIZE (rust/crates/getopts-0.2.21.crate) = 18457
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
+SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479
+SIZE (rust/crates/ghost-0.1.2.crate) = 12777
+SHA256 (rust/crates/h2-0.3.3.crate) = 825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726
+SIZE (rust/crates/h2-0.3.3.crate) = 158845
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hashlink-0.7.0.crate) = 7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf
+SIZE (rust/crates/hashlink-0.7.0.crate) = 25309
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/html5ever-0.25.1.crate) = aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b
+SIZE (rust/crates/html5ever-0.25.1.crate) = 73165
+SHA256 (rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163
+SIZE (rust/crates/htmlescape-0.3.1.crate) = 53226
+SHA256 (rust/crates/http-0.2.4.crate) = 527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11
+SIZE (rust/crates/http-0.2.4.crate) = 105489
+SHA256 (rust/crates/http-body-0.4.2.crate) = 60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9
+SIZE (rust/crates/http-body-0.4.2.crate) = 7603
+SHA256 (rust/crates/httparse-1.4.1.crate) = f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68
+SIZE (rust/crates/httparse-1.4.1.crate) = 25592
+SHA256 (rust/crates/httpdate-1.0.1.crate) = 6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440
+SIZE (rust/crates/httpdate-1.0.1.crate) = 10293
+SHA256 (rust/crates/humansize-1.1.1.crate) = 02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026
+SIZE (rust/crates/humansize-1.1.1.crate) = 9131
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/hyper-0.14.11.crate) = 0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11
+SIZE (rust/crates/hyper-0.14.11.crate) = 169467
+SHA256 (rust/crates/hyper-rustls-0.22.1.crate) = 5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64
+SIZE (rust/crates/hyper-rustls-0.22.1.crate) = 26718
+SHA256 (rust/crates/hyper-tls-0.5.0.crate) = d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905
+SIZE (rust/crates/hyper-tls-0.5.0.crate) = 13257
+SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
+SIZE (rust/crates/idna-0.2.3.crate) = 271023
+SHA256 (rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
+SIZE (rust/crates/indexmap-1.7.0.crate) = 50363
+SHA256 (rust/crates/indoc-0.3.6.crate) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8
+SIZE (rust/crates/indoc-0.3.6.crate) = 9663
+SHA256 (rust/crates/indoc-impl-0.3.6.crate) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0
+SIZE (rust/crates/indoc-impl-0.3.6.crate) = 7933
+SHA256 (rust/crates/inflections-1.1.1.crate) = a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a
+SIZE (rust/crates/inflections-1.1.1.crate) = 6853
+SHA256 (rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
+SIZE (rust/crates/instant-0.1.10.crate) = 5218
+SHA256 (rust/crates/intl-memoizer-0.5.1.crate) = c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f
+SIZE (rust/crates/intl-memoizer-0.5.1.crate) = 8292
+SHA256 (rust/crates/intl_pluralrules-7.0.1.crate) = b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf
+SIZE (rust/crates/intl_pluralrules-7.0.1.crate) = 9263
+SHA256 (rust/crates/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f
+SIZE (rust/crates/inventory-0.1.10.crate) = 11572
+SHA256 (rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51
+SIZE (rust/crates/inventory-impl-0.1.10.crate) = 6228
+SHA256 (rust/crates/ipnet-2.3.1.crate) = 68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9
+SIZE (rust/crates/ipnet-2.3.1.crate) = 24932
+SHA256 (rust/crates/itertools-0.9.0.crate) = 284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b
+SIZE (rust/crates/itertools-0.9.0.crate) = 96429
+SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
+SIZE (rust/crates/itertools-0.10.1.crate) = 116219
+SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
+SIZE (rust/crates/itoa-0.4.7.crate) = 12099
+SHA256 (rust/crates/js-sys-0.3.52.crate) = ce791b7ca6638aae45be056e068fc756d871eb3b3b10b8efa62d1c9cec616752
+SIZE (rust/crates/js-sys-0.3.52.crate) = 67616
+SHA256 (rust/crates/kuchiki-0.8.1.crate) = 1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358
+SIZE (rust/crates/kuchiki-0.8.1.crate) = 22153
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
+SIZE (rust/crates/lexical-core-0.7.6.crate) = 494385
+SHA256 (rust/crates/libc-0.2.98.crate) = 320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790
+SIZE (rust/crates/libc-0.2.98.crate) = 522087
+SHA256 (rust/crates/libsqlite3-sys-0.22.2.crate) = 290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d
+SIZE (rust/crates/libsqlite3-sys-0.22.2.crate) = 2345859
+SHA256 (rust/crates/linkify-0.5.0.crate) = 78d59d732ba6d7eeefc418aab8057dc8e3da4374bd5802ffa95bebc04b4d1dfb
+SIZE (rust/crates/linkify-0.5.0.crate) = 15108
+SHA256 (rust/crates/lock_api-0.4.4.crate) = 0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb
+SIZE (rust/crates/lock_api-0.4.4.crate) = 20356
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
+SIZE (rust/crates/mac-0.1.1.crate) = 4838
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/markup5ever-0.10.1.crate) = a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd
+SIZE (rust/crates/markup5ever-0.10.1.crate) = 34668
+SHA256 (rust/crates/markup5ever_rcdom-0.1.0.crate) = f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b
+SIZE (rust/crates/markup5ever_rcdom-0.1.0.crate) = 25165
+SHA256 (rust/crates/matches-0.1.8.crate) = 7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
+SIZE (rust/crates/matches-0.1.8.crate) = 2216
+SHA256 (rust/crates/memchr-2.4.0.crate) = b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc
+SIZE (rust/crates/memchr-2.4.0.crate) = 63392
+SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/mime_guess-2.0.3.crate) = 2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
+SIZE (rust/crates/mime_guess-2.0.3.crate) = 27437
+SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
+SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
+SHA256 (rust/crates/mio-0.7.13.crate) = 8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16
+SIZE (rust/crates/mio-0.7.13.crate) = 87027
+SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
+SIZE (rust/crates/miow-0.3.7.crate) = 24563
+SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
+SIZE (rust/crates/multimap-0.8.3.crate) = 13518
+SHA256 (rust/crates/native-tls-0.2.7.crate) = b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4
+SIZE (rust/crates/native-tls-0.2.7.crate) = 24958
+SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
+SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
+SHA256 (rust/crates/nodrop-0.1.14.crate) = 72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb
+SIZE (rust/crates/nodrop-0.1.14.crate) = 7667
+SHA256 (rust/crates/nom-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
+SIZE (rust/crates/nom-6.1.2.crate) = 147539
+SHA256 (rust/crates/nom-7.0.0-alpha1.crate) = dd43cd1e53168596e629accc602ada1297f5125fed588d62cf8be81175b46002
+SIZE (rust/crates/nom-7.0.0-alpha1.crate) = 148799
+SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
+SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+SHA256 (rust/crates/num-format-0.4.0.crate) = bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465
+SIZE (rust/crates/num-format-0.4.0.crate) = 59791
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
+SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
+SHA256 (rust/crates/num_enum-0.5.2.crate) = e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169
+SIZE (rust/crates/num_enum-0.5.2.crate) = 10479
+SHA256 (rust/crates/num_enum_derive-0.5.2.crate) = b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482
+SIZE (rust/crates/num_enum_derive-0.5.2.crate) = 7670
+SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
+SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
+SHA256 (rust/crates/openssl-0.10.35.crate) = 549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885
+SIZE (rust/crates/openssl-0.10.35.crate) = 204462
+SHA256 (rust/crates/openssl-probe-0.1.4.crate) = 28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a
+SIZE (rust/crates/openssl-probe-0.1.4.crate) = 7066
+SHA256 (rust/crates/openssl-sys-0.9.65.crate) = 7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d
+SIZE (rust/crates/openssl-sys-0.9.65.crate) = 54405
+SHA256 (rust/crates/ouroboros-0.9.5.crate) = fbeff60e3e37407a80ead3e9458145b456e978c4068cddbfea6afb48572962ca
+SIZE (rust/crates/ouroboros-0.9.5.crate) = 6402
+SHA256 (rust/crates/ouroboros_macro-0.9.5.crate) = 03f2cb802b5bdfdf52f1ffa0b54ce105e4d346e91990dd571f86c91321ad49e2
+SIZE (rust/crates/ouroboros_macro-0.9.5.crate) = 13515
+SHA256 (rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
+SIZE (rust/crates/parking_lot-0.11.1.crate) = 39854
+SHA256 (rust/crates/parking_lot_core-0.8.3.crate) = fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018
+SIZE (rust/crates/parking_lot_core-0.8.3.crate) = 32147
+SHA256 (rust/crates/paste-0.1.18.crate) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880
+SIZE (rust/crates/paste-0.1.18.crate) = 12259
+SHA256 (rust/crates/paste-impl-0.1.18.crate) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6
+SIZE (rust/crates/paste-impl-0.1.18.crate) = 9451
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
+SIZE (rust/crates/pest-2.1.3.crate) = 77986
+SHA256 (rust/crates/petgraph-0.5.1.crate) = 467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7
+SIZE (rust/crates/petgraph-0.5.1.crate) = 147173
+SHA256 (rust/crates/phf-0.8.0.crate) = 3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12
+SIZE (rust/crates/phf-0.8.0.crate) = 3902
+SHA256 (rust/crates/phf-0.9.0.crate) = b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37
+SIZE (rust/crates/phf-0.9.0.crate) = 4712
+SHA256 (rust/crates/phf_codegen-0.8.0.crate) = cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815
+SIZE (rust/crates/phf_codegen-0.8.0.crate) = 3192
+SHA256 (rust/crates/phf_generator-0.8.0.crate) = 17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526
+SIZE (rust/crates/phf_generator-0.8.0.crate) = 7604
+SHA256 (rust/crates/phf_generator-0.9.0.crate) = 0fc1437ada0f3a97d538f0bb608137bf53c53969028cab74c89893e1e9a12f0e
+SIZE (rust/crates/phf_generator-0.9.0.crate) = 7769
+SHA256 (rust/crates/phf_macros-0.8.0.crate) = 7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c
+SIZE (rust/crates/phf_macros-0.8.0.crate) = 5814
+SHA256 (rust/crates/phf_macros-0.9.0.crate) = b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86
+SIZE (rust/crates/phf_macros-0.9.0.crate) = 3537
+SHA256 (rust/crates/phf_shared-0.8.0.crate) = c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7
+SIZE (rust/crates/phf_shared-0.8.0.crate) = 2860
+SHA256 (rust/crates/phf_shared-0.9.0.crate) = a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9
+SIZE (rust/crates/phf_shared-0.9.0.crate) = 4111
+SHA256 (rust/crates/pin-project-1.0.8.crate) = 576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08
+SIZE (rust/crates/pin-project-1.0.8.crate) = 54991
+SHA256 (rust/crates/pin-project-internal-1.0.8.crate) = 6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389
+SIZE (rust/crates/pin-project-internal-1.0.8.crate) = 27941
+SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
+SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
+SIZE (rust/crates/pkg-config-0.3.19.crate) = 15451
+SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
+SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
+SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
+SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
+SHA256 (rust/crates/proc-macro-crate-1.0.0.crate) = 41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92
+SIZE (rust/crates/proc-macro-crate-1.0.0.crate) = 8442
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
+SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
+SHA256 (rust/crates/proc-macro-nested-0.1.6.crate) = eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a
+SIZE (rust/crates/proc-macro-nested-0.1.6.crate) = 6498
+SHA256 (rust/crates/proc-macro2-1.0.28.crate) = 5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612
+SIZE (rust/crates/proc-macro2-1.0.28.crate) = 38732
+SHA256 (rust/crates/prost-0.7.0.crate) = 9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2
+SIZE (rust/crates/prost-0.7.0.crate) = 24775
+SHA256 (rust/crates/prost-build-0.7.0.crate) = 32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3
+SIZE (rust/crates/prost-build-0.7.0.crate) = 8220115
+SHA256 (rust/crates/prost-derive-0.7.0.crate) = 169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4
+SIZE (rust/crates/prost-derive-0.7.0.crate) = 15218
+SHA256 (rust/crates/prost-types-0.7.0.crate) = b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb
+SIZE (rust/crates/prost-types-0.7.0.crate) = 25694
+SHA256 (rust/crates/pulldown-cmark-0.8.0.crate) = ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8
+SIZE (rust/crates/pulldown-cmark-0.8.0.crate) = 106330
+SHA256 (rust/crates/pyo3-0.13.2.crate) = 4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3
+SIZE (rust/crates/pyo3-0.13.2.crate) = 281372
+SHA256 (rust/crates/pyo3-macros-0.13.2.crate) = a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb
+SIZE (rust/crates/pyo3-macros-0.13.2.crate) = 5434
+SHA256 (rust/crates/pyo3-macros-backend-0.13.2.crate) = 87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66
+SIZE (rust/crates/pyo3-macros-backend-0.13.2.crate) = 33106
+SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
+SIZE (rust/crates/quote-1.0.9.crate) = 25042
+SHA256 (rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
+SIZE (rust/crates/radium-0.5.3.crate) = 7588
+SHA256 (rust/crates/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
+SIZE (rust/crates/rand-0.7.3.crate) = 112246
+SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
+SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/rand_chacha-0.2.2.crate) = f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402
+SIZE (rust/crates/rand_chacha-0.2.2.crate) = 13267
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
+SIZE (rust/crates/rand_core-0.5.1.crate) = 21116
+SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
+SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
+SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
+SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
+SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
+SHA256 (rust/crates/rand_pcg-0.2.1.crate) = 16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429
+SIZE (rust/crates/rand_pcg-0.2.1.crate) = 11291
+SHA256 (rust/crates/redox_syscall-0.2.9.crate) = 5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee
+SIZE (rust/crates/redox_syscall-0.2.9.crate) = 23533
+SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
+SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
+SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
+SIZE (rust/crates/regex-1.5.4.crate) = 236581
+SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
+SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
+SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
+SHA256 (rust/crates/reqwest-0.11.4.crate) = 246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22
+SIZE (rust/crates/reqwest-0.11.4.crate) = 132776
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rusqlite-0.25.3.crate) = 57adcf67c8faaf96f3248c2a7b419a0dbc52ebe36ba83dd57fe83827c1ea4eb3
+SIZE (rust/crates/rusqlite-0.25.3.crate) = 129773
+SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
+SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
+SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
+SHA256 (rust/crates/rustls-0.19.1.crate) = 35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7
+SIZE (rust/crates/rustls-0.19.1.crate) = 208143
+SHA256 (rust/crates/rustls-native-certs-0.5.0.crate) = 5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092
+SIZE (rust/crates/rustls-native-certs-0.5.0.crate) = 18482
+SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
+SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/schannel-0.1.19.crate) = 8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75
+SIZE (rust/crates/schannel-0.1.19.crate) = 42755
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/sct-0.6.1.crate) = b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce
+SIZE (rust/crates/sct-0.6.1.crate) = 26825
+SHA256 (rust/crates/security-framework-2.3.1.crate) = 23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467
+SIZE (rust/crates/security-framework-2.3.1.crate) = 61581
+SHA256 (rust/crates/security-framework-sys-2.3.0.crate) = 7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284
+SIZE (rust/crates/security-framework-sys-2.3.0.crate) = 12561
+SHA256 (rust/crates/selectors-0.22.0.crate) = df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe
+SIZE (rust/crates/selectors-0.22.0.crate) = 44199
+SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
+SIZE (rust/crates/semver-0.11.0.crate) = 20826
+SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
+SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
+SHA256 (rust/crates/serde-1.0.127.crate) = f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8
+SIZE (rust/crates/serde-1.0.127.crate) = 75162
+SHA256 (rust/crates/serde-aux-2.2.0.crate) = 77eb8c83f6ebaedf5e8f970a8a44506b180b8e6268de03885c8547031ccaee00
+SIZE (rust/crates/serde-aux-2.2.0.crate) = 9568
+SHA256 (rust/crates/serde_derive-1.0.127.crate) = a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc
+SIZE (rust/crates/serde_derive-1.0.127.crate) = 54201
+SHA256 (rust/crates/serde_json-1.0.66.crate) = 336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127
+SIZE (rust/crates/serde_json-1.0.66.crate) = 115121
+SHA256 (rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
+SIZE (rust/crates/serde_repr-0.1.7.crate) = 10173
+SHA256 (rust/crates/serde_tuple-0.5.0.crate) = f4f025b91216f15a2a32aa39669329a475733590a015835d1783549a56d09427
+SIZE (rust/crates/serde_tuple-0.5.0.crate) = 3817
+SHA256 (rust/crates/serde_tuple_macros-0.5.0.crate) = 4076151d1a2b688e25aaf236997933c66e18b870d0369f8b248b8ab2be630d7e
+SIZE (rust/crates/serde_tuple_macros-0.5.0.crate) = 2205
+SHA256 (rust/crates/serde_urlencoded-0.7.0.crate) = edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9
+SIZE (rust/crates/serde_urlencoded-0.7.0.crate) = 12489
+SHA256 (rust/crates/servo_arc-0.1.1.crate) = d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432
+SIZE (rust/crates/servo_arc-0.1.1.crate) = 9817
+SHA256 (rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
+SIZE (rust/crates/sha1-0.6.0.crate) = 9244
+SHA256 (rust/crates/siphasher-0.3.6.crate) = 729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1
+SIZE (rust/crates/siphasher-0.3.6.crate) = 9708
+SHA256 (rust/crates/slab-0.4.3.crate) = f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527
+SIZE (rust/crates/slab-0.4.3.crate) = 15681
+SHA256 (rust/crates/slog-2.7.0.crate) = 8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06
+SIZE (rust/crates/slog-2.7.0.crate) = 45432
+SHA256 (rust/crates/slog-async-2.7.0.crate) = 766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe
+SIZE (rust/crates/slog-async-2.7.0.crate) = 19369
+SHA256 (rust/crates/slog-envlogger-2.2.0.crate) = 906a1a0bc43fed692df4b82a5e2fbfc3733db8dad8bb514ab27a4f23ad04f5c0
+SIZE (rust/crates/slog-envlogger-2.2.0.crate) = 13240
+SHA256 (rust/crates/slog-scope-4.4.0.crate) = 2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786
+SIZE (rust/crates/slog-scope-4.4.0.crate) = 16753
+SHA256 (rust/crates/slog-stdlog-4.1.0.crate) = 8228ab7302adbf4fcb37e66f3cda78003feb521e7fd9e3847ec117a7784d0f5a
+SIZE (rust/crates/slog-stdlog-4.1.0.crate) = 14523
+SHA256 (rust/crates/slog-term-2.6.0.crate) = bab1d807cf71129b05ce36914e1dbb6fbfbdecaf686301cb457f4fa967f9f5b6
+SIZE (rust/crates/slog-term-2.6.0.crate) = 26304
+SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
+SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
+SHA256 (rust/crates/socket2-0.4.1.crate) = 765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad
+SIZE (rust/crates/socket2-0.4.1.crate) = 41364
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/string_cache-0.8.1.crate) = 8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a
+SIZE (rust/crates/string_cache-0.8.1.crate) = 14423
+SHA256 (rust/crates/string_cache_codegen-0.5.1.crate) = f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97
+SIZE (rust/crates/string_cache_codegen-0.5.1.crate) = 8243
+SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
+SIZE (rust/crates/strum-0.21.0.crate) = 5296
+SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
+SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
+SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
+SIZE (rust/crates/subtle-2.4.1.crate) = 12630
+SHA256 (rust/crates/syn-1.0.74.crate) = 1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c
+SIZE (rust/crates/syn-1.0.74.crate) = 232974
+SHA256 (rust/crates/take_mut-0.2.2.crate) = f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60
+SIZE (rust/crates/take_mut-0.2.2.crate) = 4263
+SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
+SIZE (rust/crates/tap-1.0.1.crate) = 11316
+SHA256 (rust/crates/tempfile-3.2.0.crate) = dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22
+SIZE (rust/crates/tempfile-3.2.0.crate) = 25892
+SHA256 (rust/crates/tendril-0.4.2.crate) = a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33
+SIZE (rust/crates/tendril-0.4.2.crate) = 37138
+SHA256 (rust/crates/term-0.6.1.crate) = c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5
+SIZE (rust/crates/term-0.6.1.crate) = 37578
+SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
+SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
+SHA256 (rust/crates/thin-slice-0.1.1.crate) = 8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c
+SIZE (rust/crates/thin-slice-0.1.1.crate) = 4484
+SHA256 (rust/crates/thiserror-1.0.26.crate) = 93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2
+SIZE (rust/crates/thiserror-1.0.26.crate) = 16711
+SHA256 (rust/crates/thiserror-impl-1.0.26.crate) = 060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745
+SIZE (rust/crates/thiserror-impl-1.0.26.crate) = 13431
+SHA256 (rust/crates/thread_local-1.1.3.crate) = 8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd
+SIZE (rust/crates/thread_local-1.1.3.crate) = 13111
+SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.crate) = 28885
+SHA256 (rust/crates/tinystr-0.3.4.crate) = 29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1
+SIZE (rust/crates/tinystr-0.3.4.crate) = 19341
+SHA256 (rust/crates/tinyvec-1.3.1.crate) = 848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338
+SIZE (rust/crates/tinyvec-1.3.1.crate) = 42386
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.9.0.crate) = 4b7b349f11a7047e6d1276853e612d152f5e8a352c61917887cc2169e2366b4c
+SIZE (rust/crates/tokio-1.9.0.crate) = 499709
+SHA256 (rust/crates/tokio-macros-1.3.0.crate) = 54473be61f4ebe4efd09cec9bd5d16fa51d70ea0192213d754d2d500457db110
+SIZE (rust/crates/tokio-macros-1.3.0.crate) = 7876
+SHA256 (rust/crates/tokio-native-tls-0.3.0.crate) = f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b
+SIZE (rust/crates/tokio-native-tls-0.3.0.crate) = 20759
+SHA256 (rust/crates/tokio-rustls-0.22.0.crate) = bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6
+SIZE (rust/crates/tokio-rustls-0.22.0.crate) = 22706
+SHA256 (rust/crates/tokio-socks-0.5.1.crate) = 51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0
+SIZE (rust/crates/tokio-socks-0.5.1.crate) = 16137
+SHA256 (rust/crates/tokio-util-0.6.7.crate) = 1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592
+SIZE (rust/crates/tokio-util-0.6.7.crate) = 73201
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/tower-service-0.3.1.crate) = 360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6
+SIZE (rust/crates/tower-service-0.3.1.crate) = 6299
+SHA256 (rust/crates/tracing-0.1.26.crate) = 09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d
+SIZE (rust/crates/tracing-0.1.26.crate) = 68583
+SHA256 (rust/crates/tracing-core-0.1.18.crate) = a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052
+SIZE (rust/crates/tracing-core-0.1.18.crate) = 48381
+SHA256 (rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
+SIZE (rust/crates/try-lock-0.2.3.crate) = 4158
+SHA256 (rust/crates/type-map-0.4.0.crate) = b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46
+SIZE (rust/crates/type-map-0.4.0.crate) = 3177
+SHA256 (rust/crates/typenum-1.13.0.crate) = 879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06
+SIZE (rust/crates/typenum-1.13.0.crate) = 40238
+SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
+SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
+SHA256 (rust/crates/unic-char-property-0.9.0.crate) = a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221
+SIZE (rust/crates/unic-char-property-0.9.0.crate) = 6809
+SHA256 (rust/crates/unic-char-range-0.9.0.crate) = 0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc
+SIZE (rust/crates/unic-char-range-0.9.0.crate) = 7020
+SHA256 (rust/crates/unic-common-0.9.0.crate) = 80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc
+SIZE (rust/crates/unic-common-0.9.0.crate) = 2558
+SHA256 (rust/crates/unic-langid-0.9.0.crate) = 73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5
+SIZE (rust/crates/unic-langid-0.9.0.crate) = 3899
+SHA256 (rust/crates/unic-langid-impl-0.9.0.crate) = 1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d
+SIZE (rust/crates/unic-langid-impl-0.9.0.crate) = 33921
+SHA256 (rust/crates/unic-langid-macros-0.9.0.crate) = 18f980d6d87e8805f2836d64b4138cc95aa7986fa63b1f51f67d5fbff64dd6e5
+SIZE (rust/crates/unic-langid-macros-0.9.0.crate) = 1855
+SHA256 (rust/crates/unic-langid-macros-impl-0.9.0.crate) = 29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f
+SIZE (rust/crates/unic-langid-macros-impl-0.9.0.crate) = 1829
+SHA256 (rust/crates/unic-ucd-category-0.9.0.crate) = 1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0
+SIZE (rust/crates/unic-ucd-category-0.9.0.crate) = 25480
+SHA256 (rust/crates/unic-ucd-version-0.9.0.crate) = 96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4
+SIZE (rust/crates/unic-ucd-version-0.9.0.crate) = 2246
+SHA256 (rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
+SIZE (rust/crates/unicase-2.6.0.crate) = 23478
+SHA256 (rust/crates/unicode-bidi-0.3.5.crate) = eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0
+SIZE (rust/crates/unicode-bidi-0.3.5.crate) = 33423
+SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
+SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
+SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
+SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
+SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/unindent-0.1.7.crate) = f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7
+SIZE (rust/crates/unindent-0.1.7.crate) = 8346
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
+SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
+SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
+SHA256 (rust/crates/utf8-decode-1.0.1.crate) = ca61eb27fa339aa08826a29f03e87b99b4d8f0fc2255306fd266bb1b6a9de498
+SIZE (rust/crates/utf8-decode-1.0.1.crate) = 7605
+SHA256 (rust/crates/utime-0.3.1.crate) = 91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef
+SIZE (rust/crates/utime-0.3.1.crate) = 8311
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
+SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
+SIZE (rust/crates/want-0.3.0.crate) = 6550
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasm-bindgen-0.2.75.crate) = b608ecc8f4198fe8680e2ed18eccab5f0cd4caaf3d83516fa5fb2e927fda2586
+SIZE (rust/crates/wasm-bindgen-0.2.75.crate) = 160048
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.75.crate) = 580aa3a91a63d23aac5b6b267e2d13cb4f363e31dce6c352fca4752ae12e479f
+SIZE (rust/crates/wasm-bindgen-backend-0.2.75.crate) = 25521
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.25.crate) = 16646b21c3add8e13fdb8f20172f8a28c3dbf62f45406bcff0233188226cfe0c
+SIZE (rust/crates/wasm-bindgen-futures-0.4.25.crate) = 14772
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.75.crate) = 171ebf0ed9e1458810dfcb31f2e766ad6b3a89dbda42d8901f2b268277e5f09c
+SIZE (rust/crates/wasm-bindgen-macro-0.2.75.crate) = 11550
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.75.crate) = 6c2657dd393f03aa2a659c25c6ae18a13a4048cebd220e147933ea837efc589f
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.75.crate) = 17883
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.75.crate) = 2e0c4a743a309662d45f4ede961d7afa4ba4131a59a639f29b0069c3798bbcc2
+SIZE (rust/crates/wasm-bindgen-shared-0.2.75.crate) = 7177
+SHA256 (rust/crates/web-sys-0.3.52.crate) = 01c70a82d842c9979078c772d4a1344685045f1a5628f677c2b2eab4dd7d2696
+SIZE (rust/crates/web-sys-0.3.52.crate) = 663882
+SHA256 (rust/crates/webpki-0.21.4.crate) = b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea
+SIZE (rust/crates/webpki-0.21.4.crate) = 58505
+SHA256 (rust/crates/webpki-roots-0.21.1.crate) = aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940
+SIZE (rust/crates/webpki-roots-0.21.1.crate) = 223591
+SHA256 (rust/crates/which-4.2.2.crate) = ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9
+SIZE (rust/crates/which-4.2.2.crate) = 8589
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/winreg-0.7.0.crate) = 0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69
+SIZE (rust/crates/winreg-0.7.0.crate) = 21225
+SHA256 (rust/crates/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
+SIZE (rust/crates/wyz-0.2.0.crate) = 12926
+SHA256 (rust/crates/xml5ever-0.16.1.crate) = 0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59
+SIZE (rust/crates/xml5ever-0.16.1.crate) = 41282
+SHA256 (rust/crates/zip-0.5.13.crate) = 93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815
+SIZE (rust/crates/zip-0.5.13.crate) = 48237
+SHA256 (ankitects-anki-2.1.46_GH0.tar.gz) = 4b3113510804475020196071271e2c19984506c5c8a5e86049eac19feb2827cf
+SIZE (ankitects-anki-2.1.46_GH0.tar.gz) = 1264381
+SHA256 (ankitects-anki-core-i18n-dd67ac7_GH0.tar.gz) = caee7412ca51060e99c49ff598c0b875f114677a61328e04caa52dcdc7db43de
+SIZE (ankitects-anki-core-i18n-dd67ac7_GH0.tar.gz) = 822484
+SHA256 (ankitects-anki-desktop-ftl-54188b8_GH0.tar.gz) = 12bf612944f74eb0ff22159f30c7214a096a355f642caa5ac65e729e5cb9a957
+SIZE (ankitects-anki-desktop-ftl-54188b8_GH0.tar.gz) = 186208
+SHA256 (ankitects-hyper-timeout-0cb6f7d14c62819e37cd221736f8b0555e823712_GH0.tar.gz) = 476fa7f37b93fc49b13e9cb9e2f3791c6e505aa24a5ed712db7b152de5074b6b
+SIZE (ankitects-hyper-timeout-0cb6f7d14c62819e37cd221736f8b0555e823712_GH0.tar.gz) = 8790
+SHA256 (ankitects-linkcheck-2f20798ce521cc594d510d4e417e76d5eac04d4b_GH0.tar.gz) = bd1ed31953ad5769fee0e784fdafe8ffc2acf2d4b9eaf255462ff70c914e0555
+SIZE (ankitects-linkcheck-2f20798ce521cc594d510d4e417e76d5eac04d4b_GH0.tar.gz) = 19298
+SHA256 (ankitects-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 477fe630a852f3947a35c4465d9aa247eab3cdbf0a9060b563fb0f3c7d52668b
+SIZE (ankitects-reqwest-7591444614de02b658ddab125efba7b2bb4e2335_GH0.tar.gz) = 176625
+SHA256 (ankitects-tokio-io-timeout-1ee0892217e9a76bba4bb369ec5fab8854935a3c_GH0.tar.gz) = 6200a7dbad6e6d2fd2f37f4a004ae29835364415552c647eb9c803d854de55a2
+SIZE (ankitects-tokio-io-timeout-1ee0892217e9a76bba4bb369ec5fab8854935a3c_GH0.tar.gz) = 8333
+SHA256 (timothee-haudebourg-pct-str-4adccd8d4a222ab2672350a102f06ae832a0572d_GH0.tar.gz) = 86d9e9cf208b9d806f4be6fd60496e5d46d7e30a532d25633a6b1669c432049c
+SIZE (timothee-haudebourg-pct-str-4adccd8d4a222ab2672350a102f06ae832a0572d_GH0.tar.gz) = 11653
+SHA256 (bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 1c187d8d6b2ad6804cbb0f76c089e3667ae5d363d87cd46a425f25654b0448cf
+SIZE (bazelbuild-bazel-skylib-e59b620_GH0.tar.gz) = 78257
+SHA256 (bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 9ad895164b7d69a4eb43630a3477bd0737981065a3c92b4b4d6b000d6a8ea7d7
+SIZE (bazelbuild-rules_cc-40548a2_GH0.tar.gz) = 129284
+SHA256 (bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 113ddc63ac86f493453c4298d78f726cc219ea33cd9fe23659f4269f747390cb
+SIZE (bazelbuild-rules_java-c13e3ea_GH0.tar.gz) = 12055
+SHA256 (bazelbuild-rules_nodejs-2d02e82_GH0.tar.gz) = 61eff9b8ba550d4276d012f3ec33996feaf71cdcd578294a8336e241b86671fa
+SIZE (bazelbuild-rules_nodejs-2d02e82_GH0.tar.gz) = 5822375
+SHA256 (bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = d92ce309a1309b4e67a761b9f446bd4c9802aadb685199cb94d5eb637b72bae2
+SIZE (bazelbuild-rules_proto-f7a30f6_GH0.tar.gz) = 14397
+SHA256 (ankitects-esbuild_toolchain-f942aa9_GH0.tar.gz) = da67322446a35a0e4fdcd3aa091a8b56dee629392cdf07d0cd7d792c3e055e2f
+SIZE (ankitects-esbuild_toolchain-f942aa9_GH0.tar.gz) = 7403
+SHA256 (ankitects-rules_pip-fb02cb7_GH0.tar.gz) = 115c537ab0adb34ac30fbf1a4087906a13e6844b22af5fa7f3233fcedb60533c
+SIZE (ankitects-rules_pip-fb02cb7_GH0.tar.gz) = 2261230
+SHA256 (ankitects-rules_python-3927c9b_GH0.tar.gz) = 4c367da5f0b8bdd585ae097d7666e1f491e6def99a24b39b95daf48976f2948d
+SIZE (ankitects-rules_python-3927c9b_GH0.tar.gz) = 2565208
+SHA256 (ankitects-rules_rust-f66001a_GH0.tar.gz) = 333e569dfed120560570b15821d395155cad656abd01d98fe5e4d9b7d7274925
+SIZE (ankitects-rules_rust-f66001a_GH0.tar.gz) = 411903
+SHA256 (ankitects-rules_sass-275ace7_GH0.tar.gz) = 0d42aa56eb20694ad0b802bf478449ec9879cf4ac6d9aaf652d6945d2664a6d7
+SIZE (ankitects-rules_sass-275ace7_GH0.tar.gz) = 20268
diff --git a/games/anki/files/bazel/BUILD.bazel-local_esbuild b/games/anki/files/bazel/BUILD.bazel-local_esbuild
new file mode 100644
index 000000000000..4397b7fcd742
--- /dev/null
+++ b/games/anki/files/bazel/BUILD.bazel-local_esbuild
@@ -0,0 +1 @@
+exports_files(["bin/esbuild"])
diff --git a/games/anki/files/bazel/BUILD.bazel-rslib b/games/anki/files/bazel/BUILD.bazel-rslib
deleted file mode 100644
index bb579eac2e9e..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-rslib
+++ /dev/null
@@ -1,25 +0,0 @@
-# Handles the further processing of "fluent.proto" within bazel
-
-load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
-load("@rules_proto//proto:defs.bzl", "proto_library")
-
-copy_file(
- name = "fluent_proto",
- src = "//local_repos/rust_output/fluent_proto",
- out = "fluent.proto",
- visibility = ["//visibility:public"],
-)
-
-proto_library(
- name = "fluent_proto_lib",
- srcs = ["fluent.proto"],
- visibility = ["//visibility:public"],
-)
-
-proto_library(
- name = "backend_proto_lib",
- srcs = ["backend.proto"],
- visibility = ["//visibility:public"],
-)
-
-exports_files(["backend.proto"])
diff --git a/games/anki/files/bazel/BUILD.bazel-rslib-i18n b/games/anki/files/bazel/BUILD.bazel-rslib-i18n
new file mode 100644
index 000000000000..3b4db792acf8
--- /dev/null
+++ b/games/anki/files/bazel/BUILD.bazel-rslib-i18n
@@ -0,0 +1,10 @@
+# Handles the further processing of "strings.json" within bazel
+
+load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
+
+copy_file(
+ name = "strings_json",
+ src = "//local_repos/rust_output/strings_json",
+ out = "strings.json",
+ visibility = ["//visibility:public"],
+)
diff --git a/games/anki/files/bazel/BUILD.bazel-rust_output-fluent_proto b/games/anki/files/bazel/BUILD.bazel-rust_output-fluent_proto
deleted file mode 100644
index 8bc3891275a5..000000000000
--- a/games/anki/files/bazel/BUILD.bazel-rust_output-fluent_proto
+++ /dev/null
@@ -1,7 +0,0 @@
-# Expose "fluent.proto" to bazel
-
-filegroup(
- name = "fluent_proto",
- srcs = ["fluent.proto"],
- visibility = ["//visibility:public"],
-)
diff --git a/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json b/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json
new file mode 100644
index 000000000000..b8de968e6d2e
--- /dev/null
+++ b/games/anki/files/bazel/BUILD.bazel-rust_output-strings_json
@@ -0,0 +1,7 @@
+# Expose "strings.json" to bazel
+
+filegroup(
+ name = "strings_json",
+ srcs = ["strings.json"],
+ visibility = ["//visibility:public"],
+)
diff --git a/games/anki/files/bazel/repos.bzl b/games/anki/files/bazel/repos.bzl
index 00f4aef8efcd..fce4ccd73e44 100644
--- a/games/anki/files/bazel/repos.bzl
+++ b/games/anki/files/bazel/repos.bzl
@@ -13,7 +13,7 @@ def register_repos():
# rust
########
native.local_repository(
- name = "io_bazel_rules_rust",
+ name = "rules_rust",
path = "%%_MY_LOCALREPO%%/rules_rust",
)
@@ -45,6 +45,13 @@ def register_repos():
path = "%%_MY_LOCALREPO%%/rules_nodejs",
)
+ # esbuild-toolchain
+ #####################
+ native.local_repository(
+ name = "esbuild_toolchain",
+ path = "%%_MY_LOCALREPO%%/esbuild_toolchain",
+ )
+
# sass
########
native.local_repository(
@@ -52,13 +59,6 @@ def register_repos():
path = "%%_MY_LOCALREPO%%/rules_sass",
)
- # svelte
- ##########
- native.local_repository(
- name = "build_bazel_rules_svelte",
- path = "%%_MY_LOCALREPO%%/rules_svelte",
- )
-
# i18n translation files
##########################
native.local_repository(
diff --git a/games/anki/files/patch-WORKSPACE b/games/anki/files/patch-WORKSPACE
new file mode 100644
index 000000000000..6d9ead5aa4a1
--- /dev/null
+++ b/games/anki/files/patch-WORKSPACE
@@ -0,0 +1,9 @@
+--- WORKSPACE.orig 2021-08-03 06:38:55 UTC
++++ WORKSPACE
+@@ -13,6 +13,3 @@ load(":defs.bzl", "setup_deps")
+
+ setup_deps()
+
+-load(":late_deps.bzl", "setup_late_deps")
+-
+-setup_late_deps()
diff --git a/games/anki/files/patch-defs.bzl b/games/anki/files/patch-defs.bzl
index 9065e3756f88..28eb8e4c6bfa 100644
--- a/games/anki/files/patch-defs.bzl
+++ b/games/anki/files/patch-defs.bzl
@@ -4,30 +4,29 @@ dependencies (cargo crates, Python packages) during the build process.
Also define local repositories to use "www/node" and "www/yarn" from the
Ports tree.
---- defs.bzl.orig 2021-05-04 05:04:50 UTC
+--- defs.bzl.orig 2021-07-30 08:30:37 UTC
+++ defs.bzl
-@@ -1,6 +1,5 @@
+@@ -1,13 +1,11 @@
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
load("@bazel_skylib//lib:versions.bzl", "versions")
--load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories")
- load("@net_ankiweb_anki//cargo:crates.bzl", "raze_fetch_remote_crates")
+-load("@rules_rust//rust:repositories.bzl", "rust_repositories")
+ load("@ankidesktop//cargo:crates.bzl", "raze_fetch_remote_crates")
load(":python.bzl", "setup_local_python")
- load(":protobuf.bzl", "setup_protobuf_binary")
-@@ -8,7 +7,6 @@ load("//rslib:clang_format.bzl", "setup_clang_format")
+ load("//proto:protobuf.bzl", "setup_protobuf_binary")
+ load("//proto:format.bzl", "setup_clang_format")
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
- load("@build_bazel_rules_svelte//:defs.bzl", "rules_svelte_dependencies")
-load("@com_github_ali5h_rules_pip//:defs.bzl", "pip_import")
load("//pip/pyqt5:defs.bzl", "install_pyqt5")
+ load("@esbuild_toolchain//:esbuild_repo.bzl", "esbuild_dependencies")
- anki_version = "2.1.44"
@@ -18,13 +16,6 @@ def setup_deps():
versions.check(minimum_bazel_version = "3.7.0")
- rust_repositories(
- edition = "2018",
-- version = "1.48.0",
+- include_rustc_srcs = False,
- )
-
- raze_fetch_remote_crates()
@@ -41,7 +40,7 @@ Ports tree.
- pip_import(
- name = "py_deps",
-- requirements = "@net_ankiweb_anki//pip:requirements.txt",
+- requirements = "@ankidesktop//pip:requirements.txt",
- python_runtime = "@python//:python",
- )
-
@@ -50,11 +49,11 @@ Ports tree.
python_runtime = "@python//:python",
)
-- node_repositories(package_json = ["@net_ankiweb_anki//ts:package.json"])
+- node_repositories(package_json = ["@ankidesktop//ts:package.json"])
+ node_repositories(
-+ package_json = ["@net_ankiweb_anki//ts:package.json"],
-+ vendored_node = "@local_node//:node",
-+ vendored_yarn = "@local_node//:yarn",
++ package_json = ["@ankidesktop//ts:package.json"],
++ vendored_node = "@local_node//:node",
++ vendored_yarn = "@local_node//:yarn",
+ )
yarn_install(
diff --git a/games/anki/files/patch-late__deps.bzl b/games/anki/files/patch-late__deps.bzl
deleted file mode 100644
index cae77b835aec..000000000000
--- a/games/anki/files/patch-late__deps.bzl
+++ /dev/null
@@ -1,14 +0,0 @@
-Avoid loading of "requirements.bzl" because it requires "pip_import" which
-is already disabled in "defs.bzl".
-
---- late_deps.bzl.orig 2021-05-04 05:04:50 UTC
-+++ late_deps.bzl
-@@ -1,8 +1,6 @@
- """Repo setup that can't happen until after defs.bzl:setup_deps() is run."""
-
--load("@py_deps//:requirements.bzl", "pip_install")
- load("@npm//@bazel/labs:package.bzl", "npm_bazel_labs_dependencies")
-
- def setup_late_deps():
-- pip_install()
- npm_bazel_labs_dependencies()
diff --git a/games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl b/games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl
new file mode 100644
index 000000000000..5e70539e111e
--- /dev/null
+++ b/games/anki/files/patch-local__repos_esbuild__toolchain_esbuild__repo.bzl
@@ -0,0 +1,14 @@
+Define a local repository to use "devel/esbuild" from the Ports tree.
+
+--- local_repos/esbuild_toolchain/esbuild_repo.bzl.orig 2021-08-03 12:18:17 UTC
++++ local_repos/esbuild_toolchain/esbuild_repo.bzl
+@@ -51,4 +51,9 @@ def esbuild_dependencies():
+ sha256 = "60af935fc3c29d6defd6e3822d9a00220dc631f4aba5cf5af3ce12d2d0d268e6",
+ )
+
++ native.local_repository(
++ name = "esbuild_freebsd",
++ path = "%%_MY_LOCALREPO%%/local_esbuild",
++ )
++
+ register_default_toolchains()
diff --git a/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl b/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl
new file mode 100644
index 000000000000..c49f481ee865
--- /dev/null
+++ b/games/anki/files/patch-local__repos_esbuild__toolchain_toolchain.bzl
@@ -0,0 +1,12 @@
+Set a custom repository for FreeBSD to use "devel/esbuild" from the Ports tree.
+
+--- local_repos/esbuild_toolchain/toolchain.bzl.orig 2021-08-03 10:59:28 UTC
++++ local_repos/esbuild_toolchain/toolchain.bzl
+@@ -14,6 +14,7 @@ TOOLCHAIN = "@esbuild_toolchain//:toolchain_type"
+
+ _default_toolchains = [
+ ["@esbuild_darwin//:bin/esbuild", "macos"],
++ ["@esbuild_freebsd//:bin/esbuild", "freebsd"],
+ ["@esbuild_linux//:bin/esbuild", "linux"],
+ ["@esbuild_linux_arm64//:bin/esbuild", "linux_arm64"],
+ ["@esbuild_windows//:esbuild.exe", "windows"],
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js b/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js
index a7ce2d7ad36a..7f6fffb94fb1 100644
--- a/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js
+++ b/games/anki/files/patch-local__repos_rules__nodejs_internal_node_node__patches.js
@@ -1,13 +1,13 @@
Avoid hardcoded paths and Use "shells/bash" from the Ports tree.
---- local_repos/rules_nodejs/internal/node/node_patches.js.orig 2021-02-20 14:13:32 UTC
+--- local_repos/rules_nodejs/internal/node/node_patches.js.orig 2021-08-02 17:17:08 UTC
+++ local_repos/rules_nodejs/internal/node/node_patches.js
-@@ -579,7 +579,7 @@ set Path=${nodeDir};%Path%
+@@ -560,7 +560,7 @@ set Path=${nodeDir};%Path%
else {
- const nodeEntry = path.join(nodeDir, 'node');
- if (!fs$1.existsSync(nodeEntry)) {
-- fs$1.writeFileSync(nodeEntry, `#!/bin/bash
-+ fs$1.writeFileSync(nodeEntry, `#!%%LOCALBASE%%/bin/bash
+ const nodeEntry = path__default['default'].join(nodeDir, 'node');
+ if (!fs__default['default'].existsSync(nodeEntry)) {
+- fs__default['default'].writeFileSync(nodeEntry, `#!/bin/bash
++ fs__default['default'].writeFileSync(nodeEntry, `#!%%LOCALBASE%%/bin/bash
export NP_SUBPROCESS_NODE_DIR="${nodeDir}"
export PATH="${nodeDir}":\$PATH
if [[ ! "\${@}" =~ "${file}" ]]; then
diff --git a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel
index 709ac8495747..69b1821ae60c 100644
--- a/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel
+++ b/games/anki/files/patch-local__repos_rules__nodejs_toolchains_node_BUILD.bazel
@@ -3,9 +3,9 @@ Add FreeBSD to the list of supported operating systems.
At the moment only the "amd64" architecture is defined here but it should be
possible to add more architectures here.
---- local_repos/rules_nodejs/toolchains/node/BUILD.bazel.orig 2021-02-20 14:13:32 UTC
+--- local_repos/rules_nodejs/toolchains/node/BUILD.bazel.orig 2021-08-02 17:50:39 UTC
+++ local_repos/rules_nodejs/toolchains/node/BUILD.bazel
-@@ -26,6 +26,14 @@ platform(
+@@ -34,6 +34,14 @@ platform(
)
platform(
@@ -19,24 +19,24 @@ possible to add more architectures here.
+platform(
name = "linux_amd64",
constraint_values = [
- "@bazel_tools//platforms:linux",
-@@ -78,6 +86,7 @@ alias(
- name = "toolchain",
+ "@platforms//os:linux",
+@@ -90,6 +98,7 @@ alias(
actual = select({
- "@bazel_tools//src/conditions:darwin": "@nodejs_darwin_amd64_config//:toolchain",
+ "@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64_config//:toolchain",
+ "@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64_config//:toolchain",
+ "@bazel_tools//src/conditions:freebsd_x86_64": "@nodejs_freebsd_amd64_config//:toolchain",
"@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64_config//:toolchain",
"@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x_config//:toolchain",
"@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64_config//:toolchain",
-@@ -92,6 +101,7 @@ alias(
- name = "node_bin",
+@@ -105,6 +114,7 @@ alias(
actual = select({
- "@bazel_tools//src/conditions:darwin": "@nodejs_darwin_amd64//:node_bin",
+ "@bazel_tools//src/conditions:darwin_arm64": "@nodejs_darwin_arm64//:node_bin",
+ "@bazel_tools//src/conditions:darwin_x86_64": "@nodejs_darwin_amd64//:node_bin",
+ "@bazel_tools//src/conditions:freebsd_x86_64": "@nodejs_freebsd_amd64//:node_bin",
"@bazel_tools//src/conditions:linux_aarch64": "@nodejs_linux_arm64//:node_bin",
"@bazel_tools//src/conditions:linux_s390x": "@nodejs_linux_s390x//:node_bin",
"@bazel_tools//src/conditions:linux_x86_64": "@nodejs_linux_amd64//:node_bin",
-@@ -99,6 +109,16 @@ alias(
+@@ -112,6 +122,16 @@ alias(
"//conditions:default": "@nodejs_linux_amd64//:node_bin",
}),
visibility = ["//visibility:public"],
diff --git a/games/anki/files/patch-protobuf.bzl b/games/anki/files/patch-proto_protobuf.bzl
index 054ec7dea4f3..1e21d8e2197c 100644
--- a/games/anki/files/patch-protobuf.bzl
+++ b/games/anki/files/patch-proto_protobuf.bzl
@@ -3,14 +3,14 @@ Define a local repository to use "devel/protobuf" from the Ports tree.
At the moment it is only exposed for the "amd64" architecture but it should be
possible to add more architectures here.
---- protobuf.bzl.orig 2021-03-27 05:13:11 UTC
-+++ protobuf.bzl
+--- proto/protobuf.bzl.orig 2021-07-30 08:30:37 UTC
++++ proto/protobuf.bzl
@@ -15,6 +15,7 @@ alias(
- "@net_ankiweb_anki//platforms:windows_x86_64": "@protoc_bin_windows//:bin/protoc.exe",
- "@net_ankiweb_anki//platforms:macos_x86_64": "@protoc_bin_macos//:bin/protoc",
- "@net_ankiweb_anki//platforms:linux_x86_64": "@protoc_bin_linux_x86_64//:bin/protoc",
-+ "@net_ankiweb_anki//platforms:freebsd_x86_64": "@protoc_bin_freebsd//:bin/protoc",
- "@net_ankiweb_anki//platforms:linux_arm64": "@protoc_bin_linux_arm64//:bin/protoc"
+ "@ankidesktop//platforms:windows_x86_64": "@protoc_bin_windows//:bin/protoc.exe",
+ "@ankidesktop//platforms:macos_x86_64": "@protoc_bin_macos//:bin/protoc",
+ "@ankidesktop//platforms:linux_x86_64": "@protoc_bin_linux_x86_64//:bin/protoc",
++ "@ankidesktop//platforms:freebsd_x86_64": "@protoc_bin_freebsd//:bin/protoc",
+ "@ankidesktop//platforms:linux_arm64": "@protoc_bin_linux_arm64//:bin/protoc"
}),
visibility = ["//visibility:public"]
@@ -66,6 +67,11 @@ def setup_protobuf_binary(name):
diff --git a/games/anki/files/patch-pylib_anki_BUILD.bazel b/games/anki/files/patch-pylib_anki_BUILD.bazel
index 99d13d99839f..87becaa3fbb1 100644
--- a/games/anki/files/patch-pylib_anki_BUILD.bazel
+++ b/games/anki/files/patch-pylib_anki_BUILD.bazel
@@ -1,7 +1,7 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/anki/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
+--- pylib/anki/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+++ pylib/anki/BUILD.bazel
@@ -1,6 +1,5 @@
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
@@ -10,10 +10,10 @@ is already disabled in "defs.bzl".
load("@rules_python//experimental/python:wheel.bzl", "py_package", "py_wheel")
load("//:defs.bzl", "anki_version")
load("//pylib:orjson.bzl", "orjson_if_available")
-@@ -39,13 +38,6 @@ py_library(
- ],
+@@ -41,15 +40,6 @@ py_library(
visibility = ["//visibility:public"],
deps = [
+ ":proto",
- requirement("beautifulsoup4"),
- requirement("decorator"),
- requirement("distro"),
@@ -21,10 +21,12 @@ is already disabled in "defs.bzl".
- requirement("requests"),
- requirement("flask"),
- requirement("waitress"),
+- requirement("markdown"),
+- requirement("stringcase"),
] + orjson_if_available(),
)
-@@ -70,6 +62,7 @@ py_wheel(
+@@ -74,6 +64,7 @@ py_wheel(
"//platforms:windows_x86_64": "win_amd64",
"//platforms:macos_x86_64": "macosx_10_7_x86_64",
"//platforms:linux_x86_64": "manylinux2014_x86_64",
diff --git a/games/anki/files/patch-pylib_anki___backend_BUILD.bazel b/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
index be6c3b4915e5..9691f5cffe3e 100644
--- a/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
+++ b/games/anki/files/patch-pylib_anki___backend_BUILD.bazel
@@ -1,21 +1,30 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/anki/_backend/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
+--- pylib/anki/_backend/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+++ pylib/anki/_backend/BUILD.bazel
@@ -1,5 +1,4 @@
load("@rules_python//python:defs.bzl", "py_binary")
-load("@py_deps//:requirements.bzl", "requirement")
- load("//pylib:protobuf.bzl", "py_proto_library_typed")
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@bazel_skylib//lib:selects.bzl", "selects")
-@@ -27,9 +26,6 @@ py_binary(
+
+@@ -9,9 +8,6 @@ py_binary(
"genbackend.py",
],
deps = [
- requirement("black"),
- requirement("stringcase"),
- requirement("protobuf"),
+ "//pylib/anki:proto",
+ ],
+ )
+@@ -29,8 +25,6 @@ py_binary(
+ "genfluent.py",
+ ],
+ deps = [
+- requirement("black"),
+- requirement("stringcase"),
],
)
diff --git a/games/anki/files/patch-pylib_tools_BUILD.bazel b/games/anki/files/patch-pylib_tools_BUILD.bazel
index d2d2dcd0fa8f..c65fd6de7540 100644
--- a/games/anki/files/patch-pylib_tools_BUILD.bazel
+++ b/games/anki/files/patch-pylib_tools_BUILD.bazel
@@ -1,7 +1,7 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- pylib/tools/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
+--- pylib/tools/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+++ pylib/tools/BUILD.bazel
@@ -1,5 +1,4 @@
load("@rules_python//python:defs.bzl", "py_binary", "py_library")
@@ -26,3 +26,11 @@ is already disabled in "defs.bzl".
],
)
+@@ -53,7 +49,6 @@ py_binary(
+ ],
+ tags = ["manual"],
+ deps = [
+- requirement("stringcase"),
+ ],
+ )
+
diff --git a/games/anki/files/patch-qt_aqt_BUILD.bazel b/games/anki/files/patch-qt_aqt_BUILD.bazel
index 58bb874bd8d7..eebdcfa63959 100644
--- a/games/anki/files/patch-qt_aqt_BUILD.bazel
+++ b/games/anki/files/patch-qt_aqt_BUILD.bazel
@@ -1,7 +1,7 @@
Avoid loading of "requirements.bzl" because it requires "pip_import" which
is already disabled in "defs.bzl".
---- qt/aqt/BUILD.bazel.orig 2021-05-04 05:04:50 UTC
+--- qt/aqt/BUILD.bazel.orig 2021-07-30 08:30:37 UTC
+++ qt/aqt/BUILD.bazel
@@ -1,6 +1,5 @@
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
@@ -10,7 +10,7 @@ is already disabled in "defs.bzl".
load("@rules_python//experimental/python:wheel.bzl", "py_package", "py_wheel")
load("//:defs.bzl", "anki_version")
-@@ -42,22 +41,9 @@ aqt_core_data = [
+@@ -42,21 +41,9 @@ aqt_core_data = [
]
aqt_deps = [
@@ -22,7 +22,6 @@ is already disabled in "defs.bzl".
- requirement("flask-cors"),
- requirement("waitress"),
- requirement("send2trash"),
-- requirement("markdown"),
- requirement("jsonschema"),
"@pyqt5//:pkg",
] + select({
diff --git a/games/anki/files/patch-ts_lib_BUILD.bazel b/games/anki/files/patch-ts_lib_BUILD.bazel
new file mode 100644
index 000000000000..8a24fe710404
--- /dev/null
+++ b/games/anki/files/patch-ts_lib_BUILD.bazel
@@ -0,0 +1,22 @@
+Avoid loading of "requirements.bzl" because it requires "pip_import" which
+is already disabled in "defs.bzl".
+
+--- ts/lib/BUILD.bazel.orig 2021-08-03 11:48:53 UTC
++++ ts/lib/BUILD.bazel
+@@ -17,7 +17,6 @@ protobufjs_library(
+ ################
+
+ load("@rules_python//python:defs.bzl", "py_binary")
+-load("@py_deps//:requirements.bzl", "requirement")
+
+ py_binary(
+ name = "genfluent",
+@@ -25,8 +24,6 @@ py_binary(
+ "genfluent.py",
+ ],
+ deps = [
+- requirement("black"),
+- requirement("stringcase"),
+ ],
+ )
+
diff --git a/games/anki/pkg-plist b/games/anki/pkg-plist
index ecc695699669..7d85f68e0a2e 100644
--- a/games/anki/pkg-plist
+++ b/games/anki/pkg-plist
@@ -3,56 +3,86 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/__init__.py
%%DATADIR%%/anki/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/_legacy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/_legacy.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/buildinfo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/buildinfo.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/card_rendering_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/card_rendering_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/cards.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/cards.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/cards_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/cards_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/collection_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/collection_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/config_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/config_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/dbproxy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/dbproxy.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/deckconfig_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/deckconfig_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/decks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/decks.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/decks_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/decks_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/errors.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/find.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/find.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/generic_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/generic_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/hooks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/hooks.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/httpclient.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/httpclient.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/i18n_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/i18n_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/lang.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/lang.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/latex.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/latex.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/links_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/links_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/media.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/media.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/media_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/media_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/notes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/notes.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/notes_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/notes_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/notetypes_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/notetypes_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/rsbackend.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/rsbackend.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/sched.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/sched.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/scheduler.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/scheduler.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/__pycache__/schedv2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/__pycache__/schedv2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/scheduler_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/scheduler_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/search_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/search_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/stats_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/stats_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/statsbg.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/statsbg.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/stdmodels.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -61,8 +91,12 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/__pycache__/storage.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/sync_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/sync_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/tags.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/tags.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/__pycache__/tags_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/__pycache__/tags_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/__pycache__/template.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/__pycache__/types.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -72,34 +106,49 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/_backend/__init__.py
%%DATADIR%%/anki/_backend/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/_backend/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_backend/__pycache__/backend_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/__pycache__/fluent_pb2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/anki/_backend/__pycache__/fluent_pb2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/_backend/__pycache__/fluent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/_backend/__pycache__/fluent.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/_backend/__pycache__/generated.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/_backend/__pycache__/generated.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/anki/_backend/backend_pb2.py
-%%DATADIR%%/anki/_backend/backend_pb2.pyi
-%%DATADIR%%/anki/_backend/fluent_pb2.py
-%%DATADIR%%/anki/_backend/fluent_pb2.pyi
+%%DATADIR%%/anki/_backend/fluent.py
%%DATADIR%%/anki/_backend/generated.py
%%DATADIR%%/anki/_backend/rsbridge.pyi
%%DATADIR%%/anki/_backend/rsbridge.so
+%%DATADIR%%/anki/_legacy.py
+%%DATADIR%%/anki/backend_pb2.py
+%%DATADIR%%/anki/backend_pb2.pyi
+%%DATADIR%%/anki/browser.py
%%DATADIR%%/anki/buildinfo.py
%%DATADIR%%/anki/buildinfo.txt
+%%DATADIR%%/anki/card_rendering_pb2.py
+%%DATADIR%%/anki/card_rendering_pb2.pyi
%%DATADIR%%/anki/cards.py
+%%DATADIR%%/anki/cards_pb2.py
+%%DATADIR%%/anki/cards_pb2.pyi
%%DATADIR%%/anki/collection.py
+%%DATADIR%%/anki/collection_pb2.py
+%%DATADIR%%/anki/collection_pb2.pyi
%%DATADIR%%/anki/config.py
+%%DATADIR%%/anki/config_pb2.py
+%%DATADIR%%/anki/config_pb2.pyi
%%DATADIR%%/anki/consts.py
%%DATADIR%%/anki/db.py
%%DATADIR%%/anki/dbproxy.py
+%%DATADIR%%/anki/deckconfig_pb2.py
+%%DATADIR%%/anki/deckconfig_pb2.pyi
%%DATADIR%%/anki/decks.py
+%%DATADIR%%/anki/decks_pb2.py
+%%DATADIR%%/anki/decks_pb2.pyi
%%DATADIR%%/anki/errors.py
%%DATADIR%%/anki/exporting.py
%%DATADIR%%/anki/find.py
+%%DATADIR%%/anki/generic_pb2.py
+%%DATADIR%%/anki/generic_pb2.pyi
%%DATADIR%%/anki/hooks.py
%%DATADIR%%/anki/hooks_gen.py
%%DATADIR%%/anki/httpclient.py
+%%DATADIR%%/anki/i18n_pb2.py
+%%DATADIR%%/anki/i18n_pb2.pyi
%%DATADIR%%/anki/importing/__init__.py
%%DATADIR%%/anki/importing/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/importing/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -129,20 +178,51 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/importing/supermemo_xml.py
%%DATADIR%%/anki/lang.py
%%DATADIR%%/anki/latex.py
+%%DATADIR%%/anki/links_pb2.py
+%%DATADIR%%/anki/links_pb2.pyi
%%DATADIR%%/anki/media.py
+%%DATADIR%%/anki/media_pb2.py
+%%DATADIR%%/anki/media_pb2.pyi
%%DATADIR%%/anki/models.py
%%DATADIR%%/anki/notes.py
+%%DATADIR%%/anki/notes_pb2.py
+%%DATADIR%%/anki/notes_pb2.pyi
+%%DATADIR%%/anki/notetypes_pb2.py
+%%DATADIR%%/anki/notetypes_pb2.pyi
%%DATADIR%%/anki/py.typed
%%DATADIR%%/anki/rsbackend.py
-%%DATADIR%%/anki/sched.py
-%%DATADIR%%/anki/scheduler.py
-%%DATADIR%%/anki/schedv2.py
+%%DATADIR%%/anki/scheduler/__init__.py
+%%DATADIR%%/anki/scheduler/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/legacy.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v1.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v1.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v2.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v2.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v3.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/anki/scheduler/__pycache__/v3.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/anki/scheduler/base.py
+%%DATADIR%%/anki/scheduler/legacy.py
+%%DATADIR%%/anki/scheduler/v1.py
+%%DATADIR%%/anki/scheduler/v2.py
+%%DATADIR%%/anki/scheduler/v3.py
+%%DATADIR%%/anki/scheduler_pb2.py
+%%DATADIR%%/anki/scheduler_pb2.pyi
+%%DATADIR%%/anki/search_pb2.py
+%%DATADIR%%/anki/search_pb2.pyi
%%DATADIR%%/anki/sound.py
%%DATADIR%%/anki/stats.py
+%%DATADIR%%/anki/stats_pb2.py
+%%DATADIR%%/anki/stats_pb2.pyi
%%DATADIR%%/anki/statsbg.py
%%DATADIR%%/anki/stdmodels.py
%%DATADIR%%/anki/storage.py
%%DATADIR%%/anki/sync.py
+%%DATADIR%%/anki/sync_pb2.py
+%%DATADIR%%/anki/sync_pb2.pyi
%%DATADIR%%/anki/syncserver/__init__.py
%%DATADIR%%/anki/syncserver/__main__.py
%%DATADIR%%/anki/syncserver/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -150,6 +230,8 @@ man/man1/anki.1.gz
%%DATADIR%%/anki/syncserver/__pycache__/__main__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/anki/syncserver/__pycache__/__main__.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/anki/tags.py
+%%DATADIR%%/anki/tags_pb2.py
+%%DATADIR%%/anki/tags_pb2.pyi
%%DATADIR%%/anki/template.py
%%DATADIR%%/anki/types.py
%%DATADIR%%/anki/utils.py
@@ -162,8 +244,8 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/addcards.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/addons.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/changenotetype.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/changenotetype.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/clayout.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/clayout.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/colors.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -178,8 +260,10 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/deckchooser.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/deckconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/deckconf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/dyndeckconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/dyndeckconf.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/deckdescription.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/deckdescription.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/deckoptions.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/deckoptions.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/editor.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -192,6 +276,10 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/flags.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/flags.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/gui_hooks.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/gui_hooks.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/hooks_gen.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -214,6 +302,8 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/mpv.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/mpv.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/notetypechooser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/notetypechooser.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/overview.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/overview.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/pinnedmodules.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -222,8 +312,6 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/platform.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/profiles.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -232,18 +320,16 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/qt.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/reviewer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/reviewer.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/schema_change_tracker.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/schema_change_tracker.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/__pycache__/sidebar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/__pycache__/sidebar.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/sound.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/stats.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/studydeck.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/switch.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/switch.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/tagedit.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -258,6 +344,8 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/tts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/tts.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/__pycache__/undo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/__pycache__/undo.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/update.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/__pycache__/update.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/__pycache__/utils.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -269,11 +357,58 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/about.py
%%DATADIR%%/aqt/addcards.py
%%DATADIR%%/aqt/addons.py
-%%DATADIR%%/aqt/browser.py
+%%DATADIR%%/aqt/browser/__init__.py
+%%DATADIR%%/aqt/browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/browser.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/__pycache__/card_info.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/card_info.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/__pycache__/find_and_replace.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/find_and_replace.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/__pycache__/find_duplicates.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/find_duplicates.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/__pycache__/previewer.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/browser.py
+%%DATADIR%%/aqt/browser/card_info.py
+%%DATADIR%%/aqt/browser/find_and_replace.py
+%%DATADIR%%/aqt/browser/find_duplicates.py
+%%DATADIR%%/aqt/browser/previewer.py
+%%DATADIR%%/aqt/browser/sidebar/__init__.py
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/item.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/item.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/searchbar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/searchbar.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/toolbar.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/tree.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/sidebar/__pycache__/tree.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/sidebar/item.py
+%%DATADIR%%/aqt/browser/sidebar/model.py
+%%DATADIR%%/aqt/browser/sidebar/searchbar.py
+%%DATADIR%%/aqt/browser/sidebar/toolbar.py
+%%DATADIR%%/aqt/browser/sidebar/tree.py
+%%DATADIR%%/aqt/browser/table/__init__.py
+%%DATADIR%%/aqt/browser/table/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/state.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/state.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/table.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/browser/table/__pycache__/table.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/browser/table/model.py
+%%DATADIR%%/aqt/browser/table/state.py
+%%DATADIR%%/aqt/browser/table/table.py
+%%DATADIR%%/aqt/changenotetype.py
%%DATADIR%%/aqt/clayout.py
%%DATADIR%%/aqt/colors.py
%%DATADIR%%/aqt/customstudy.py
-%%DATADIR%%/aqt/data/web/css/core.css
%%DATADIR%%/aqt/data/web/css/deckbrowser.css
%%DATADIR%%/aqt/data/web/css/editable.css
%%DATADIR%%/aqt/data/web/css/editor.css
@@ -299,10 +434,11 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/data/web/js/deckbrowser.js
%%DATADIR%%/aqt/data/web/js/editor.js
%%DATADIR%%/aqt/data/web/js/mathjax.js
-%%DATADIR%%/aqt/data/web/js/overview.js
%%DATADIR%%/aqt/data/web/js/reviewer-bottom.js
%%DATADIR%%/aqt/data/web/js/reviewer.js
%%DATADIR%%/aqt/data/web/js/toolbar.js
+%%DATADIR%%/aqt/data/web/js/vendor/bootstrap.bundle.min.js
+%%DATADIR%%/aqt/data/web/js/vendor/bootstrap.bundle.min.js.map
%%DATADIR%%/aqt/data/web/js/vendor/css_browser_selector.min.js
%%DATADIR%%/aqt/data/web/js/vendor/jquery-ui.min.js
%%DATADIR%%/aqt/data/web/js/vendor/jquery.min.js
@@ -363,16 +499,26 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/en.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/es.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/fr.js
+%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/it.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/mathmaps/nemeth.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/sre-node.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/sre/sre_browser.js
%%DATADIR%%/aqt/data/web/js/vendor/mathjax/tex-chtml.js
%%DATADIR%%/aqt/data/web/js/vendor/plot.js
-%%DATADIR%%/aqt/data/web/js/vendor/protobuf.min.js
-%%DATADIR%%/aqt/data/web/js/vendor/protobuf.min.js.map
%%DATADIR%%/aqt/data/web/js/webview.js
+%%DATADIR%%/aqt/data/web/pages/change-notetype-base.css
+%%DATADIR%%/aqt/data/web/pages/change-notetype.css
+%%DATADIR%%/aqt/data/web/pages/change-notetype.html
+%%DATADIR%%/aqt/data/web/pages/change-notetype.js
+%%DATADIR%%/aqt/data/web/pages/congrats-base.css
+%%DATADIR%%/aqt/data/web/pages/congrats.css
%%DATADIR%%/aqt/data/web/pages/congrats.html
%%DATADIR%%/aqt/data/web/pages/congrats.js
+%%DATADIR%%/aqt/data/web/pages/deck-options-base.css
+%%DATADIR%%/aqt/data/web/pages/deck-options.css
+%%DATADIR%%/aqt/data/web/pages/deck-options.html
+%%DATADIR%%/aqt/data/web/pages/deck-options.js
+%%DATADIR%%/aqt/data/web/pages/graphs-base.css
%%DATADIR%%/aqt/data/web/pages/graphs.css
%%DATADIR%%/aqt/data/web/pages/graphs.html
%%DATADIR%%/aqt/data/web/pages/graphs.js
@@ -380,13 +526,16 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/deckbrowser.py
%%DATADIR%%/aqt/deckchooser.py
%%DATADIR%%/aqt/deckconf.py
-%%DATADIR%%/aqt/dyndeckconf.py
+%%DATADIR%%/aqt/deckdescription.py
+%%DATADIR%%/aqt/deckoptions.py
%%DATADIR%%/aqt/editcurrent.py
%%DATADIR%%/aqt/editor.py
%%DATADIR%%/aqt/emptycards.py
%%DATADIR%%/aqt/errors.py
%%DATADIR%%/aqt/exporting.py
%%DATADIR%%/aqt/fields.py
+%%DATADIR%%/aqt/filtered_deck.py
+%%DATADIR%%/aqt/flags.py
%%DATADIR%%/aqt/forms/__init__.py
%%DATADIR%%/aqt/forms/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/forms/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
@@ -420,8 +569,6 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/forms/__pycache__/dconf.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/debug.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/forms/__pycache__/debug.cpython-%%PYTHON_SUFFIX%%.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dyndconf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%DATADIR%%/aqt/forms/__pycache__/dyndconf.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/editaddon.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/forms/__pycache__/editaddon.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/editcurrent.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -434,6 +581,8 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/forms/__pycache__/exporting.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/forms/__pycache__/fields.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/forms/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/forms/__pycache__/filtered_deck.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/finddupes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
%%DATADIR%%/aqt/forms/__pycache__/finddupes.cpython-%%PYTHON_SUFFIX%%.pyc
%%DATADIR%%/aqt/forms/__pycache__/findreplace.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
@@ -489,13 +638,13 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/forms/customstudy.py
%%DATADIR%%/aqt/forms/dconf.py
%%DATADIR%%/aqt/forms/debug.py
-%%DATADIR%%/aqt/forms/dyndconf.py
%%DATADIR%%/aqt/forms/editaddon.py
%%DATADIR%%/aqt/forms/editcurrent.py
%%DATADIR%%/aqt/forms/edithtml.py
%%DATADIR%%/aqt/forms/emptycards.py
%%DATADIR%%/aqt/forms/exporting.py
%%DATADIR%%/aqt/forms/fields.py
+%%DATADIR%%/aqt/forms/filtered_deck.py
%%DATADIR%%/aqt/forms/finddupes.py
%%DATADIR%%/aqt/forms/findreplace.py
%%DATADIR%%/aqt/forms/getaddons.py
@@ -527,22 +676,45 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/modelchooser.py
%%DATADIR%%/aqt/models.py
%%DATADIR%%/aqt/mpv.py
+%%DATADIR%%/aqt/notetypechooser.py
+%%DATADIR%%/aqt/operations/__init__.py
+%%DATADIR%%/aqt/operations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/card.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/card.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/collection.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/deck.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/deck.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/note.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/note.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/notetype.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/notetype.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/scheduling.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/__pycache__/tag.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
+%%DATADIR%%/aqt/operations/__pycache__/tag.cpython-%%PYTHON_SUFFIX%%.pyc
+%%DATADIR%%/aqt/operations/card.py
+%%DATADIR%%/aqt/operations/collection.py
+%%DATADIR%%/aqt/operations/deck.py
+%%DATADIR%%/aqt/operations/note.py
+%%DATADIR%%/aqt/operations/notetype.py
+%%DATADIR%%/aqt/operations/scheduling.py
+%%DATADIR%%/aqt/operations/tag.py
%%DATADIR%%/aqt/overview.py
%%DATADIR%%/aqt/pinnedmodules.py
%%DATADIR%%/aqt/platform.py
%%DATADIR%%/aqt/preferences.py
-%%DATADIR%%/aqt/previewer.py
%%DATADIR%%/aqt/profiles.py
%%DATADIR%%/aqt/progress.py
%%DATADIR%%/aqt/py.typed
%%DATADIR%%/aqt/qt.py
%%DATADIR%%/aqt/reviewer.py
-%%DATADIR%%/aqt/scheduling.py
%%DATADIR%%/aqt/schema_change_tracker.py
-%%DATADIR%%/aqt/sidebar.py
%%DATADIR%%/aqt/sound.py
%%DATADIR%%/aqt/stats.py
%%DATADIR%%/aqt/studydeck.py
+%%DATADIR%%/aqt/switch.py
%%DATADIR%%/aqt/sync.py
%%DATADIR%%/aqt/tagedit.py
%%DATADIR%%/aqt/taglimit.py
@@ -550,6 +722,7 @@ man/man1/anki.1.gz
%%DATADIR%%/aqt/theme.py
%%DATADIR%%/aqt/toolbar.py
%%DATADIR%%/aqt/tts.py
+%%DATADIR%%/aqt/undo.py
%%DATADIR%%/aqt/update.py
%%DATADIR%%/aqt/utils.py
%%DATADIR%%/aqt/webview.py