Squashed 'third_party/rules_rust/' changes from bf59038cac..078c6908fc

078c6908fc add cc_common.link support for rust_library and rust_test (#1490)
c07aef0287 Skip supplying rpaths on Fuchsia (#1511)
6ee7c80bdb Propagate rustc_env{,_files} from rust_test.crate (#1443)
1cd0788d2a Apply get_lib_name correctly to the C++ runtime libraries (#1508)
90808f0dc4 Minor cleanup to documentation (#1505)
735640f2df Enable rust-analyzer tests on windows. (#1506)
0f34573166 Updated rules_rust to version 0.9.0 (#1503)
9b61b49934 Promoted crate_universe to non-experimental (#1504)
76360dd354 Implement rules archive release artifact in github action. (#1501)
4e5fac5980 Do not pass `--Clink-arg=-l` for libstd and libtest (#1500)
6c38934636 pipelining: add the ability to disable pipelining for a single rule. (#1499)
867fc37c17 rules_rust: enable pipelined compilation. (#1275)
c97f255dfe Delete deprecated targets (#1496)
43b42884a7 Updated examples to use crate_universe (#1494)
0ffde973e8 Updated `//util/import` to use crate_universe (#1492)
83a03ab03e Updated proto rules to fetch dependencies using crate_universe (#1491)
67e204ff22 fix: `rust_doc_test` failure to find params file (#1418)
0fc834bdfa Updated all toolchain_type definitions to be named `toolchain_type`. (#1479)
3be056a7a3 toolchain files: ensure test depends on std (#1486)
228ebfa6eb Updated rules_rust to version `0.8.1`. (#1484)
685dfda497 Fixed use of rust-analyzer with rust_static_library and rust_shared_library (#1482)
2d7f94543f Fix rust-analyzer being unable to find rust sysroot sources. (#1483)
81a77acde2 Updated rules_rust to version `0.8.0`. (#1472)
caad908848 Give useful error on missing workspace manifest (#1475)
0e86b9dd30 Added `rust_analyzer_toolchain` and repository rules for creating one (#1455)
838e4ea828 Update docs on lockfiles (#1477)
fce1222628 Fix typo in function name (#1478)
1929bfbc3e Added Rust version 1.62.1 (#1476)
9a8e878d3d Fix `rust_binary_without_process_wrapper` build with `--stamp` (#1473)
25baabc205 Updated bindgen version (#1470)
8c9d5c7051 Updated rust-analyzer generator to use clap (#1471)
6d8009dbc8 Update `//bindgen` to use `crate_universe` (#1440)
67c97d44ff Updated `tools/rust_analyzer` to use `crate_universe`. (#1448)
6c285eb28e Updated `wasm_bindgen` rules dependencies. (#1464)
82a437cc17 Fixed crate_universe lockfile checks for crates_repository rule (#1468)
e83d5f3c77 Limit coverage to requested files (#1467)
daff327ea7 Stamp only binaries by default (#1452)
adc80a301d Cleanup crate_universe dependency macros (#1460)
824b121acc Updated header of crate_universe generated files to include a regen command (#1461)
d44e1d8363 feat: add `rustc_flags` attr to `rust_doc` rule (#1458)
6b54feb0ff add a way to distinguish proc-macro deps (#1420)
6070b3c9f4 Fixed missing items in distro artifact (#1450)
1e83e74159 do not add proc-macro deps to transitive_link_search_paths (#1424)
ced94dec1b Fix @libgit2 (#1457)
03d1d5e4ac Add extra_rustc_flag and extra_exec_rustc_flag (#1413)
711adc7985 crate_universe: shorten `crate_universe_crate_index` to `cui` (#1454)
8cb9247f18 Replaced small genrules with uses of bazel_skylib (#1451)
38e841aece Upgrade stardoc (#1444)
674762f66a Updated toolchain repository rules to represent one toolchain per repo (#1442)
b22a6e1416 Re-enable disabled windows jobs in CI (#1353)
2fb94c48fd docs: Update homepage to use latest version (#1441)
389c58fcb1 Updated rules_rust to version `0.7.0`. (#1436)
60f26d49d8 exclude `BUILD` and `WORKSPACE` files from generated crate_universe targets (#1437)
26344d4cd7 Have rust_test put its compilation outputs in a subdirectory (#1434)
8b0f644122 Updated crate_universe version to `0.4.0`. (#1435)
adf92b1534 update crate_universe `--repin` args to not require values. (#1433)
da75146d0a Do not attempt to instrument rust code for coverage if rust_toolchain.llvm-cov is None (#1432)
bde2c36821 Added Rust 1.62.0 (#1427)
7056f22bd0 Fixed crate_universe not finding target library names for "rlib"s (#1429)
3d65214d23 crate_universe support for individually updating packages. (#1426)
5a9d999db9 Updated `attr.label` attribute defaults to use `Label` constructor (#1422)
52fc70145a Added `TemplateVariableInfo` to `rust_toolchain`. (#1416)
7465c1aa29 Add test coverage support (#1324)
c5c3603da6 Bump the min supported bazel version (#1414)
937bdc9d05 Add a `cargo_dep_env` rule for setting build.rs environment variables (#1415)
91466fc0d1 Updated `rules_rust` version to `0.6.0`. (#1397)
97264b79d5 Update wasm_bindgen to use crate universe. (#1398)
d3197a65c5 Updated crate_universe version (to `0.3.0`) and dependencies (#1409)
a15e67d666 Deleted "extra workspace member" functionality from crate_universe (#1406)
5910a7585a Use a vec, not set for rustc_flags for crate_universe annotations (#1404)
3aa88ab067 Deleted deprecated `rust_analyzer` rule. (#1405)
7adf7210d0 cargo: Fix handling of relative sysroots (#1371)
57607239ec Enable rustfmt CI for Windows. (#1403)
30e68b49be Added more "ignore" tags to rustfmt and clippy rules. (#1400)
53ad14eead Added support for vendoring external manifests (#1381)
ff243c6ef0 Reorganized rustfmt source tree (#1399)
94e0044afe Refactored the Rustfmt tool to work cross-platform (#1375)
8fca438124 Ran clang-format on all C++ sources (#1396)
e765719e29 Added TemplateVariableInfo to rust_toolchain (#1377)
81590f4b6a Fixed Clippy bug with `--@rules_rust//:clippy_flags`. (#1392)
d77b9f7c6a Use  `target_compatible_with` to make `macos` with `Xcode` happy (#1391)
ec27dbe310 Added comments to internal function (#1378)
a9dd2f9200 Removed deprecated file (#1380)
16175c881c Renamed toolchain files targets (#1376)
c7cb5bd7a8 Support crates that have mix of generated and nongenerated inputs (#1340)
521e649ff4 Avoid using common substrings as encodings. (#1370)
28ac6b133d Use a more compact encoding in the `import` macro. (#1365)
3a099bfa97 Fix incorrect assertion in test_env_launcher test (#1368)
4661093fb1 Use target instead of rule in rust_register_toolchains edition docs (#1366)
652f2802e3 Add `env` attribute to `rust_toolchain`. (#1363)
9520f37f1e Update rules_perl in examples (#1364)
1b451c301e Add armv7-linux-androideabi tier 2 triple (#1362)
0265c293f1 Ensure crate_features to be included correctly in rust_project.json (#1356)
121d65fe6a Updated `rules_rust` version to `0.5.0` (#1360)
aca4ec1a0f crate_universe: fix typo (#1314)
69ca2611c5 Don't leak native dependencies of proc_macro (#1359)
4c7f08b8b9 Fixed missing docs (#1358)
e48bec94de feat: build script toolchains annotations (#1344)
ffb946f4b7 Ensure memchr is linked after libobject (#1349)
edca1d8042 Add developing notes for crate_universe (#1351)
120f911d2f Updated rust_bindgen dependencies API (#1354)
42c4528a5f Added Rust 1.61.0 (#1347)
c05e0c6ab1 Fixed fetch_shas script to correctly include .gz and .xz extensions (#1355)
9770b0dd75 Update apple_support (#1346)
87eb807e67 Added support for Rust 1.61.0 to crate_universe (#1348)
84c1d42128 Temporarily disable windows job in CI. (#1352)
421d30e4ff Remove unnecessary `crate_name` usage in `rust_test_suite`. (#1345)
10185339dd Build `rust_test` targets with `crate` using the same crate name as the underlying library target. (#1332)
0049ce3884 Add support for riscv32 targets (#1323)
3aa6de3c63 remove experimental_use_whole_archive_for_native_deps (#1338)
a066bfed46 Replace slashes with underscores in default crate names. (#1336)
1b91e592d5 Revert "Replace slashes with underscores in default crate names. (#1334)" (#1335)
51f8e302e9 "sandwich" rlibs between native deps in linker order (#1333)
df354904a1 Replace slashes with underscores in default crate names. (#1334)
21eed19188 Bump version to 0.4.0 (#1329)
d3d9abac4d Support . workspace member (#1326)
fccaae3055 Error calling `all_crate_deps` without `Cargo.toml` (#1327)
d7c532cb78 Updated wasm_bindgen dependencies API (#1313)
fb4d5546ea Updated wasm_bindgen rules to only require core `rules_nodejs` rules (#1311)
1590670ae1 Prevents running of clippy on bindgen targets (#1320)
73d0164a34 Add support for aarch64-apple-ios-sim (#1304)
61eee54c73 Add bazel-* directories in cargo_manifest_dir/external_crate to gitignore (#1279)
42f78f25e1 crate_universe: Improved documentation (#1305)
bddc4bd94a Silence warnings for example/test dependencies (#1312)
b04fe3b21f Use tinyjson from crates.io instead of github.com. (#1309)
1cab691d14 Remove doc about STATIC_RUST_URL env var. (#1306)
d86e06a884 Don't propagate non-shared transitive linker inputs from `rust_static|shared_library` (#1299)
5abeb93333 Don't emit `CrateInfo` from `rust_static_library` and `rust_shared_library` (#1298)
0175a1b7aa fix for using a nightly channel after https://github.com/bazelbuild/rules_rust/commit/841fc6fb82141576d91aecb1d3f2656d58b0ab71 (#1302)
e07881fa22 Updated crate_universe docs (#1301)
c63ad973f1 rustc: fix a conditional (#1300)
a6f332fcbe Use __EXEC_ROOT__ paths for genfiles in rust_analyzer aspect (#1293)
97de47df51 Remove 'triple' field from triple struct in favor of 'str' (#1297)
58627f59eb Make get_host_triple public to get a triple from Bazel's repository_ctx (#1289)
612f4362bc Updated `rules_rust` version to `0.3.1` (#1296)
26fa5a15de Fixed build issues in release artifact (#1295)
48bb32f817 crate_universe: Added tests for serialized config files. (#1291)
841fc6fb82 Enable xz archives (#1284)
f7cb22efa6 feat(#514): pass extra flags to clippy (#1264)
e9f8b48711 Updated `rules_rust` version to `0.3.0` (#1288)
c900e1c66c Revert "Add workaround for arm vs armv7 android issue (#1259)" (#1290)
01ebef2fb9 Remove DEFAULT_RUST_EDITION (#1256)
03a70796ab Outside of examples, fill in all `edition` attrs (#1257)
207ee4fbcf feat: support extra deps in rust_doc_test (#1286)
4e7d114a8e Fix typo in render config doc (#1281)
db17f291d3 Fix crate annotation anchor (#1282)
fdb6851a92 Fix target name in `rust_test` example. (#1280)
4fb6e40147 Don't leak additive build file content across crates (#1278)
965044ae2b Remove `rust_test` example which doesn't build. (#1267)
f6e7e0a93f add a stopgap experimental_use_whole_archive_for_native_deps attribute (#1269)
34fd46756a process_wrapper: add support for terminating rustc after it emits rmeta. (#1207)
b778fca0ac crate_universe: propagate build_script_tools (#1266)
f6f27a8734 Add workaround for arm vs armv7 android issue (#1259)
c3f56c2d50 Add the BUILD.bazel file to the wasm_bindgen distro filegroup target (#1246) (#1261)
1f2e6231de Set edition for process_wrapper and cargo_build_script_runner (#1254)
55790492ac Updated Rust to 1.60.0 (#1247)
b594f90f17 Workaround for issue in linux Cargo binaries (#1252)
8f0dd9042e rust_test_suite: ensure crate names are valid (#1248)
4144ddeb9c Updating `rules_rust` version to `0.2.1` (#1243)
65cad76a52 Fixed proto package in release artifact (#1241)
4d8de6e361 Updated repository pin in the docs (#1240)
e5a3970754 Updating `rules_rust` version to `0.2.0` (#1235)
d061bf640e Updated `crate_universe` version to `0.2.0` (#1239)
c0505da0d2 Replace `rust_repositories` with `rust_register_toolchains` in docs (#1237)
145ad7609f Fixed `crates_repository` deleting `.cargo/config.toml` files. (#1227)
20066b05e2 fix: distribute `//tools/rust_analyzer` (#1234)
b58ce89603 Enabled `rust_doc_test` for `crate_universe` (#1232)
d2e2470cbf Fix some unit tests to run from another workspace (#1226)
b03aee039a Fixed `crate_universe` clippy defects (#1228)
41b39f0c99 add bots using lld (and examples with clang as a drive by) (#1221)
84e98e4d2f don't emit --codegen={metadata,extra-filename} for rust_static_library and rust_shared_library (#1222)
e48c834a40 Renamed `crate_index` repository to `crate_universe_crate_index` (#1217)
99b4b2574f fix use of stamping in rust_binary_without_process_wrapper (#1218)
8df4517d37 Add NUM_JOBS env var to cargo build scripts (#1216)
628e85e70f Restrucutred `crate_universe` dependency macros (#1208)
e3d67a0a10 Updated docs to guide users to using releases (#1213)
fd912e644c Updated crate_universe docs. (#1212)
cde4c0826c Delete deprecated `rules` targets (#1210)
26e01c8386 cache the release archive in release actions (#1201)
3205c9d846 Updated crate_universe setup guide (#1202)
c078494678 Don't leak deps from rust_proc_macro (#1206)
7c865ffeb1 Build `_import_macro_dep` in `exec` mode (#1203)
635da93206 Updating `rules_rust` version to `0.1.0`. (#1198)
6c797c9070 disable advanced features of C++ rules (#1200)
86d47a1bba Tweak import macro bootstrap to trick rust analyzer aspect (#1179)
80d197205a Added release workflow (#1195)
cd44b3670a Added support for producing distribution archives (#1194)
a665447989 Traverse custom alias-like rules in the rust analyzer aspect (#1190)
4504983fa9 Add a test showing that rust_analayzer aspect traverses aliases (#1188)
297dd18215 Updated `crate_universe` to version `0.1.0`. (#1197)
0d9c7d5e1b Specify root target for rust_analyzer test (#1189)
4a0352fecd Updated `crate_universe` dependencies (#1196)
5126479254 Fixed crate_universe release tools (#1193)
e840400eb6 Remove last remains of use_process_wrapper flag. (#1192)
eb7db68d96 Fix iOS linker arguments (#1186)
de726a10c9 Create internal rust_binary rule instead of using transitions (#1187)
5e6ad9f638 Regenerated `cargo-raze` outputs with v0.15.0 (#1184)
980b662843 add static_library to get_preferred_artifact with pic (#1183)
97fd329540 Populate CFLAGS and CXXFLAGS when invoking build script. (#1081)

git-subtree-dir: third_party/rules_rust
git-subtree-split: 078c6908fc32c168b58e72cc3884dd8e30419e3a
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
Change-Id: Ifc218edaa852263bd76835ee7de44de07c08aec2
diff --git a/crate_universe/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel b/crate_universe/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel
index 461d2ac..035b4cc 100644
--- a/crate_universe/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -81,7 +87,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__memchr-2.4.1//:memchr",
+            "@cui__memchr-2.5.0//:memchr",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.55.bazel b/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.58.bazel
similarity index 88%
rename from crate_universe/3rdparty/crates/BUILD.anyhow-1.0.55.bazel
rename to crate_universe/3rdparty/crates/BUILD.anyhow-1.0.58.bazel
index 862e2f4..3642fb5 100644
--- a/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.55.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.anyhow-1.0.58.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,21 +80,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.55",
+    version = "1.0.58",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__anyhow-1.0.55//:build_script_build",
+            "@cui__anyhow-1.0.58//:build_script_build",
         ],
     }),
 )
@@ -138,10 +144,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -152,7 +155,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.55",
+    version = "1.0.58",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.atty-0.2.14.bazel b/crate_universe/3rdparty/crates/BUILD.atty-0.2.14.bazel
index da6f0b6..9851947 100644
--- a/crate_universe/3rdparty/crates/BUILD.atty-0.2.14.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.atty-0.2.14.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,9 +93,11 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -104,7 +112,7 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
@@ -114,7 +122,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
index bd2fcd9..5f651cb 100644
--- a/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.bazel b/crate_universe/3rdparty/crates/BUILD.bazel
index 4f6b676..b43f43c 100644
--- a/crate_universe/3rdparty/crates/BUILD.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -28,139 +29,157 @@
 # Workspace Member Dependencies
 alias(
     name = "anyhow",
-    actual = "@crate_index__anyhow-1.0.55//:anyhow",
+    actual = "@cui__anyhow-1.0.58//:anyhow",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo-lock",
-    actual = "@crate_index__cargo-lock-7.0.1//:cargo_lock",
+    actual = "@cui__cargo-lock-8.0.2//:cargo_lock",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo-platform",
-    actual = "@crate_index__cargo-platform-0.1.2//:cargo_platform",
+    actual = "@cui__cargo-platform-0.1.2//:cargo_platform",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo_metadata",
-    actual = "@crate_index__cargo_metadata-0.14.2//:cargo_metadata",
+    actual = "@cui__cargo_metadata-0.14.2//:cargo_metadata",
     tags = ["manual"],
 )
 
 alias(
     name = "cargo_toml",
-    actual = "@crate_index__cargo_toml-0.11.4//:cargo_toml",
+    actual = "@cui__cargo_toml-0.11.5//:cargo_toml",
     tags = ["manual"],
 )
 
 alias(
     name = "cfg-expr",
-    actual = "@crate_index__cfg-expr-0.10.2//:cfg_expr",
+    actual = "@cui__cfg-expr-0.10.3//:cfg_expr",
     tags = ["manual"],
 )
 
 alias(
     name = "clap",
-    actual = "@crate_index__clap-3.1.5//:clap",
+    actual = "@cui__clap-3.2.8//:clap",
     tags = ["manual"],
 )
 
 alias(
     name = "crates-index",
-    actual = "@crate_index__crates-index-0.18.7//:crates_index",
+    actual = "@cui__crates-index-0.18.8//:crates_index",
     tags = ["manual"],
 )
 
 alias(
     name = "hex",
-    actual = "@crate_index__hex-0.4.3//:hex",
+    actual = "@cui__hex-0.4.3//:hex",
+    tags = ["manual"],
+)
+
+alias(
+    name = "maplit",
+    actual = "@cui__maplit-1.0.2//:maplit",
+    tags = ["manual"],
+)
+
+alias(
+    name = "normpath",
+    actual = "@cui__normpath-0.3.2//:normpath",
     tags = ["manual"],
 )
 
 alias(
     name = "pathdiff",
-    actual = "@crate_index__pathdiff-0.2.1//:pathdiff",
+    actual = "@cui__pathdiff-0.2.1//:pathdiff",
     tags = ["manual"],
 )
 
 alias(
     name = "regex",
-    actual = "@crate_index__regex-1.5.4//:regex",
+    actual = "@cui__regex-1.6.0//:regex",
     tags = ["manual"],
 )
 
 alias(
     name = "semver",
-    actual = "@crate_index__semver-1.0.6//:semver",
+    actual = "@cui__semver-1.0.12//:semver",
     tags = ["manual"],
 )
 
 alias(
     name = "serde",
-    actual = "@crate_index__serde-1.0.136//:serde",
+    actual = "@cui__serde-1.0.138//:serde",
     tags = ["manual"],
 )
 
 alias(
     name = "serde_json",
-    actual = "@crate_index__serde_json-1.0.79//:serde_json",
+    actual = "@cui__serde_json-1.0.82//:serde_json",
     tags = ["manual"],
 )
 
 alias(
     name = "sha2",
-    actual = "@crate_index__sha2-0.10.2//:sha2",
+    actual = "@cui__sha2-0.10.2//:sha2",
     tags = ["manual"],
 )
 
 alias(
     name = "spectral",
-    actual = "@crate_index__spectral-0.6.0//:spectral",
+    actual = "@cui__spectral-0.6.0//:spectral",
     tags = ["manual"],
 )
 
 alias(
     name = "tempfile",
-    actual = "@crate_index__tempfile-3.3.0//:tempfile",
+    actual = "@cui__tempfile-3.3.0//:tempfile",
     tags = ["manual"],
 )
 
 alias(
     name = "tera",
-    actual = "@crate_index__tera-1.15.0//:tera",
+    actual = "@cui__tera-1.16.0//:tera",
     tags = ["manual"],
 )
 
 alias(
     name = "textwrap",
-    actual = "@crate_index__textwrap-0.14.2//:textwrap",
+    actual = "@cui__textwrap-0.15.0//:textwrap",
     tags = ["manual"],
 )
 
 alias(
     name = "toml",
-    actual = "@crate_index__toml-0.5.8//:toml",
+    actual = "@cui__toml-0.5.9//:toml",
     tags = ["manual"],
 )
 
 # Binaries
 alias(
     name = "cargo-lock__cargo-lock",
-    actual = "@crate_index__cargo-lock-7.0.1//:cargo-lock__bin",
+    actual = "@cui__cargo-lock-8.0.2//:cargo-lock__bin",
     tags = ["manual"],
 )
 
 alias(
     name = "cc__gcc-shim",
-    actual = "@crate_index__cc-1.0.73//:gcc-shim__bin",
+    actual = "@cui__cc-1.0.73//:gcc-shim__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "clap__stdio-fixture",
+    actual = "@cui__clap-3.2.8//:stdio-fixture__bin",
     tags = ["manual"],
 )
 
 alias(
     name = "phf_generator__gen_hash_test",
-    actual = "@crate_index__phf_generator-0.10.0//:gen_hash_test__bin",
+    actual = "@cui__phf_generator-0.10.0//:gen_hash_test__bin",
     tags = ["manual"],
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
index 6894746..030e572 100644
--- a/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.2.bazel b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.2.bazel
index 5937127..e2b7c5c 100644
--- a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.10.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__generic-array-0.14.5//:generic_array",
+            "@cui__generic-array-0.14.5//:generic_array",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.7.3.bazel b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.7.3.bazel
index 1bb6977..8dbfce8 100644
--- a/crate_universe/3rdparty/crates/BUILD.block-buffer-0.7.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.block-buffer-0.7.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,10 +85,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__block-padding-0.1.5//:block_padding",
-            "@crate_index__byte-tools-0.3.1//:byte_tools",
-            "@crate_index__byteorder-1.4.3//:byteorder",
-            "@crate_index__generic-array-0.12.4//:generic_array",
+            "@cui__block-padding-0.1.5//:block_padding",
+            "@cui__byte-tools-0.3.1//:byte_tools",
+            "@cui__byteorder-1.4.3//:byteorder",
+            "@cui__generic-array-0.12.4//:generic_array",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.block-padding-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.block-padding-0.1.5.bazel
index 57a82a0..4175a50 100644
--- a/crate_universe/3rdparty/crates/BUILD.block-padding-0.1.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.block-padding-0.1.5.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__byte-tools-0.3.1//:byte_tools",
+            "@cui__byte-tools-0.3.1//:byte_tools",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.bstr-0.2.17.bazel b/crate_universe/3rdparty/crates/BUILD.bstr-0.2.17.bazel
index 49bc9e9..44ac30a 100644
--- a/crate_universe/3rdparty/crates/BUILD.bstr-0.2.17.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.bstr-0.2.17.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,7 +86,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__memchr-2.4.1//:memchr",
+            "@cui__memchr-2.5.0//:memchr",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.byte-tools-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.byte-tools-0.3.1.bazel
index c4f77ba..306f44e 100644
--- a/crate_universe/3rdparty/crates/BUILD.byte-tools-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.byte-tools-0.3.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.byteorder-1.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
index d08f7c4..1a6ec19 100644
--- a/crate_universe/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.camino-1.0.7.bazel b/crate_universe/3rdparty/crates/BUILD.camino-1.0.9.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.camino-1.0.7.bazel
rename to crate_universe/3rdparty/crates/BUILD.camino-1.0.9.bazel
index 4a616b6..3548282 100644
--- a/crate_universe/3rdparty/crates/BUILD.camino-1.0.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.camino-1.0.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,22 +80,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.7",
+    version = "1.0.9",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__camino-1.0.7//:build_script_build",
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__camino-1.0.9//:build_script_build",
+            "@cui__serde-1.0.138//:serde",
         ],
     }),
 )
@@ -139,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,7 +156,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.7",
+    version = "1.0.9",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo-lock-7.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.cargo-lock-8.0.2.bazel
similarity index 74%
rename from crate_universe/3rdparty/crates/BUILD.cargo-lock-7.0.1.bazel
rename to crate_universe/3rdparty/crates/BUILD.cargo-lock-8.0.2.bazel
index df635c5..55735c5 100644
--- a/crate_universe/3rdparty/crates/BUILD.cargo-lock-7.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cargo-lock-8.0.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -37,7 +38,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -48,7 +57,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -66,24 +75,21 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "7.0.1",
+    version = "8.0.2",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__semver-1.0.6//:semver",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__toml-0.5.8//:toml",
-            "@crate_index__url-2.2.2//:url",
+            "@cui__semver-1.0.12//:semver",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__toml-0.5.9//:toml",
+            "@cui__url-2.2.2//:url",
         ],
     }),
 )
@@ -101,7 +107,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -112,7 +126,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -130,25 +144,22 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "7.0.1",
+    version = "8.0.2",
     deps = [
         ":cargo_lock",
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__semver-1.0.6//:semver",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__toml-0.5.8//:toml",
-            "@crate_index__url-2.2.2//:url",
+            "@cui__semver-1.0.12//:semver",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__toml-0.5.9//:toml",
+            "@cui__url-2.2.2//:url",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.2.bazel
index 27eded2..d396d25 100644
--- a/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cargo-platform-0.1.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__serde-1.0.138//:serde",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.14.2.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.14.2.bazel
index 0255882..57b2668 100644
--- a/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.14.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cargo_metadata-0.14.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,11 +86,11 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__camino-1.0.7//:camino",
-            "@crate_index__cargo-platform-0.1.2//:cargo_platform",
-            "@crate_index__semver-1.0.6//:semver",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__serde_json-1.0.79//:serde_json",
+            "@cui__camino-1.0.9//:camino",
+            "@cui__cargo-platform-0.1.2//:cargo_platform",
+            "@cui__semver-1.0.12//:semver",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__serde_json-1.0.82//:serde_json",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.4.bazel b/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.5.bazel
similarity index 75%
rename from crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.4.bazel
rename to crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.5.bazel
index 3a26aab..16dd657 100644
--- a/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cargo_toml-0.11.5.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -51,7 +60,7 @@
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde_derive-1.0.136//:serde_derive",
+            "@cui__serde_derive-1.0.138//:serde_derive",
         ],
     }),
     rustc_env = {
@@ -66,22 +75,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.11.4",
+    version = "0.11.5",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__toml-0.5.8//:toml",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__toml-0.5.9//:toml",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cc-1.0.73.bazel b/crate_universe/3rdparty/crates/BUILD.cc-1.0.73.bazel
index 70e0555..53c9fd2 100644
--- a/crate_universe/3rdparty/crates/BUILD.cc-1.0.73.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cc-1.0.73.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -37,7 +38,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,10 +77,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,7 +88,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__jobserver-0.1.24//:jobserver",
+            "@cui__jobserver-0.1.24//:jobserver",
         ],
     }),
 )
@@ -100,7 +106,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -131,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -146,7 +157,7 @@
         ":cc",
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__jobserver-0.1.24//:jobserver",
+            "@cui__jobserver-0.1.24//:jobserver",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.2.bazel b/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.3.bazel
similarity index 78%
rename from crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.2.bazel
rename to crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.3.bazel
index 7f578b2..a727e47 100644
--- a/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cfg-expr-0.10.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,21 +75,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.10.2",
+    version = "0.10.3",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__smallvec-1.8.0//:smallvec",
+            "@cui__smallvec-1.9.0//:smallvec",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
index e4aab64..ef5b230 100644
--- a/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-0.4.19.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-0.4.19.bazel
index a28b567..5fd0d78 100644
--- a/crate_universe/3rdparty/crates/BUILD.chrono-0.4.19.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-0.4.19.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -88,17 +94,17 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
-            "@crate_index__libc-0.2.119//:libc",
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-traits-0.2.14//:num_traits",
+            "@cui__libc-0.2.126//:libc",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-traits-0.2.15//:num_traits",
         ],
         "//conditions:default": [
-            "@crate_index__libc-0.2.119//:libc",
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-traits-0.2.14//:num_traits",
+            "@cui__libc-0.2.126//:libc",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-traits-0.2.15//:num_traits",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel
index 9fe3d72..0dd3545 100644
--- a/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-tz-0.6.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,10 +80,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -85,9 +91,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__chrono-0.4.19//:chrono",
-            "@crate_index__chrono-tz-0.6.1//:build_script_build",
-            "@crate_index__phf-0.10.1//:phf",
+            "@cui__chrono-0.4.19//:chrono",
+            "@cui__chrono-tz-0.6.1//:build_script_build",
+            "@cui__phf-0.10.1//:phf",
         ],
     }),
 )
@@ -140,10 +146,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -159,7 +162,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__chrono-tz-build-0.0.2//:chrono_tz_build",
+            "@cui__chrono-tz-build-0.0.2//:chrono_tz_build",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel
index ff11da9..e8bd1b3 100644
--- a/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.chrono-tz-build-0.0.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,9 +85,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__parse-zoneinfo-0.3.0//:parse_zoneinfo",
-            "@crate_index__phf-0.10.1//:phf",
-            "@crate_index__phf_codegen-0.10.0//:phf_codegen",
+            "@cui__parse-zoneinfo-0.3.0//:parse_zoneinfo",
+            "@cui__phf-0.10.1//:phf",
+            "@cui__phf_codegen-0.10.0//:phf_codegen",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.clap-3.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.clap-3.1.5.bazel
deleted file mode 100644
index 288246b..0000000
--- a/crate_universe/3rdparty/crates/BUILD.clap-3.1.5.bazel
+++ /dev/null
@@ -1,104 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "clap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "atty",
-        "clap_derive",
-        "color",
-        "default",
-        "derive",
-        "env",
-        "lazy_static",
-        "std",
-        "strsim",
-        "suggestions",
-        "termcolor",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__clap_derive-3.1.4//:clap_derive",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.1.5",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__atty-0.2.14//:atty",
-            "@crate_index__bitflags-1.3.2//:bitflags",
-            "@crate_index__indexmap-1.8.0//:indexmap",
-            "@crate_index__lazy_static-1.4.0//:lazy_static",
-            "@crate_index__os_str_bytes-6.0.0//:os_str_bytes",
-            "@crate_index__strsim-0.10.0//:strsim",
-            "@crate_index__termcolor-1.1.3//:termcolor",
-            "@crate_index__textwrap-0.15.0//:textwrap",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.clap-3.2.8.bazel b/crate_universe/3rdparty/crates/BUILD.clap-3.2.8.bazel
new file mode 100644
index 0000000..fc08b1f
--- /dev/null
+++ b/crate_universe/3rdparty/crates/BUILD.clap-3.2.8.bazel
@@ -0,0 +1,197 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //crate_universe/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "clap",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "atty",
+        "clap_derive",
+        "color",
+        "default",
+        "derive",
+        "env",
+        "once_cell",
+        "std",
+        "strsim",
+        "suggestions",
+        "termcolor",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2021",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@cui__clap_derive-3.2.7//:clap_derive",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.2.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@cui__atty-0.2.14//:atty",
+            "@cui__bitflags-1.3.2//:bitflags",
+            "@cui__clap_lex-0.2.4//:clap_lex",
+            "@cui__indexmap-1.9.1//:indexmap",
+            "@cui__once_cell-1.13.0//:once_cell",
+            "@cui__strsim-0.10.0//:strsim",
+            "@cui__termcolor-1.1.3//:termcolor",
+            "@cui__textwrap-0.15.0//:textwrap",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "stdio-fixture__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "atty",
+        "clap_derive",
+        "color",
+        "default",
+        "derive",
+        "env",
+        "once_cell",
+        "std",
+        "strsim",
+        "suggestions",
+        "termcolor",
+    ],
+    crate_root = "src/bin/stdio-fixture.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2021",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@cui__clap_derive-3.2.7//:clap_derive",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.2.8",
+    deps = [
+        ":clap",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@cui__atty-0.2.14//:atty",
+            "@cui__bitflags-1.3.2//:bitflags",
+            "@cui__clap_lex-0.2.4//:clap_lex",
+            "@cui__indexmap-1.9.1//:indexmap",
+            "@cui__once_cell-1.13.0//:once_cell",
+            "@cui__strsim-0.10.0//:strsim",
+            "@cui__termcolor-1.1.3//:termcolor",
+            "@cui__textwrap-0.15.0//:textwrap",
+        ],
+    }),
+)
diff --git a/crate_universe/3rdparty/crates/BUILD.clap_derive-3.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.clap_derive-3.2.7.bazel
similarity index 71%
rename from crate_universe/3rdparty/crates/BUILD.clap_derive-3.1.4.bazel
rename to crate_universe/3rdparty/crates/BUILD.clap_derive-3.2.7.bazel
index be1c87c..6f36645 100644
--- a/crate_universe/3rdparty/crates/BUILD.clap_derive-3.1.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap_derive-3.2.7.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -48,7 +57,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -66,25 +75,22 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "3.1.4",
+    version = "3.2.7",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__heck-0.4.0//:heck",
-            "@crate_index__proc-macro-error-1.0.4//:proc_macro_error",
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
-            "@crate_index__syn-1.0.86//:syn",
+            "@cui__heck-0.4.0//:heck",
+            "@cui__proc-macro-error-1.0.4//:proc_macro_error",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
+            "@cui__syn-1.0.98//:syn",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.clap_lex-0.2.4.bazel
similarity index 76%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.clap_lex-0.2.4.bazel
index f2a936a..de4683d 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.clap_lex-0.2.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "clap_lex",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,22 +37,26 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -69,20 +74,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "0.2.4",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
+            "@cui__os_str_bytes-6.1.0//:os_str_bytes",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.2.bazel
similarity index 74%
rename from crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel
rename to crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.2.bazel
index c9f420c..2696ab3 100644
--- a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,17 +74,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.1",
+    version = "0.2.2",
     deps = [
     ] + select_with_or({
         # aarch64-apple-darwin
@@ -83,7 +89,16 @@
             "@rules_rust//rust/platform:aarch64-apple-darwin",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        # aarch64-linux-android
+        (
+            "@rules_rust//rust/platform:aarch64-linux-android",
+        ): [
+            # Target Deps
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
@@ -92,7 +107,7 @@
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.crates-index-0.18.7.bazel b/crate_universe/3rdparty/crates/BUILD.crates-index-0.18.8.bazel
similarity index 64%
rename from crate_universe/3rdparty/crates/BUILD.crates-index-0.18.7.bazel
rename to crate_universe/3rdparty/crates/BUILD.crates-index-0.18.8.bazel
index 085bbd5..0b9ff0c 100644
--- a/crate_universe/3rdparty/crates/BUILD.crates-index-0.18.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.crates-index-0.18.8.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -51,7 +60,7 @@
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde_derive-1.0.136//:serde_derive",
+            "@cui__serde_derive-1.0.138//:serde_derive",
         ],
     }),
     rustc_env = {
@@ -66,30 +75,27 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.18.7",
+    version = "0.18.8",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__git2-0.14.1//:git2",
-            "@crate_index__hex-0.4.3//:hex",
-            "@crate_index__home-0.5.3//:home",
-            "@crate_index__memchr-2.4.1//:memchr",
-            "@crate_index__num_cpus-1.13.1//:num_cpus",
-            "@crate_index__rustc-hash-1.1.0//:rustc_hash",
-            "@crate_index__semver-1.0.6//:semver",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__serde_json-1.0.79//:serde_json",
-            "@crate_index__smartstring-1.0.0//:smartstring",
+            "@cui__git2-0.14.4//:git2",
+            "@cui__hex-0.4.3//:hex",
+            "@cui__home-0.5.3//:home",
+            "@cui__memchr-2.5.0//:memchr",
+            "@cui__num_cpus-1.13.1//:num_cpus",
+            "@cui__rustc-hash-1.1.0//:rustc_hash",
+            "@cui__semver-1.0.12//:semver",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__serde_json-1.0.82//:serde_json",
+            "@cui__smartstring-1.0.1//:smartstring",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.7.bazel b/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel
similarity index 85%
rename from crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.7.bazel
rename to crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel
index 228b9ea..e09993a 100644
--- a/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,13 +41,21 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
         "default",
-        "lazy_static",
+        "once_cell",
         "std",
     ],
     crate_root = "src/lib.rs",
@@ -72,23 +81,20 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.8.7",
+    version = "0.8.10",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__crossbeam-utils-0.8.7//:build_script_build",
-            "@crate_index__lazy_static-1.4.0//:lazy_static",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__crossbeam-utils-0.8.10//:build_script_build",
+            "@cui__once_cell-1.13.0//:once_cell",
         ],
     }),
 )
@@ -115,7 +121,7 @@
     }),
     crate_features = [
         "default",
-        "lazy_static",
+        "once_cell",
         "std",
     ],
     crate_name = "build_script_build",
@@ -142,10 +148,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -156,7 +159,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.8.7",
+    version = "0.8.10",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.4.bazel
similarity index 77%
rename from crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.3.bazel
rename to crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.4.bazel
index 269f2d8..7456b4a 100644
--- a/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.crypto-common-0.1.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,22 +75,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.3",
+    version = "0.1.4",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__generic-array-0.14.5//:generic_array",
-            "@crate_index__typenum-1.15.0//:typenum",
+            "@cui__generic-array-0.14.5//:generic_array",
+            "@cui__typenum-1.15.0//:typenum",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
index dbea22a..8477726 100644
--- a/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.deunicode-0.4.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.digest-0.10.3.bazel b/crate_universe/3rdparty/crates/BUILD.digest-0.10.3.bazel
index 0566635..1569254 100644
--- a/crate_universe/3rdparty/crates/BUILD.digest-0.10.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.digest-0.10.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -70,10 +79,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,8 +90,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__block-buffer-0.10.2//:block_buffer",
-            "@crate_index__crypto-common-0.1.3//:crypto_common",
+            "@cui__block-buffer-0.10.2//:block_buffer",
+            "@cui__crypto-common-0.1.4//:crypto_common",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.digest-0.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.digest-0.8.1.bazel
index ffcb916..2556cd7 100644
--- a/crate_universe/3rdparty/crates/BUILD.digest-0.8.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.digest-0.8.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__generic-array-0.12.4//:generic_array",
+            "@cui__generic-array-0.12.4//:generic_array",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.fake-simd-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.fake-simd-0.1.2.bazel
index b5f46a2..db2974f 100644
--- a/crate_universe/3rdparty/crates/BUILD.fake-simd-0.1.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fake-simd-0.1.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.fastrand-1.7.0.bazel b/crate_universe/3rdparty/crates/BUILD.fastrand-1.7.0.bazel
index 4653164..5a262de 100644
--- a/crate_universe/3rdparty/crates/BUILD.fastrand-1.7.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fastrand-1.7.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:wasm32-wasi",
         ): [
             # Target Deps
-            "@crate_index__instant-0.1.12//:instant",
+            "@cui__instant-0.1.12//:instant",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel b/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
index 9b3c6e3..2e0c82a 100644
--- a/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fnv-1.0.7.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
index 55ca7b5..d1dbe7c 100644
--- a/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,8 +85,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__matches-0.1.9//:matches",
-            "@crate_index__percent-encoding-2.1.0//:percent_encoding",
+            "@cui__matches-0.1.9//:matches",
+            "@cui__percent-encoding-2.1.0//:percent_encoding",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
index 13c5d65..bd0e2d8 100644
--- a/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.fuchsia-cprng-0.1.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.generic-array-0.12.4.bazel b/crate_universe/3rdparty/crates/BUILD.generic-array-0.12.4.bazel
index 34536b7..cf8157a 100644
--- a/crate_universe/3rdparty/crates/BUILD.generic-array-0.12.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.generic-array-0.12.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__typenum-1.15.0//:typenum",
+            "@cui__typenum-1.15.0//:typenum",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.5.bazel b/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.5.bazel
index 9d7fc09..fad3420 100644
--- a/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.generic-array-0.14.5.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -70,10 +79,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,8 +90,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__generic-array-0.14.5//:build_script_build",
-            "@crate_index__typenum-1.15.0//:typenum",
+            "@cui__generic-array-0.14.5//:build_script_build",
+            "@cui__typenum-1.15.0//:typenum",
         ],
     }),
 )
@@ -137,10 +143,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -156,7 +159,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__version_check-0.9.4//:version_check",
+            "@cui__version_check-0.9.4//:version_check",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.5.bazel b/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
similarity index 79%
rename from crate_universe/3rdparty/crates/BUILD.getrandom-0.2.5.bazel
rename to crate_universe/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
index 0c73b2d..18af579 100644
--- a/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,17 +75,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.5",
+    version = "0.2.7",
     deps = [
     ] + select_with_or({
         # cfg(target_os = "wasi")
@@ -84,18 +90,20 @@
             "@rules_rust//rust/platform:wasm32-wasi",
         ): [
             # Target Deps
-            "@crate_index__wasi-0.10.2-wasi-snapshot-preview1//:wasi",
+            "@cui__wasi-0.11.0-wasi-snapshot-preview1//:wasi",
 
             # Common Deps
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
+            "@cui__cfg-if-1.0.0//:cfg_if",
         ],
         # cfg(unix)
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -110,13 +118,13 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
+            "@cui__cfg-if-1.0.0//:cfg_if",
         ],
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
+            "@cui__cfg-if-1.0.0//:cfg_if",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.git2-0.14.1.bazel b/crate_universe/3rdparty/crates/BUILD.git2-0.14.1.bazel
deleted file mode 100644
index 1a3d468..0000000
--- a/crate_universe/3rdparty/crates/BUILD.git2-0.14.1.bazel
+++ /dev/null
@@ -1,89 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "git2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.14.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__bitflags-1.3.2//:bitflags",
-            "@crate_index__libc-0.2.119//:libc",
-            "@crate_index__libgit2-sys-0.13.1-1.4.2//:libgit2_sys",
-            "@crate_index__log-0.4.14//:log",
-            "@crate_index__url-2.2.2//:url",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.git2-0.14.4.bazel
similarity index 72%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.git2-0.14.4.bazel
index f2a936a..785c303 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.git2-0.14.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "git2",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,15 +37,19 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -69,20 +74,22 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "0.14.4",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
+            "@cui__bitflags-1.3.2//:bitflags",
+            "@cui__libc-0.2.126//:libc",
+            "@cui__libgit2-sys-0.13.4-1.4.2//:libgit2_sys",
+            "@cui__log-0.4.17//:log",
+            "@cui__url-2.2.2//:url",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.globset-0.4.8.bazel b/crate_universe/3rdparty/crates/BUILD.globset-0.4.8.bazel
deleted file mode 100644
index e38b033..0000000
--- a/crate_universe/3rdparty/crates/BUILD.globset-0.4.8.bazel
+++ /dev/null
@@ -1,89 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
-rust_library(
-    name = "globset",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.8",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__aho-corasick-0.7.18//:aho_corasick",
-            "@crate_index__bstr-0.2.17//:bstr",
-            "@crate_index__fnv-1.0.7//:fnv",
-            "@crate_index__log-0.4.14//:log",
-            "@crate_index__regex-1.5.4//:regex",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.globset-0.4.9.bazel
similarity index 70%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.globset-0.4.9.bazel
index f2a936a..41b7dc8 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.globset-0.4.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -20,11 +21,11 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # MIT OR Apache-2.0
+#     "TODO",  # Unlicense OR MIT
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "globset",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,15 +37,21 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
         "default",
-        "race",
-        "std",
+        "log",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -69,20 +76,22 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "0.4.9",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
+            "@cui__aho-corasick-0.7.18//:aho_corasick",
+            "@cui__bstr-0.2.17//:bstr",
+            "@cui__fnv-1.0.7//:fnv",
+            "@cui__log-0.4.17//:log",
+            "@cui__regex-1.6.0//:regex",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel b/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
index f66d00a..b4ad397 100644
--- a/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.globwalk-0.8.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,9 +85,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__bitflags-1.3.2//:bitflags",
-            "@crate_index__ignore-0.4.18//:ignore",
-            "@crate_index__walkdir-2.3.2//:walkdir",
+            "@cui__bitflags-1.3.2//:bitflags",
+            "@cui__ignore-0.4.18//:ignore",
+            "@cui__walkdir-2.3.2//:walkdir",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.11.2.bazel b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.1.bazel
similarity index 78%
rename from crate_universe/3rdparty/crates/BUILD.hashbrown-0.11.2.bazel
rename to crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.1.bazel
index 54a071b..5aee01f 100644
--- a/crate_universe/3rdparty/crates/BUILD.hashbrown-0.11.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.hashbrown-0.12.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -20,7 +21,7 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # Apache-2.0/MIT
+#     "TODO",  # MIT OR Apache-2.0
 # ])
 
 rust_library(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -48,7 +57,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -66,17 +75,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.11.2",
+    version = "0.12.1",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.heck-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.heck-0.4.0.bazel
index f8a2a8e..cf20c66 100644
--- a/crate_universe/3rdparty/crates/BUILD.heck-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.heck-0.4.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel b/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
index 87a0e63..3382110 100644
--- a/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,7 +86,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel b/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
index 532d6eb..d9e08c2 100644
--- a/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.hex-0.4.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,7 +89,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__serde-1.0.138//:serde",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.home-0.5.3.bazel b/crate_universe/3rdparty/crates/BUILD.home-0.5.3.bazel
index d500a98..8d15a57 100644
--- a/crate_universe/3rdparty/crates/BUILD.home-0.5.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.home-0.5.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.humansize-1.1.1.bazel b/crate_universe/3rdparty/crates/BUILD.humansize-1.1.1.bazel
index 48be3d7..060b964 100644
--- a/crate_universe/3rdparty/crates/BUILD.humansize-1.1.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.humansize-1.1.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.idna-0.2.3.bazel b/crate_universe/3rdparty/crates/BUILD.idna-0.2.3.bazel
index d414d18..6e1f2fd 100644
--- a/crate_universe/3rdparty/crates/BUILD.idna-0.2.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.idna-0.2.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,9 +85,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__matches-0.1.9//:matches",
-            "@crate_index__unicode-bidi-0.3.7//:unicode_bidi",
-            "@crate_index__unicode-normalization-0.1.19//:unicode_normalization",
+            "@cui__matches-0.1.9//:matches",
+            "@cui__unicode-bidi-0.3.8//:unicode_bidi",
+            "@cui__unicode-normalization-0.1.21//:unicode_normalization",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel b/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
index 3d8cc4b..ddb28be 100644
--- a/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ignore-0.4.18.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,29 +90,29 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-util-0.1.5//:winapi_util",
+            "@cui__winapi-util-0.1.5//:winapi_util",
 
             # Common Deps
-            "@crate_index__crossbeam-utils-0.8.7//:crossbeam_utils",
-            "@crate_index__globset-0.4.8//:globset",
-            "@crate_index__lazy_static-1.4.0//:lazy_static",
-            "@crate_index__log-0.4.14//:log",
-            "@crate_index__memchr-2.4.1//:memchr",
-            "@crate_index__regex-1.5.4//:regex",
-            "@crate_index__same-file-1.0.6//:same_file",
-            "@crate_index__thread_local-1.1.4//:thread_local",
-            "@crate_index__walkdir-2.3.2//:walkdir",
+            "@cui__crossbeam-utils-0.8.10//:crossbeam_utils",
+            "@cui__globset-0.4.9//:globset",
+            "@cui__lazy_static-1.4.0//:lazy_static",
+            "@cui__log-0.4.17//:log",
+            "@cui__memchr-2.5.0//:memchr",
+            "@cui__regex-1.6.0//:regex",
+            "@cui__same-file-1.0.6//:same_file",
+            "@cui__thread_local-1.1.4//:thread_local",
+            "@cui__walkdir-2.3.2//:walkdir",
         ],
         "//conditions:default": [
-            "@crate_index__crossbeam-utils-0.8.7//:crossbeam_utils",
-            "@crate_index__globset-0.4.8//:globset",
-            "@crate_index__lazy_static-1.4.0//:lazy_static",
-            "@crate_index__log-0.4.14//:log",
-            "@crate_index__memchr-2.4.1//:memchr",
-            "@crate_index__regex-1.5.4//:regex",
-            "@crate_index__same-file-1.0.6//:same_file",
-            "@crate_index__thread_local-1.1.4//:thread_local",
-            "@crate_index__walkdir-2.3.2//:walkdir",
+            "@cui__crossbeam-utils-0.8.10//:crossbeam_utils",
+            "@cui__globset-0.4.9//:globset",
+            "@cui__lazy_static-1.4.0//:lazy_static",
+            "@cui__log-0.4.17//:log",
+            "@cui__memchr-2.5.0//:memchr",
+            "@cui__regex-1.6.0//:regex",
+            "@cui__same-file-1.0.6//:same_file",
+            "@cui__thread_local-1.1.4//:thread_local",
+            "@cui__walkdir-2.3.2//:walkdir",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.indexmap-1.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.indexmap-1.9.1.bazel
similarity index 84%
rename from crate_universe/3rdparty/crates/BUILD.indexmap-1.8.0.bazel
rename to crate_universe/3rdparty/crates/BUILD.indexmap-1.9.1.bazel
index 18e7ed7..90c74c1 100644
--- a/crate_universe/3rdparty/crates/BUILD.indexmap-1.8.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.indexmap-1.9.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # Apache-2.0/MIT
+#     "TODO",  # Apache-2.0 OR MIT
 # ])
 
 rust_library(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -52,7 +61,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -70,22 +79,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.8.0",
+    version = "1.9.1",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__hashbrown-0.11.2//:hashbrown",
-            "@crate_index__indexmap-1.8.0//:build_script_build",
+            "@cui__hashbrown-0.12.1//:hashbrown",
+            "@cui__indexmap-1.9.1//:build_script_build",
         ],
     }),
 )
@@ -119,7 +125,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -137,10 +143,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -151,12 +154,12 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.8.0",
+    version = "1.9.1",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__autocfg-1.1.0//:autocfg",
+            "@cui__autocfg-1.1.0//:autocfg",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel b/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel
index 97683a6..361368d 100644
--- a/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.instant-0.1.12.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
+            "@cui__cfg-if-1.0.0//:cfg_if",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.itoa-1.0.2.bazel
similarity index 80%
copy from crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel
copy to crate_universe/3rdparty/crates/BUILD.itoa-1.0.2.bazel
index 69bfcf9..db7dfe1 100644
--- a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.itoa-1.0.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,17 +74,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.1",
+    version = "1.0.2",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.24.bazel b/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.24.bazel
index 6e08f26..7944dc3 100644
--- a/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.24.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.jobserver-0.1.24.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,9 +88,11 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -99,7 +107,7 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
index aabde66..1be9144 100644
--- a/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.libc-0.2.119.bazel b/crate_universe/3rdparty/crates/BUILD.libc-0.2.126.bazel
similarity index 88%
rename from crate_universe/3rdparty/crates/BUILD.libc-0.2.119.bazel
rename to crate_universe/3rdparty/crates/BUILD.libc-0.2.126.bazel
index 57c96d1..22b2593 100644
--- a/crate_universe/3rdparty/crates/BUILD.libc-0.2.119.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.libc-0.2.126.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,21 +80,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.119",
+    version = "0.2.126",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__libc-0.2.119//:build_script_build",
+            "@cui__libc-0.2.126//:build_script_build",
         ],
     }),
 )
@@ -138,10 +144,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -152,7 +155,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.2.119",
+    version = "0.2.126",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.1+1.4.2.bazel b/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
similarity index 75%
rename from crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.1+1.4.2.bazel
rename to crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
index 1f86220..0d3e505 100644
--- a/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.1+1.4.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -20,7 +21,7 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # MIT/Apache-2.0
+#     "TODO",  # MIT OR Apache-2.0
 # ])
 
 rust_library(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,23 +74,20 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.13.1+1.4.2",
+    version = "0.13.4+1.4.2",
     deps = [
         "@libgit2",
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__libc-0.2.119//:libc",
-            "@crate_index__libz-sys-1.1.3//:libz_sys",
+            "@cui__libc-0.2.126//:libc",
+            "@cui__libz-sys-1.1.8//:libz_sys",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
similarity index 78%
rename from crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.3.bazel
rename to crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
index 725a428..57e84a7 100644
--- a/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -48,7 +57,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2015",
+    edition = "2018",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -66,22 +75,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.3",
+    version = "1.1.8",
     deps = [
         "@zlib",
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.log-0.4.14.bazel b/crate_universe/3rdparty/crates/BUILD.log-0.4.17.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.log-0.4.14.bazel
rename to crate_universe/3rdparty/crates/BUILD.log-0.4.17.bazel
index 6471f8d..94321d8 100644
--- a/crate_universe/3rdparty/crates/BUILD.log-0.4.14.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.log-0.4.17.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,22 +78,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.4.14",
+    version = "0.4.17",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__log-0.4.14//:build_script_build",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__log-0.4.17//:build_script_build",
         ],
     }),
 )
@@ -135,10 +141,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -149,7 +152,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.4.14",
+    version = "0.4.17",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel b/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
index c7e2e04..7ec2d3b 100644
--- a/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.maplit-1.0.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.matches-0.1.9.bazel b/crate_universe/3rdparty/crates/BUILD.matches-0.1.9.bazel
index b2ec92b..eb0371f 100644
--- a/crate_universe/3rdparty/crates/BUILD.matches-0.1.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.matches-0.1.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.memchr-2.4.1.bazel b/crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel
similarity index 88%
rename from crate_universe/3rdparty/crates/BUILD.memchr-2.4.1.bazel
rename to crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel
index ae3c518..1c9eed3 100644
--- a/crate_universe/3rdparty/crates/BUILD.memchr-2.4.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.memchr-2.5.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,21 +80,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "2.4.1",
+    version = "2.5.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__memchr-2.4.1//:build_script_build",
+            "@cui__memchr-2.5.0//:build_script_build",
         ],
     }),
 )
@@ -138,10 +144,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -152,7 +155,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "2.4.1",
+    version = "2.5.0",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.normpath-0.3.2.bazel
similarity index 71%
copy from crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel
copy to crate_universe/3rdparty/crates/BUILD.normpath-0.3.2.bazel
index c9f420c..475620f 100644
--- a/crate_universe/3rdparty/crates/BUILD.cpufeatures-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.normpath-0.3.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "cpufeatures",
+    name = "normpath",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,34 +74,23 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.1",
+    version = "0.3.2",
     deps = [
     ] + select_with_or({
-        # aarch64-apple-darwin
+        # cfg(windows)
         (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
-
-            # Common Deps
-        ],
-        # cfg(all(target_arch = "aarch64", target_os = "linux"))
-        (
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel b/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
index e64c7e9..e020ca2 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-0.1.42.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -73,10 +82,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,12 +93,12 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-bigint-0.1.44//:num_bigint",
-            "@crate_index__num-complex-0.1.43//:num_complex",
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-iter-0.1.42//:num_iter",
-            "@crate_index__num-rational-0.1.42//:num_rational",
-            "@crate_index__num-traits-0.2.14//:num_traits",
+            "@cui__num-bigint-0.1.44//:num_bigint",
+            "@cui__num-complex-0.1.43//:num_complex",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-iter-0.1.43//:num_iter",
+            "@cui__num-rational-0.1.42//:num_rational",
+            "@cui__num-traits-0.2.15//:num_traits",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel b/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
index 861ff69..9223b17 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-bigint-0.1.44.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,10 +77,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,10 +88,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-traits-0.2.14//:num_traits",
-            "@crate_index__rand-0.4.6//:rand",
-            "@crate_index__rustc-serialize-0.3.24//:rustc_serialize",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-traits-0.2.15//:num_traits",
+            "@cui__rand-0.4.6//:rand",
+            "@cui__rustc-serialize-0.3.24//:rustc_serialize",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel b/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
index 07ee208..b72b2c8 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-complex-0.1.43.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -81,8 +87,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-traits-0.2.14//:num_traits",
-            "@crate_index__rustc-serialize-0.3.24//:rustc_serialize",
+            "@cui__num-traits-0.2.15//:num_traits",
+            "@cui__rustc-serialize-0.3.24//:rustc_serialize",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.44.bazel b/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
similarity index 86%
rename from crate_universe/3rdparty/crates/BUILD.num-integer-0.1.44.bazel
rename to crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
index b8e125d..e53fb5c 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.44.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,22 +80,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.44",
+    version = "0.1.45",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-integer-0.1.44//:build_script_build",
-            "@crate_index__num-traits-0.2.14//:num_traits",
+            "@cui__num-integer-0.1.45//:build_script_build",
+            "@cui__num-traits-0.2.15//:num_traits",
         ],
     }),
 )
@@ -139,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,12 +156,12 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.1.44",
+    version = "0.1.45",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__autocfg-1.1.0//:autocfg",
+            "@cui__autocfg-1.1.0//:autocfg",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.42.bazel b/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
similarity index 85%
rename from crate_universe/3rdparty/crates/BUILD.num-iter-0.1.42.bazel
rename to crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
index 926481a..df4d761 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.42.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-iter-0.1.43.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,23 +80,20 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.42",
+    version = "0.1.43",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-iter-0.1.42//:build_script_build",
-            "@crate_index__num-traits-0.2.14//:num_traits",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-iter-0.1.43//:build_script_build",
+            "@cui__num-traits-0.2.15//:num_traits",
         ],
     }),
 )
@@ -140,10 +146,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -154,12 +157,12 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.1.42",
+    version = "0.1.43",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__autocfg-1.1.0//:autocfg",
+            "@cui__autocfg-1.1.0//:autocfg",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel b/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
index 1b3ca21..bec1a87 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-rational-0.1.42.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,10 +89,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-bigint-0.1.44//:num_bigint",
-            "@crate_index__num-integer-0.1.44//:num_integer",
-            "@crate_index__num-traits-0.2.14//:num_traits",
-            "@crate_index__rustc-serialize-0.3.24//:rustc_serialize",
+            "@cui__num-bigint-0.1.44//:num_bigint",
+            "@cui__num-integer-0.1.45//:num_integer",
+            "@cui__num-traits-0.2.15//:num_traits",
+            "@cui__rustc-serialize-0.3.24//:rustc_serialize",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.14.bazel b/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.num-traits-0.2.14.bazel
rename to crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
index 0b5ebe1..f961129 100644
--- a/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.14.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,21 +80,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.14",
+    version = "0.2.15",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-traits-0.2.14//:build_script_build",
+            "@cui__num-traits-0.2.15//:build_script_build",
         ],
     }),
 )
@@ -138,10 +144,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -152,12 +155,12 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.2.14",
+    version = "0.2.15",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__autocfg-1.1.0//:autocfg",
+            "@cui__autocfg-1.1.0//:autocfg",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel b/crate_universe/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
index 9cb3763..973e09d 100644
--- a/crate_universe/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,15 +93,18 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
             "@rules_rust//rust/platform:i686-unknown-freebsd",
             "@rules_rust//rust/platform:i686-unknown-linux-gnu",
             "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
             "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
             "@rules_rust//rust/platform:wasm32-unknown-unknown",
             "@rules_rust//rust/platform:wasm32-wasi",
@@ -106,7 +115,7 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.once_cell-1.13.0.bazel
similarity index 81%
rename from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
rename to crate_universe/3rdparty/crates/BUILD.once_cell-1.13.0.bazel
index f2a936a..ba25fcb 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.once_cell-1.13.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,17 +78,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "1.13.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.opaque-debug-0.2.3.bazel b/crate_universe/3rdparty/crates/BUILD.opaque-debug-0.2.3.bazel
index f327831..28f1882 100644
--- a/crate_universe/3rdparty/crates/BUILD.opaque-debug-0.2.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.opaque-debug-0.2.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.1.0.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.0.0.bazel
rename to crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.1.0.bazel
index 10bd190..30c2480 100644
--- a/crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.0.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.os_str_bytes-6.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,13 +37,19 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "default",
-        "memchr",
         "raw_os_str",
     ],
     crate_root = "src/lib.rs",
@@ -68,21 +75,17 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "6.0.0",
+    version = "6.1.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__memchr-2.4.1//:memchr",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel b/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
index f825ee1..28d1a6d 100644
--- a/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.parse-zoneinfo-0.3.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__regex-1.5.4//:regex",
+            "@cui__regex-1.6.0//:regex",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
index 4aade08..ea733a7 100644
--- a/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pathdiff-0.2.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
index 1ad467a..cf94bab 100644
--- a/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.pest-2.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.pest-2.1.3.bazel
index 47afac4..e1e7bec 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest-2.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest-2.1.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__ucd-trie-0.1.3//:ucd_trie",
+            "@cui__ucd-trie-0.1.4//:ucd_trie",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_derive-2.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.pest_derive-2.1.0.bazel
index 53c8c15..f74764b 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_derive-2.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_derive-2.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,8 +85,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__pest-2.1.3//:pest",
-            "@crate_index__pest_generator-2.1.3//:pest_generator",
+            "@cui__pest-2.1.3//:pest",
+            "@cui__pest_generator-2.1.3//:pest_generator",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_generator-2.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.pest_generator-2.1.3.bazel
index 1370e95..cb11080 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_generator-2.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_generator-2.1.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,11 +85,11 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__pest-2.1.3//:pest",
-            "@crate_index__pest_meta-2.1.3//:pest_meta",
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
-            "@crate_index__syn-1.0.86//:syn",
+            "@cui__pest-2.1.3//:pest",
+            "@cui__pest_meta-2.1.3//:pest_meta",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
+            "@cui__syn-1.0.98//:syn",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pest_meta-2.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.pest_meta-2.1.3.bazel
index 81b94ca..7a901d5 100644
--- a/crate_universe/3rdparty/crates/BUILD.pest_meta-2.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pest_meta-2.1.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,8 +85,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__maplit-1.0.2//:maplit",
-            "@crate_index__pest-2.1.3//:pest",
+            "@cui__maplit-1.0.2//:maplit",
+            "@cui__pest-2.1.3//:pest",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel b/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel
index 567ec45..0f14e41 100644
--- a/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.phf-0.10.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,7 +86,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__phf_shared-0.10.0//:phf_shared",
+            "@cui__phf_shared-0.10.0//:phf_shared",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel
index 7d8a09f..e4136a6 100644
--- a/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.phf_codegen-0.10.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,8 +85,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__phf_generator-0.10.0//:phf_generator",
-            "@crate_index__phf_shared-0.10.0//:phf_shared",
+            "@cui__phf_generator-0.10.0//:phf_generator",
+            "@cui__phf_shared-0.10.0//:phf_shared",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel
index 2399789..67a8069 100644
--- a/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.phf_generator-0.10.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -37,7 +38,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,8 +86,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__phf_shared-0.10.0//:phf_shared",
-            "@crate_index__rand-0.8.5//:rand",
+            "@cui__phf_shared-0.10.0//:phf_shared",
+            "@cui__rand-0.8.5//:rand",
         ],
     }),
 )
@@ -99,7 +105,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -128,10 +142,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -143,8 +154,8 @@
         ":phf_generator",
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__phf_shared-0.10.0//:phf_shared",
-            "@crate_index__rand-0.8.5//:rand",
+            "@cui__phf_shared-0.10.0//:phf_shared",
+            "@cui__rand-0.8.5//:rand",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel
index ff6ae0c..f96e406 100644
--- a/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.phf_shared-0.10.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,10 +77,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,8 +88,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__siphasher-0.3.9//:siphasher",
-            "@crate_index__uncased-0.9.6//:uncased",
+            "@cui__siphasher-0.3.10//:siphasher",
+            "@cui__uncased-0.9.7//:uncased",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.24.bazel b/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.24.bazel
deleted file mode 100644
index d0f2e51..0000000
--- a/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.24.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "pkg_config",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.24",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-xid-0.2.2.bazel b/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
similarity index 79%
rename from crate_universe/3rdparty/crates/BUILD.unicode-xid-0.2.2.bazel
rename to crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
index 30562c1..9c9a457 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-xid-0.2.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "unicode_xid",
+    name = "pkg_config",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,12 +37,19 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "default",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -66,17 +74,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.2",
+    version = "0.3.25",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel b/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel
index f93bf68..45e384d 100644
--- a/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.proc-macro-error-1.0.4.bazel b/crate_universe/3rdparty/crates/BUILD.proc-macro-error-1.0.4.bazel
index 234edf1..fe71aad 100644
--- a/crate_universe/3rdparty/crates/BUILD.proc-macro-error-1.0.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.proc-macro-error-1.0.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -58,7 +67,7 @@
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro-error-attr-1.0.4//:proc_macro_error_attr",
+            "@cui__proc-macro-error-attr-1.0.4//:proc_macro_error_attr",
         ],
     }),
     rustc_env = {
@@ -73,10 +82,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,10 +93,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro-error-1.0.4//:build_script_build",
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
-            "@crate_index__syn-1.0.86//:syn",
+            "@cui__proc-macro-error-1.0.4//:build_script_build",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
+            "@cui__syn-1.0.98//:syn",
         ],
     }),
 )
@@ -144,10 +150,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -163,7 +166,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__version_check-0.9.4//:version_check",
+            "@cui__version_check-0.9.4//:version_check",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.proc-macro-error-attr-1.0.4.bazel b/crate_universe/3rdparty/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
index 5753e76..8b140f9 100644
--- a/crate_universe/3rdparty/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,9 +89,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro-error-attr-1.0.4//:build_script_build",
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
+            "@cui__proc-macro-error-attr-1.0.4//:build_script_build",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
         ],
     }),
 )
@@ -136,10 +142,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -155,7 +158,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__version_check-0.9.4//:version_check",
+            "@cui__version_check-0.9.4//:version_check",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel b/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel
rename to crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel
index 7b9e4c2..8e580b9 100644
--- a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,22 +80,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.36",
+    version = "1.0.40",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro2-1.0.36//:build_script_build",
-            "@crate_index__unicode-xid-0.2.2//:unicode_xid",
+            "@cui__proc-macro2-1.0.40//:build_script_build",
+            "@cui__unicode-ident-1.0.1//:unicode_ident",
         ],
     }),
 )
@@ -139,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,7 +156,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.36",
+    version = "1.0.40",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.quote-1.0.15.bazel b/crate_universe/3rdparty/crates/BUILD.quote-1.0.15.bazel
deleted file mode 100644
index da83b59..0000000
--- a/crate_universe/3rdparty/crates/BUILD.quote-1.0.15.bazel
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.15",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel b/crate_universe/3rdparty/crates/BUILD.quote-1.0.20.bazel
similarity index 85%
copy from crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel
copy to crate_universe/3rdparty/crates/BUILD.quote-1.0.20.bazel
index 7b9e4c2..4321de1 100644
--- a/crate_universe/3rdparty/crates/BUILD.proc-macro2-1.0.36.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.quote-1.0.20.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -28,7 +29,7 @@
 # ])
 
 rust_library(
-    name = "proc_macro2",
+    name = "quote",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -71,29 +80,26 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.36",
+    version = "1.0.20",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro2-1.0.36//:build_script_build",
-            "@crate_index__unicode-xid-0.2.2//:unicode_xid",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:build_script_build",
         ],
     }),
 )
 
 cargo_build_script(
     # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
+    name = "quote_build_script",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -139,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,7 +156,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.36",
+    version = "1.0.20",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
@@ -169,7 +172,7 @@
     # of `build_script_build` without losing out on having certain Cargo
     # environment variables set.
     name = "build_script_build",
-    actual = "proc-macro2_build_script",
+    actual = "quote_build_script",
     tags = [
         "manual",
     ],
diff --git a/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel b/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
index fd20593..3e26c81 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand-0.4.6.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,10 +77,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -95,9 +101,11 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -112,7 +120,7 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
         ],
@@ -122,7 +130,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel b/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
index 33dfcf8..025a95e 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand-0.8.5.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -73,10 +82,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -90,9 +96,11 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -107,15 +115,15 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
-            "@crate_index__rand_chacha-0.3.1//:rand_chacha",
-            "@crate_index__rand_core-0.6.3//:rand_core",
+            "@cui__rand_chacha-0.3.1//:rand_chacha",
+            "@cui__rand_core-0.6.3//:rand_core",
         ],
         "//conditions:default": [
-            "@crate_index__rand_chacha-0.3.1//:rand_chacha",
-            "@crate_index__rand_core-0.6.3//:rand_core",
+            "@cui__rand_chacha-0.3.1//:rand_chacha",
+            "@cui__rand_core-0.6.3//:rand_core",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
index b6eab72..a20eb88 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -80,8 +86,8 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__ppv-lite86-0.2.16//:ppv_lite86",
-            "@crate_index__rand_core-0.6.3//:rand_core",
+            "@cui__ppv-lite86-0.2.16//:ppv_lite86",
+            "@cui__rand_core-0.6.3//:rand_core",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
index 3be752f..106d275 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.3.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__rand_core-0.4.2//:rand_core",
+            "@cui__rand_core-0.4.2//:rand_core",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
index d835c72..c36b208 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.4.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.3.bazel b/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
index ac7f43b..57e370a 100644
--- a/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,10 +77,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,7 +88,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__getrandom-0.2.5//:getrandom",
+            "@cui__getrandom-0.2.7//:getrandom",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
index 16c3ff5..d0d89b6 100644
--- a/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rdrand-0.4.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -81,7 +87,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__rand_core-0.3.1//:rand_core",
+            "@cui__rand_core-0.3.1//:rand_core",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.11.bazel b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel
similarity index 78%
rename from crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.11.bazel
rename to crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel
index d06e9f0..72b1491 100644
--- a/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.11.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,21 +74,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.11",
+    version = "0.2.13",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__bitflags-1.3.2//:bitflags",
+            "@cui__bitflags-1.3.2//:bitflags",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-1.5.4.bazel b/crate_universe/3rdparty/crates/BUILD.regex-1.6.0.bazel
similarity index 78%
rename from crate_universe/3rdparty/crates/BUILD.regex-1.5.4.bazel
rename to crate_universe/3rdparty/crates/BUILD.regex-1.6.0.bazel
index da772c0..2a9f27b 100644
--- a/crate_universe/3rdparty/crates/BUILD.regex-1.5.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.regex-1.6.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -82,23 +91,20 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.5.4",
+    version = "1.6.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__aho-corasick-0.7.18//:aho_corasick",
-            "@crate_index__memchr-2.4.1//:memchr",
-            "@crate_index__regex-syntax-0.6.25//:regex_syntax",
+            "@cui__aho-corasick-0.7.18//:aho_corasick",
+            "@cui__memchr-2.5.0//:memchr",
+            "@cui__regex-syntax-0.6.27//:regex_syntax",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.25.bazel b/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.25.bazel
rename to crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
index 8cd2b0b..782b500 100644
--- a/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.25.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -20,7 +21,7 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # MIT/Apache-2.0
+#     "TODO",  # MIT OR Apache-2.0
 # ])
 
 rust_library(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -74,17 +83,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.6.25",
+    version = "0.6.27",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel b/crate_universe/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel
index 11007c8..b796c3a 100644
--- a/crate_universe/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
index def8f77..f62c6e7 100644
--- a/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rustc-hash-1.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel b/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel
index 1f90255..69f9e71 100644
--- a/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.rustc-serialize-0.3.24.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.ryu-1.0.9.bazel b/crate_universe/3rdparty/crates/BUILD.ryu-1.0.10.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.ryu-1.0.9.bazel
rename to crate_universe/3rdparty/crates/BUILD.ryu-1.0.10.bazel
index c2a9c81..36553ca 100644
--- a/crate_universe/3rdparty/crates/BUILD.ryu-1.0.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ryu-1.0.10.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,17 +74,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.9",
+    version = "1.0.10",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel b/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
index 0b5a6fd..8fb94e6 100644
--- a/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.same-file-1.0.6.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-util-0.1.5//:winapi_util",
+            "@cui__winapi-util-0.1.5//:winapi_util",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel b/crate_universe/3rdparty/crates/BUILD.semver-1.0.12.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel
rename to crate_universe/3rdparty/crates/BUILD.semver-1.0.12.bazel
index eb424d7..b2af89b 100644
--- a/crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.semver-1.0.12.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -72,22 +81,19 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.6",
+    version = "1.0.12",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__semver-1.0.6//:build_script_build",
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__semver-1.0.12//:build_script_build",
+            "@cui__serde-1.0.138//:serde",
         ],
     }),
 )
@@ -141,10 +147,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -155,7 +158,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.6",
+    version = "1.0.12",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.serde-1.0.136.bazel b/crate_universe/3rdparty/crates/BUILD.serde-1.0.138.bazel
similarity index 87%
rename from crate_universe/3rdparty/crates/BUILD.serde-1.0.136.bazel
rename to crate_universe/3rdparty/crates/BUILD.serde-1.0.138.bazel
index 9000cb6..c159d84 100644
--- a/crate_universe/3rdparty/crates/BUILD.serde-1.0.136.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.serde-1.0.138.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -60,7 +69,7 @@
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde_derive-1.0.136//:serde_derive",
+            "@cui__serde_derive-1.0.138//:serde_derive",
         ],
     }),
     rustc_env = {
@@ -75,21 +84,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.136",
+    version = "1.0.138",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde-1.0.136//:build_script_build",
+            "@cui__serde-1.0.138//:build_script_build",
         ],
     }),
 )
@@ -145,10 +151,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -159,7 +162,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.136",
+    version = "1.0.138",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.136.bazel b/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.138.bazel
similarity index 85%
rename from crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.136.bazel
rename to crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.138.bazel
index 86a3203..7a3cd83 100644
--- a/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.136.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.serde_derive-1.0.138.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -70,24 +79,21 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.136",
+    version = "1.0.138",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
-            "@crate_index__serde_derive-1.0.136//:build_script_build",
-            "@crate_index__syn-1.0.86//:syn",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
+            "@cui__serde_derive-1.0.138//:build_script_build",
+            "@cui__syn-1.0.98//:syn",
         ],
     }),
 )
@@ -139,10 +145,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,7 +156,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.136",
+    version = "1.0.138",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.79.bazel b/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.82.bazel
similarity index 85%
rename from crate_universe/3rdparty/crates/BUILD.serde_json-1.0.79.bazel
rename to crate_universe/3rdparty/crates/BUILD.serde_json-1.0.82.bazel
index 28b6043..9c6f88c 100644
--- a/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.79.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.serde_json-1.0.82.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -72,24 +81,21 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.79",
+    version = "1.0.82",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__itoa-1.0.1//:itoa",
-            "@crate_index__ryu-1.0.9//:ryu",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__serde_json-1.0.79//:build_script_build",
+            "@cui__itoa-1.0.2//:itoa",
+            "@cui__ryu-1.0.10//:ryu",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__serde_json-1.0.82//:build_script_build",
         ],
     }),
 )
@@ -143,10 +149,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -157,7 +160,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.79",
+    version = "1.0.82",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.sha-1-0.8.2.bazel b/crate_universe/3rdparty/crates/BUILD.sha-1-0.8.2.bazel
index 788e2f3..50293fa 100644
--- a/crate_universe/3rdparty/crates/BUILD.sha-1-0.8.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.sha-1-0.8.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,10 +85,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__block-buffer-0.7.3//:block_buffer",
-            "@crate_index__digest-0.8.1//:digest",
-            "@crate_index__fake-simd-0.1.2//:fake_simd",
-            "@crate_index__opaque-debug-0.2.3//:opaque_debug",
+            "@cui__block-buffer-0.7.3//:block_buffer",
+            "@cui__digest-0.8.1//:digest",
+            "@cui__fake-simd-0.1.2//:fake_simd",
+            "@cui__opaque-debug-0.2.3//:opaque_debug",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.sha2-0.10.2.bazel b/crate_universe/3rdparty/crates/BUILD.sha2-0.10.2.bazel
index 3d9fec2..9a2c054 100644
--- a/crate_universe/3rdparty/crates/BUILD.sha2-0.10.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.sha2-0.10.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,6 +90,7 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:i686-apple-darwin",
@@ -99,15 +106,15 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__cpufeatures-0.2.1//:cpufeatures",
+            "@cui__cpufeatures-0.2.2//:cpufeatures",
 
             # Common Deps
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__digest-0.10.3//:digest",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__digest-0.10.3//:digest",
         ],
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__digest-0.10.3//:digest",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__digest-0.10.3//:digest",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.9.bazel b/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.siphasher-0.3.9.bazel
rename to crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
index 01801aa..a691647 100644
--- a/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.siphasher-0.3.10.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,17 +76,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.3.9",
+    version = "0.3.10",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
index 0348887..7f0a884 100644
--- a/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.slug-0.1.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__deunicode-0.4.3//:deunicode",
+            "@cui__deunicode-0.4.3//:deunicode",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.smallvec-1.8.0.bazel b/crate_universe/3rdparty/crates/BUILD.smallvec-1.8.0.bazel
deleted file mode 100644
index a9ae389..0000000
--- a/crate_universe/3rdparty/crates/BUILD.smallvec-1.8.0.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.8.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.smallvec-1.9.0.bazel
similarity index 80%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.smallvec-1.9.0.bazel
index f2a936a..3c1226e 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smallvec-1.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "smallvec",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,15 +37,19 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -69,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.smartstring-1.0.0.bazel b/crate_universe/3rdparty/crates/BUILD.smartstring-1.0.0.bazel
deleted file mode 100644
index 4331be2..0000000
--- a/crate_universe/3rdparty/crates/BUILD.smartstring-1.0.0.bazel
+++ /dev/null
@@ -1,89 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MPL-2.0+
-# ])
-
-rust_library(
-    name = "smartstring",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "serde",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__static_assertions-1.1.0//:static_assertions",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel b/crate_universe/3rdparty/crates/BUILD.smartstring-1.0.1.bazel
similarity index 80%
copy from crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel
copy to crate_universe/3rdparty/crates/BUILD.smartstring-1.0.1.bazel
index eb424d7..16ee3a4 100644
--- a/crate_universe/3rdparty/crates/BUILD.semver-1.0.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smartstring-1.0.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,11 +25,11 @@
 package(default_visibility = ["//visibility:public"])
 
 # licenses([
-#     "TODO",  # MIT OR Apache-2.0
+#     "TODO",  # MPL-2.0+
 # ])
 
 rust_library(
-    name = "semver",
+    name = "smartstring",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -54,7 +63,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -72,29 +81,27 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.6",
+    version = "1.0.1",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__semver-1.0.6//:build_script_build",
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__smartstring-1.0.1//:build_script_build",
+            "@cui__static_assertions-1.1.0//:static_assertions",
         ],
     }),
 )
 
 cargo_build_script(
     # See comment associated with alias. Do not change this name
-    name = "semver_build_script",
+    name = "smartstring_build_script",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -123,7 +130,7 @@
         "//conditions:default": [
         ],
     }),
-    edition = "2018",
+    edition = "2021",
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
@@ -141,10 +148,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -155,11 +159,13 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.6",
+    version = "1.0.1",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
+            "@cui__autocfg-1.1.0//:autocfg",
+            "@cui__version_check-0.9.4//:version_check",
         ],
     }),
 )
@@ -171,7 +177,7 @@
     # of `build_script_build` without losing out on having certain Cargo
     # environment variables set.
     name = "build_script_build",
-    actual = "semver_build_script",
+    actual = "smartstring_build_script",
     tags = [
         "manual",
     ],
diff --git a/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel b/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
index ba4de44..63266d5 100644
--- a/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.smawk-0.3.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel b/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
index 61ad65b..2757f65 100644
--- a/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.spectral-0.6.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,10 +76,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -81,7 +87,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__num-0.1.42//:num",
+            "@cui__num-0.1.42//:num",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.static_assertions-1.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.static_assertions-1.1.0.bazel
index 4e9f035..1eb631b 100644
--- a/crate_universe/3rdparty/crates/BUILD.static_assertions-1.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.static_assertions-1.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel b/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
index d44fe18..7220e6e 100644
--- a/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.strsim-0.10.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.syn-1.0.86.bazel b/crate_universe/3rdparty/crates/BUILD.syn-1.0.98.bazel
similarity index 85%
rename from crate_universe/3rdparty/crates/BUILD.syn-1.0.86.bazel
rename to crate_universe/3rdparty/crates/BUILD.syn-1.0.98.bazel
index fba5009..d25adc2 100644
--- a/crate_universe/3rdparty/crates/BUILD.syn-1.0.86.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.syn-1.0.98.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -77,24 +86,21 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.86",
+    version = "1.0.98",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__proc-macro2-1.0.36//:proc_macro2",
-            "@crate_index__quote-1.0.15//:quote",
-            "@crate_index__syn-1.0.86//:build_script_build",
-            "@crate_index__unicode-xid-0.2.2//:unicode_xid",
+            "@cui__proc-macro2-1.0.40//:proc_macro2",
+            "@cui__quote-1.0.20//:quote",
+            "@cui__syn-1.0.98//:build_script_build",
+            "@cui__unicode-ident-1.0.1//:unicode_ident",
         ],
     }),
 )
@@ -153,10 +159,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -167,7 +170,7 @@
         "//conditions:default": [
         ],
     }),
-    version = "1.0.86",
+    version = "1.0.98",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
diff --git a/crate_universe/3rdparty/crates/BUILD.tempfile-3.3.0.bazel b/crate_universe/3rdparty/crates/BUILD.tempfile-3.3.0.bazel
index 67ea9ad..14b30c2 100644
--- a/crate_universe/3rdparty/crates/BUILD.tempfile-3.3.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tempfile-3.3.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,9 +88,11 @@
         (
             "@rules_rust//rust/platform:aarch64-apple-darwin",
             "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
             "@rules_rust//rust/platform:aarch64-linux-android",
             "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
             "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
             "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
             "@rules_rust//rust/platform:i686-apple-darwin",
             "@rules_rust//rust/platform:i686-linux-android",
@@ -100,17 +108,17 @@
             "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
         ): [
             # Target Deps
-            "@crate_index__libc-0.2.119//:libc",
+            "@cui__libc-0.2.126//:libc",
 
             # Common Deps
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__fastrand-1.7.0//:fastrand",
-            "@crate_index__remove_dir_all-0.5.3//:remove_dir_all",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__fastrand-1.7.0//:fastrand",
+            "@cui__remove_dir_all-0.5.3//:remove_dir_all",
         ],
         # cfg(target_os = "redox")
         #
         # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.11","target":"syscall"}]
+        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
         #
         # cfg(windows)
         (
@@ -118,17 +126,17 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__fastrand-1.7.0//:fastrand",
-            "@crate_index__remove_dir_all-0.5.3//:remove_dir_all",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__fastrand-1.7.0//:fastrand",
+            "@cui__remove_dir_all-0.5.3//:remove_dir_all",
         ],
         "//conditions:default": [
-            "@crate_index__cfg-if-1.0.0//:cfg_if",
-            "@crate_index__fastrand-1.7.0//:fastrand",
-            "@crate_index__remove_dir_all-0.5.3//:remove_dir_all",
+            "@cui__cfg-if-1.0.0//:cfg_if",
+            "@cui__fastrand-1.7.0//:fastrand",
+            "@cui__remove_dir_all-0.5.3//:remove_dir_all",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.tera-1.15.0.bazel b/crate_universe/3rdparty/crates/BUILD.tera-1.16.0.bazel
similarity index 62%
rename from crate_universe/3rdparty/crates/BUILD.tera-1.15.0.bazel
rename to crate_universe/3rdparty/crates/BUILD.tera-1.16.0.bazel
index 644e4bd..0e70ef1 100644
--- a/crate_universe/3rdparty/crates/BUILD.tera-1.15.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tera-1.16.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -49,6 +58,7 @@
         "percent-encoding",
         "rand",
         "slug",
+        "urlencode",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -59,7 +69,7 @@
     proc_macro_deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__pest_derive-2.1.0//:pest_derive",
+            "@cui__pest_derive-2.1.0//:pest_derive",
         ],
     }),
     rustc_env = {
@@ -74,33 +84,30 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.15.0",
+    version = "1.16.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__chrono-0.4.19//:chrono",
-            "@crate_index__chrono-tz-0.6.1//:chrono_tz",
-            "@crate_index__globwalk-0.8.1//:globwalk",
-            "@crate_index__humansize-1.1.1//:humansize",
-            "@crate_index__lazy_static-1.4.0//:lazy_static",
-            "@crate_index__percent-encoding-2.1.0//:percent_encoding",
-            "@crate_index__pest-2.1.3//:pest",
-            "@crate_index__rand-0.8.5//:rand",
-            "@crate_index__regex-1.5.4//:regex",
-            "@crate_index__serde-1.0.136//:serde",
-            "@crate_index__serde_json-1.0.79//:serde_json",
-            "@crate_index__slug-0.1.4//:slug",
-            "@crate_index__unic-segment-0.9.0//:unic_segment",
+            "@cui__chrono-0.4.19//:chrono",
+            "@cui__chrono-tz-0.6.1//:chrono_tz",
+            "@cui__globwalk-0.8.1//:globwalk",
+            "@cui__humansize-1.1.1//:humansize",
+            "@cui__lazy_static-1.4.0//:lazy_static",
+            "@cui__percent-encoding-2.1.0//:percent_encoding",
+            "@cui__pest-2.1.3//:pest",
+            "@cui__rand-0.8.5//:rand",
+            "@cui__regex-1.6.0//:regex",
+            "@cui__serde-1.0.138//:serde",
+            "@cui__serde_json-1.0.82//:serde_json",
+            "@cui__slug-0.1.4//:slug",
+            "@cui__unic-segment-0.9.0//:unic_segment",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.termcolor-1.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.termcolor-1.1.3.bazel
index 49d7bb0..a29482d 100644
--- a/crate_universe/3rdparty/crates/BUILD.termcolor-1.1.3.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.termcolor-1.1.3.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-util-0.1.5//:winapi_util",
+            "@cui__winapi-util-0.1.5//:winapi_util",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.textwrap-0.14.2.bazel b/crate_universe/3rdparty/crates/BUILD.textwrap-0.14.2.bazel
deleted file mode 100644
index ec7ccef..0000000
--- a/crate_universe/3rdparty/crates/BUILD.textwrap-0.14.2.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "textwrap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "smawk",
-        "unicode-linebreak",
-        "unicode-width",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.14.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crate_index__smawk-0.3.1//:smawk",
-            "@crate_index__unicode-linebreak-0.1.2//:unicode_linebreak",
-            "@crate_index__unicode-width-0.1.9//:unicode_width",
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.textwrap-0.15.0.bazel b/crate_universe/3rdparty/crates/BUILD.textwrap-0.15.0.bazel
index 6636e2c..f42ad6c 100644
--- a/crate_universe/3rdparty/crates/BUILD.textwrap-0.15.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.textwrap-0.15.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,11 +37,23 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
+        "default",
+        "smawk",
+        "unicode-linebreak",
+        "unicode-width",
     ],
     crate_root = "src/lib.rs",
     data = select_with_or({
@@ -65,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,6 +89,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
+            "@cui__smawk-0.3.1//:smawk",
+            "@cui__unicode-linebreak-0.1.2//:unicode_linebreak",
+            "@cui__unicode-width-0.1.9//:unicode_width",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel b/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
index ead5237..8204cff 100644
--- a/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.thread_local-1.1.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__once_cell-1.9.0//:once_cell",
+            "@cui__once_cell-1.13.0//:once_cell",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.tinyvec-1.5.1.bazel b/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
similarity index 79%
rename from crate_universe/3rdparty/crates/BUILD.tinyvec-1.5.1.bazel
rename to crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
index b366234..4d1d8f7 100644
--- a/crate_universe/3rdparty/crates/BUILD.tinyvec-1.5.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -68,21 +77,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.5.1",
+    version = "1.6.0",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__tinyvec_macros-0.1.0//:tinyvec_macros",
+            "@cui__tinyvec_macros-0.1.0//:tinyvec_macros",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel b/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
index f29536b..f6c9ba5 100644
--- a/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.toml-0.5.8.bazel b/crate_universe/3rdparty/crates/BUILD.toml-0.5.9.bazel
similarity index 79%
rename from crate_universe/3rdparty/crates/BUILD.toml-0.5.8.bazel
rename to crate_universe/3rdparty/crates/BUILD.toml-0.5.9.bazel
index 3aeedb8..daa8ed0 100644
--- a/crate_universe/3rdparty/crates/BUILD.toml-0.5.8.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.toml-0.5.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,21 +75,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.5.8",
+    version = "0.5.9",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__serde-1.0.136//:serde",
+            "@cui__serde-1.0.138//:serde",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.typenum-1.15.0.bazel b/crate_universe/3rdparty/crates/BUILD.typenum-1.15.0.bazel
index bc9505b..8a13a13 100644
--- a/crate_universe/3rdparty/crates/BUILD.typenum-1.15.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.typenum-1.15.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,7 +89,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__typenum-1.15.0//:build_script_main",
+            "@cui__typenum-1.15.0//:build_script_main",
         ],
     }),
 )
@@ -134,10 +140,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.3.bazel b/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.3.bazel
deleted file mode 100644
index 1fee76a..0000000
--- a/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.3.bazel
+++ /dev/null
@@ -1,86 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "ucd_trie",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.4.bazel
similarity index 79%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.4.bazel
index f2a936a..4fd64ca 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.ucd-trie-0.1.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "ucd_trie",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,14 +37,20 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
         "default",
-        "race",
         "std",
     ],
     crate_root = "src/lib.rs",
@@ -69,17 +76,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "0.1.4",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.uncased-0.9.6.bazel b/crate_universe/3rdparty/crates/BUILD.uncased-0.9.7.bazel
similarity index 86%
rename from crate_universe/3rdparty/crates/BUILD.uncased-0.9.6.bazel
rename to crate_universe/3rdparty/crates/BUILD.uncased-0.9.7.bazel
index 034645e..9b7d74c 100644
--- a/crate_universe/3rdparty/crates/BUILD.uncased-0.9.6.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.uncased-0.9.7.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,21 +78,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.9.6",
+    version = "0.9.7",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__uncased-0.9.6//:build_script_build",
+            "@cui__uncased-0.9.7//:build_script_build",
         ],
     }),
 )
@@ -134,10 +140,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -148,12 +151,12 @@
         "//conditions:default": [
         ],
     }),
-    version = "0.9.6",
+    version = "0.9.7",
     visibility = ["//visibility:private"],
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__version_check-0.9.4//:version_check",
+            "@cui__version_check-0.9.4//:version_check",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
index 4a1ed99..c48c6ed 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-char-property-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__unic-char-range-0.9.0//:unic_char_range",
+            "@cui__unic-char-range-0.9.0//:unic_char_range",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
index 446a684..d1fb93f 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-char-range-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
index 4827fb0..fa2dcf8 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-common-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
index c57a794..aecb05d 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-segment-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__unic-ucd-segment-0.9.0//:unic_ucd_segment",
+            "@cui__unic-ucd-segment-0.9.0//:unic_ucd_segment",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
index dbd70c5..11f8e84 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-ucd-segment-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,9 +85,9 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__unic-char-property-0.9.0//:unic_char_property",
-            "@crate_index__unic-char-range-0.9.0//:unic_char_range",
-            "@crate_index__unic-ucd-version-0.9.0//:unic_ucd_version",
+            "@cui__unic-char-property-0.9.0//:unic_char_property",
+            "@cui__unic-char-range-0.9.0//:unic_char_range",
+            "@cui__unic-ucd-version-0.9.0//:unic_ucd_version",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
index 12233f8..b091f81 100644
--- a/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unic-ucd-version-0.9.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,7 +85,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__unic-common-0.9.0//:unic_common",
+            "@cui__unic-common-0.9.0//:unic_common",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.7.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.7.bazel
deleted file mode 100644
index b412f9a..0000000
--- a/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.7.bazel
+++ /dev/null
@@ -1,86 +0,0 @@
-###############################################################################
-# @generated
-# This file is auto-generated by the cargo-bazel tool.
-#
-# DO NOT MODIFY: Local changes may be replaced in future executions.
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT / Apache-2.0
-# ])
-
-rust_library(
-    name = "unicode_bidi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
similarity index 78%
copy from crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
copy to crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
index f2a936a..51deaaf 100644
--- a/crate_universe/3rdparty/crates/BUILD.once_cell-1.9.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "once_cell",
+    name = "unicode_bidi",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,14 +37,21 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
     crate_features = [
-        "alloc",
         "default",
-        "race",
+        "hardcoded-data",
         "std",
     ],
     crate_root = "src/lib.rs",
@@ -69,17 +77,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.9.0",
+    version = "0.3.8",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel
rename to crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel
index 69bfcf9..c57d4b6 100644
--- a/crate_universe/3rdparty/crates/BUILD.itoa-1.0.1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -24,7 +25,7 @@
 # ])
 
 rust_library(
-    name = "itoa",
+    name = "unicode_ident",
     srcs = glob(
         include = [
             "**/*.rs",
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.2.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.2.bazel
index fea1adb..1d99c14 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-linebreak-0.1.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,7 +89,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__unicode-linebreak-0.1.2//:build_script_build",
+            "@cui__unicode-linebreak-0.1.2//:build_script_build",
         ],
     }),
 )
@@ -134,10 +140,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -153,7 +156,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__regex-1.5.4//:regex",
+            "@cui__regex-1.6.0//:regex",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.19.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
similarity index 79%
rename from crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.19.bazel
rename to crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
index 805ffa9..edcfbe9 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.19.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,21 +76,18 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.19",
+    version = "0.1.21",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__tinyvec-1.5.1//:tinyvec",
+            "@cui__tinyvec-1.6.0//:tinyvec",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.9.bazel b/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.9.bazel
index 6b610b7..78d38f3 100644
--- a/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.unicode-width-0.1.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -66,10 +75,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.url-2.2.2.bazel b/crate_universe/3rdparty/crates/BUILD.url-2.2.2.bazel
index e2b0903..48dc99e 100644
--- a/crate_universe/3rdparty/crates/BUILD.url-2.2.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.url-2.2.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -79,10 +85,10 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__form_urlencoded-1.0.1//:form_urlencoded",
-            "@crate_index__idna-0.2.3//:idna",
-            "@crate_index__matches-0.1.9//:matches",
-            "@crate_index__percent-encoding-2.1.0//:percent_encoding",
+            "@cui__form_urlencoded-1.0.1//:form_urlencoded",
+            "@cui__idna-0.2.3//:idna",
+            "@cui__matches-0.1.9//:matches",
+            "@cui__percent-encoding-2.1.0//:percent_encoding",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel b/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
index 45dc115..82d489f 100644
--- a/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel b/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
index 2c446b0..da5c3e4 100644
--- a/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.version_check-0.9.4.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.2.bazel b/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.2.bazel
index 323795e..6a7f23f 100644
--- a/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.2.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.walkdir-2.3.2.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,14 +90,14 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
-            "@crate_index__winapi-util-0.1.5//:winapi_util",
+            "@cui__winapi-0.3.9//:winapi",
+            "@cui__winapi-util-0.1.5//:winapi_util",
 
             # Common Deps
-            "@crate_index__same-file-1.0.6//:same_file",
+            "@cui__same-file-1.0.6//:same_file",
         ],
         "//conditions:default": [
-            "@crate_index__same-file-1.0.6//:same_file",
+            "@cui__same-file-1.0.6//:same_file",
         ],
     }),
 )
diff --git a/crate_universe/3rdparty/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel b/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
similarity index 80%
rename from crate_universe/3rdparty/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
rename to crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
index aedee28..4a1360c 100644
--- a/crate_universe/3rdparty/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -67,17 +76,14 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.10.2+wasi-snapshot-preview1",
+    version = "0.11.0+wasi-snapshot-preview1",
     deps = [
     ] + select_with_or({
         "//conditions:default": [
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
index 32b584b..8d88928 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-0.3.9.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -85,10 +94,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -109,7 +115,7 @@
         # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
         #
         "//conditions:default": [
-            "@crate_index__winapi-0.3.9//:build_script_build",
+            "@cui__winapi-0.3.9//:build_script_build",
         ],
     }),
 )
@@ -176,10 +182,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index 0935a2c..4815eb7 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,7 +89,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+            "@cui__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
         ],
     }),
 )
@@ -134,10 +140,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
index 44dd9b5..5da2e4f 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -36,7 +37,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -65,10 +74,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,7 +90,7 @@
             "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
         ): [
             # Target Deps
-            "@crate_index__winapi-0.3.9//:winapi",
+            "@cui__winapi-0.3.9//:winapi",
 
             # Common Deps
         ],
diff --git a/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index 13b50ee..4cc26b9 100644
--- a/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/crate_universe/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 
 load(
@@ -40,7 +41,15 @@
         "//conditions:default": {
         },
     }),
-    compile_data = glob(["**"]) + select_with_or({
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
         "//conditions:default": [
         ],
     }),
@@ -69,10 +78,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,7 +89,7 @@
     deps = [
     ] + select_with_or({
         "//conditions:default": [
-            "@crate_index__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+            "@cui__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
         ],
     }),
 )
@@ -134,10 +140,7 @@
         # warnings. For more details see:
         # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ],
     tags = [
         "cargo-bazel",
         "manual",
diff --git a/crate_universe/3rdparty/crates/crates.bzl b/crate_universe/3rdparty/crates/crates.bzl
index d02aa63..9821456 100644
--- a/crate_universe/3rdparty/crates/crates.bzl
+++ b/crate_universe/3rdparty/crates/crates.bzl
@@ -17,7 +17,7 @@
 def crate_repositories():
     maybe(
         crates_vendor_remote_repository,
-        name = "crate_index",
+        name = "cui",
         build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.bazel"),
         defs_module = Label("@rules_rust//crate_universe/3rdparty/crates:defs.bzl"),
     )
diff --git a/crate_universe/3rdparty/crates/defs.bzl b/crate_universe/3rdparty/crates/defs.bzl
index 4026391..f2cc565 100644
--- a/crate_universe/3rdparty/crates/defs.bzl
+++ b/crate_universe/3rdparty/crates/defs.bzl
@@ -1,8 +1,9 @@
 ###############################################################################
 # @generated
-# This file is auto-generated by the cargo-bazel tool.
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
 #
-# DO NOT MODIFY: Local changes may be replaced in future executions.
+#     bazel run //crate_universe/3rdparty:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -194,7 +195,10 @@
     dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
 
     if not dependencies:
-        return []
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
 
     crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
     for condition, deps in dependencies.items():
@@ -287,38 +291,39 @@
 _NORMAL_DEPENDENCIES = {
     "crate_universe": {
         _COMMON_CONDITION: {
-            "anyhow": "@crate_index__anyhow-1.0.55//:anyhow",
-            "cargo-lock": "@crate_index__cargo-lock-7.0.1//:cargo_lock",
-            "cargo-platform": "@crate_index__cargo-platform-0.1.2//:cargo_platform",
-            "cargo_metadata": "@crate_index__cargo_metadata-0.14.2//:cargo_metadata",
-            "cargo_toml": "@crate_index__cargo_toml-0.11.4//:cargo_toml",
-            "cfg-expr": "@crate_index__cfg-expr-0.10.2//:cfg_expr",
-            "clap": "@crate_index__clap-3.1.5//:clap",
-            "crates-index": "@crate_index__crates-index-0.18.7//:crates_index",
-            "hex": "@crate_index__hex-0.4.3//:hex",
-            "pathdiff": "@crate_index__pathdiff-0.2.1//:pathdiff",
-            "regex": "@crate_index__regex-1.5.4//:regex",
-            "semver": "@crate_index__semver-1.0.6//:semver",
-            "serde": "@crate_index__serde-1.0.136//:serde",
-            "serde_json": "@crate_index__serde_json-1.0.79//:serde_json",
-            "sha2": "@crate_index__sha2-0.10.2//:sha2",
-            "tempfile": "@crate_index__tempfile-3.3.0//:tempfile",
-            "tera": "@crate_index__tera-1.15.0//:tera",
-            "textwrap": "@crate_index__textwrap-0.14.2//:textwrap",
-            "toml": "@crate_index__toml-0.5.8//:toml",
+            "anyhow": "@cui__anyhow-1.0.58//:anyhow",
+            "cargo-lock": "@cui__cargo-lock-8.0.2//:cargo_lock",
+            "cargo-platform": "@cui__cargo-platform-0.1.2//:cargo_platform",
+            "cargo_metadata": "@cui__cargo_metadata-0.14.2//:cargo_metadata",
+            "cargo_toml": "@cui__cargo_toml-0.11.5//:cargo_toml",
+            "cfg-expr": "@cui__cfg-expr-0.10.3//:cfg_expr",
+            "clap": "@cui__clap-3.2.8//:clap",
+            "crates-index": "@cui__crates-index-0.18.8//:crates_index",
+            "hex": "@cui__hex-0.4.3//:hex",
+            "normpath": "@cui__normpath-0.3.2//:normpath",
+            "pathdiff": "@cui__pathdiff-0.2.1//:pathdiff",
+            "regex": "@cui__regex-1.6.0//:regex",
+            "semver": "@cui__semver-1.0.12//:semver",
+            "serde": "@cui__serde-1.0.138//:serde",
+            "serde_json": "@cui__serde_json-1.0.82//:serde_json",
+            "sha2": "@cui__sha2-0.10.2//:sha2",
+            "tempfile": "@cui__tempfile-3.3.0//:tempfile",
+            "tera": "@cui__tera-1.16.0//:tera",
+            "textwrap": "@cui__textwrap-0.15.0//:textwrap",
+            "toml": "@cui__toml-0.5.9//:toml",
         },
     },
     "crate_universe/tools/cross_installer": {
         _COMMON_CONDITION: {
-            "clap": "@crate_index__clap-3.1.5//:clap",
+            "clap": "@cui__clap-3.2.8//:clap",
         },
     },
     "crate_universe/tools/urls_generator": {
         _COMMON_CONDITION: {
-            "clap": "@crate_index__clap-3.1.5//:clap",
-            "hex": "@crate_index__hex-0.4.3//:hex",
-            "serde_json": "@crate_index__serde_json-1.0.79//:serde_json",
-            "sha2": "@crate_index__sha2-0.10.2//:sha2",
+            "clap": "@cui__clap-3.2.8//:clap",
+            "hex": "@cui__hex-0.4.3//:hex",
+            "serde_json": "@cui__serde_json-1.0.82//:serde_json",
+            "sha2": "@cui__sha2-0.10.2//:sha2",
         },
     },
 }
@@ -341,7 +346,8 @@
 _NORMAL_DEV_DEPENDENCIES = {
     "crate_universe": {
         _COMMON_CONDITION: {
-            "spectral": "@crate_index__spectral-0.6.0//:spectral",
+            "maplit": "@cui__maplit-1.0.2//:maplit",
+            "spectral": "@cui__spectral-0.6.0//:spectral",
         },
     },
     "crate_universe/tools/cross_installer": {
@@ -437,18 +443,19 @@
 
 _CONDITIONS = {
     "aarch64-apple-darwin": ["aarch64-apple-darwin"],
+    "aarch64-linux-android": ["aarch64-linux-android"],
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
     "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": ["aarch64-unknown-linux-gnu"],
-    "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
     "cfg(target_arch = \"wasm32\")": ["wasm32-unknown-unknown", "wasm32-wasi"],
     "cfg(target_env = \"sgx\")": [],
     "cfg(target_os = \"fuchsia\")": [],
     "cfg(target_os = \"hermit\")": [],
     "cfg(target_os = \"redox\")": [],
     "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
     "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
     "x86_64-pc-windows-gnu": [],
@@ -460,7 +467,7 @@
     """A macro for defining repositories for all generated crates"""
     maybe(
         http_archive,
-        name = "crate_index__aho-corasick-0.7.18",
+        name = "cui__aho-corasick-0.7.18",
         sha256 = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/aho-corasick/0.7.18/download"],
@@ -470,17 +477,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__anyhow-1.0.55",
-        sha256 = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd",
+        name = "cui__anyhow-1.0.58",
+        sha256 = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.55/download"],
-        strip_prefix = "anyhow-1.0.55",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.anyhow-1.0.55.bazel"),
+        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.58/download"],
+        strip_prefix = "anyhow-1.0.58",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.anyhow-1.0.58.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__atty-0.2.14",
+        name = "cui__atty-0.2.14",
         sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/atty/0.2.14/download"],
@@ -490,7 +497,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__autocfg-1.1.0",
+        name = "cui__autocfg-1.1.0",
         sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
@@ -500,7 +507,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__bitflags-1.3.2",
+        name = "cui__bitflags-1.3.2",
         sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
@@ -510,7 +517,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__block-buffer-0.10.2",
+        name = "cui__block-buffer-0.10.2",
         sha256 = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/block-buffer/0.10.2/download"],
@@ -520,7 +527,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__block-buffer-0.7.3",
+        name = "cui__block-buffer-0.7.3",
         sha256 = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/block-buffer/0.7.3/download"],
@@ -530,7 +537,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__block-padding-0.1.5",
+        name = "cui__block-padding-0.1.5",
         sha256 = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/block-padding/0.1.5/download"],
@@ -540,7 +547,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__bstr-0.2.17",
+        name = "cui__bstr-0.2.17",
         sha256 = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/bstr/0.2.17/download"],
@@ -550,7 +557,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__byte-tools-0.3.1",
+        name = "cui__byte-tools-0.3.1",
         sha256 = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/byte-tools/0.3.1/download"],
@@ -560,7 +567,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__byteorder-1.4.3",
+        name = "cui__byteorder-1.4.3",
         sha256 = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/byteorder/1.4.3/download"],
@@ -570,27 +577,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__camino-1.0.7",
-        sha256 = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23",
+        name = "cui__camino-1.0.9",
+        sha256 = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/camino/1.0.7/download"],
-        strip_prefix = "camino-1.0.7",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.camino-1.0.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/camino/1.0.9/download"],
+        strip_prefix = "camino-1.0.9",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.camino-1.0.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__cargo-lock-7.0.1",
-        sha256 = "7fb04b88bd5b2036e30704f95c6ee16f3b5ca3b4ca307da2889d9006648e5c88",
+        name = "cui__cargo-lock-8.0.2",
+        sha256 = "3c4c54d47a4532db3494ef7332c257ab57b02750daae3250d49e01ee55201ce8",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cargo-lock/7.0.1/download"],
-        strip_prefix = "cargo-lock-7.0.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo-lock-7.0.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cargo-lock/8.0.2/download"],
+        strip_prefix = "cargo-lock-8.0.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo-lock-8.0.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__cargo-platform-0.1.2",
+        name = "cui__cargo-platform-0.1.2",
         sha256 = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/cargo-platform/0.1.2/download"],
@@ -600,7 +607,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__cargo_metadata-0.14.2",
+        name = "cui__cargo_metadata-0.14.2",
         sha256 = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/cargo_metadata/0.14.2/download"],
@@ -610,17 +617,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__cargo_toml-0.11.4",
-        sha256 = "4e270ef0cd868745878982f7ce470aa898d0d4bb248af67f0cf66f54617913ef",
+        name = "cui__cargo_toml-0.11.5",
+        sha256 = "5809dd3e6444651fd1cdd3dbec71eca438c439a0fcc8081674a14da0afe50185",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cargo_toml/0.11.4/download"],
-        strip_prefix = "cargo_toml-0.11.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_toml-0.11.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cargo_toml/0.11.5/download"],
+        strip_prefix = "cargo_toml-0.11.5",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cargo_toml-0.11.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__cc-1.0.73",
+        name = "cui__cc-1.0.73",
         sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/cc/1.0.73/download"],
@@ -630,17 +637,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__cfg-expr-0.10.2",
-        sha256 = "5e068cb2806bbc15b439846dc16c5f89f8599f2c3e4d73d4449d38f9b2f0b6c5",
+        name = "cui__cfg-expr-0.10.3",
+        sha256 = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cfg-expr/0.10.2/download"],
-        strip_prefix = "cfg-expr-0.10.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cfg-expr-0.10.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cfg-expr/0.10.3/download"],
+        strip_prefix = "cfg-expr-0.10.3",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cfg-expr-0.10.3.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__cfg-if-1.0.0",
+        name = "cui__cfg-if-1.0.0",
         sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
@@ -650,7 +657,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__chrono-0.4.19",
+        name = "cui__chrono-0.4.19",
         sha256 = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/chrono/0.4.19/download"],
@@ -660,7 +667,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__chrono-tz-0.6.1",
+        name = "cui__chrono-tz-0.6.1",
         sha256 = "58549f1842da3080ce63002102d5bc954c7bc843d4f47818e642abdc36253552",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/chrono-tz/0.6.1/download"],
@@ -670,7 +677,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__chrono-tz-build-0.0.2",
+        name = "cui__chrono-tz-build-0.0.2",
         sha256 = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/chrono-tz-build/0.0.2/download"],
@@ -680,67 +687,77 @@
 
     maybe(
         http_archive,
-        name = "crate_index__clap-3.1.5",
-        sha256 = "ced1892c55c910c1219e98d6fc8d71f6bddba7905866ce740066d8bfea859312",
+        name = "cui__clap-3.2.8",
+        sha256 = "190814073e85d238f31ff738fcb0bf6910cedeb73376c87cd69291028966fd83",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/clap/3.1.5/download"],
-        strip_prefix = "clap-3.1.5",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clap-3.1.5.bazel"),
+        urls = ["https://crates.io/api/v1/crates/clap/3.2.8/download"],
+        strip_prefix = "clap-3.2.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clap-3.2.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__clap_derive-3.1.4",
-        sha256 = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16",
+        name = "cui__clap_derive-3.2.7",
+        sha256 = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/clap_derive/3.1.4/download"],
-        strip_prefix = "clap_derive-3.1.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clap_derive-3.1.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/clap_derive/3.2.7/download"],
+        strip_prefix = "clap_derive-3.2.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clap_derive-3.2.7.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__cpufeatures-0.2.1",
-        sha256 = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469",
+        name = "cui__clap_lex-0.2.4",
+        sha256 = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cpufeatures/0.2.1/download"],
-        strip_prefix = "cpufeatures-0.2.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cpufeatures-0.2.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/clap_lex/0.2.4/download"],
+        strip_prefix = "clap_lex-0.2.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.clap_lex-0.2.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__crates-index-0.18.7",
-        sha256 = "0044896374c388ccbf1497dad6384bf6111dbcad9d7069506df7450ce9b62ea3",
+        name = "cui__cpufeatures-0.2.2",
+        sha256 = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/crates-index/0.18.7/download"],
-        strip_prefix = "crates-index-0.18.7",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crates-index-0.18.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cpufeatures/0.2.2/download"],
+        strip_prefix = "cpufeatures-0.2.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.cpufeatures-0.2.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__crossbeam-utils-0.8.7",
-        sha256 = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6",
+        name = "cui__crates-index-0.18.8",
+        sha256 = "2519c91ad7a6e3250a64fb71162d2db1afe7bcf826a465f84d2052fd69639b7a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/crossbeam-utils/0.8.7/download"],
-        strip_prefix = "crossbeam-utils-0.8.7",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-utils-0.8.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/crates-index/0.18.8/download"],
+        strip_prefix = "crates-index-0.18.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crates-index-0.18.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__crypto-common-0.1.3",
-        sha256 = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8",
+        name = "cui__crossbeam-utils-0.8.10",
+        sha256 = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/crypto-common/0.1.3/download"],
-        strip_prefix = "crypto-common-0.1.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crypto-common-0.1.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/crossbeam-utils/0.8.10/download"],
+        strip_prefix = "crossbeam-utils-0.8.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crossbeam-utils-0.8.10.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__deunicode-0.4.3",
+        name = "cui__crypto-common-0.1.4",
+        sha256 = "5999502d32b9c48d492abe66392408144895020ec4709e549e840799f3bb74c0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crypto-common/0.1.4/download"],
+        strip_prefix = "crypto-common-0.1.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.crypto-common-0.1.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__deunicode-0.4.3",
         sha256 = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/deunicode/0.4.3/download"],
@@ -750,7 +767,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__digest-0.10.3",
+        name = "cui__digest-0.10.3",
         sha256 = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/digest/0.10.3/download"],
@@ -760,7 +777,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__digest-0.8.1",
+        name = "cui__digest-0.8.1",
         sha256 = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/digest/0.8.1/download"],
@@ -770,7 +787,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__fake-simd-0.1.2",
+        name = "cui__fake-simd-0.1.2",
         sha256 = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/fake-simd/0.1.2/download"],
@@ -780,7 +797,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__fastrand-1.7.0",
+        name = "cui__fastrand-1.7.0",
         sha256 = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/fastrand/1.7.0/download"],
@@ -790,7 +807,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__fnv-1.0.7",
+        name = "cui__fnv-1.0.7",
         sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/fnv/1.0.7/download"],
@@ -800,7 +817,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__form_urlencoded-1.0.1",
+        name = "cui__form_urlencoded-1.0.1",
         sha256 = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download"],
@@ -810,7 +827,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__fuchsia-cprng-0.1.1",
+        name = "cui__fuchsia-cprng-0.1.1",
         sha256 = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/fuchsia-cprng/0.1.1/download"],
@@ -820,7 +837,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__generic-array-0.12.4",
+        name = "cui__generic-array-0.12.4",
         sha256 = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/generic-array/0.12.4/download"],
@@ -830,7 +847,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__generic-array-0.14.5",
+        name = "cui__generic-array-0.14.5",
         sha256 = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/generic-array/0.14.5/download"],
@@ -840,37 +857,37 @@
 
     maybe(
         http_archive,
-        name = "crate_index__getrandom-0.2.5",
-        sha256 = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77",
+        name = "cui__getrandom-0.2.7",
+        sha256 = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.5/download"],
-        strip_prefix = "getrandom-0.2.5",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.getrandom-0.2.5.bazel"),
+        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.7/download"],
+        strip_prefix = "getrandom-0.2.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.getrandom-0.2.7.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__git2-0.14.1",
-        sha256 = "6e7d3b96ec1fcaa8431cf04a4f1ef5caafe58d5cf7bcc31f09c1626adddb0ffe",
+        name = "cui__git2-0.14.4",
+        sha256 = "d0155506aab710a86160ddb504a480d2964d7ab5b9e62419be69e0032bc5931c",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/git2/0.14.1/download"],
-        strip_prefix = "git2-0.14.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.git2-0.14.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/git2/0.14.4/download"],
+        strip_prefix = "git2-0.14.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.git2-0.14.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__globset-0.4.8",
-        sha256 = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd",
+        name = "cui__globset-0.4.9",
+        sha256 = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/globset/0.4.8/download"],
-        strip_prefix = "globset-0.4.8",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.globset-0.4.8.bazel"),
+        urls = ["https://crates.io/api/v1/crates/globset/0.4.9/download"],
+        strip_prefix = "globset-0.4.9",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.globset-0.4.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__globwalk-0.8.1",
+        name = "cui__globwalk-0.8.1",
         sha256 = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/globwalk/0.8.1/download"],
@@ -880,17 +897,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__hashbrown-0.11.2",
-        sha256 = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e",
+        name = "cui__hashbrown-0.12.1",
+        sha256 = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hashbrown/0.11.2/download"],
-        strip_prefix = "hashbrown-0.11.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.hashbrown-0.11.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/hashbrown/0.12.1/download"],
+        strip_prefix = "hashbrown-0.12.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.hashbrown-0.12.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__heck-0.4.0",
+        name = "cui__heck-0.4.0",
         sha256 = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/heck/0.4.0/download"],
@@ -900,7 +917,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__hermit-abi-0.1.19",
+        name = "cui__hermit-abi-0.1.19",
         sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
@@ -910,7 +927,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__hex-0.4.3",
+        name = "cui__hex-0.4.3",
         sha256 = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/hex/0.4.3/download"],
@@ -920,7 +937,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__home-0.5.3",
+        name = "cui__home-0.5.3",
         sha256 = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/home/0.5.3/download"],
@@ -930,7 +947,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__humansize-1.1.1",
+        name = "cui__humansize-1.1.1",
         sha256 = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/humansize/1.1.1/download"],
@@ -940,7 +957,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__idna-0.2.3",
+        name = "cui__idna-0.2.3",
         sha256 = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/idna/0.2.3/download"],
@@ -950,7 +967,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__ignore-0.4.18",
+        name = "cui__ignore-0.4.18",
         sha256 = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/ignore/0.4.18/download"],
@@ -960,17 +977,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__indexmap-1.8.0",
-        sha256 = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223",
+        name = "cui__indexmap-1.9.1",
+        sha256 = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/indexmap/1.8.0/download"],
-        strip_prefix = "indexmap-1.8.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indexmap-1.8.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.1/download"],
+        strip_prefix = "indexmap-1.9.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.indexmap-1.9.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__instant-0.1.12",
+        name = "cui__instant-0.1.12",
         sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
@@ -980,17 +997,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__itoa-1.0.1",
-        sha256 = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35",
+        name = "cui__itoa-1.0.2",
+        sha256 = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/itoa/1.0.1/download"],
-        strip_prefix = "itoa-1.0.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.itoa-1.0.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/itoa/1.0.2/download"],
+        strip_prefix = "itoa-1.0.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.itoa-1.0.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__jobserver-0.1.24",
+        name = "cui__jobserver-0.1.24",
         sha256 = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/jobserver/0.1.24/download"],
@@ -1000,7 +1017,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__lazy_static-1.4.0",
+        name = "cui__lazy_static-1.4.0",
         sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
@@ -1010,47 +1027,47 @@
 
     maybe(
         http_archive,
-        name = "crate_index__libc-0.2.119",
-        sha256 = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4",
+        name = "cui__libc-0.2.126",
+        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.119/download"],
-        strip_prefix = "libc-0.2.119",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libc-0.2.119.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
+        strip_prefix = "libc-0.2.126",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__libgit2-sys-0.13.1-1.4.2",
-        sha256 = "43e598aa7a4faedf1ea1b4608f582b06f0f40211eec551b7ef36019ae3f62def",
+        name = "cui__libgit2-sys-0.13.4-1.4.2",
+        sha256 = "d0fa6563431ede25f5cc7f6d803c6afbc1c5d3ad3d4925d12c882bf2b526f5d1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libgit2-sys/0.13.1+1.4.2/download"],
-        strip_prefix = "libgit2-sys-0.13.1+1.4.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libgit2-sys-0.13.1+1.4.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libgit2-sys/0.13.4+1.4.2/download"],
+        strip_prefix = "libgit2-sys-0.13.4+1.4.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libgit2-sys-0.13.4+1.4.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__libz-sys-1.1.3",
-        sha256 = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66",
+        name = "cui__libz-sys-1.1.8",
+        sha256 = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libz-sys/1.1.3/download"],
-        strip_prefix = "libz-sys-1.1.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libz-sys-1.1.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libz-sys/1.1.8/download"],
+        strip_prefix = "libz-sys-1.1.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.libz-sys-1.1.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__log-0.4.14",
-        sha256 = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710",
+        name = "cui__log-0.4.17",
+        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/log/0.4.14/download"],
-        strip_prefix = "log-0.4.14",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.log-0.4.14.bazel"),
+        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+        strip_prefix = "log-0.4.17",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.log-0.4.17.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__maplit-1.0.2",
+        name = "cui__maplit-1.0.2",
         sha256 = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/maplit/1.0.2/download"],
@@ -1060,7 +1077,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__matches-0.1.9",
+        name = "cui__matches-0.1.9",
         sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/matches/0.1.9/download"],
@@ -1070,17 +1087,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__memchr-2.4.1",
-        sha256 = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a",
+        name = "cui__memchr-2.5.0",
+        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/memchr/2.4.1/download"],
-        strip_prefix = "memchr-2.4.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memchr-2.4.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
+        strip_prefix = "memchr-2.5.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__num-0.1.42",
+        name = "cui__normpath-0.3.2",
+        sha256 = "04aaf5e9cb0fbf883cc0423159eacdf96a9878022084b35c462c428cab73bcaf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/normpath/0.3.2/download"],
+        strip_prefix = "normpath-0.3.2",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.normpath-0.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__num-0.1.42",
         sha256 = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/num/0.1.42/download"],
@@ -1090,7 +1117,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__num-bigint-0.1.44",
+        name = "cui__num-bigint-0.1.44",
         sha256 = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/num-bigint/0.1.44/download"],
@@ -1100,7 +1127,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__num-complex-0.1.43",
+        name = "cui__num-complex-0.1.43",
         sha256 = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/num-complex/0.1.43/download"],
@@ -1110,27 +1137,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__num-integer-0.1.44",
-        sha256 = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db",
+        name = "cui__num-integer-0.1.45",
+        sha256 = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/num-integer/0.1.44/download"],
-        strip_prefix = "num-integer-0.1.44",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-integer-0.1.44.bazel"),
+        urls = ["https://crates.io/api/v1/crates/num-integer/0.1.45/download"],
+        strip_prefix = "num-integer-0.1.45",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-integer-0.1.45.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__num-iter-0.1.42",
-        sha256 = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59",
+        name = "cui__num-iter-0.1.43",
+        sha256 = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/num-iter/0.1.42/download"],
-        strip_prefix = "num-iter-0.1.42",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-iter-0.1.42.bazel"),
+        urls = ["https://crates.io/api/v1/crates/num-iter/0.1.43/download"],
+        strip_prefix = "num-iter-0.1.43",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-iter-0.1.43.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__num-rational-0.1.42",
+        name = "cui__num-rational-0.1.42",
         sha256 = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/num-rational/0.1.42/download"],
@@ -1140,17 +1167,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__num-traits-0.2.14",
-        sha256 = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290",
+        name = "cui__num-traits-0.2.15",
+        sha256 = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/num-traits/0.2.14/download"],
-        strip_prefix = "num-traits-0.2.14",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-traits-0.2.14.bazel"),
+        urls = ["https://crates.io/api/v1/crates/num-traits/0.2.15/download"],
+        strip_prefix = "num-traits-0.2.15",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.num-traits-0.2.15.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__num_cpus-1.13.1",
+        name = "cui__num_cpus-1.13.1",
         sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/num_cpus/1.13.1/download"],
@@ -1160,17 +1187,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__once_cell-1.9.0",
-        sha256 = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5",
+        name = "cui__once_cell-1.13.0",
+        sha256 = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/once_cell/1.9.0/download"],
-        strip_prefix = "once_cell-1.9.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.once_cell-1.9.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/once_cell/1.13.0/download"],
+        strip_prefix = "once_cell-1.13.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.once_cell-1.13.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__opaque-debug-0.2.3",
+        name = "cui__opaque-debug-0.2.3",
         sha256 = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/opaque-debug/0.2.3/download"],
@@ -1180,17 +1207,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__os_str_bytes-6.0.0",
-        sha256 = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64",
+        name = "cui__os_str_bytes-6.1.0",
+        sha256 = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.0.0/download"],
-        strip_prefix = "os_str_bytes-6.0.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.os_str_bytes-6.0.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.1.0/download"],
+        strip_prefix = "os_str_bytes-6.1.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.os_str_bytes-6.1.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__parse-zoneinfo-0.3.0",
+        name = "cui__parse-zoneinfo-0.3.0",
         sha256 = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/parse-zoneinfo/0.3.0/download"],
@@ -1200,7 +1227,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pathdiff-0.2.1",
+        name = "cui__pathdiff-0.2.1",
         sha256 = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pathdiff/0.2.1/download"],
@@ -1210,7 +1237,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__percent-encoding-2.1.0",
+        name = "cui__percent-encoding-2.1.0",
         sha256 = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/percent-encoding/2.1.0/download"],
@@ -1220,7 +1247,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pest-2.1.3",
+        name = "cui__pest-2.1.3",
         sha256 = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pest/2.1.3/download"],
@@ -1230,7 +1257,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pest_derive-2.1.0",
+        name = "cui__pest_derive-2.1.0",
         sha256 = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pest_derive/2.1.0/download"],
@@ -1240,7 +1267,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pest_generator-2.1.3",
+        name = "cui__pest_generator-2.1.3",
         sha256 = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pest_generator/2.1.3/download"],
@@ -1250,7 +1277,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pest_meta-2.1.3",
+        name = "cui__pest_meta-2.1.3",
         sha256 = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pest_meta/2.1.3/download"],
@@ -1260,7 +1287,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__phf-0.10.1",
+        name = "cui__phf-0.10.1",
         sha256 = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/phf/0.10.1/download"],
@@ -1270,7 +1297,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__phf_codegen-0.10.0",
+        name = "cui__phf_codegen-0.10.0",
         sha256 = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/phf_codegen/0.10.0/download"],
@@ -1280,7 +1307,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__phf_generator-0.10.0",
+        name = "cui__phf_generator-0.10.0",
         sha256 = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/phf_generator/0.10.0/download"],
@@ -1290,7 +1317,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__phf_shared-0.10.0",
+        name = "cui__phf_shared-0.10.0",
         sha256 = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/phf_shared/0.10.0/download"],
@@ -1300,17 +1327,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__pkg-config-0.3.24",
-        sha256 = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe",
+        name = "cui__pkg-config-0.3.25",
+        sha256 = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.24/download"],
-        strip_prefix = "pkg-config-0.3.24",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.pkg-config-0.3.24.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.25/download"],
+        strip_prefix = "pkg-config-0.3.25",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.pkg-config-0.3.25.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__ppv-lite86-0.2.16",
+        name = "cui__ppv-lite86-0.2.16",
         sha256 = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download"],
@@ -1320,7 +1347,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__proc-macro-error-1.0.4",
+        name = "cui__proc-macro-error-1.0.4",
         sha256 = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download"],
@@ -1330,7 +1357,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__proc-macro-error-attr-1.0.4",
+        name = "cui__proc-macro-error-attr-1.0.4",
         sha256 = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download"],
@@ -1340,27 +1367,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__proc-macro2-1.0.36",
-        sha256 = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029",
+        name = "cui__proc-macro2-1.0.40",
+        sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.36/download"],
-        strip_prefix = "proc-macro2-1.0.36",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.proc-macro2-1.0.36.bazel"),
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.40/download"],
+        strip_prefix = "proc-macro2-1.0.40",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.proc-macro2-1.0.40.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__quote-1.0.15",
-        sha256 = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145",
+        name = "cui__quote-1.0.20",
+        sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/quote/1.0.15/download"],
-        strip_prefix = "quote-1.0.15",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.quote-1.0.15.bazel"),
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.20/download"],
+        strip_prefix = "quote-1.0.20",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.quote-1.0.20.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__rand-0.4.6",
+        name = "cui__rand-0.4.6",
         sha256 = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand/0.4.6/download"],
@@ -1370,7 +1397,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rand-0.8.5",
+        name = "cui__rand-0.8.5",
         sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand/0.8.5/download"],
@@ -1380,7 +1407,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rand_chacha-0.3.1",
+        name = "cui__rand_chacha-0.3.1",
         sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand_chacha/0.3.1/download"],
@@ -1390,7 +1417,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rand_core-0.3.1",
+        name = "cui__rand_core-0.3.1",
         sha256 = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand_core/0.3.1/download"],
@@ -1400,7 +1427,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rand_core-0.4.2",
+        name = "cui__rand_core-0.4.2",
         sha256 = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand_core/0.4.2/download"],
@@ -1410,7 +1437,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rand_core-0.6.3",
+        name = "cui__rand_core-0.6.3",
         sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rand_core/0.6.3/download"],
@@ -1420,7 +1447,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rdrand-0.4.0",
+        name = "cui__rdrand-0.4.0",
         sha256 = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rdrand/0.4.0/download"],
@@ -1430,37 +1457,37 @@
 
     maybe(
         http_archive,
-        name = "crate_index__redox_syscall-0.2.11",
-        sha256 = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c",
+        name = "cui__redox_syscall-0.2.13",
+        sha256 = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.11/download"],
-        strip_prefix = "redox_syscall-0.2.11",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.redox_syscall-0.2.11.bazel"),
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.13/download"],
+        strip_prefix = "redox_syscall-0.2.13",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.redox_syscall-0.2.13.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__regex-1.5.4",
-        sha256 = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461",
+        name = "cui__regex-1.6.0",
+        sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex/1.5.4/download"],
-        strip_prefix = "regex-1.5.4",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-1.5.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/regex/1.6.0/download"],
+        strip_prefix = "regex-1.6.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-1.6.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__regex-syntax-0.6.25",
-        sha256 = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b",
+        name = "cui__regex-syntax-0.6.27",
+        sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.25/download"],
-        strip_prefix = "regex-syntax-0.6.25",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-syntax-0.6.25.bazel"),
+        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.27/download"],
+        strip_prefix = "regex-syntax-0.6.27",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.regex-syntax-0.6.27.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__remove_dir_all-0.5.3",
+        name = "cui__remove_dir_all-0.5.3",
         sha256 = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download"],
@@ -1470,7 +1497,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rustc-hash-1.1.0",
+        name = "cui__rustc-hash-1.1.0",
         sha256 = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rustc-hash/1.1.0/download"],
@@ -1480,7 +1507,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__rustc-serialize-0.3.24",
+        name = "cui__rustc-serialize-0.3.24",
         sha256 = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/rustc-serialize/0.3.24/download"],
@@ -1490,17 +1517,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__ryu-1.0.9",
-        sha256 = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f",
+        name = "cui__ryu-1.0.10",
+        sha256 = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ryu/1.0.9/download"],
-        strip_prefix = "ryu-1.0.9",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.ryu-1.0.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/ryu/1.0.10/download"],
+        strip_prefix = "ryu-1.0.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.ryu-1.0.10.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__same-file-1.0.6",
+        name = "cui__same-file-1.0.6",
         sha256 = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/same-file/1.0.6/download"],
@@ -1510,47 +1537,47 @@
 
     maybe(
         http_archive,
-        name = "crate_index__semver-1.0.6",
-        sha256 = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d",
+        name = "cui__semver-1.0.12",
+        sha256 = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/semver/1.0.6/download"],
-        strip_prefix = "semver-1.0.6",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.semver-1.0.6.bazel"),
+        urls = ["https://crates.io/api/v1/crates/semver/1.0.12/download"],
+        strip_prefix = "semver-1.0.12",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.semver-1.0.12.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__serde-1.0.136",
-        sha256 = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789",
+        name = "cui__serde-1.0.138",
+        sha256 = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde/1.0.136/download"],
-        strip_prefix = "serde-1.0.136",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde-1.0.136.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.138/download"],
+        strip_prefix = "serde-1.0.138",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde-1.0.138.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__serde_derive-1.0.136",
-        sha256 = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9",
+        name = "cui__serde_derive-1.0.138",
+        sha256 = "023e9b1467aef8a10fb88f25611870ada9800ef7e22afce356bb0d2387b6f27c",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.136/download"],
-        strip_prefix = "serde_derive-1.0.136",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_derive-1.0.136.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.138/download"],
+        strip_prefix = "serde_derive-1.0.138",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_derive-1.0.138.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__serde_json-1.0.79",
-        sha256 = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95",
+        name = "cui__serde_json-1.0.82",
+        sha256 = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.79/download"],
-        strip_prefix = "serde_json-1.0.79",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_json-1.0.79.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.82/download"],
+        strip_prefix = "serde_json-1.0.82",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.serde_json-1.0.82.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__sha-1-0.8.2",
+        name = "cui__sha-1-0.8.2",
         sha256 = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/sha-1/0.8.2/download"],
@@ -1560,7 +1587,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__sha2-0.10.2",
+        name = "cui__sha2-0.10.2",
         sha256 = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/sha2/0.10.2/download"],
@@ -1570,17 +1597,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__siphasher-0.3.9",
-        sha256 = "a86232ab60fa71287d7f2ddae4a7073f6b7aac33631c3015abb556f08c6d0a3e",
+        name = "cui__siphasher-0.3.10",
+        sha256 = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/siphasher/0.3.9/download"],
-        strip_prefix = "siphasher-0.3.9",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.siphasher-0.3.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/siphasher/0.3.10/download"],
+        strip_prefix = "siphasher-0.3.10",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.siphasher-0.3.10.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__slug-0.1.4",
+        name = "cui__slug-0.1.4",
         sha256 = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/slug/0.1.4/download"],
@@ -1590,27 +1617,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__smallvec-1.8.0",
-        sha256 = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83",
+        name = "cui__smallvec-1.9.0",
+        sha256 = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/smallvec/1.8.0/download"],
-        strip_prefix = "smallvec-1.8.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.smallvec-1.8.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/smallvec/1.9.0/download"],
+        strip_prefix = "smallvec-1.9.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.smallvec-1.9.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__smartstring-1.0.0",
-        sha256 = "ea958ad90cacc8ece7f238fde3671e1b350ee1741964edf2a22fd16f60224163",
+        name = "cui__smartstring-1.0.1",
+        sha256 = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/smartstring/1.0.0/download"],
-        strip_prefix = "smartstring-1.0.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.smartstring-1.0.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/smartstring/1.0.1/download"],
+        strip_prefix = "smartstring-1.0.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.smartstring-1.0.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__smawk-0.3.1",
+        name = "cui__smawk-0.3.1",
         sha256 = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/smawk/0.3.1/download"],
@@ -1620,7 +1647,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__spectral-0.6.0",
+        name = "cui__spectral-0.6.0",
         sha256 = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/spectral/0.6.0/download"],
@@ -1630,7 +1657,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__static_assertions-1.1.0",
+        name = "cui__static_assertions-1.1.0",
         sha256 = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/static_assertions/1.1.0/download"],
@@ -1640,7 +1667,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__strsim-0.10.0",
+        name = "cui__strsim-0.10.0",
         sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/strsim/0.10.0/download"],
@@ -1650,17 +1677,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__syn-1.0.86",
-        sha256 = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b",
+        name = "cui__syn-1.0.98",
+        sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/syn/1.0.86/download"],
-        strip_prefix = "syn-1.0.86",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.syn-1.0.86.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/1.0.98/download"],
+        strip_prefix = "syn-1.0.98",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.syn-1.0.98.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__tempfile-3.3.0",
+        name = "cui__tempfile-3.3.0",
         sha256 = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/tempfile/3.3.0/download"],
@@ -1670,17 +1697,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__tera-1.15.0",
-        sha256 = "d3cac831b615c25bcef632d1cabf864fa05813baad3d526829db18eb70e8b58d",
+        name = "cui__tera-1.16.0",
+        sha256 = "7c9783d6ff395ae80cf17ed9a25360e7ba37742a79fa8fddabb073c5c7c8856d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tera/1.15.0/download"],
-        strip_prefix = "tera-1.15.0",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tera-1.15.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tera/1.16.0/download"],
+        strip_prefix = "tera-1.16.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tera-1.16.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__termcolor-1.1.3",
+        name = "cui__termcolor-1.1.3",
         sha256 = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/termcolor/1.1.3/download"],
@@ -1690,17 +1717,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__textwrap-0.14.2",
-        sha256 = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/textwrap/0.14.2/download"],
-        strip_prefix = "textwrap-0.14.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.textwrap-0.14.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crate_index__textwrap-0.15.0",
+        name = "cui__textwrap-0.15.0",
         sha256 = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/textwrap/0.15.0/download"],
@@ -1710,7 +1727,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__thread_local-1.1.4",
+        name = "cui__thread_local-1.1.4",
         sha256 = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/thread_local/1.1.4/download"],
@@ -1720,17 +1737,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__tinyvec-1.5.1",
-        sha256 = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2",
+        name = "cui__tinyvec-1.6.0",
+        sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tinyvec/1.5.1/download"],
-        strip_prefix = "tinyvec-1.5.1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tinyvec-1.5.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tinyvec/1.6.0/download"],
+        strip_prefix = "tinyvec-1.6.0",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.tinyvec-1.6.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__tinyvec_macros-0.1.0",
+        name = "cui__tinyvec_macros-0.1.0",
         sha256 = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download"],
@@ -1740,17 +1757,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__toml-0.5.8",
-        sha256 = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa",
+        name = "cui__toml-0.5.9",
+        sha256 = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/toml/0.5.8/download"],
-        strip_prefix = "toml-0.5.8",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml-0.5.8.bazel"),
+        urls = ["https://crates.io/api/v1/crates/toml/0.5.9/download"],
+        strip_prefix = "toml-0.5.9",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.toml-0.5.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__typenum-1.15.0",
+        name = "cui__typenum-1.15.0",
         sha256 = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/typenum/1.15.0/download"],
@@ -1760,27 +1777,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__ucd-trie-0.1.3",
-        sha256 = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c",
+        name = "cui__ucd-trie-0.1.4",
+        sha256 = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ucd-trie/0.1.3/download"],
-        strip_prefix = "ucd-trie-0.1.3",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.ucd-trie-0.1.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/ucd-trie/0.1.4/download"],
+        strip_prefix = "ucd-trie-0.1.4",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.ucd-trie-0.1.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__uncased-0.9.6",
-        sha256 = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0",
+        name = "cui__uncased-0.9.7",
+        sha256 = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/uncased/0.9.6/download"],
-        strip_prefix = "uncased-0.9.6",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.uncased-0.9.6.bazel"),
+        urls = ["https://crates.io/api/v1/crates/uncased/0.9.7/download"],
+        strip_prefix = "uncased-0.9.7",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.uncased-0.9.7.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__unic-char-property-0.9.0",
+        name = "cui__unic-char-property-0.9.0",
         sha256 = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-char-property/0.9.0/download"],
@@ -1790,7 +1807,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unic-char-range-0.9.0",
+        name = "cui__unic-char-range-0.9.0",
         sha256 = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-char-range/0.9.0/download"],
@@ -1800,7 +1817,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unic-common-0.9.0",
+        name = "cui__unic-common-0.9.0",
         sha256 = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-common/0.9.0/download"],
@@ -1810,7 +1827,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unic-segment-0.9.0",
+        name = "cui__unic-segment-0.9.0",
         sha256 = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-segment/0.9.0/download"],
@@ -1820,7 +1837,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unic-ucd-segment-0.9.0",
+        name = "cui__unic-ucd-segment-0.9.0",
         sha256 = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-ucd-segment/0.9.0/download"],
@@ -1830,7 +1847,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unic-ucd-version-0.9.0",
+        name = "cui__unic-ucd-version-0.9.0",
         sha256 = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unic-ucd-version/0.9.0/download"],
@@ -1840,17 +1857,27 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unicode-bidi-0.3.7",
-        sha256 = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f",
+        name = "cui__unicode-bidi-0.3.8",
+        sha256 = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.7/download"],
-        strip_prefix = "unicode-bidi-0.3.7",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-bidi-0.3.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download"],
+        strip_prefix = "unicode-bidi-0.3.8",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-bidi-0.3.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__unicode-linebreak-0.1.2",
+        name = "cui__unicode-ident-1.0.1",
+        sha256 = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.1/download"],
+        strip_prefix = "unicode-ident-1.0.1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-ident-1.0.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cui__unicode-linebreak-0.1.2",
         sha256 = "3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unicode-linebreak/0.1.2/download"],
@@ -1860,17 +1887,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unicode-normalization-0.1.19",
-        sha256 = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9",
+        name = "cui__unicode-normalization-0.1.21",
+        sha256 = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download"],
-        strip_prefix = "unicode-normalization-0.1.19",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-normalization-0.1.19.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download"],
+        strip_prefix = "unicode-normalization-0.1.21",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-normalization-0.1.21.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__unicode-width-0.1.9",
+        name = "cui__unicode-width-0.1.9",
         sha256 = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/unicode-width/0.1.9/download"],
@@ -1880,17 +1907,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__unicode-xid-0.2.2",
-        sha256 = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-xid/0.2.2/download"],
-        strip_prefix = "unicode-xid-0.2.2",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.unicode-xid-0.2.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crate_index__url-2.2.2",
+        name = "cui__url-2.2.2",
         sha256 = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/url/2.2.2/download"],
@@ -1900,7 +1917,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__vcpkg-0.2.15",
+        name = "cui__vcpkg-0.2.15",
         sha256 = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/vcpkg/0.2.15/download"],
@@ -1910,7 +1927,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__version_check-0.9.4",
+        name = "cui__version_check-0.9.4",
         sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/version_check/0.9.4/download"],
@@ -1920,7 +1937,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__walkdir-2.3.2",
+        name = "cui__walkdir-2.3.2",
         sha256 = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/walkdir/2.3.2/download"],
@@ -1930,17 +1947,17 @@
 
     maybe(
         http_archive,
-        name = "crate_index__wasi-0.10.2-wasi-snapshot-preview1",
-        sha256 = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6",
+        name = "cui__wasi-0.11.0-wasi-snapshot-preview1",
+        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download"],
-        strip_prefix = "wasi-0.10.2+wasi-snapshot-preview1",
-        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+        build_file = Label("@rules_rust//crate_universe/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crate_index__winapi-0.3.9",
+        name = "cui__winapi-0.3.9",
         sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
@@ -1950,7 +1967,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__winapi-i686-pc-windows-gnu-0.4.0",
+        name = "cui__winapi-i686-pc-windows-gnu-0.4.0",
         sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
@@ -1960,7 +1977,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__winapi-util-0.1.5",
+        name = "cui__winapi-util-0.1.5",
         sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.5/download"],
@@ -1970,7 +1987,7 @@
 
     maybe(
         http_archive,
-        name = "crate_index__winapi-x86_64-pc-windows-gnu-0.4.0",
+        name = "cui__winapi-x86_64-pc-windows-gnu-0.4.0",
         sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],